var READY_STATE_UNINITIALIZED = 0;
var READY_STATE_LOADING = 1;
var READY_STATE_LOADED = 2;
var READY_STATE_INTERACTIVE = 3;
var READY_STATE_COMPLETE = 4;

function sendRequest (url, params, HttpMethod, callbackSuccess, callbackError){
  if (!HttpMethod){
     HttpMethod="GET";
  }
  else{
	  HttpMethod = HttpMethod.toUpperCase();
  }
  
  var req=getXMLHttp();

  if (req){
     req.onreadystatechange= function onReadyState()
     {
		var ready=req.readyState;
		var data=null;
		if (ready==READY_STATE_COMPLETE){
			data=req.responseText;
			if(req.status == 200){
				if(callbackSuccess){
					if(typeof callbackSuccess == 'string'){
						eval(callbackSuccess);
					}
					else{
						callbackSuccess(data);
					}
				}
				else{
					eval(data);
				}
			}
			else{
				if(callbackError){
					if(typeof callbackError == 'string'){
						eval(callbackError);
					}
					else{
						callbackError(data);
					}
				}
			}
		}
     };

     if(HttpMethod == "GET"){
    	 if(params){
	    	 if(!url.indexOf("?") > -1){
	    		 url += "?" + params;
	    	 }
	    	 else{
				 url += "&" + params;
	    	 }
    	 }
		 params = null;
     }
     
     req.open(HttpMethod, url, true);

     req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;");
     req.send(params);
  }
}


/* Create HTTPRequest  */
function getXMLHttp(){
    var xmlhttp;
    try{
        xmlhttp = new XMLHttpRequest();
    }catch(ee){
        try{
            xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        }catch(e){
            try{
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }catch(E){
                xmlhttp = false;
            }
        }
    }
    return xmlhttp;
}
