// JavaScript Document

function ajax(form, response, php_file, params) { 

  // instantiate ajax
  var xmlHttp;
  try { // Firefox, Opera 8.0+, Safari
    xmlHttp = new XMLHttpRequest();
  }
  catch (e) { // Internet Explorer
    try  {
	  xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
	}
    catch (e) {
	  try {
	    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
	  }
      catch (e) {
	    alert("Your browser does not support AJAX!");
		return false;
	  }
	}
  }
  
  // update html content if request has been returned
  xmlHttp.onreadystatechange = function() {
    if (xmlHttp.readyState == 4) {
	  if (response == 'alert') {
		alert(xmlHttp.responseText);
	  }
	  else if (response != false) {
        findObj(response).innerHTML = xmlHttp.responseText;
	  }
    }
  }
  
  // add form fields and their value to var params
  // so we can pass the fields in the url
  if (params == null) {
    var params = '';
  }
  if (form) {
    var form_obj = findObj(form);
    for (i = 0; i < form_obj.elements.length; i++) {
	  if (form_obj.elements[i].type == 'radio' || form_obj.elements.type == 'checkbox') {
	    if (form_obj.elements[i].checked) {
		  params = params + form_obj.elements[i].name + '=' + form_obj.elements[i].value + '&';
	    }
	  }
	  else {
	    params = params + form_obj.elements[i].name + '=' + form_obj.elements[i].value + '&';
	  }
    }
  }
  var myDate = new Date();
  params = params + 'randVal=' + myDate.getTime();
  //alert(params);
  
  // send request
  xmlHttp.open("GET", php_file + '?' + params, true);
  //alert(php_file + '?' + params);
  xmlHttp.send(null);

} // end ajaxFunction