function prepareForm() {
  if(!document.getElementById) {
    return;
  }
  if(!document.getElementById("contactform")) {
    return;
  }
  document.getElementById("contactform").onsubmit = function() {
    var data = "";
    for (var i=0; i<this.elements.length; i++) {
      data+= this.elements[i].name;
      data+= "=";
      data+= escape(this.elements[i].value);
      data+= "&";
    }
    return !sendData(data);
  };
}
function sendData(data) {
  var request = getHTTPObject();
  if (request) {
    displayLoadingForm(document.getElementById("contactform"));
    request.onreadystatechange = function() {
      parseResponseForm(request);
    };
    request.open( "POST", "formlogic.php", true );
    request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    request.send(data);
    return true;
  } else {
    return false;
  }
}
function parseResponseForm(request) {
  if (request.readyState == 4) {
    if (request.status == 200 || request.status == 304) {
      var container = document.getElementById("container");
      container.innerHTML = request.responseText;
      fadeUpErrors(container);
      prepareForm();
    }
  }
}
function displayLoadingForm(element) {
  var image = document.createElement("img");
  image.setAttribute("src","progressbar.gif");
  image.setAttribute("alt","Loading...");
  element.appendChild(image);
}
function fadeUpErrors(element) {
  var messages = element.getElementsByTagName("strong");
  for (var i=0; i<messages.length; i++) {
    if (messages[i].className == "error") {
      fadeUp(messages[i],255,153,153);
    }
  }
}
