
function postStatRequest(stat, param, value){
  var statInfo = "stat="+stat+"&param="+param+"&value="+value;
  var url = "../requests/stat.php";
  reqObj = getRequestObject();
  reqObj.onreadystatechange = function() {
  stateChange(reqObj); };
  reqObj.open('POST', url, true);
  
    //Send the proper header information along with the request
  reqObj.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  reqObj.setRequestHeader("Content-length", statInfo.length);
  reqObj.setRequestHeader("Connection", "close");

  reqObj.send(statInfo);
}

function postStatRequestRoot(stat, param, value){
  var statInfo = "stat="+stat+"&param="+param+"&value="+value;
  var url = "requests/stat.php";
  reqObj = getRequestObject();
  reqObj.onreadystatechange = function() {
  stateChange(reqObj); };
  reqObj.open('POST', url, true);
  
    //Send the proper header information along with the request
  reqObj.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  reqObj.setRequestHeader("Content-length", statInfo.length);
  reqObj.setRequestHeader("Connection", "close");

  reqObj.send(statInfo);
}

function postIdentityRequest(form){
  var url = "";
  url = "../requests/identity.php";
  reqObj = getRequestObject();
  reqObj.onreadystatechange = function() {
  identityStateChange(reqObj); };
  reqObj.open('POST', url, true);
  postStr = createPostString(form);
  
    //Send the proper header information along with the request
  reqObj.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  reqObj.setRequestHeader("Content-length", postStr.length);
  reqObj.setRequestHeader("Connection", "close");

  reqObj.send(postStr);
}

function postEmailRequest(form){
  var url = "";
  url = "../requests/email.php";
  reqObj = getRequestObject();
  reqObj.onreadystatechange = function() {
  identityStateChange(reqObj); };
  reqObj.open('POST', url, true);
  postStr = createPostString(form);
  
    //Send the proper header information along with the request
  reqObj.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  reqObj.setRequestHeader("Content-length", postStr.length);
  reqObj.setRequestHeader("Connection", "close");

  reqObj.send(postStr);
}

function sendRequest(url) {
  reqObj = getRequestObject();
  reqObj.onreadystatechange = function() {
  stateChange(reqObj); };
  reqObj.open('GET', url, true);
  reqObj.send('');
}


function stateChange(reqObject) {
  if (reqObject.readyState == 4) {
    if (reqObject.status == 200) {
    
//      alert("Response = "+reqObject.responseText);

    }
  }
}

function identityStateChange(reqObject) {
  if (reqObject.readyState == 4) {
    if (reqObject.status == 200) {
//      alert("Response = "+reqObject.responseText);
 	  requestComplete(reqObject.responseText);
    }
  }
}

function getError(html){
  var error = "No error";
  if (html){
    error = html.substring(html.indexOf("error=")+6, html.indexOf("<", html.indexOf("error=")+6));
  }
  return error;
}

function getMsg(html){
  var msg = "";
  if (html){
    msg = html.substring(html.indexOf("msg=")+4, html.indexOf("<", html.indexOf("msg=")+4));
  }
  return msg;
}

function createPostString(form){
  var returnStr = "";
  for (var i = 0; i < form.length; i++){
    returnStr += form[i].name + "=";
    returnStr += form[i].value;
	if (i != form.length - 1) returnStr += "&";
  }
  return returnStr;
}

function getRequestObject(){
     var reqObject = null
  
    if (navigator.appName.match("Netscape")) { // Mozilla, Safari, ...
        reqObject = new XMLHttpRequest();
        if (reqObject.overrideMimeType) {
            reqObject.overrideMimeType('text/xml');
        }
    } 
    else if (navigator.appName.indexOf("Microsoft", 0) != -1) {
        try {
            reqObject = new XMLHttpRequest();
        } 
        catch (e) {
          try {
             reqObject = new ActiveXObject("Microsoft.XMLHTTP");
          }
          catch (e) {}
        }
        if (!reqObject){
          try {
             reqObject = new ActiveXObject("MSXML2.XMLHTTP.3.0");
          }
          catch (e) {
            alert("Your browser does not support this function.");//cannot support AJAX requests
            return false;
          }
        }
    }
     return reqObject;
}

