﻿function $() {
  var elements = new Array();
  for (var i = 0; i < arguments.length; i++) {
    var element = arguments[i];
    if (typeof element == 'string')
      element = document.getElementById(element);
    if (arguments.length == 1)
      return element;
    elements.push(element);
  }
  return elements;
}


var Request = new Object();
Request.reqList = [];
function getAjax()
{
var xmldoc=false;
if(window.XMLHttpRequest){
    xmldoc = new XMLHttpRequest();
    if(xmldoc.overrideMimeType){
        xmldoc.overrideMimeType("text/xml");
    }
 }else if(window.ActiveXObject){
  try{
    xmldoc = new ActiveXObject("Msxml4.XMLHTTP");
  }catch(e){
   try{
    xmldoc = new ActiveXObject("Msxml3.XMLHTTP");
   }catch(e){
    try{
     xmldoc = new ActiveXObject("Msxml2.XMLHTTP");
    }catch(e){
     try{
      xmldoc = new ActiveXObject("Microsoft.XMLHTTP");
     }catch(e){}
    }
   }
  }
 }
 if(!xmldoc){
    alert("初始化失败");
 }
 return xmldoc;
}

//url:向服务器请求的路径；method：请求的方法，即是GET还是POST；callback：当服务器成功返回结果时，调用的函数
//data：向服务器请求时附带的数据；urlencoded：url是否编码；callback2;当服务器返回错误时调用的函数
Request.send = function(url, method, callback, data, urlencoded, callback2,callfunc)
 { 
    var req=getAjax();  
    if(!req){
        return;
    }
    req.onreadystatechange = function() 
    {
    if (req.readyState == 4) 
    {
		if (req.status < 400) 
		{
			if(callback)
			{			       
				    callback(req,data);
			}
			else
			{
			    if(callfunc)
			    {
			        var placetext=req.responseText.replace(/\r\n/ig,"<br />");
			        //var  rtn=callfunc+"(\'"+req.responseText+"\')";
			        var  rtn=callfunc+"(\'"+placetext+"\')";
                    eval(rtn);
                }
			
			}
			afterLoading();
		} 
		else 
		{
				if (callback2)
				{ 
				callback2(req,data);
				}
		}
		try 
		{
				delete req;
				req = null;
		} catch (e) {}
	}
	}
	if (method=="POST")
	 {
		req.open("POST", url, true);
		if (urlencoded) 
		    req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');		
		req.send(data);
		Request.reqList.push(req);
	}
	 else 
	{
		req.open("GET", url, true);
		req.send(null);
		Request.reqList.push(req);
	}
	loading();	
	return req;
}

Request.clearReqList = function() 
{
	var ln = Request.reqList.length;
	for (var i=0; i<ln; i++) {
		var req = Request.reqList[i];
		if (req) 
		{
		try 
		{
			delete req;
		} catch(e) {}
		}
	}
	Request.reqList = [];
}

function PostRequest(data, callback,callfunc) {
    Request.sendPOST("UIController.ashx", data, callback, true, callback2,callfunc) ;
}

function GetRequest(url,callback,callfunc) 
{
    var strURL="UIController.ashx?"+url;
	Request.sendGET(strURL ,callback,null, true, callback2,callfunc);
}

Request.sendPOST = function(url, data, callback, clear, callback2,callfunc) 
{
	if (clear)
		Request.clearReqList();
	Request.send(url, "POST", callback, data, true, callback2,callfunc);
}

Request.sendGET = function(url, callback, args, clear, callback2,callfunc) 
{
	if (clear)
		Request.clearReqList();
	return Request.send(url, "GET", callback, args, false, callback2,callfunc);
}

function loading()
{
var div = $("loadingflag");
if(div)
div.style.display ="";
}

function afterLoading()
{
var div = $("loadingflag");
if(div)
div.style.display ="none";
}

function callback(req,data)
{
$("loading").innerHTML = req.responseText;
}

function callback3(req,data)
{
$("loading").innerHTML='操作成功。';
}

function callback2(req,data)
{
$("loadingflag").innerHTML="出现错误，请重试！";
}


function loadcontrol(actionname){
	var d = new Date();
   // Request.sendGET("UIController.ashx?action="+actionname+"&guid=" + d.getTime() , callback,null, true, callback2,null);
    GetRequest("action="+actionname+"&guid=" + d.getTime() , callback,null);

}

function loadframe(url){
	var d = new Date();
   // Request.sendGET("UIController.ashx?action=loadframe&url="+url+"&guid=" + d.getTime() , callback,null, true, callback2,null);
    GetRequest("action=loadframe&url="+url+"&guid=" + d.getTime() , callback,null);
}

function QueryString(name){
    var qs=name+"=";
    var str=location.search;
    if(str.length>0){
        begin=str.indexOf(qs);
        if(begin!=-1){
            begin+=qs.length;
            end=str.indexOf("&",begin);
            if(end==-1) end=str.length;
            return(str.substring(begin,end));
        }
    }
    return null;
}

  function clearTextBox()  
  {
      var cout = document.form1.elements;
      if(cout != null)
      {
      for(i=0; i<cout.length; i++)  
      {  
          if(document.form1.elements[i].type == "textbox")  
          {  
            document.form1.elements[i].value   ="";
          }  
      }
      }  
  }

