var theForm;

function submitViaAjax(form) {
  
  form.className = form.className+' AjaxLoading';
  
  var paramString = "x=x";
  
  for (var ii=0; ii<form.elements.length; ii++) {
    paramString += '&'+form.elements[ii].name+'='+escape(encodeURI(form.elements[ii].value));
  } 
  //alert(paramString);

  var req = newXMLHttpRequest();

  var handlerFunction = getReadyStateHandler(req, function(rtnXML) { 
    dataLoaded(rtnXML, form)}
  );
  req.onreadystatechange = handlerFunction;  
  req.open("POST", form.action, true);
  req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  
  req.send(paramString);
  
  return false;
}


function dataLoaded(inputXML, form) {
  if (inputXML != null) {
    var rootNode = inputXML.getElementsByTagName("root")[0];
    var tmpNode = rootNode.getElementsByTagName("result")[0].firstChild;
    if( rootNode.getElementsByTagName("elementId")[0] != undefined ){
      var elementId = rootNode.getElementsByTagName("elementId")[0].firstChild;
    }
    else {
      var elementId = null;
    }
  }


  var returnId = "RIForm";
  var response = 'An unknown error occurred.';
  
  if (tmpNode != null) {
    response = tmpNode.nodeValue;
    //alert(response);
  }

  if (elementId != null) {
    returnId = elementId.nodeValue.toString();
  }
  document.getElementById(returnId).innerHTML = response;

  form.className = form.className.replace(/AjaxLoading/, '');
  form.className = form.className+' AjaxReturned';

  theForm = form;
  setTimeout("closeLayer();", 3000);

  return;
}

function closeLayer() {
  var panel = document.getElementById("RIForm");
  var button = document.getElementById("RIButton");
  panel.style.display = 'none';
  button.className = button.className.replace(/current/, '');
  
  panel = document.getElementById("EFForm");
  button = document.getElementById("EFButton");
  panel.style.display = 'none';
  button.className = button.className.replace(/current/, '');

  theForm.className = theForm.className.replace(/AjaxReturned/, '');
}