var req = createXMLHttpRequest();

function createXMLHttpRequest() {
var ua;
if(window.XMLHttpRequest) {
try {
ua = new XMLHttpRequest();
} catch(e) {
ua = false;
}
} else if(window.ActiveXObject) {
try {
ua = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e) {
ua = false;
}
}
return ua;
}

var resultsPlace="";

function sendRequest(file, place, qur, frm) {
var rnd982g = Math.random();
var str = "";

if(qur){
    str=qur;
}else{
    str=getForm(frm);
}
if(str) {
req.open('GET', file+'?'+str+'&rnd982g='+rnd982g);
resultsPlace = place;
req.onreadystatechange = handleResponse;
req.send(null);
}
return false;
}

function handleResponse() {
  if (req.readyState == 1) {
    document.getElementById(resultsPlace).innerHTML = "<img src='images/load2.gif'>";
  }
if(req.readyState == 4){
var response = req.responseText;
document.getElementById(resultsPlace).innerHTML = response;
}
} 

function getForm(fobj) {
 var str = "";
 var ft = "";
 var fv = "";
 var fn = "";
 var els = "";
 for(var i = 0;i < fobj.elements.length;i++) {
  els = fobj.elements[i];
  ft = els.title;
  fv = els.value;
  fn = els.name;
 switch(els.type) {
  case "text":
  case "hidden":
  case "password":
  case "textarea":
  // is it a required field?
  if(encodeURI(ft) == "required" && encodeURI(fv).length < 1) {
    alert(' is a required field, please complete.');
    els.focus();
    return false;
  }
  str += fn + "=" + encodeURI(fv) + "&";
  break; 

  case "checkbox":
  case "radio":
   if(els.checked) str += fn + "=" + encodeURI(fv) + "&";
  break;    

  case "select-one":
    str += fn + "=" +
    els.options[els.selectedIndex].value + "&";
  break;
  } // switch
 } // for
 str = str.substr(0,(str.length - 1));
 return str;
}
