﻿var Web={};
Web.Ajax=function (sUrl,sRecvType,sMethod,sQueryString,oResultFunc) 
{
	var XmlHttp = createXMLHttpRequest();
	if(XmlHttp == null)
	{
		alert('XMLHTTPREQUEST对象创建不成功!');
		return;
	}
	
	XmlHttp.onreadystatechange = handler;  
	send(); 
	function createXMLHttpRequest()
	{
		var ErrorStr;
		if (window.XMLHttpRequest){     
			return  new XMLHttpRequest();
		} else {      
			var MSXML = ["MSXML2.XMLHTTP.6.0", "MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"]; 
			for(var n = 0; n < MSXML.length; n ++) {
				try {
				  return new ActiveXObject(MSXML[n]); 
				} catch(e) {
					ErrorStr = "XMLHttpRequest对象创建不成功!.";
				} 
			}
		}
		ErrorStr = "你的浏览器不支持XMLHttpRequest对象.";    
		alert(ErrorStr);    
		return null;
	}
	
	function send()
	{
		if(sUrl.indexOf("?")==-1)
			sUrl = sUrl + "?timeStamp=" + new Date().getTime();
		else
			sUrl = sUrl + "&timeStamp=" + new Date().getTime();
		var queryString = sQueryString;
		if (sMethod.toLocaleUpperCase() == 'POST') {
			XmlHttp.open("POST",sUrl,true);
			XmlHttp.setRequestHeader("Content-Length",queryString.length);
			XmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
			XmlHttp.send(queryString);
		} 
		else if (sMethod.toLocaleUpperCase() == 'GET'){
			queryString = sUrl + "&" + queryString;
			XmlHttp.open("GET",queryString,true);
			XmlHttp.send(null);        
		}
	}
	
	function handler() {    
		if (XmlHttp.readyState == 4) 
		{
			if (XmlHttp.status == 200) {          
				if(oResultFunc)
				{
					var Result;
					if(sRecvType=="xml")
						Result = XmlHttp.responseXML;
					else if(sRecvType=="text")
						Result= XmlHttp.responseText;
					else if(sRecvType=="json")
						Result= eval("("+XmlHttp.responseText+")");
					 
					oResultFunc(Result);          
				}
			} else 
				alert("您所请求的页面有异常。");
		}
	}
};

Web.$=function(id)
{
    return document.getElementById(id);
};

Web.FormToStr = function(obj) 
{
    var elements=obj.getElementsByTagName('*');
	var i,rtn="",and="",_value="";
	for(i=0;i<elements.length;i++) 
	{
		e=elements[i];
		if(e.name=="")//if(!e.form)，使用前者判断可以在html里不用加上form
			continue;
		if ( e.tagName.toLowerCase()=="input" || e.tagName.toLowerCase()=="select" || e.tagName.toLowerCase()=="textarea") 
		{
			if(e.type.toLowerCase()=="button")
				continue;
			if (e.type=='select-one'&&e.selectedIndex>-1) 
				_value=e.options[e.selectedIndex].value;
			else if (e.type=='checkbox' || e.type=='radio') 
			{
				if (e.checked==false) continue;
				_value=e.value;
			}
			else 
				_value=e.value;
			_value=encodeURIComponent(_value);
			rtn+=and+e.name+'='+_value;
			and="&";
		}
	}
	return rtn;
};

Web.Each=function(array,func)
{
    var i;
    for(i=0;i<array.length;i++)
    {
        func(array[i],i);
    }
};