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;}}}