/********************************************************************************************/
/* AHAH functions by Phil Ballard                                                           */
/* This code is intended for study purposes.                                                */
/* You may use these functions as you wish, for commercial or non-commercial applications,  */
/* but please note that the author offers no guarantees to their usefulness, suitability or */
/* correctness, and accepts no liability for any losses caused by their use.                */
/********************************************************************************************/

function callAHAH(url, pageElement, callMessage, errorMessage) {
	callMessage = "&nbsp;&nbsp;<img src='images/loading.gif' />";
     document.getElementById(pageElement).innerHTML = callMessage;
     try {
     req = new XMLHttpRequest(); /* e.g. Firefox */
     } catch(e) {
       try {
       req = new ActiveXObject("Msxml2.XMLHTTP");  /* some versions IE */
       } catch (e) {
         try {
         req = new ActiveXObject("Microsoft.XMLHTTP");  /* some versions IE */
         } catch (E) {
          req = false;
         } 
       } 
     }
     req.onreadystatechange = function() {responseAHAH(pageElement, errorMessage);};
     req.open("GET",url,true);
     req.send(null);
  }

function responseAHAH(pageElement, errorMessage) {
   var output = '';
   if(req.readyState == 4) {
      if(req.status == 200) {
         output = req.responseText;
         document.getElementById(pageElement).innerHTML = output;
         } else {
         document.getElementById(pageElement).innerHTML = errorMessage+"\n"+output;
         }
      }
  }
  
  // copy of function with other name
  function callAHAH2(url2, pageElement2, callMessage2, errorMessage2) {
     document.getElementById(pageElement2).innerHTML = callMessage2;
     try {
     req2 = new XMLHttpRequest(); /* e.g. Firefox */
     } catch(e2) {
       try {
       req2 = new ActiveXObject("Msxml2.XMLHTTP");  /* some versions IE */
       } catch (e2) {
         try {
         req2 = new ActiveXObject("Microsoft.XMLHTTP");  /* some versions IE */
         } catch (E2) {
          req2 = false;
         } 
       } 
     }
     req2.onreadystatechange = function() {responseAHAH2(pageElement2, errorMessage2);};
     req2.open("GET",url2,true);
     req2.send(null);
  }

function responseAHAH2(pageElement2, errorMessage2) {
   var output2 = '';
   if(req2.readyState == 4) {
      if(req2.status == 200) {
         output2 = req2.responseText;
         document.getElementById(pageElement2).innerHTML = output2;
         } else {
         document.getElementById(pageElement2).innerHTML = errorMessage2+"\n"+output2;
         }
      }
  }


