/**
 *@auther luoyouhua
 *@date 2008-09-15
 *@comments json ajax js
*/
if (typeof XMLHttpRequest == "undefined" && window.ActiveXObject) {
    function XMLHttpRequest() {
        var arrSignatures = ["MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0","MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
        for (var i=0; i < arrSignatures.length; i++) {
            try {        
                var oRequest = new ActiveXObject(arrSignatures[i]);            
                return oRequest;        
            } catch (oError) { /*ignore*/ }
        }          
        throw new Error("MSXML is not installed on your system.");               
    }
}   
function removeAll(e){		 
    var c;
       while ((c=e.firstChild)){
        e.removeChild(c);
       }
}
function appUrlPar(url,params){
   for(var i=0;i<params.length;i++){
      var str = (i==0)?("?"+params[i].key+"="+params[i].value):("&"+params[i].key+"="+params[i].value);
      url+=str;
   }
   return url;
}
function appUrlArr(url,r){
   var k=(url.indexOf('?')==-1)?"?":"&";
   for(var i=0;i<r.length;i++){
      var key = r[i].key;var p=r[i].params
      for(var j=0;j<p.length;j++){
        var str=((i==0)&&(j==0))?(k+key+"="+p[j]):("&"+key+"="+p[j]);
        url+=str;
      }
   }
   return url;
}
function jAjax(url,fn){
  //this.oRequest =  new XMLHttpRequest();
  this.fullURL = null;
  this.callback = fn; 
  this.params = [];
  this.r =[];
  this.browser={
      isMozilla : (typeof document.implementation != 'undefined') && (typeof document.implementation.createDocument != 'undefined') && (typeof HTMLDocument!='undefined'),
	  isIE      : window.ActiveXObject?true:false,
	  isOpera   : (navigator.userAgent.toLowerCase().indexOf("opera")!=-1)
  };
  //this.createORequest = function(){
    // this.oRequest=new XMLHttpRequest();
  //};
  this.setCallback = function(){
     this.callback=arguments[0];
  };
  this.setParameter=function(k,v){
     this.params.push({key:k,value:encodeURIComponent(v)});
  };
  this.setArray = function(k,arr){
     this.r.push({key:k,params:arr});
  }
  this.createFullURL=function(){this.fullURL=appUrlArr(appUrlPar(url,this.params),this.r)};
  this.execute = function(){
       this.createFullURL();
       var oRequest = new XMLHttpRequest();
       oRequest.onreadystatechange=function(){
       if(oRequest.readyState == 4) {                 
           var data = eval('(' + oRequest.responseText + ')');
           fn(data);
       }
     }
     oRequest.open('POST', this.fullURL);
     oRequest.send(null);
  }
}
