function ajaxInit(){

var ajax = new Object();

ajax.onSuccess = false;
ajax.onError = false;
ajax.wait = 5000;
ajax.url = '';
ajax.method='GET';


ajax.load = function (params) {
    if(params.method !='POST'){params.method ='GET';}

    if(!params.retType || params.retType == 'undefined' ){params.retType ='text';}

    //params.data = params.data.split('&');
    var validparams = new Array();
    for(var i in params.data) {
       validparams[validparams.length] = i+'='+encodeURIComponent(params.data[i]);
    }
    params.data = validparams.join('&');

    if(params.method != 'POST'){
      var tmp = params.url.split('?');
      if(tmp[1] && tmp[1]!='undefined'){params.data +='&'+tmp[1];}
      params.url = tmp[0]+'?'+params.data;
    }
    //alert(params.data);
   // params.data=tmp[1]+params.data;
    //alert(params.method);
    //alert(params.data);

    this.params = params;

    if(params.url && params.url !='undefined' ) {
      var now = new Date();

      if (window.XMLHttpRequest) {
        this.req = new XMLHttpRequest();
        this.req.onreadystatechange = this.tryLoad;
        //params.url+='?&'+now.getTime();
        //alert(params.data);
        this.req.open(params.method, params.url, true);
        this.req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        //this.req.setRequestHeader('Content-Type', 'multipart/form-data');
        //alert(params.data);
        this.req.send(params.data);
      } else if (window.ActiveXObject) {
        this.req = new ActiveXObject("Microsoft.XMLHTTP");
        if (this.req) {
            this.req.onreadystatechange = this.tryLoad;
            this.req.open(params.method, params.url, true);
            this.req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            //this.req.setRequestHeader('Content-Type', 'multipart/form-data');
            this.req.setRequestHeader("Content-length", params.data.length);
            this.req.send(params.data);
        }
      }
    }
}

ajax.tryLoad = function () {

    if (ajax.req.readyState == 4) {

        if (ajax.req.status == 200){
            var answer = ajax.req.responseText;
            //alert(answer);
            if(ajax.params.retType=='json' && answer){
              answer =  eval('(' + answer + ')');
            }

            if(ajax.params.onSuccess){
               ajax.params.onSuccess(answer);
            }
        } else {

            if(ajax.params.onError){
               ajax.params.onError(ajax.req.status);
            }
        }
    }
}

return ajax;
}




var ajax = ajaxInit();
