
function Trim(TRIM_VALUE){if(TRIM_VALUE.length<1){return"";}
TRIM_VALUE=RTrim(TRIM_VALUE);TRIM_VALUE=LTrim(TRIM_VALUE);if(TRIM_VALUE==""){return"";}
else{return TRIM_VALUE;}}
function RTrim(VALUE){var w_space=String.fromCharCode(32);var v_length=VALUE.length;var strTemp="";if(v_length<0){return"";}
var iTemp=v_length-1;while(iTemp>-1){if(VALUE.charAt(iTemp)==w_space){}
else{strTemp=VALUE.substring(0,iTemp+1);break;}
iTemp=iTemp-1;}
return strTemp;}
function LTrim(VALUE){var w_space=String.fromCharCode(32);if(v_length<1){return"";}
var v_length=VALUE.length;var strTemp="";var iTemp=0;while(iTemp<v_length){if(VALUE.charAt(iTemp)==w_space){}
else{strTemp=VALUE.substring(iTemp,v_length);break;}
iTemp=iTemp+1;}
return strTemp;}
var digits="0123456789";var lowercaseLetters="abcdefghijklmnopqrstuvwxyz"
var uppercaseLetters="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
var whitespace=" \t\n\r";var decimalPointDelimiter="."
var phoneNumberDelimiters="()- ";var validUSPhoneChars=digits+phoneNumberDelimiters;var validWorldPhoneChars=digits+phoneNumberDelimiters+"+";var SSNDelimiters="- ";var validSSNChars=digits+SSNDelimiters;var digitsInSocialSecurityNumber=9;var digitsInUSPhoneNumber=10;var ZIPCodeDelimiters="-";var ZIPCodeDelimeter="-"
var validZIPCodeChars=digits+ZIPCodeDelimiters
var digitsInZIPCode1=5
var digitsInZIPCode2=9
var creditCardDelimiters=" "
function isOkBag(s,bag)
{var i;var returnString="";for(i=0;i<s.length;i++)
{var c=s.charAt(i);if(bag.indexOf(c)==-1)return false;}
return true;}
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 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 stripCharsNotInBag(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 stripWhitespace(s)
{return stripCharsInBag(s,whitespace)}
function charInString(c,s)
{for(i=0;i<s.length;i++)
{if(s.charAt(i)==c)return true;}
return false}
function stripInitialWhitespace(s)
{var i=0;while((i<s.length)&&charInString(s.charAt(i),whitespace))
i++;return s.substring(i,s.length);}
function isLetter(c)
{return(((c>="a")&&(c<="z"))||((c>="A")&&(c<="Z")))}
function isDigit(c)
{return((c>="0")&&(c<="9"))}
function isLetterOrDigit(c)
{return(isLetter(c)||isDigit(c))}
function isInteger(s)
{var i;if(isEmpty(s))
if(isInteger.arguments.length==1)return defaultEmptyOK;else return(isInteger.arguments[1]==true);for(i=0;i<s.length;i++)
{var c=s.charAt(i);if(!isDigit(c))return false;}
return true;}
function isSignedInteger(s)
{if(isEmpty(s))
if(isSignedInteger.arguments.length==1)return defaultEmptyOK;else return(isSignedInteger.arguments[1]==true);else{var startPos=0;var secondArg=defaultEmptyOK;if(isSignedInteger.arguments.length>1)
secondArg=isSignedInteger.arguments[1];if((s.charAt(0)=="-")||(s.charAt(0)=="+"))
startPos=1;return(isInteger(s.substring(startPos,s.length),secondArg))}}
function isPositiveInteger(s)
{var secondArg=defaultEmptyOK;if(isPositiveInteger.arguments.length>1)
secondArg=isPositiveInteger.arguments[1];return(isSignedInteger(s,secondArg)&&((isEmpty(s)&&secondArg)||(parseInt(s)>0)));}
function isNonnegativeInteger(s)
{var secondArg=defaultEmptyOK;if(isNonnegativeInteger.arguments.length>1)
secondArg=isNonnegativeInteger.arguments[1];return(isSignedInteger(s,secondArg)&&((isEmpty(s)&&secondArg)||(parseInt(s)>=0)));}
function isNegativeInteger(s)
{var secondArg=defaultEmptyOK;if(isNegativeInteger.arguments.length>1)
secondArg=isNegativeInteger.arguments[1];return(isSignedInteger(s,secondArg)&&((isEmpty(s)&&secondArg)||(parseInt(s)<0)));}
function isNonpositiveInteger(s)
{var secondArg=defaultEmptyOK;if(isNonpositiveInteger.arguments.length>1)
secondArg=isNonpositiveInteger.arguments[1];return(isSignedInteger(s,secondArg)&&((isEmpty(s)&&secondArg)||(parseInt(s)<=0)));}
function isFloat(s)
{var i;var seenDecimalPoint=false;if(isEmpty(s))
if(isFloat.arguments.length==1)return defaultEmptyOK;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 isSignedFloat(s)
{if(isEmpty(s))
if(isSignedFloat.arguments.length==1)return defaultEmptyOK;else return(isSignedFloat.arguments[1]==true);else{var startPos=0;var secondArg=defaultEmptyOK;if(isSignedFloat.arguments.length>1)
secondArg=isSignedFloat.arguments[1];if((s.charAt(0)=="-")||(s.charAt(0)=="+"))
startPos=1;return(isFloat(s.substring(startPos,s.length),secondArg))}}
function isAlphabetic(s)
{var i;if(isEmpty(s))
if(isAlphabetic.arguments.length==1)return defaultEmptyOK;else return(isAlphabetic.arguments[1]==true);for(i=0;i<s.length;i++)
{var c=s.charAt(i);if(!isLetter(c))
return false;}
return true;}
function isAlphanumeric(s)
{var i;if(isEmpty(s))
if(isAlphanumeric.arguments.length==1)return defaultEmptyOK;else return(isAlphanumeric.arguments[1]==true);for(i=0;i<s.length;i++)
{var c=s.charAt(i);if(!(isLetter(c)||isDigit(c)))
return false;}
return true;}
function reformat(s)
{var arg;var sPos=0;var resultString="";for(var i=1;i<reformat.arguments.length;i++){arg=reformat.arguments[i];if(i%2==1)resultString+=arg;else{resultString+=s.substring(sPos,sPos+arg);sPos+=arg;}}
return resultString;}
function reformatZIPCode(ZIPString)
{if(ZIPString.length==5)return ZIPString;else return(reformat(ZIPString,"",5,"-",4));}
function reformatUSPhone(USPhone)
{return(reformat(USPhone,"(",3,") ",3,"-",4))}
function reformatSSN(SSN)
{return(reformat(SSN,"",3,"-",2,"-",4))}
function isLeapYear(argYear){return((argYear%4==0)&&(argYear%100!=0))||(argYear%400==0)}
function daysInMonth(argMonth,argYear){switch(Number(argMonth)){case 1:case 3:case 5:case 7:case 8:case 10:case 12:return 31;break;case 4:case 6:case 9:case 11:return 30;break;case 2:if(isLeapYear(argYear))
return 29
else
return 28
break;default:return 0;}}
function getDateSeparator(argDate){if((argDate.indexOf('-')>0)&&(argDate.indexOf('/')>0))
return' '
if(argDate.indexOf('-')>0)
return'-'
else
if(argDate.indexOf('/')>0)
return'/'
else
return' '}
function getYear(argDate){var dateSep=getDateSeparator(argDate)
if(dateSep==' ')
return 0
if(argDate.split(dateSep).length==3)
return argDate.split(dateSep)[2]
else
return 0}
function getMonth(argDate){var dateSep=getDateSeparator(argDate)
if(dateSep==' ')
return 0
if(argDate.split(dateSep).length==3)
return argDate.split(dateSep)[0]
else
return 0}
function getDay(argDate){var dateSep=getDateSeparator(argDate)
if(dateSep==' ')
return 0
if(argDate.split(dateSep).length==3)
return argDate.split(dateSep)[1]
else
return 0}
function isProperDay(argDay,argMonth,argYear){if((isWhiteSpace(argDay))||(argDay==0))
return false
if((argDay>0)&&(argDay<daysInMonth(argMonth,argYear)+1))
return true
else
return false}
function isProperMonth(argMonth){if((isWhiteSpace(argMonth))||(argMonth==0))
return false
if((argMonth>0)&&(argMonth<13))
return true
else
return false}
function isProperYear(argYear){if((isWhiteSpace(argYear))||(argYear.toString().length>4)||(argYear.toString().length==3))
return false
switch(argYear.toString().length){case 1:if(argYear>=0&&argYear<10)
return true
else
return false
case 2:if(argYear>=0&&argYear<100)
return true
else
return false
case 4:if(((argYear>=1900)||(argYear>=2000))&&((argYear<3000)||(argYear<2000)))
return true
else
return false
default:return false}}
function isProperDate(argDate){var tmpDay=getDay(argDate)
var tmpMon=getMonth(argDate)
var tmpYear=getYear(argDate)
return isProperDay(tmpDay,tmpMon,tmpYear)&&isProperMonth(tmpMon)&&isProperYear(tmpYear)}
function charOccurences(argString,argChar){var intCt=0
for(var intI=0;intI<argString.length;intI++)
if(argString.charAt(intI)==argChar)
intCt++
return intCt}
function isProperEmail(argEmail){if(charOccurences(argEmail,'@')+charOccurences(argEmail,'.')<2)
return false
var atPos=argEmail.indexOf('@')
var dotPos=argEmail.indexOf('.')
if((atPos==0)||(atPos==(argEmail.length-1)))
return false
if((dotPos==0)||(dotPos==(argEmail.length-1)))
return false
var checkTLD=1;var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;var emailPat=/^(.+)@(.+)$/;var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";var validChars="\[^\\s"+specialChars+"\]";var quotedUser="(\"[^\"]*\")";var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;var atom=validChars+'+';var word="("+atom+"|"+quotedUser+")";var userPat=new RegExp("^"+word+"(\\."+word+")*$");var domainPat=new RegExp("^"+atom+"(\\."+atom+")*$");var matchArray=argEmail.match(emailPat);if(matchArray==null)
{return false;}
var user=matchArray[1];var domain=matchArray[2];for(i=0;i<user.length;i++)
{if(user.charCodeAt(i)>127)
{return false;}}
for(i=0;i<domain.length;i++)
{if(domain.charCodeAt(i)>127)
{return false;}}
if(user.match(userPat)==null)
{return false;}
var IPArray=domain.match(ipDomainPat);if(IPArray!=null)
{for(var i=1;i<=4;i++)
{if(IPArray[i]>255)
{return false;}}
return true;}
var atomPat=new RegExp("^"+atom+"$");var domArr=domain.split(".");var len=domArr.length;for(i=0;i<len;i++)
{if(domArr[i].search(atomPat)==-1)
{return false;}}
if(checkTLD&&domArr[domArr.length-1].length!=2&&domArr[domArr.length-1].search(knownDomsPat)==-1)
{return false;}
if(len<2)
{return false;}
return true;}
function isProperNumber(argNumber){var numberValue=Number(argNumber)
if(isNaN(numberValue))
return false
else
return!isWhiteSpace(argNumber)}
function isProperAlphabetic(argString){var alphabets="abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ"
for(var intI=0;intI<argString.length;intI++)
if(alphabets.indexOf(argString.charAt(intI))==-1)
return false
return true}
function objectValue(argFrm,argElem){var intI
var objElem=null
for(intI=0;intI<argFrm.length;intI++)
if(argFrm[intI].name==argElem)
objElem=argFrm[intI]
switch(objElem.type){case'text':case'hidden':case'password':return objElem.value
break;case'select-one':if(objElem.length==0)
return''
else
return objElem.options[objElem.selectedIndex].value
break;case'radio':for(intI=0;intI<argFrm.length;intI++)
if(argFrm[intI].name==argElem)
if(argFrm[intI].checked)
return argFrm[intI].value
return''
break;}}
function objectFocus(argFrm,argElem){var intI
var objElem=null
for(intI=0;intI<argFrm.length;intI++)
if(argFrm[intI].name==argElem)
objElem=argFrm[intI]
objElem.focus();}
function isProperZip(argZip){if((argZip.length==5)||(argZip.length==9))
return isProperNumber(argZip)
if(argZip.length==10)
return(isProperNumber(argZip.substr(0,5))&&isProperNumber(argZip.substr(6,4))&(argZip.charAt(5)=='-'))}
function isProperUSPhone(argPhone)
{var argPhone2=stripCharsNotInBag(argPhone,"0123456789")
return(isOkBag(argPhone,"01234567890 -().")&&isInteger(argPhone2)&&argPhone2.length==digitsInUSPhoneNumber)}
function isProperUSSSN(argSSN){var argSSN2=stripCharsNotInBag(argSSN,"0123456789")
return(isOkBag(argSSN,"01234567890-")&&isInteger(argSSN2)&&argSSN2.length==11)}
function actionFields(argActions){this.email=(argActions.indexOf('[email]')>-1)
this.required=(argActions.indexOf('[req]')>-1)
this.checkDate=(argActions.indexOf('[date]')>-1)
this.checkZip=(argActions.indexOf('[zip]')>-1)
this.checkNumber=(argActions.indexOf('[number]')>-1)
this.checkAlphabetic=(argActions.indexOf('[alpha]')>-1)
this.checkUSPhone=(argActions.indexOf('[usphone]')>-1)
this.checkUSSSN=(argActions.indexOf('[usssn]')>-1)
if(argActions.indexOf('[len=')>-1){this.checkLength=true
var lenToCheck=''
var bolCont=true
for(var intI=(argActions.indexOf('[len=')+5);((intI<argActions.length)&&bolCont);intI++)
if(argActions.charAt(intI)!=']')
lenToCheck+=argActions.charAt(intI)
else
bolCont=false
this.lengthToCheck=lenToCheck}
else
this.checkLength=false
if(argActions.indexOf('[blankalert=')>-1){this.blankAlert=true
var alertString=''
var bolCont=true
for(var intI=(argActions.indexOf('[blankalert=')+12);((intI<argActions.length)&&bolCont);intI++)
if(argActions.charAt(intI)!=']')
alertString+=argActions.charAt(intI)
else
bolCont=false
this.blankAlertMessage=alertString}
else
this.blankAlert=false
if(argActions.indexOf('[invalidalert=')>-1){this.invalidAlert=true
var alertString=''
var bolCont=true
for(var intI=(argActions.indexOf('[invalidalert=')+14);((intI<argActions.length)&&bolCont);intI++)
if(argActions.charAt(intI)!=']')
alertString+=argActions.charAt(intI)
else
bolCont=false
this.invalidAlertMessage=alertString}
else
this.invalidAlert=false
if(argActions.indexOf('[equals=')>-1){this.shouldEqual=true
var equalsString=''
var bolCont=true
for(var intI=(argActions.indexOf('[equals=')+8);((intI<argActions.length)&&bolCont);intI++)
if(argActions.charAt(intI)!=']')
equalsString+=argActions.charAt(intI)
else
bolCont=false
this.shouldEqualString=equalsString}
else
this.shouldEqual=false}
function validateForm(argForm)
{var frmElements=argForm.elements
var elemName
var elemObj
submitonce(argForm);for(var intI=0;intI<frmElements.length;intI++){elemObj=frmElements[intI]
elemName=elemObj.name
if((elemObj.type=='hidden')&&(elemName.length>5))
if(elemName.substr(elemName.length-5).toLowerCase()=='_vldt'){var objAction=new actionFields(objectValue(frmElements,elemName))
var actElem=elemName.substr(0,elemName.length-5)
if(objAction.required){if(isWhiteSpace(objectValue(frmElements,actElem))){alert(objAction.blankAlert?objAction.blankAlertMessage:actElem+' cannot be left blank')
objectFocus(frmElements,actElem);submitenabled(argForm);return false}}
if((objectValue(frmElements,actElem)>'')&&(!isWhiteSpace(objectValue(frmElements,actElem)))){if(objAction.checkDate)
if(!isProperDate(objectValue(frmElements,actElem))){alert(objAction.invalidAlert?objAction.invalidAlertMessage:actElem+' cannot have an invalid date')
objectFocus(frmElements,actElem);submitenabled(argForm);return false}
if(objAction.checkNumber)
if(!isProperNumber(objectValue(frmElements,actElem))){alert(objAction.invalidAlert?objAction.invalidAlertMessage:actElem+' cannot have an invalid number')
objectFocus(frmElements,actElem);submitenabled(argForm);return false}
if(objAction.checkZip)
if(!isProperZip(objectValue(frmElements,actElem))){alert(objAction.invalidAlert?objAction.invalidAlertMessage:actElem+' cannot have an invalid zipcode')
objectFocus(frmElements,actElem);submitenabled(argForm);return false}
if(objAction.checkAlphabetic)
if(!isProperAlphabetic(objectValue(frmElements,actElem))){alert(objAction.invalidAlert?objAction.invalidAlertMessage:actElem+' cannot have invalid characters')
objectFocus(frmElements,actElem);submitenabled(argForm);return false}
if(objAction.checkUSPhone)
if(!isProperUSPhone(objectValue(frmElements,actElem))){alert(objAction.invalidAlert?objAction.invalidAlertMessage:actElem+' cannot have invalid characters')
objectFocus(frmElements,actElem);submitenabled(argForm);return false}
if(objAction.checkUSSSN)
if(!isProperUSSSN(objectValue(frmElements,actElem))){alert(objAction.invalidAlert?objAction.invalidAlertMessage:actElem+' cannot have invalid characters')
objectFocus(frmElements,actElem);submitenabled(argForm);return false}
if(objAction.email)
if(!isProperEmail(objectValue(frmElements,actElem))){alert(objAction.invalidAlert?objAction.invalidAlertMessage:actElem+' cannot have invalid characters')
objectFocus(frmElements,actElem);submitenabled(argForm);return false}
if(objAction.checkLength)
if(objectValue(frmElements,actElem).length<objAction.lengthToCheck){alert(objAction.invalidAlert?objAction.invalidAlertMessage:actElem+' must be at least '+objAction.lengthToCheck+' characters long')
objectFocus(frmElements,actElem);submitenabled(argForm);return false}}}}
return true}
function submitenabled(theform)
{if(document.all||document.getElementById)
{for(i=0;i<theform.length;i++)
{var tempobj=theform.elements[i];if(tempobj.type.toLowerCase()=="submit"||tempobj.type.toLowerCase()=="reset")
tempobj.disabled=false;}}}
function submitonce(theform)
{if(document.all||document.getElementById)
{for(i=0;i<theform.length;i++)
{var tempobj=theform.elements[i];if(tempobj.type.toLowerCase()=="submit"||tempobj.type.toLowerCase()=="reset")
tempobj.disabled=true;}}}
function observeWindowLoad(handler){if(window.addEventListener){window.addEventListener('load',handler,false);}
else if(document.addEventListener){document.addEventListener('load',handler,false);}
else if(window.attachEvent){window.attachEvent('onload',handler);}
else{if(typeof window.onload=='function'){var oldload=window.onload;window.onload=function(){oldload();handler();}}
else{window.onload=init;}}}
