//<script>
var isIE, oDoc;

bBodyIsLoaded = false;

String.prototype.left = Function('n','return this.substr(0,n);');
String.prototype.right = Function('n','return this.substr(this.length-n);');
String.prototype.numericOnly = Function('var n="",c,i=0,d="."; while(i<this.length){c=this.substr(i,1);if((c>="0"&c<="9")|c==d|(c=="-"&i==0))n+=c;if(c==d)d="0";i++}return n;');
String.prototype.integer = Function('var n=this.numericOnly(); while(n.length>0 & n.substr(0,1)=="0") n=n.substr(1); return parseInt(n);');
String.prototype.floating = Function('return parseFloat(this.numericOnly());');
String.prototype.reverse = Function('var s="",i=this.length; while(i>=0)s+=this.substr(i--,1); return s;');
String.prototype.formatNumber = Function('d','z','var s=this+".00000000"; s=s.numericOnly(); i=s.indexOf("."); s=s.substring(0,i+((d)?d+1:((d==0)?0:3))); for(i-=3;i>0;i-=3)s=s.substr(0,i)+","+s.substr(i); if(!z)z=""; return z+s.replace(/-,/,"-");');
String.prototype.formatUSPhone = Function('return formatUSPhone(this);');
String.prototype.formatDate = Function('return formatDate(this);');
String.prototype.isEmpty = Function('return ((this == null) || (this.length == 0));');
String.prototype.isDate = Function('return isDate(this);');

Date.prototype.monthString = Function('n','return Array("January","February","March","April","May","June","July","August","September","October","November","December")[this.getMonth()].substr(0,((n)?n:10));');
Date.prototype.dayString = Function('n','return Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")[this.getDay()].substr(0,((n)?n:10));');
Date.prototype.isLeapYear = Function('return (((this.getFullYear() % 4 == 0) && (this.getFullYear() % 100 != 0)) || (this.getFullYear() % 400 == 0));');
Date.prototype.add = Function('s','n','var y=this.getFullYear() + ((s=="yy")?n:0); var m=this.getMonth() + ((s=="mm")?n:0); var d=this.getDate() + ((s=="dd")?n:0); return new Date(y, m, d);');
Date.prototype.lastDayOfMonth = Function('var d = new Date(this.getFullYear(), this.getMonth() + 1, 0); return d;');
Date.prototype.zeroTime = Function('return this.add("mm", 0);');
Date.prototype.shortString = Function('yy','return (this.getMonth() + 1) + "/" + this.getDate() + "/" + ((yy)?this.getFullYear().toString().substr(2,2):this.getFullYear());');
Date.prototype.wordString = Function('n','return this.monthString(n) + " " + this.getDate() + ", " + this.getFullYear();');
Date.prototype.timeString = Function('var h=this.getHours(); return ((h>12)?h-12:h) + ":" + this.getMinutes() + ((h>12)?" PM":" AM");');
Date.prototype.timeString24 = Function('return this.getHours() + ":" + this.getMinutes() + ":" + this.getSeconds();');

if (document.layers)
	isIE = false;
else
	isIE = true;
	
if (isIE)
	oDoc = document.all;
else
	oDoc = document;


function formatDate(sDate) {
	var re = /(\d+)\D+(\d+)\D+(\d+)/;

	if (! re.test(sDate)) return "";
	
	var aResult = re.exec(sDate);
	var nMo = aResult[1].integer();
	var nDy = aResult[2].integer();
	var nYr = aResult[3].integer();
	if (nYr < 50)  nYr += 2000;
	if (nYr < 100) nYr += 1900;
	return nMo + "/" + nDy + "/" + nYr;
}

function formatUSPhone(s) {
	s = s.numericOnly().replace(/\./g,"").reverse();
	s = s.substr(0,4) + "-" + s.substr(4,3) + ")" + s.substr(7,3) + "(" + s.substr(10,1);
	return s.reverse();
}

function isDate(sDate) {
	sDate = sDate.formatDate();
	if (sDate == "") return false;
	var re = /(\d+)\D+(\d+)\D+(\d+)/;
	var aResult = re.exec(sDate);
	var nMo = aResult[1].integer();
	var nDy = aResult[2].integer();
	var nYr = aResult[3].integer();
	if (nMo < 1 | nMo > 12)   return false;
	if (nDy < 1 | nDy > 31)   return false;
	if (nYr < 1850 | nYr > 2100) return false;
	var dDate = new Date(nMo + "/" + nDy + "/" + nYr);
	return (nDy == dDate.getDate());
}

var imgOver = new Array;
	imgOver[0]  = new Image(0,0);
	imgOver[1]  = new Image(0,0);
	imgOver[2]  = new Image(0,0);
	imgOver[3]  = new Image(0,0);
	imgOver[4]  = new Image(0,0);
	imgOver[5]  = new Image(0,0);
	imgOver[6]  = new Image(0,0);
	imgOver[7]  = new Image(0,0);
	imgOver[8]  = new Image(0,0);
	imgOver[9]  = new Image(0,0);
	imgOver[10] = new Image(0,0);
	imgOver[11] = new Image(0,0);

var imgOut = new Array;
	imgOut[0]  = new Image(0,0);
	imgOut[1]  = new Image(0,0);
	imgOut[2]  = new Image(0,0);
	imgOut[3]  = new Image(0,0);
	imgOut[4]  = new Image(0,0);
	imgOut[5]  = new Image(0,0);
	imgOut[6]  = new Image(0,0);
	imgOut[7]  = new Image(0,0);
	imgOut[8]  = new Image(0,0);
	imgOut[9]  = new Image(0,0);
	imgOut[10] = new Image(0,0);
	imgOut[11] = new Image(0,0);

imgOver[0].src  = '/images/mnuHome_h.gif';
imgOver[1].src  = '/images/mnuWhoAreWe_h.gif';
imgOver[2].src  = '/images/mnuProductCenter_h.gif';
imgOver[3].src  = '/images/mnuLifeCenter_h.gif';
imgOver[4].src  = '/images/mnuReferenceCenter_h.gif';
imgOver[5].src  = '/images/mnuContinuingEdu_h.gif';
imgOver[6].src  = '/images/mnuDeptInsurance_h.gif';
imgOver[7].src  = '/images/mnuGuestColumnist_h.gif';
imgOver[8].src  = '/images/mnuForms_h.gif';
imgOver[9].src  = '/images/mnuMoneyRates_h.gif';
imgOver[10].src = '/images/mnuNews_h.gif';
imgOver[11].src = '/images/mnuSuggestionBox_h.gif';
		
function mouseOver(oImg, i) {
	if (!imgOut[i].src) imgOut[i].src = oImg.src;
	oImg.src = imgOver[i].src;
}
function mouseOut(oImg, i) {
	oImg.src = imgOut[i].src;
}

function ChangeImage(ImageToChange, ImageToShow) {
	if (document.images) {
		document.all[ImageToChange].src = ImageToShow;
	}
}

function checkValidation(aParam, oForm) {
    var oExprTest
    for (var i = 0; i < aParam.length; i += 3)
    {
        oExprText = new RegExp(aParam[i+1], 'g');
        if (!oExprText.test(oForm[aParam[i]].value)) {
            oForm[aParam[i]].focus();
            alert('Please enter the correct text into ' + aParam[i+2] + '.');
            return false;
        }
    }
    return true;
}

function isEmpty(s)
{    return ((s == null) || (s.length == 0))
}

function isDirty(eForm, bCheckFirstOne)
{
  var nSelStart = 0
  if (bCheckFirstOne != null) {
    if (!bCheckFirstOne) {
        nSelStart = 1;
    }
  }

  var iNumElems = eForm.elements.length;
  for (var i=0; i<iNumElems; i++)
  {
    var eElem = eForm.elements[i];
    if ("text" == eElem.type || "TEXTAREA" == eElem.tagName)
    {
      if (eElem.value != eElem.defaultValue) return true;
    }
    else if ("hidden" == eElem.type)
    {
      if (eElem.value != eElem.defaultValue) return true;
    }
    else if ("checkbox" == eElem.type || "radio" == eElem.type)
    {
      if (eElem.checked != eElem.defaultChecked) return true;
    }
    else if ("SELECT" == eElem.tagName)
    {
      var cOpts = eElem.options;
      var iNumOpts = cOpts.length;
      for (var j=nSelStart; j<iNumOpts; j++)
      {
        var eOpt = cOpts[j];
        if (eOpt.selected != eOpt.defaultSelected) return true;
      }
    }
  }
  return false;
}

function strNumsOnly(s) {
	var sNums = "";
	var bNoDec = true;
	
	for (var i = 0; i < s.length; i++) {
		if (s.charAt(i) == "0") {
			if (sNums.length > 0) sNums += "0";
		} else if (s.charAt(i) == "." & bNoDec) {
			sNums += ".";
			bNoDec = false;
		} else if ((s.charAt(i) >= "1") & (s.charAt(i) <= "9")) {
			sNums += s.charAt(i);
		}
	}
	
	if (sNums.length == 0) sNums += '0';
	return sNums;
}

function strNumsOnlyNoZero(s) {
	var sNums = "";
	var bNoDec = true;
	
	for (var i = 0; i < s.length; i++) {
		if (s.charAt(i) == "0") {
			if (sNums.length > 0) sNums += "0";
		} else if (s.charAt(i) == "." & bNoDec) {
			sNums += ".";
			bNoDec = false;
		} else if ((s.charAt(i) >= "1") & (s.charAt(i) <= "9")) {
			sNums += s.charAt(i);
		}
	}
	
	return sNums;
}

function str2int(s) {
	return parseInt(strNumsOnly(s));
}

function str2float(s) {
	return parseFloat(strNumsOnly(s));
}

function str2currency(s) {
	return parseInt(str2float(s) * 100) / 100;
}

function dateCheck(oDate1, oDate2) {
        if (isDate(oDate1.value)) {
                oDate2.value = formatDate(oDate1.value);
                return true;
        } else {
                oDate2.value = "Bad Date!";
                return false;
        }
}

/*
function isDate(sDate) {
	sDate = formatDate(sDate);
	if (sDate == "") return false;
	var re = /(\d+)\D+(\d+)\D+(\d+)/;
	var aResult = re.exec(sDate);
	var nMo = str2int(aResult[1]);
	var nDy = str2int(aResult[2]);
	var nYr = str2int(aResult[3]);
	if (nMo < 1 | nMo > 12)   return false;
	if (nDy < 1 | nDy > 31)   return false;
	if (nYr < 1 | nYr > 2100) return false;
	var dDate = new Date(nMo + "/" + nDy + "/" + nYr);
	return (nDy == dDate.getDate());
}

function formatDate(sDate) {
	var re = /(\d+)\D+(\d+)\D+(\d+)/;

	// -- see if it looks legit
	if (! re.test(sDate)) return "";
	
	var aResult = re.exec(sDate);
	var nMo = str2int(aResult[1]);
	var nDy = str2int(aResult[2]);
	var nYr = str2int(aResult[3]);
	if (nYr < 50)  nYr += 2000;
	if (nYr < 100) nYr += 1900;
	return nMo + "/" + nDy + "/" + nYr;
}
*/

function newWindow(sUrl) {
        var win = window.open(sUrl, 'newin', 'resizable=yes,toolbar=no,location=no,directories=no,status=no,scrollbars=yes,width=550,height=450');
        if (win) win.focus();
}


function concatSelect2Hidden(oList, oHidden) {
        oHidden.value = '';
        for (var i=0;i<oList.length;i++) {
                if (oHidden.value.length > 0) oHidden.value += ', ';
                oHidden.value += oList[i].value;                        
        }
}

function isExist(oList, newValue) {
        for ( var i = 0; i < oList.length; i++ )
                if (oList.options[i].value == newValue) return true;
        return false;
}

function listAddItem(oList, sText, sValue) {
        oList.options[oList.length] = new Option (sText, sValue, false, false);
}               

function listRemoveItem(oList, nIndex) {
        oList.options[nIndex] = null;
}               
                
function moveSource2Target(oSource, oTarget, bRemove) {
        if (oTarget.options[0].value == '')
                listRemoveItem(oTarget, 0)
                
        if (oSource.selectedIndex >= 0) {
                if (bRemove)  {listRemoveItem(oTarget, oTarget.selectedIndex);}
                else {
                        if (!isExist(oTarget, oSource[oSource.selectedIndex].value)) {
                                listAddItem(oTarget, oSource[oSource.selectedIndex].text, oSource[oSource.selectedIndex].value);
                        }
                }
        }
}

function checkAll(oCB, oForm, sName) {
        if (oForm[sName] == null) { return; }
        
        if (isNaN(oForm[sName].length)) {
                oForm[sName].checked = oCB.checked;
        }
        else {
                for (x = 0; x < oForm[sName].length; x++)
                        oForm[sName][x].checked = oCB.checked;
        }
}

function formatCurrency(sVal) {
	var sTmp = '', iCounter = 0;
	sVal = String(str2currency(String(sVal)));

	if (sVal.indexOf('.', 0) == -1)
		sVal = sVal + '.00';
	else {
		sVal = sVal.substr(0, sVal.indexOf('.', 0)) + String(sVal + '00').substr(sVal.indexOf('.', 0), 3)
	}

	for (var i = sVal.length; i > -1; i--)
	{
		if (iCounter == 3) {
			if (sVal.substr(i, 1) != '.') {
				sTmp = ',' + sVal.substr(i, 1) + sTmp;
			}
			else {
				sTmp = sVal.substr(i, 1) + sTmp;
			}
			iCounter = 0;
		}
		else {
			sTmp = sVal.substr(i, 1) + sTmp;
		}
		iCounter++;
	}
	
	if (sTmp.substr(0, 1) == ',') {
		sTmp = sTmp.substr(1);
	}
	
	return sTmp;
}

function ok2deleteRec() {
	var sMsg = 'WARNING: Clicking OK will permanently delete this record.';
	if (confirm(sMsg)) {
		valSkipValidation = true;
		return true;
	}
	return false;
}

/*
//---------------------------------------
//  Validation Functions
//---------------------------------------
function valDate(oFld, sMsg) {
	if (oFld.value.length < 1) return true;
	if (isDate(oFld.value)) {
		oFld.value = formatDate(oFld.value);
		return true;
	}
	alert("Please enter a valid date for " + sMsg);
	oFld.focus();
	return false;
}

function valDateReqd(oFld, sMsg) {
	if (!valTextReqd(oFld, sMsg)) return false;
	if (isDate(oFld.value)) {
		oFld.value = formatDate(oFld.value);
		return true;
	}
	alert("Please enter a valid date for " + sMsg);
	oFld.focus();
	return false;
}

function valRadioReqd(oFld, sMsg) {
	if ( !oFld.length ) {
		if ( oFld.checked ) return true;
	} else {
		for ( var i = 0; i < oFld.length; i ++ )
			if ( oFld[i].checked ) return true;
	}	

	alert("Please make a selection for '" + sMsg.replace(/<br>/gi, " ") + "'");
	return false;
}

function valSelectReqd(oFld, sMsg) {
	if ( oFld.selectedIndex > 0 ) return true;
	if ( oFld.options[oFld.selectedIndex].value != "" ) return true;
	
	alert("Please make a selection for '" + sMsg.replace(/<br>/gi, " ") + "'");
	oFld.focus();
	return false;
}

function valTextReqd(oFld, sMsg) {
	if ( oFld.value > "" ) return true;

	alert("Please make an entry for '" + sMsg.replace(/<br>/gi, " ") + "'");
	if (oFld.type != 'hidden') oFld.focus();
	return false;
}

function valEntryReqd(oFld, sMsg) {
	var sType = "";

	sType = oFld.tagName;
	
	if ( sType == "INPUT" ) {
		if ( ! oFld.length )
			sType = oFld.type.toUpperCase();
		else
			sType = oFld[0].type.toUpperCase();
	}
	
	switch ( sType ) {
	case "RADIO":
		return valRadioReqd(oFld, sMsg);
	case "SELECT":
		return valSelectReqd(oFld, sMsg);
	default:
		return valTextReqd(oFld, sMsg);
	}
}

function valEmail(oEmail, sMsg) {
	var pattern = /^[A-Za-z0-9_.\-]+[@][A-Za-z0-9_.\-]+\.\w+$/
	//var pattern = /\w+@.+\.\w+/
	
	if ( oEmail.value.length < 1 ) return true;
	
	if (! pattern.test(oEmail.value) ) {
		alert("Please enter a valid email address for " + sMsg);
		oEmail.focus();
		return false;
	}
	
	return true;
}

function valPassword(Password, Retype) {
	if (Password.value.toLowerCase() != Retype.value.toLowerCase()) {
		alert('Passwords do not match.  Please retry.');
		Retype.value = "";
		Retype.focus();
		return false;
	}
	else if (Password.value.length < 5) {
		alert('Password must be a minimum of 5 characters.');
		Retype.value = "";
		Password.focus();
		return false;
	}
	return true;
}
*/