/*
 * 创建时间 2009-10-13
 * 文件作者(File Authors): 林敏
 * 版本(Version): 1.0
 * 最后修改时间(Modified): 0000-00-00 00:00:00
 *
 * vtion 版权所有, 未经许可，禁止用于商业用途！
 *
 * **************Ajax同步处理对像**************
 */

(function (){
window.$ = {
	GetId:function(documId){
		return document.getElementById(documId);
	},
	
	AjaxGet:function(method,url){
		var ajax = InitAjax();
		ajax.open(method,url,false);//这里采用的是同步交互的方式，只有得到服务器返回，才能执行下一步,注（异步交互不能马上得到服务器返回值，所以这里采用同步）
		var btype=getOs();//ajax异步传输在所有浏览器正常，ajax同步传输在IE等其他浏览器中正常，在firefox中的ajax同步传输不会起作用！    究其原因，就是firefox经常打起的标准大旗，firefox中对ajax同步请求是不调用状态改变函数onreadystatechange的，firefox中的ajax同步传输则在xmlhttp.send(null)之后直接使用xmlhttp.responseText便可获取ajax同步传输返回值！那么我们在JS中就先判断浏览器类型，然后调用不同的代码实现ajax同步传输
		if(btype!='Firefox'){
			ajax.onreadystatechange = function(){
				if(ajax.readyState == 4 && ajax.status == 200){
					//alert(ajax.responseText);
					//ajax.responseXML  获取XML格式数据
			    	window.lc = ajax.responseText;//获取文本格式数据
				}				
			}
		}
		ajax.send(null);
		if(ajax.status == 404){
			return window.lc = 'URL不正确或为非法访问~!';
		}
		
		if(btype=="Firefox")  {   
    		window.lc = ajax.responseText;//获取文本格式数据
 		}  
		return window.lc;
	},
	
	AjaxPOST:function(method,url,param){
		var ajax = InitAjax();
		ajax.open(method,url,false);//这里采用的是同步交互的方式，只有得到服务器返回，才能执行下一步,注（异步交互不能马上得到服务器返回值，所以这里采用同步）
		var btype=getOs();
		if(btype!='Firefox'){
			ajax.onreadystatechange = function(){
				if(ajax.readyState == 4 && ajax.status == 200){
					//ajax.responseXML  获取XML格式数据
			    	window.lc = ajax.responseText;//获取文本格式数据
				}				
			}
		}
		ajax.setRequestHeader('Content-type','application/x-www-form-urlencoded');
		ajax.send(param);
		if(ajax.status == 404){
			return window.lc = 'URL不正确或为非法访问~!';
		}
		if(btype=="Firefox")  {   
			window.lc = ajax.responseText;//获取文本格式数据
			}  
		return window.lc;
		
	}
	
};

function InitAjax(){        /*初始AJAX类，这个函数一般是固定的，有了它才能使用AJAX*/

    var ajax=false;
    
    try{        /*IE*/
	    ajax=new ActiveXObject("Msxml1.2XMLHTTP");
    }catch(e){
	    try{       /*IE*/
            ajax=new ActiveXObject("Microsoft.XMLHTTP");
	    } catch (E){
	        ajax=false;
	    }
    }
    
    if(!ajax && typeof XMLHttpRequest!='undefined'){    /*非IE*/
    	ajax=new XMLHttpRequest();
    }
    
    return ajax;
}

function getOs() {    
    var OsObject = "";    
    if(navigator.userAgent.indexOf("MSIE")>0) {    
         return "MSIE";       //IE浏览器   
    }   
    if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){    
         return "Firefox";     //Firefox浏览器   
    }   
    if(isSafari=navigator.userAgent.indexOf("Safari")>0) {    
         return "Safari";      //Safan浏览器   
    }   
    if(isCamino=navigator.userAgent.indexOf("Camino")>0){    
         return "Camino";   //Camino浏览器   
    }   
    if(isMozilla=navigator.userAgent.indexOf("Gecko/")>0){    
         return "Gecko";    //Gecko浏览器   
    }    
} 
})();

