function Go() {
  return
  }

function showbar() {
  var fullscreen = document.getElementById('cover');
  fullscreen.style.visibility = 'visible';
  fullscreen.style.display = 'block';

  var showbar = document.getElementById('plswait');
  showbar.style.visibility = 'visible';
  showbar.style.display = 'block';
}

function GimmeNumbers(loadedText) {
  // this function removes everything but numbers
  var cleanText="";
  // make sure input is a string
  loadedText+="";
  for (skimp=0; skimp<loadedText.length; skimp++) {
    if (loadedText.substring(skimp,skimp+1)>="0" && loadedText.substring(skimp, skimp+1)<="9") cleanText+=loadedText.substring(skimp, skimp+1);
    }
    return cleanText;
  }


function GimmeDecimal(loadedText) {     
  // this function removes everything but numbers or decimal points
  var cleanText="";
  // make sure input is a string
  loadedText+="";
  for (skimp=0; skimp<loadedText.length; skimp++) {
    if ((loadedText.substring(skimp,skimp+1)>="0" && loadedText.substring(skimp, skimp+1)<="9") || loadedText.substring(skimp,skimp+1) == ".") cleanText+=loadedText.substring(skimp, skimp+1);
    }
    return cleanText;
  }


function isblank(s) {
  for (var i = 0; i < s.length; i++) {
    var c = s.charAt(i);
    if ((c != ' ') && (c != '\n') && (c != '\t')) {return false;
    }
    return true;
    }
  }


function leapYear(yr) {
  if (((yr % 4 == 0) && yr % 100 != 0) || yr % 400 == 0){
    return true;
    }
  else {
    return false;
    }
  }


function CheckDate() {
  if ((vObject5.value > 12) ||
      (!leapYear(vObject7.value) && ((vObject5.value == 2) && (vObject6.value > 28))) ||
            (leapYear(vObject7.value) && ((vObject5.value == 2) && (vObject6.value > 29))) ||
            (((vObject5.value == 1) ||
              (vObject5.value == 3) ||
              (vObject5.value == 5) ||
              (vObject5.value == 7) ||
              (vObject5.value == 8) ||
              (vObject5.value == 10) ||
              (vObject5.value == 12)) && (vObject6.value > 31)) ||
            (((vObject5.value == 4) ||
              (vObject5.value == 6) ||
              (vObject5.value == 9) ||
              (vObject5.value == 11)) && (vObject6.value > 30))){
    return false;
    }
  else if (vObject7.value.length < 4) {
    return false;
    }
  else {
    return true;
    }
  }


function printthis(){
  if((navigator.appVersion.indexOf("4.") != -1) && (navigator.appName.indexOf("Netscape") != -1)){
    print();
    }
  else {
    window.print();
    }
  }

function clearall() {
  for (i=0,n=document.form1.elements.length;i<n;i++)
        if (document.form1.elements[i].name.indexOf('xxSel') !=-1)
            document.form1.elements[i].checked = false;
  }

function markall() {
  for (i=0,n=document.form1.elements.length;i<n;i++)
        if (document.form1.elements[i].name.indexOf('xxSel') !=-1)
            document.form1.elements[i].checked = true;
  }

function MouseButton(codetype, prog, picknum, button) {

  /* INTERNET EXPLORER */
  if (button == null) {
    if (event.button < 2) return;  /* LEFT MOUSE */
  }
  /* ALL OTHER BROWSERS */
  else {
    if (button < 2) return; /* LEFT MOUSE */
  }

  document.form1.xxcodetype.value= codetype;
  errorcode = picknum.popup(prog);
}



// +----------------------+
// | Scrolling Table Body |  (C) 2005 by Derek Anderson   [ http://kered.org | public at kered dot org ]
// +----------------------+

function initAllScrollingTableBodies() {
	var all = document.getElementsByTagName("TABLE");
	for( var i=0; i<all.length; ++i ) {
		if( all[i].className=="scrolling_table_body" ) {
			initScrollingTableBody( all[i] );
			if( all.length && all[i].id=="scrolling_table_body_generated" ) ++i;
		}
	}
}
function initScrollingTableBody( stb ) {

	// this is our table - init it
	stb.border = "0";
	stb.cellSpacing = "0";

	// can we get these automatically?
	var scrollBarWidth = stb.childNodes[0].tagName=="THEAD" ? 19 : 17; // (IE needs 19, mozilla needs 17)
	var newHeaderFudgeWidth = 2;

	// get our header nodes, information regarding, and init
	var oHeader = document.createElement("table");
	var oTHead = getFirstChildNodeOfType( stb, "THEAD" );
	var oTR = getFirstChildNodeOfType( oTHead, "TR" );
	var tHeadHeight = oTR.clientHeight;
	oHeader.border = "0";
	oHeader.cellSpacing = "0";
	oHeader.className = "scrolling_table_body";
	oHeader.id = "scrolling_table_body_generated";
	oHeader.style.border = "1px solid black";
	oHeader.style.height = "";
	oHeader.style.position = "absolute";
	// not needed, as we've moved the new header to be inline with the top of the scroll bar
	// oHeader.style.margin = "-"+ (tHeadHeight) +"px 0px 0px 0px";
	// build div parent node, and shrink its width to the correct size
	var stbp = document.createElement("div");
	stb.parentNode.insertBefore( stbp, stb );
	stbp.className = "scrolling_table_body";
	// stbp.style.overflow = "auto";
	stbp.style["overflow-x"] = "hidden";
	stbp.style["overflow-y"] = "scroll";
	stbp.style.width = stb.clientWidth + scrollBarWidth;
	stbp.style.height = stb.style.height;
	stb.style.height = "";
	stbp.appendChild(stb);	
	// build span parent node, and shrink its width to the correct size
	var stbpp = document.createElement("span");
	stbp.parentNode.insertBefore( stbpp, stbp );
	stbpp.className = "scrolling_table_body";
	stbpp.style.display = "block";
	// not needed, as we've moved the new header to be inline with the top of the scroll bar
	// stbpp.style.margin = tHeadHeight +"px 0px 0px 0px";
	stbpp.style.width = stbp.clientWidth;
	stbpp.appendChild(stbp);

	// append a spacer TD to our header, to cover the scroll bar top
	// not needed, as we've moved the new header to be inline with the top of the scroll bar
	// var oTD = document.createElement("td");
	// oTD.innerHTML = "&nbsp;";
	// oTR.appendChild( oTD );
	
	// move our header node to its proper location
	stbp.parentNode.insertBefore( oHeader, stbp );
	oHeader.appendChild(oTHead.cloneNode(true));
	// oHeader.appendChild(oTHead);

	resizeScrollingTableBodyHeader( stb, oHeader );
	oHeader.style.width = stb.offsetWidth + + newHeaderFudgeWidth + "px";

}
function resizeScrollingTableBodyHeader( oT, oH ) {

	// can we get these automatically?
	var tdPadding = 6; // must match: table.scrollingTableBody TD { padding; }

	var oTtr = getFirstChildNodeOfType( oT, "TR" );
	var oHtr = getFirstChildNodeOfType( oH, "TR" );
	var i=0; var j=0;
	while( i<oTtr.childNodes.length && j<oHtr.childNodes.length ) {
		while( i<oTtr.childNodes.length && oTtr.childNodes[i].tagName!="TD" ) ++i;
		while( j<oHtr.childNodes.length && oHtr.childNodes[j].tagName!="TD" ) ++j;
		if( i<oTtr.childNodes.length && j<oHtr.childNodes.length && 
			oHtr.childNodes[j].clientWidth < oTtr.childNodes[i].clientWidth ) {
			oHtr.childNodes[j].style.width = oTtr.childNodes[i].clientWidth-(2*tdPadding) +"px";
		}
		// alert( oHtr.childNodes[j].clientWidth +", "+ oTtr.childNodes[i].clientWidth );
		++i; ++j;
	}
}
function getFirstChildNodeOfType( oNode, type ) {
	// search breadth-first
	for( var i=0; i<oNode.childNodes.length; ++i ) {
		if( oNode.childNodes[i].tagName==type ) {
			return oNode.childNodes[i];
		}
	}
	for( var i=0; i<oNode.childNodes.length; ++i ) {
		if( oNode.childNodes[i].hasChildNodes() ) {
			var oChildNode = getFirstChildNodeOfType( oNode.childNodes[i], type );
			if( oChildNode!=null ) return oChildNode;
		}
	}
	return null;
}


// +----------------------+
// | Swapping Image Fns   |  
// +----------------------+

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
  var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
  if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
  }

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
  }
  MM_reloadPage(true);
  
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
  }

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
  }

function P7_autoLayers() { //v1.1 PVII
  var g,b,k,f,args=P7_autoLayers.arguments;
  if(!document.p7setc) {p7c=new Array();document.p7setc=true;}
  for(k=0; k<p7c.length; k++) {
    if((g=MM_findObj(p7c[k]))!=null) {
      b=(document.layers)?g:g.style;b.visibility="hidden";}}
  for(k=0; k<args.length; k++) {
    if((g=MM_findObj(args[k])) != null) {
      b=(document.layers)?g:g.style;b.visibility="visible";f=false;
  for(j=0;j<p7c.length;j++) {
    if(args[k]==p7c[j]) {f=true;}}
  if(!f) {p7c[p7c.length++]=args[k];}}}
  }

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
  }

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
  if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
  }

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function StripIt(strTemp) { 
  strTemp = strTemp.replace(/\<|\>|\"|\'|\%|\;|\(|\)|\&|\+|\-|\#/g,""); 
  return strTemp;
  } 

function MM_nbGroup(event, grpName) { //v6.0
  var i,img,nbArr,args=MM_nbGroup.arguments;
  if (event == "init" && args.length > 2) {
    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
      nbArr[nbArr.length] = img;
      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
        if (!img.MM_up) img.MM_up = img.src;
        img.src = img.MM_dn = args[i+1];
        nbArr[nbArr.length] = img;
    } }
  } else if (event == "over") {
    document.MM_nbOver = nbArr = new Array();
    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up);
      nbArr[nbArr.length] = img;
    }
  } else if (event == "out" ) {
    for (i=0; i < document.MM_nbOver.length; i++) {
      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
  } else if (event == "down") {
    nbArr = document[grpName];
    if (nbArr)
      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
    document[grpName] = nbArr = new Array();
    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
      nbArr[nbArr.length] = img;
  } }
}

/*****************************************/
/* From here down, added for 101.j - PSW */
/*****************************************/

function TrimAll(sString) {
  while (sString.substring(0,1) == ' ') {
    sString = sString.substring(1, sString.length);
  }
  while (sString.substring(sString.length-1, sString.length) == ' ') {
    sString = sString.substring(0,sString.length-1);
  }
  return sString;
}
    

function IsNumeric(sText)
{
   var ValidChars = "0123456789.";
   var IsNumeric=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumeric == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumeric = false;
         }
      }
   return IsNumeric;
   
   }

function IsAlpha(sText)
{
   var ValidChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
   var IsAlpha=true;
   var Char;

 
   for (i = 0; i < sText.length && IsAlpha == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsAlpha = false;
         }
      }
   return IsAplha;
   
   }


function IsAlphaNum(sText)
{
   var ValidChars = "0123456789.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@";
   var IsAlphaNum=true;
   var Char;

 
   for (i = 0; i < sText.length && IsAlphaNum == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsAlphaNum = false;
         }
      }
   return IsAlphaNum;
   
   }


function IsEmpty(aTextField) {
   if ((aTextField.value.length==0) ||
   (aTextField.value==null)) {
      return true;
   }
   else { return false; }
}


function isValidEmail(str) {
   return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
 
}


function trim(s)
{
  return s.replace(/^\s+|\s+$/, '');
} 


function validateEmail(fld) {
    var error="";
    var tfld = trim(fld.value);                        // value of field with whitespace trimmed off
    var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
    var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;
    
    if (fld.value == "") {
        fld.style.background = 'Yellow';
        error = "You didn't enter an email address.\n";
    } else if (!emailFilter.test(tfld)) {              //test email for illegal characters
        fld.style.background = 'Yellow';
        error = "Please enter a valid email address.\n";
    } else if (fld.value.match(illegalChars)) {
        fld.style.background = 'Yellow';
        error = "The email address contains illegal characters.\n";
    } else {
        fld.style.background = 'White';
    }
    return error;
}


function textCounter(field, countfield, maxlimit) {
  if (field.value.length > maxlimit) {                   
    field.value = field.value.substring(0, maxlimit);     // if too long...trim it!
  }
  else countfield.value = maxlimit - field.value.length;  // otherwise, update 'characters left' counter
}


function checkajax() {
  var xmlHttp;
  try {  // Firefox, Opera 8.0+, Safari  
    xmlHttp=new XMLHttpRequest();  
  }
  catch (e) {  // Internet Explorer  
    try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");    
    }
    catch (e) { 
      try { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");     
      }
      catch (e) {      
        alert("Your browser does not support AJAX!");         
      }    
    }  
  } 
  return xmlHttp;
}

