/** AJAX HANDLER **/
function ajaxHandler(request)
{
  var funcArray = new Array();
  var msgArray  = new Array();

  eNodes = request.responseXML.getElementsByTagName("error");
  if(eNodes && eNodes[0]) {
    if(eNodes[0].getAttribute("alert")) { 
      if(eNodes[0].getAttribute("alert").match(/no/i)) { msgWindow(document.body, eNodes[0].firstChild.data, 'OK', '', 'window.location.reload();', 'errorPop'); return false; }      
    }
    alert(eNodes[0].firstChild.data);
    return false;
  }

  if( (href = request.responseXML.getElementsByTagName("href")[0])) {
  	//window.open('http://' + href.firstChild.data, 'blank'); 
  }
  
  //alert(request.responseText);
  rNodes = request.responseXML.getElementsByTagName("result");
  for(node = 0; node < rNodes.length; node++)
  {
    if( (aNodes = rNodes[node].getElementsByTagName("action"))) {
      for(i = 0; i < aNodes.length; i++)
      {
      	action = aNodes[i].firstChild.data;
      	func   = aNodes[i].getAttribute('function');
        funcArray.push({action: action, func: func});
      }
    }
    if( (sNodes = rNodes[node].getElementsByTagName("string"))) {
      for(i = 0; i < sNodes.length; i++)
      {
        if(sNodes[i].getAttribute("alert")) { 
          if(sNodes[i].getAttribute("alert").match(/no/i)) { msgWindow(document.body, sNodes[i].firstChild.data, 'OK', '', 'window.location.reload();', ''); return false; }
        }
        msgArray.push(sNodes[i].firstChild.data);
      }
    }
    //alert(rNodes[i].firstChild.data);
  }


  /** Display all the text... **/
  for(i = 0; i < msgArray.length; i++)
  {
    alert(msgArray[i]);
  }

  /** Now do all the functions... **/
  for(i = 0; i < funcArray.length; i++)
  {
    switch(funcArray[i]['action']) 
    {
      case "function": eval(funcArray[i]['func']); break;
      case "reloadpage": window.location.reload(); break;
      default: break;
    }
  }
}

/** XML POST **/
function xmlPost(postURI, postData, postReturnHandler) {
  var postObj = false;
  if (window.XMLHttpRequest) {
    postObj = new XMLHttpRequest();
    if (postObj.overrideMimeType) { postObj.overrideMimeType('text/xml'); }
  } else if (window.ActiveXObject) {
    postObj = new ActiveXObject('Microsoft.XMLHTTP');
  }
  postObj.open('POST', postURI, true);
  postObj.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  postObj.onreadystatechange = function() {
    if (postObj.readyState == 4) {
      eval(postReturnHandler + '(postObj);');
    }
  }
  postObj.send(postData);
}
