//@用途    返回处理结果(单独使用可以用在A页调用B页内容，类iFrame效果)
//@参数    url         处理的页面URL 如：index.asp
//@参数    request     处理页面的参数 如：ID=1&name=ck
//@参数    method      表单提交的方法 POST 或 GET
//@参数    container   显示返回处理结果的元素container.innerHTML
//@方法 
//         ajaxLoadPage('index.asp','ID=1&name=ck','POST',document.getElementById('back_info'))
//         "back_info"为显示处理进程和返回结果的元素ID,如： "<span id='back_info'></span>"
function ajaxLoadPage(url,request,method,container)
{
	method=method.toUpperCase();
	var loading_msg='请等待，正在处理数据……';//显示处理进程
	var loader_err='数据提交失败：';//提交失败
	var loader=Ajax();//创建对像 Ajax() 在Ajax.js 中
	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,true);
	if (method=="POST")
	{
		loader.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	}
	loader.onreadystatechange=function(){
		if (loader.readyState==1 || loader.readyState==2 || loader.readyState==3)
		{
			container.innerHTML=loading_msg;			
		}
		if (loader.readyState==4)
		{
			if(loader.status == 200) {
			container.innerHTML=loader.responseText;
			}else{
			container.innerHTML=loader_err + loader.status;
			}
		}
	}
	loader.send(request);
	
}
//@用途    转换表单元素和其相应值
//@参数    form_obj     表单名
//@方法    formToRequestString(document.form1)
//@注意    此函数不能用于文件上传.
function formToRequestString(form_obj)
{
    var query_string='';
    var and='';
    for (var 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=='select-multiple') {
                for (var n=0;n<e.length;n++) {
                    var op=e.options[n];
                    if (op.selected) {
                        query_string+=and+e.name+'='+encodeURIComponent(op.value);
                        and="&"
                    }
                }
                continue;
            } else if (e.type=='checkbox' || e.type=='radio') {
                if (e.checked==false) {   
                    continue;   
                }   
                element_value=e.value;
            } else if (typeof e.value != 'undefined') {
                element_value=e.value;
            } else {
                continue;
            }
            query_string+=and+e.name+'='+encodeURIComponent(element_value);
            and="&"
        }

    }
    return query_string;
}
//@用途   无刷新提交表单
//@参数   form_obj     表单名
//@参数   container    显示返回处理结果的元素
//@方法   ajaxFormSubmit(document.form1,document.getElementById('back_info'))
//@注意   该函数自动获取表单的提交地址与提交方法
function ajaxFormSubmit(form_obj,container)
{
	ajaxLoadPage(form_obj.getAttributeNode("action").value,formToRequestString(form_obj),form_obj.method,container)
}

