
//支持不同浏览器
function GetXmlHttpObject()
{
  var xmlHttp=null;
  try
    {
    
    // Firefox, Opera 8.0+, Safari
    xmlHttp=new XMLHttpRequest();
    }
  catch (e)
    {
    
    // Internet Explorer
    try
      {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
      }
    catch (e)
      {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    }
  return xmlHttp;
}

//ajax请求服务器
//url 请求地址
//request 请求参数  格式:name=张三&password=123456
//method 请求方式:post,get
//container 响应方法 带参  如  container(res)
//asynchronism 是否进行异步操作（true or false）
function ajaxLoadPage(url,request,method,container,asynchronism)
{
	method=method.toUpperCase();
	var loading_msg='loading';//the text shows on the container on loading.
	var loader=GetXmlHttpObject();//require Cross-Browser XMLHttpRequest
	if(loader==null){
		alert ("您的浏览器不支持AJAX！");
    	return;
	}
	if (method=='GET')
	{
		urls=url.split("?");
		if (urls[1]=='' || typeof urls[1]=='undefined')
		{
			url=urls[0]+"?"+request;
		}
		else
		{
			url=urls[0]+"?"+urls[1]+"&"+request;
		}
		
		request=null;//for GET method,loader should send NULL
	}
	loader.open(method,url,asynchronism);
	if (method=="POST")
	{
		loader.setRequestHeader("Content-Type","application/x-www-form-urlencoded");	
	}else{
		loader.setRequestHeader("Content-Type","text/html;charset=utf-8");
	}
	
	loader.onreadystatechange=function(){
		if (loader.readyState==1)
		{
			container(loading_msg);
		}
		if (loader.readyState==4)
		{
			container(loader.responseText);			
		}
	}
	loader.send(request);
	if(!asynchronism && (document.getBoxObjectFor)){
		container(loader.responseText);	
	}
}

//拼接表单参数
function formToRequestString(form_obj)
{
	var query_string='';
	var and='';
	//alert(form_obj.length);
	for (i=0;i<form_obj.length ;i++)
	{
		e=form_obj[i];
		if (e.name!='')
		{
			if (e.type=='select-one')
			{
				element_value=e.options[e.selectedIndex].value;
			}
			else if (e.type=='checkbox' || e.type=='radio')
			{
				if (!e.checked)
				{
					break;	
				}
				element_value=e.value;
			}
			else
			{
				element_value=e.value;
			}
			query_string+=and+e.name+'='+element_value.replace(/\&/g,"%26");
			and="&";
		}
		
	}
	return query_string;
}

//表单提交方法
//form_obj  表单对象
//container 响应方法 带参  如  container(res)
function ajaxFormSubmit(form_obj,container){
	ajaxLoadPage(form_obj.getAttributeNode("action").value,formToRequestString(form_obj),"post",container,true);
}
