window.onload = prepareForm;

function prepareForm() {
  if (!document.getElementById) {
    return;
  }
  if (!document.getElementById("commentform")) {
    return;
  }
  document.getElementById("commentform").onsubmit = function () {
    var data = [];
    var element;
    for (var i = 0; i < this.elements.length; i++) {
      element = this.elements[i];
      data.push(element.name + "=" + encodeURIComponent(element.value));
    }
    data = data.join("&");
    return !sendData(data);
  };
}

function sendData(data) {
  var request = getHTTPObject();
  if (request) {
    displayLoading(document.getElementById("commentfield"));
    request.onreadystatechange = function () {
      parseResponse(request);
    };
    request.open("POST", "formval.php", true);
    request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    request.send(data);
    return true;
  } else {
    return false;
  }
}

function parseResponse(request) {
  if (request.readyState == 4) {
    if (request.status == 200 || request.status == 304) {
      var container = document.getElementById("commentform");
      container.innerHTML = request.responseText;
    }
  }
}

function getHTTPObject() {
  var xhr = false;
  if (window.XMLHttpRequest) {
    xhr = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    try {
      xhr = new ActiveXObject("Msxml2.XMLHTTP");
    } catch(e) {
      try {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
      } catch(e) {
        xhr = false;
      }
    }
  }
  return xhr;
}

function displayLoading(element) {
  var image = document.createElement("img");
  image.setAttribute("src","../images/progressbar.gif");
  image.setAttribute("alt","Loading...");
  element.appendChild(image);
}

