var WSPACE=' \t\n\r';var MDAYS=new Object();MDAYS[1]=31;MDAYS[2]=29;MDAYS[3]=31;MDAYS[4]=30;MDAYS[5]=31;MDAYS[6]=30;MDAYS[7]=31;MDAYS[8]=31;MDAYS[9]=30;MDAYS[10]=31;MDAYS[11]=30;MDAYS[12]=31;var MNAMES=new Object();MNAMES[1]='JANUARY';MNAMES[2]='FEBRUARY';MNAMES[3]='MARCH';MNAMES[4]='APRIL';MNAMES[5]='MAY';MNAMES[6]='JUNE';MNAMES[7]='JULY';MNAMES[8]='AUGUST';MNAMES[9]='SEPTEMBER';MNAMES[10]='OCTOBER';MNAMES[11]='NOVEMBER';MNAMES[12]='DECEMBER';var MSNAMES=new Object();MSNAMES[1]='JAN';MSNAMES[2]='FEB';MSNAMES[3]='MAR';MSNAMES[4]='APR';MSNAMES[5]='MAY';MSNAMES[6]='JUN';MSNAMES[7]='JUL';MSNAMES[8]='AUG';MSNAMES[9]='SEP';MSNAMES[10]='OCT';MSNAMES[11]='NOV';MSNAMES[12]='DEC';function doFAR(o,s,b){if ((s==null)||!s.length) s='Entry is invalid';if (b==null) b=false;if (s!='*') alert(s);if (b){if (o.defaultValue) o.value=o.defaultValue;else o.value='';}o.focus();return true;}function validateCreditCard(o,s,bR,bE){var f=o.value;if (bE==null) bE=false;if (bE&&isEmpty(f)) return true;f=stripWhitespace(f);if (!isAnyCard(f)){doFAR(o,s,bR);return false;}return true;}function validateDate(o,s,d1,d2,bR,bE,bY){var f=o.value;if (bE==null) bE=false;if (bE&&isEmpty(f)) return true;if (!isDateString(f,bY)){doFAR(o,s,bR);return false;}if ((d1==null)&&(d2==null)) return true;f=parseDate(f,bY);if ((d1!=null)&&isDateString(d1,bY)) d1=parseDate(d1,bY);if ((d2!=null)&&isDateString(d2,bY)) d2=parseDate(d2,bY);if ((!isWhitespace(d1)&&(f.getTime()d2.getTime()))){doFAR(o,s,bR);return false;}return true;}function validateEmail(o,s,bR,bE){var f=o.value;if (bE==null) bE=false;if (bE&&isEmpty(f)) return true;if (!isEmail(f)){doFAR(o,s,bR);return false;}return true;}function validateEntry(o,s,n1,n2,bR,bE){var f=o.value, fLen=f.length;if (bE==null) bE=false;if (bE&&isEmpty(f)) return true;if (isWhitespace(f)||(isPosInt(n1)&&(fLenn2))){doFAR(o,s,bR);return false;}return true;}function validateInteger(o,s,n1,n2,bR,bE){var f=o.value;if (bE==null) bE=false;if (bE&&isEmpty(f)) return true;if (!isSignedInt(f)||(isSignedInt(n1)&&((f-0)<(n1-0)))||(isSignedInt(n2)&&((f-0)>(n2-0)))){doFAR(o,s,bR);return false;}return true;}function validateNumber(o,s,n1,n2,bR,bE){var f=o.value;if (bE==null) bE=false;if (bE&&isEmpty(f)) return true;if (!isSignedFloat(f)||(isSignedFloat(n1)&&((f-0)<(n1-0)))||(isSignedFloat(n2)&&((f-0)>(n2-0)))){doFAR(o,s,bR);return false;}return true;}function validateNumberGT(o,s,n,bR,bE){var f=o.value;if (bE==null) bE=false;if (bE&&isEmpty(f)) return true;if (!isSignedFloat(f)||(n==null)||((f-0)<=(n-0))){doFAR(o,s,bR);return false;}return true;}function validateTime(o,s,d1,d2,bR,bE){var f=o.value;if (bE==null) bE=false;if (bE&&isEmpty(f)) return true;if (!isTimeString(f)){doFAR(o,s,bR);return false;}if ((d1==null)&&(d2==null)) return true;var f=parseTime(f);if ((d1!=null)&&isTimeString(d1)) d1=parseTime(d1);if ((d2!=null)&&isTimeString(d2)) d2=parseTime(d2);if ((!isWhitespace(d1)&&(f.getTime()d2.getTime()))){doFAR(o,s,bR);return false;}return true;}function validateZIPCode(o,s,bR,bE){var f=o.value;if (bE==null) bE=false;if (bE&&isEmpty(f)) return true;if (!isZIPCode(f)){doFAR(o,s,bR);return false;}return true;}function validateLength(o,n,s){var f=o.value;if (s==null||s=='') s='Entry has exceeded the '+n+' character limit!';if (f.length>n){if (s!='*') alert(s);o.value=f.substring(0,n);o.focus();}}function createDate(nY,nM,nD){if (nD==null) nD=1;if (nM==null) nM=1;if (!isDate(nY,nM,nD)) return '';return new Date(nY-0,nM-1,nD-0,0,0,0);}function createDateTime(nY,nM,nD,nH,nN,nS){if (nS==null) nS=0;if (nN==null) nN=0;if (nH==null) nH=0;if (nD==null) nD=1;if (nM==null) nM=1;if (!isDate(nY,nM,nD)||!isTime(nH,nN,nS)) return '';return new Date(nY-0,nM-1,nD-0,nH-0,nN-0,nS-0);}function createTime(nH,nN,nS){if (nS==null) nS=0;if (nN==null) nN=0;if (!isTime(nH,nN,nS)) return '';var d=new Date();return new Date(getYear(d),d.getMonth(),d.getDate(),nH-0,nN-0,nS-0);}function dateAdd(s,n,d,b){if (isDateString(d,b)) d=parseDate(d,b);n=n-0;s=trim(s).toLowerCase();if (!isSignedInt(n)||(n>100000)||(n<-100000)) return '';if ((s=='d')||(s=='w')||(s=='y')) d=new Date(getYear(d,b),d.getMonth(),(d.getDate()+n),d.getHours(),d.getMinutes(),d.getSeconds());if (s=='h') d=new Date(getYear(d,b),d.getMonth(),d.getDate(),(d.getHours()+n),d.getMinutes(),d.getSeconds());if (s=='m') d=new Date(getYear(d,b),(d.getMonth()+n),d.getDate(),d.getHours(),d.getMinutes(),d.getSeconds());if (s=='n') d=new Date(getYear(d,b),d.getMonth(),d.getDate(),d.getHours(),(d.getMinutes()+n),d.getSeconds());if (s=='q'){var tD1=d.getDate(), tD2=d.getDate();if (tD2>28) tD2=1;d=new Date(getYear(d,b),(d.getMonth()+(n*3)),tD2,d.getHours(),d.getMinutes(),d.getSeconds());if (tD1!=tD2){(d.getMonth()==1)?tD2=daysInFebruary(getYear(d,b)):tD2=Math.min(tD1,MDAYS[d.getMonth()+1]);d=new Date(getYear(d,b),d.getMonth(),tD2,d.getHours(),d.getMinutes(),d.getSeconds());}}if (s=='s') d=new Date(getYear(d,b),d.getMonth(),d.getDate(),d.getHours(),d.getMinutes(),(d.getSeconds()+n));if (s=='ww') d=new Date(getYear(d,b),d.getMonth(),(d.getDate()+(7*n)),d.getHours(),d.getMinutes(),d.getSeconds());if (s=='yyyy') d=new Date((getYear(d,b)+n),d.getMonth(),d.getDate(),d.getHours(),d.getMinutes(),d.getSeconds());return d;}function dateCompare(d1,d2,s,b){if (isDateString(d1,b)) d1=parseDate(d1,b);if (isDateString(d2,b)) d2=parseDate(d2,b);if (s==null) s='s';d1=datePrecision(s,d1,b);d2=datePrecision(s,d2,b);if (d1.getTime()d2.getTime()) return 1;return 0;}function datePrecision(s,d,b){if (isDateString(d,b)) d=parseDate(d,b);s=trim(s).toLowerCase();if (s=='s') d=new Date(getYear(d,b),d.getMonth(),d.getDate(),d.getHours(),d.getMinutes(),d.getSeconds());if (s=='n') d=new Date(getYear(d,b),d.getMonth(),d.getDate(),d.getHours(),d.getMinutes(),0);if (s=='h') d=new Date(getYear(d,b),d.getMonth(),d.getDate(),d.getHours(),0,0);if (s=='d') d=new Date(getYear(d,b),d.getMonth(),d.getDate(),0,0,0);if (s=='m') d=new Date(getYear(d,b),d.getMonth(),1,0,0,0);if (s=='yyyy') d=new Date(getYear(d,b),0,1,0,0,0);return d;}function daysInFebruary(nY){return (((nY%4==0)&&((!(nY%100==0))||(nY%400==0)))?29:28);}function find(s1,s2,n){if ((s1==null)||(s2==null)) return 0;s1=s1.toString();s2=s2.toString();var s2Len=s2.length;if ((n==null)||(n<1)) n=0;else if (n>s2Len) n=s2Len-1;else --n;return s2.indexOf(s1,n)+1;}function findNoCase(s1,s2,n){return find(ToString(s1).toLowerCase(),ToString(s2).toLowerCase(),n);}function findOneOf(s1,s2,n){if ((s1==null)||(s2==null)) return 0;s1=s1.toString();s2=s2.toString();var s2Len=s2.length;if ((n==null)||(n<1)) n=0;else if (n>s2Len) n=s2Len-1;else --n;for (var i=n;isLen)||(n1<1)) return '';--n1;if (n2==null) n2=1;if (n2<1) return '';n2=n1+n2;return s.substring(n1,n2);}function monthEnd(){var d=new Date(), y=getYear(d), m=d.getMonth()+1, da=d.getDate();if (m==2) da=daysInFebruary(y);else da=MDAYS[m];return createDate(y,m,da);}function monthStart(){var d=new Date();return createDate(getYear(d),d.getMonth()+1,1);}function nextMonthEnd(){var d=nextMonthStart(), y=getYear(d), m=d.getMonth()+1, da=d.getDate();if (m==2) da=daysInFebruary(y);else da=MDAYS[m];return createDate(y,m,da);}function nextMonthStart(){return dateAdd('d',1,monthEnd());}function now(){var d=new Date();return createDateTime(getYear(d),d.getMonth()+1,d.getDate(),d.getHours(),d.getMinutes(),d.getSeconds());}function parseDate(s,b){if (s==null) return '';if (b==null) b=false;var sLen=s.toString().length;if (sLen<6) return '';var dCnt=0, D='', M='', Y='';if (isDashDate(s,b)){for (var i=0;i8)) return false;var dCnt=0, H='', N='', S='';for (var i=0;i2)||!isInt(S)||!isInt(N)||!H.length||!isInt(H)) return false;return isTime(H-0,N-0,S-0);}function isAMPMTime(s){var sLen=s.toString().length;if ((sLen<3)||(sLen>11)) return false;var ampm=right(s,2).toLowerCase();var time=rTrim(left(s,sLen-2));if ((ampm!='am')&&(ampm!='pm')) return false;var dCnt=0, H='', N='', S='';for (var i=0;i2)||!isInt(S)||!isInt(N)||!H.length||!isIntInRange(H-0,1,12)) return false;H=H-0;if ((ampm=='pm')&&(H<12)) H=H+12;if ((ampm=='am')&&(H==12)) H=0;return isTime(H,N-0,S-0);}function isAMEX(s){s=s.toString();var dig2=s.substring(1,2);if ((s.length==15)&&(s.substring(0,1)==3)&&((dig2==4)||(dig2==7))) return isCC(s);return false;}function isAnyCard(s){if (!isCC(s)) return false;if (!isMC(s)&&!isVISA(s)&&!isAMEX(s)&&!isDC(s)&&!isDISC(s)&&!isER(s)&&!isJCB(s)) return false;return true;}function isCB(s){return isDC(s);}function isCharInBag(c,bag){for (var i=0;i19) return false;var sum=0, mul=1, l=sLen, digit='', tproduct=0;for (var i=0;i=10) sum+=(tproduct%10)+1;else sum+=tproduct;if (mul==1) mul++;else mul--;}if ((sum%10)==0) return true;return false;}function isDashDate(s,b){var sLen=s.toString().length, dCnt=0, D='', M='', Y='';if (b==null) b=false;if (isWhitespace(s)||(sLen<6)||(sLen>10)) return false;for (var i=0;iMDAYS[nM]) return false;if ((nM==2)&&(nD>daysInFebruary(nY-0))) return false;return true;}function isDateString(s,b){return (isDashDate(s,b)||isSlashDate(s,b)||isShortDate(s,b)||isLongDate(s,b));}function isDay(s){return isIntInRange(s,1,31);}function isDigit(c){c=c.toString();return ((c>='0')&&(c<='9'));}function isDC(s){s=s.toString();var dig2=s.substring(1,2);if ((s.length==14)&&(s.substring(0,1)==3)&&((dig2==0)||(dig2==6)||(dig2==8))) return isCC(s);return false;}function isDISC(s){s=s.toString();if ((s.length==16)&&(s.substring(0,4)=='6011')) return isCC(s);return false;}function isEmail(s){var sLen=s.toString().length, bad='<>()[]\\,;:";'+WSPACE, dCnt=0, X='', Y='';if (sLen<6) return false;if ((stripCharsInBag(s,'@').length=0;i--){if (s.charAt(i)=='.') ++dCnt;else if (dCnt==0) X+=s.charAt(i);else if (dCnt==1) Y+=s.charAt(i);}return ((Y.length)&&(X.length>=2)&&((X.length<=3)||((X=='orea')||(X=='pooc')||(X=='ofni')||(X=='muesum')||(X=='eman'))));}function isEmpty(s){return ((s==null)||(s.toString().length==0));}function isER(s){s=s.toString();var dig4=s.substring(0,4);if ((s.length==15)&&((dig4=='2014')||(dig4=='2149'))) return isCC(s);return false;}function isFloat(s){if (isEmpty(s)) return false;s=s.toString();var dec=false;if (s=='.') return false;for (var i=0;i=(a-0))&&(s<=(b-0)));}function isHour(s){return isIntInRange(s,0,23);}function isInt(s){if (isEmpty(s)) return false;s=s.toString();for (var i=0;i=a)&&(s<=b));}function isJCB(s){s=s.toString();var dig4=s.substring(0,4);if ((s.length==16)&&((dig4=='3088')||(dig4=='3096')||(dig4=='3112')||(dig4=='3158')||(dig4=='3337')||(dig4=='3528'))) return isCC(s);return false;}function isLetter(c){c=c.toString();return (((c>='a')&&(c<='z'))||((c>='A')&&(c<='Z')));}function isLongDate(s,b){var sLen=s.toString().length, dCnt=0, D='', M='', Y='';if (b==null) b=false;if (isWhitespace(s)||(sLen<8)||(sLen>18)) return false;for (var i=0;i=1)&&(dig2<=5))) return isCC(s);return false;}function isMinute(s){return isIntInRange(s,0,59);}function isMonth(s){return isIntInRange(s,1,12);}function isNegInt(s){return (isSignedInt(s)&&(parseInt(s)<0));}function isNonNegInt(s){return (isSignedInt(s)&&(parseInt(s)>=0));}function isNonPosInt(s){return (isSignedInt(s)&&(parseInt(s)<=0));}function isPosInt(s){return (isSignedInt(s)&&(parseInt(s)>0));}function isSecond(s){return isIntInRange(s,0,59);}function isShortDate(s,b){var sLen=s.toString().length, dCnt=0, D='', M='', Y='';if (b==null) b=false;if (isWhitespace(s)||(sLen<8)||(sLen>17)) return false;for (var i=0;i10)) return false;for (var i=0;i