/////////////////////////////////// ax Ajax Library Functions /////////////////////////////////
var jx_http = jx_getHTTPObject(); // We create the HTTP Object
//Create a xmlHttpRequest object - this is the constructor. 
function jx_getHTTPObject() {
 var xmlhttp;

 //Use IE's ActiveX items to load the file.
 if(typeof ActiveXObject != 'undefined') {
  try {
   xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
   try {
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
   } catch (E) {
    xmlhttp = false;
   }
  }
 //If ActiveX is not available, use the XMLHttpRequest of Firefox/Mozilla etc. to load the document.
 } else if (XMLHttpRequest) {
  try {
   xmlhttp = new XMLHttpRequest();
  } catch (e) {
   xmlhttp = false;
  }
 } else {
  xmlhttp = false;
 }
 return xmlhttp;
}

//This function is called from the user's script. It will take a url and an optional callback function.
// Then it will read the url file, expecting a json string. Once the file is loaded, the script
// will pharse the json string using 'eval' and call the user defined callback function with this
// array as the argument.
//Arguments - 
// url - The url of the serverside script that is to be called. Append all the arguments to 
//   this urls as GET params - like get_data.php?id=5&car=benz
// callback - Name of the function that should be called once the data is ready. If a callback
//   function is not given, then the default function 'jx_processResults' will be used.
function jx_getData(url,data,callback) {
	
 if(!jx_http) return;

 jx_http.open("POST", url, true); 
 jx_http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
 jx_http.setRequestHeader("Content-length", data.length);
 jx_http.setRequestHeader("Connection", "close");

 //Call a anonymos function when the state changes.
 jx_http.onreadystatechange = function () {
//  if (jx_http.readyState == 4) {//Ready State will be 4 when the document is loaded.
//   var result;
//   if(jx_http.responseText) {
//	   result = (jx_http.responseText); //Yes, I know I used eval - its JSON, stupid.
//   }
//   else result = "";

//   if(callback) {
//    callback(result); //Give the data to the user defined function.
//   } else { //If there is no user defined function...
    //Call a predifined  function with the result.
//    if(jx_processResults) jx_processResults(result);
//   }
//  }
    callback("success");
 }
 jx_http.send(data);
}
