﻿// JScript 文件
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 ajax=false; 
    try 
    { 
     ajax = new ActiveXObject("Msxml2.XMLHTTP"); 
    } 
    catch (e)
     { 
      try 
      { 
      ajax = new ActiveXObject("Microsoft.XMLHTTP"); 
      } 
     catch (E)
      { 
      ajax = false; 
      } 
    }
    if (!ajax && typeof XMLHttpRequest!='undefined') 
    { 
     ajax = new XMLHttpRequest(); 
    } 
    return ajax;
}
Request.send = function(url, method, callback, data, urlencoded, callback2)
 { 
    var req=getAjax();  
    req.onreadystatechange = function() 
    {
	
    if (req.readyState == 4) 
    {
		
			if (req.status < 400) 
			{
			
			if(callback)
				callback(req,data);
			} 
		
			else 
			{
			    return showDialog("当加载数据时发生错误 :\n" + req.status+ "/" + req.statusText);
				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);
	}
	

	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 = [];
}

Request.sendPOST = function(url, data, callback, clear, callback2) 
{
	if (clear)
		Request.clearReqList();
	Request.send(url, "POST", callback, data, true, callback2);
}
Request.sendGET = function(url, callback, args, clear, callback2) 
{
	if (clear)
		Request.clearReqList();
	return Request.send(url, "GET", callback, args, false, callback2);
}

