var required=false;
var notRequired=true;
var whitespace=" \t\n\r";
var decimalPointDelimiter=".";
var daysInMonth=new Array(12);
daysInMonth[1]=31;
daysInMonth[2]=29;
daysInMonth[3]=31;
daysInMonth[4]=30;
daysInMonth[5]=31;
daysInMonth[6]=30;
daysInMonth[7]=31;
daysInMonth[8]=31;
daysInMonth[9]=30;
daysInMonth[10]=31;
daysInMonth[11]=30;
daysInMonth[12]=31;
var iDayPrefix="The second field in ";
var iDaySuffix=" must be a day number between 1 and 31.";
var iMonthPrefix="The first field in ";
var iMonthSuffix=" must be a month number between 1 and 12.";
var iYearPrefix="The third field in ";
var iYearSuffix=" must be a 4 digit year number.";
function isEmpty(s){
 return ((s==null)||(s.length==0));
}
function isWhitespace(s){
 var i;
 if(isEmpty(s)){
  return true;
 }
 for (i=0;i<s.length;i++){
  var c=s.charAt(i);
  if(whitespace.indexOf(c)==-1){
   return false;
  }
 }
 return true;
}
function isInteger(s){
 var i;
 if(isEmpty(s)){
  if(isInteger.arguments.length==1){
   return required;
  }
  else{
   return notRequired;
  }
 }
 for(i=0;i<s.length;i++){
  var c=s.charAt(i);
  if(!isDigit(c)){
   return false;
  }
 }
 return true;
}
function isFloat(s){
 var i;
 var seenDecimalPoint=false;
 if(isEmpty(s)){
  if(isFloat.arguments.length==1){
   return required;
  }
  else{
   return(isFloat.arguments[1]==true);
  }
 }
 if(s==decimalPointDelimiter){
  return false;
 }
 for(i=0;i<s.length;i++){
  var c=s.charAt(i);
  if((c==decimalPointDelimiter)&&!seenDecimalPoint){
   seenDecimalPoint=true;
  }
  else if(!isDigit(c)){
   return false;
  }
 }
 return true;
}
function isDigit(c){
 return((c>="0")&&(c<="9"));
}
function stripWhitespace(s){
 return stripCharsInBag(s,whitespace);
}
function stripCharsInBag(s,bag){
 var i;
 var returnString="";
 for(i=0;i<s.length;i++){
  var c=s.charAt(i);
  if(bag.indexOf(c)==-1){
   returnString+=c;
  }
 }
 return returnString;
}
function isYear(s){
 if(isEmpty(s)){
  return false;
 } 
 if(!isInteger(s)){
  return false;
 }
 return(s.length==4);
}
function isIntegerInRange(s,a,b){
 if(isEmpty(s)){
  return false;
 }
 if(!isInteger(s)){
  return false;
 }
 var num=parseInt(s,10);
 return ((num>=a)&&(num<=b));
}
function isMonth(s){
 if(isEmpty(s)){
  return false;
 }
 else{
  return isIntegerInRange(s,1,12);
 }
}
function isDay(s){
 if(isEmpty(s)){
  return false;
 }
 else{
  return isIntegerInRange(s,1,31);
 }
}
function daysInFebruary(year){
 return(((year%4==0)&&((!(year%100==0))||(year%400==0)))?29:28);
}
function isDate(month,day,year){
 if(!(isYear(year,false)&&isMonth(month,false)&&isDay(day,false))){
  return false;
 }
 var intYear=parseInt(year,10);
 var intMonth=parseInt(month,10);
 var intDay=parseInt(day,10);
 if(intDay>daysInMonth[intMonth]){
  return false; 
 }
 if((intMonth==2)&&(intDay>daysInFebruary(intYear))){
  return false;
 }
 return true;
}
function selectField(theField){
 theField.select();
}
function stripBegEndSpaces(field){
 var pos=0;
 var interString="";
 var finalString="";
 while(pos<field.value.length&&field.value.charAt(pos)==" "){
  pos++;
 }
 while(pos<field.value.length){
  interString+=field.value.charAt(pos);
  pos++;
 }
 var cnt=interString.length-1;
 while(cnt>0&&interString.charAt(cnt)==" "){
  cnt--;
 }
 var index=0;
 while(index<=cnt){
  finalString+=interString.charAt(index);
  index++;
 }
 field.value=finalString;
}
function focusField(field,radio,values){
 var value=getRadioButtonValue(radio);
 var a=values.split(';');
 for(i=0;i<a.length;i++){
  if(a[i]==value){
   return false;
  }
 }
 field.blur();
 return true;
}
function checkBadCharsField(field,fieldName){
 for(var i=0;i<field.value.length;i++){
  if(field.value.charAt(i)=="="){
   addError(fieldName+" cannot have a '=' character.");
   break;
  }
  if(field.value.charAt(i)=="|"){
   addError(fieldName+" cannot have a '|' character.");
   break;
  }
 }
 return;
}
function checkBadCharsForm(form){
 for(var i=0;i<form.elements.length;i++){
  if((form.elements[i].type=="text")||(form.elements[i].type=="password")){
   checkBadCharsField(form.elements[i],form.elements[i].name);
  }
 }
}
function validPassword(pwd){
 var letters="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
 var letterCount=0;
 var digits="0123456789";
 var digitCount=0;
 for(i=0;i<pwd.length;i++){
  var c=pwd.charAt(i);
  if(letters.indexOf(c)>=0){
   letterCount++;
  }
  if(digits.indexOf(c)>=0){
   digitCount++;
  }
  if((letterCount>=1)&&(digitCount>=1)){
   return true;
  }
 }
 return false;
}
function checkRadioButtonChecked(radio){
 for(var i=0;i<radio.length;i++){
  if(radio[i].checked==true){
   return true;
  }
 }
 return false;
}
function getRadioButtonValue(radio){
 var found=false;
 for(var i=0;i<radio.length;i++){
  if(radio[i].checked==true){
   found=true;
   break;
  }
 }
 if(found){
  return radio[i].value;
 }
 else{
  return "";
 }
}
function isRadioButtonOption(radio,value)
{
 for(var i=0;i<radio.length;i++){
  if(radio[i].value==value){
   return true;
  }
 }
 return false;
}
function setRadioButtonChecked(radio,value){
 for(vari=0;i<radio.length;i++){
  if(radio[i].value==value){
   radio[i].checked=true;
   return true;
  }
 }
 return false;
}
function clearRadioButton(radio){
 for(var i=0;i<radio.length;i++){
  radio[i].checked=false;
 }
 return;
}
function setRadioButtonState(radio,value,enabled){
 for(var i=0;i<radio.length;i++){
  if(radio[i].value==value){
   radio[i].disabled=!enabled;
   return true;
  }
 }
 return false;
}
function getSelectValue(select){
 return select.options[select.selectedIndex].value;
}

// This is the global Pop-Up window function 
function openWindow(theURL,winName,features) 
	{
  		window.open(theURL,winName,features);
	}

/* Disable Stus Bar message on ALL links 
function hidestatus(){
	window.status=''
	return true
}
	if (document.layers)
		document.captureEvents(Event.MOUSEOVER | Event.MOUSEOUT)
		document.onmouseover=hidestatus
		document.onmouseout=hidestatus*/

		
		
/* Pick School */
function jumpMenu(targ,selObj,restore){ 
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function MM_findObj(n, d) { 
  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 && document.getElementById) x=document.getElementById(n); return x;
}

function jumpMenuGo(selName,targ,restore){ 
  var selObj = MM_findObj(selName); if (selObj) jumpMenu(targ,selObj,restore);
}


/*####################################################################################################

	Title:			TrinityRep Application Global Rollover 
	Author:			Adam Sharp - asharp@andera.com
	Date:			8-24-2001
	
	Purpose:		To serve as a global Image Rollover / Preloader function.
	
	How-To-Config:
		Simply define the 2 variables below...Off_Indicator & Over_Indicator
		"Off_Indicator" should reflect how your "off-state" images are named.  For example, if your
		off-state images are suffixed with "_off", such as "AboutUs_off.gif", than _off would be your
		Off_Indicator.  Over_Indicator should reflect how your "over-state" images are named.
		And that's it!  It's that simple!  Now you can start calling this .js file into your HTML.
		
	Rollover-HTML-Usage:
		<a href="#" onMouseOver="SwapOver('Image1')" onMouseOut="SwapOut('Image1')">
			<img src="MyImage_off.gif" name="Image1">
		</a>
		
	Preloader-HTML-Usage:
		You need to call the "PreloadImgs()" function onLoad in your <body> tag.  (See below)
					
----------------------------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------------------------
  :-: Define Vars :-:
----------------------------------------------------------------------------------------------------*/

Off_Indicator = "_off";
Over_Indicator = "_over";

/*					**DO NOT EDIT BELOW THIS LINE**
####################################################################################################*/
/*--------------------------------------------------------------------------------------------------
	Create the necessary Variables & Structures
----------------------------------------------------------------------------------------------------*/
var PreloadIndex = 0;
ImgNames = new Array();
LoadImgs = new Array();
OffExpression = "/"+Off_Indicator+"/gi";
OverExpression = "/"+Over_Indicator+"/gi";




/*--------------------------------------------------------------------------------------------------
	MouseOver & MouseOut functions
----------------------------------------------------------------------------------------------------*/

function SwapOver() {
	if (arguments[1]){ if(arguments[1]==1) OnArgs(); }
	ImageName = SwapOver.arguments[0];
	if (document.layers && SwapOver.arguments.length > 1) {
		if (arguments[1] != 1){
			LayerName = SwapOver.arguments[1];
			document[LayerName].document.images[ImageName].src = document[LayerName].document.images[ImageName].src.replace(eval(OffExpression), Over_Indicator);
		}
	} else {
		document.images[ImageName].src = document.images[ImageName].src.replace(eval(OffExpression), Over_Indicator);
	}
	if (arguments[1]){ if(arguments[1]==1) OffArgs(); }
}

function SwapOut() {
	if (arguments[1]){ if(arguments[1]==1) OnArgs(); }
	ImageName = SwapOut.arguments[0];
	if (document.layers && SwapOut.arguments.length > 1) {
		if (arguments[1] != 1){
			LayerName = SwapOut.arguments[1];
			document[LayerName].document.images[ImageName].src = document[LayerName].document.images[ImageName].src.replace(eval(OverExpression), Off_Indicator);
		}
	} else {
		document.images[ImageName].src = document.images[ImageName].src.replace(eval(OverExpression), Off_Indicator);
	}
	if (arguments[1]){ if(arguments[1]==1) OffArgs(); }
}

function OnArgs() {
	Off_Indicator = "_on";
	Over_Indicator = "_onover";
	OffExpression = "/"+Off_Indicator+"/gi";
	OverExpression = "/"+Over_Indicator+"/gi";
}

function OffArgs() {
	Off_Indicator = "_off";
	Over_Indicator = "_over";
	OffExpression = "/"+Off_Indicator+"/gi";
	OverExpression = "/"+Over_Indicator+"/gi";
}

/*--------------------------------------------------------------------------------------------------

	The Preload Function
	How it Works:
		This function will iterate through all of the images in the document. While doing that..for each 
		image, it will check if the image contains your Off_Indicator. If it does, it will create a string identical to 
		that image's name, replacing your Off_Indicator with your Over_Indicator. That string is then added to an array 
		called "ImgNames."  When the function is done building the "ImgNames" array, it will loop
		through ImgNames...Pre-Loading all of the contained images into the Browser-Cache.
	
	Usage:
		You must call the PreloadImgs() function onLoad.
	Example:
		<body onLoad="PreloadImgs()">
		
----------------------------------------------------------------------------------------------------*/

function PreloadImgs() {

	// Build the "ImgNames" Array
	
	if (document.layers) {
		for (y=0; y<document.layers.length; y++) {
			for(i=0; i < document.layers[y].document.images.length; i++) {
				if (document.layers[y].document.images[i].src.search(eval(OffExpression)) > -1) {
					ImgNames[PreloadIndex] = document.layers[y].document.images[i].src.replace(eval(OffExpression), Over_Indicator);
					PreloadIndex++;
				}
			}
		}
		
	}else{
		for(i=0; i < document.images.length; i++) {
			
			if (document.images[i].src.search(eval(OffExpression)) > -1) {
				ImgNames[PreloadIndex] = document.images[i].src.replace(eval(OffExpression), Over_Indicator);
				PreloadIndex++;
			}
		}
	}
	
	
	
	// Lock & Load!
	for(i = 0; i < ImgNames.length; i++) {
	  	LoadImgs[i] = new Image;
	  	LoadImgs[i].src = ImgNames[i];
	}
}
