function toggleLoading()
{
 document.getElementById('results').style.display="block";
 document.getElementById('results').innerHTML="<img id=\"loading\" src=\"templates/manage/images/loading.gif\" />";
}

var req;
try
{
// Firefox, Opera 8.0+, Safari
req = new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
req=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
  {
  req=new ActiveXObject("Microsoft.XMLHTTP");
  }
catch (e)
  {
  alert("Your browser does not support AJAX!");
  }
}
}

var resultsPlace="";

function sendRequest(frm, file, place) {
var rnd982g = Math.random();
var str = "";
toggleLoading();
str=getForm(frm);
if(str) {
req.open("POST", file, true);
resultsPlace="results";
req.setRequestHeader("Content-type","application/x-www-form-urlencoded");
req.setRequestHeader("Content-length",str.length);
req.setRequestHeader("Connection", "close");
req.onreadystatechange = handleResponse;
req.send(str+'&rnd982g='+rnd982g);
}
return false;
}

function handleResponse() {
if(req.readyState == 4){
var response = req.responseText;
if(response.indexOf("Success") != "-1")
{
  if (document.getElementById('ajaxform'))
  {
    document.getElementById('ajaxform').reset();
  }
}
if(response.indexOf("[[redirect]]") != "-1")
{
  window.location = response.replace("[[redirect]]","");
}
else
{
  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('"+fn+" 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;
}