var http_request = false;

function makeRequest(url, parameters) {

  http_request = false;

  if (window.XMLHttpRequest) { // Mozilla, Safari,...
    http_request = new XMLHttpRequest();
    if (http_request.overrideMimeType) {
      // set type accordingly to anticipated content type
      //http_request.overrideMimeType('text/xml');
      http_request.overrideMimeType('text/html');
    }
  }
  else if (window.ActiveXObject) { // IE
    try {
      http_request = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e) {
      try {
        http_request = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch (e) {}
    }
  }

  if (!http_request) {
    alert('Cannot create XMLHTTP instance');
    return false;
  }

  // change the state of the submit button
  var button = document.getElementById('button');
  button.setAttribute('disabled', 'true');
  button.setAttribute('value', 'Please wait...');

  // make the request
  http_request.onreadystatechange = alertContents;
  http_request.open('GET', url + parameters, true);
  http_request.send(null);

}

function alertContents() {

  if (http_request.readyState == 4) {

    if (http_request.status == 200) {

      //alert(http_request.responseText);
      result = http_request.responseText;
      document.getElementById('response').innerHTML = result; 

      // reset the state of the submit button, based on the outcome of the request
      var button = document.getElementById('button');
      if (result.indexOf('error') > -1) {
        button.setAttribute('value', 'Try Again');
        button.removeAttribute('disabled');
      }
      else {
        button.setAttribute('value', 'Message Sent');
      }

    }
    else {
      alert('There was a problem with the request:\n' + http_request.statusText);
    }

  }

}
 
function get(obj) {

  // get form parameters and create request string

  var getstr = "?";
  
  for (i = 0; i < obj.childNodes.length; i++) {

    if (obj.childNodes[i].tagName == "INPUT") {
    
      if (obj.childNodes[i].type == "text") {
        getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
      }

      if (obj.childNodes[i].type == "checkbox") {
        if (obj.childNodes[i].checked) {
          getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
        }
        else {
          getstr += obj.childNodes[i].name + "=&";
        }
      }

      if (obj.childNodes[i].type == "radio") {
        if (obj.childNodes[i].checked) {
          getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
        }
      }

      if (obj.childNodes[i].type == "hidden") {
        getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
      }

    }   
    else if (obj.childNodes[i].tagName == "SELECT") {
      var sel = obj.childNodes[i];
      getstr += sel.name + "=" + sel.options[sel.selectedIndex].value + "&";
    }
    else if (obj.childNodes[i].tagName == "TEXTAREA") {
      getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
    }
       
  }

  getstr += "method=ajax";

  // make the reqest
  makeRequest('contactDo.php', getstr);

  return false; // TODO: comment about this being required if Javascript is disabled

}
