function createRequestObject() {

   var req;

   if(window.XMLHttpRequest){
      // Firefox, Safari, Opera...
      req = new XMLHttpRequest();
   } else if(window.ActiveXObject) {
      // Internet Explorer 5+
      req = new ActiveXObject("Microsoft.XMLHTTP");
   } else {
      // There is an error creating the object,
      // just as an old browser is being used.
      alert('Problem creating the XMLHttpRequest object');
   }

   return req;

}

// Make the XMLHttpRequest object
var http = createRequestObject();
var div = "main";
var callBack = "";
var callB = false;
function sendRequest(method, address, vars, div_name, callB) {
   //Set callBack Function
   callBack=callB;
   //alert(callBack);

   // Open PHP script for requests
   div=div_name;
   if (method=='get')
   {
       http.open(method, address+'?'+vars);
       http.onreadystatechange = handleResponse;
       http.send(null);
    }
    else
    {   
        http.open(method, address);
        http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        http.onreadystatechange = handleResponse;
        http.send(vars);
    }
}
function handleResponse() {

   if(http.readyState == 4 && http.status == 200)
   {
      // Text returned FROM the PHP script
      var response = http.responseText;

      if(response) {
         // UPDATE ajaxTest content
         document.getElementById(div).innerHTML = response;
         //execute callBack Function

         if(callBack){
            eval(callBack+"();");
         }
      }
   }
   else
   {
        document.getElementById(div).innerHTML = "<center>loading...</center>";
   }
}



function ClearMessage(div)
{
    document.getElementById(div).innerHTML = "";
}


/**********************************
this functions gets all the elements 
of the given form
**********************************/
function GetFormElements(form_name)
{
    var returned_values="1=1";
    for (i=0; i<document.forms[form_name].length; i++)
    {
        returned_values=returned_values + "&" + document.forms[form_name].elements[i].name + "=" + document.forms[form_name].elements[i].value;
    }
    return returned_values;    
}
