// Function to create an XMLHttp Object
function getxmlhttp () {
  // Create a boolean variable to check for a valid Microsoft active x instance.
  var xmlhttp = false;

  // Check if we are using IE
  try {

    // If the javascript version is greater than 5
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");

  } catch (e) {

    // If not, then use the older active x object
    try {

      // If w are using IE
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

    } catch (E) {

      // Else using a non-IE browser
      xmlhttp = false;
    }
  }

  // If not IE, create a javascript instance of the object
  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {

    xmlhttp = new XMLHttpRequest();

  }

  return xmlhttp;
}


// Function to process an XMLHttpRequest
function processajax (serverPage, obj, getOrPost, str) {

  // Get an XMLHttpRequest object
  var xmlhttp = getxmlhttp();
  if (getOrPost == "GET") {

    xmlhttp.open("GET", serverPage);
    xmlhttp.onreadystatechange = function() {

      if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
        obj.innerHTML = xmlhttp.responseText;

      }

    }
    xmlhttp.send(null);

  } else {

    xmlhttp.open("POST", serverPage, true);
    xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
    xmlhttp.onreadystatechange = function() {

      if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {

        obj.innerHTML = xmlhttp.responseText;

      }

    }
    xmlhttp.send(str);

  }
}


// Function to process 2 chained XMLHttpRequests
function process2ajax (serverPage, obj, getOrPost, str, serverPage2, obj2, getOrPost2, str2) {

  // Get an XMLHttpRequest object
  var xmlhttp = getxmlhttp();
  var xmlhttp2 = getxmlhttp();
  if (getOrPost == "GET") {

    xmlhttp.open("GET", serverPage);
    xmlhttp.onreadystatechange = function() {

      if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
        obj.innerHTML = xmlhttp.responseText;

        // Second request
        if (getOrPost2 == "GET") {

          xmlhttp2.open("GET", serverPage2);
          xmlhttp2.onreadystatechange = function() {

            if (xmlhttp2.readyState == 4 && xmlhttp2.status == 200) {
              obj2.innerHTML = xmlhttp2.responseText;

            }

          }
          xmlhttp2.send(null);

        } else {

          xmlhttp2.open("POST", serverPage2, true);
          xmlhttp2.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
          xmlhttp2.onreadystatechange = function() {

            if (xmlhttp2.readyState == 4 && xmlhttp2.status == 200) {

              obj2.innerHTML = xmlhttp2.responseText;

            }

          }
          xmlhttp2.send(str2);

        }

      }

    }
    xmlhttp.send(null);

  } else {

    xmlhttp.open("POST", serverPage, true);
    xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
    xmlhttp.onreadystatechange = function() {

      if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {

        obj.innerHTML = xmlhttp.responseText;

        // Second request
        if (getOrPost2 == "GET") {

          xmlhttp2.open("GET", serverPage2);
          xmlhttp2.onreadystatechange = function() {

            if (xmlhttp2.readyState == 4 && xmlhttp2.status == 200) {
              obj2.innerHTML = xmlhttp2.responseText;

            }

          }
          xmlhttp2.send(null);

        } else {

          xmlhttp2.open("POST", serverPage2, true);
          xmlhttp2.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
          xmlhttp2.onreadystatechange = function() {

            if (xmlhttp2.readyState == 4 && xmlhttp2.status == 200) {

              obj2.innerHTML = xmlhttp2.responseText;

            }

          }
          xmlhttp2.send(str2);

        }
      }

    }
    xmlhttp.send(str);

  }
}



function getFormValues(formID)
{
  var formObj = document.getElementById(formID);
  var str = "";

  if (!formObj)
    return("");

  for (var i = 0; i < formObj.elements.length; i++)
  {
    if (((formObj.elements[i].type != "checkbox") && (formObj.elements[i].type != "radio") && (formObj.elements[i].type != "select"))
     || ((formObj.elements[i].type == "checkbox") && (formObj.elements[i].checked)) || ((formObj.elements[i].type == "radio") && (formObj.elements[i].checked)) || ((formObj.elements[i].type == "select") && (formObj.elements[i].options[formObj.elements[i].selectedIndex].selected)))
      str += formObj.elements[i].name + "=" + escape(formObj.elements[i].value) + "&";
  }

  return(str);
}

