// Overall version of this body of code
var $vUtils = 1;	// 1st Published version

var $AJAX_state = 0;	// =0 if inactive, =1 if active

function isBlank($ss) {
   // A utility function that returns true if a string only contains white space
   for(var $nn=0; $nn < $ss.length; $nn++) {
      var $cc = $ss.charAt($nn);
      if (($cc != ' ') && ($cc != '\n') && ($cc != '')) return false;
   }
   return true;
}

function doKeyUp($e) {
// also  doKeyDown($e) {
// KBD functions "onKeyUp and onKeyDown"
// Not used currently, only here as prototype routine

   var $keynum;
   var $keychar;

   if(window.event) {		// IE
     $keynum = $e.keyCode;
   } else if($e.which) {	// Netscape/Firefox/Opera
     $keynum = $e.which;
   } else {
     return false;		//Oops? now what?!
   }

   // DownArrow(40)
   if ($keynum == 40) {
   }

   // Enter(13), Comma(188), Semicolon(59)
   if ($keynum == 13 || $keynum==188 || $keynum==59) {
   }
   
   // Shift, Control, etc.
   if ($keynum >= 14 && $keynum <= 20) {	
      }
       
   // F1 - F12
   if ($keynum >= 112 && $keynum <= 123) {	
   }

   // Esc(27)
   if ($keynum == 27) {
   }

   return false;		// No advance to next field
// return true;			// To advance to next field
}

function AJAXrequest($url, $target_DivS) {
   if ($AJAX_state == 1) {
      alert("Server is busy, please be patient");
   }
       
   // Init AJAX OBJ 
   var $AJAX = null;

   if (window.XMLHttpRequest) {
      $AJAX=new XMLHttpRequest();
   } else {
      $AJAX=new ActiveXObject("Microsoft.XMLHTTP");
   }

   if ($AJAX==null) {
      alert("Your browser doesn't support AJAX");
      return false;
   }

   $AJAX.onreadystatechange = function() {
      if ($AJAX.readyState==4 || $AJAX.readyState=="complete") {
         AJAXcallback($AJAX.responseText, $AJAX.status, $target_DivS);
      }
   }
   $AJAX.open("GET", $url, true);   		// Open the url 
   $AJAX.send(null);                    	// Send the request.
   
   return true;
}                           

function AJAXcallback($dataS, $status, $target_DivS) {
   var $d = document.getElementById($target_DivS);
       
   if ($dataS.length !=0) {			// If non-zero lengt then must be good
      $d.innerHTML = $dataS;
      $d.style.visibility = 'visible';
   } else {					// Zero length and 
      if ( $status == 200 ) {			// Status = 200 (which is "good") indicates a sender error
         alert("AJAX Error, zero length string returned, please report to Webmaster");
      }						// Satus != 200 means "not good" - some sort of error
   }						// Status == 0 could mean that user aborted
   return;
}


