var digits="0123456789",lowercaseLetters="abcdefghijklmnopqrstuvwxyz",uppercaseLetters="ABCDEFGHIJKLMNOPQRSTUVWXYZ",whitespace=" \t\n\r",decimalPointDelimiter=".",phoneNumberDelimiters="()- ",validUSPhoneChars=digits+phoneNumberDelimiters,validWorldPhoneChars=digits+phoneNumberDelimiters+"+",SSNDelimiters="- ",validSSNChars=digits+SSNDelimiters,digitsInSocialSecurityNumber=9,digitsInUSPhoneNumber=10,ZIPCodeDelimiters="-",ZIPCodeDelimeter="-",validZIPCodeChars=digits+ZIPCodeDelimiters,digitsInZIPCode1=5,digitsInZIPCode2=9,creditCardDelimiters=" ",mPrefix="You did not enter a value into the ",mSuffix=" field. This is a required field. Please enter it now.",sUSLastName="Last Name",sUSFirstName="First Name",sWorldLastName="Family Name",sWorldFirstName="Given Name",sTitle="Title",sCompanyName="Company Name",sUSAddress="Street Address",sWorldAddress="Address",sCity="City",sStateCode="State Code",sWorldState="State, Province, or Prefecture",sCountry="Country",sZIPCode="ZIP Code",sWorldPostalCode="Postal Code",sPhone="Phone Number",sFax="Fax Number",sDateOfBirth="Date of Birth",sExpirationDate="Expiration Date",sEmail="Email",sSSN="Social Security Number",sCreditCardNumber="Credit Card Number",sOtherInfo="Other Information",iStateCode="This field must be a valid two character U.S. state abbreviation (like CA for California).",iZIPCode="This field must be a 5 or 9 digit U.S. ZIP Code (like 94043).",iUSPhone="Please enter a 10 digit phone number (e.g. 415 555 1212).",iWorldPhone="This field must be a valid international phone number.",iSSN="This field must be a 9 digit U.S. social security number (like 123 45 6789).",iEmail="This field must be a valid email address (like name@company.com).",iCreditCardPrefix="This is not a valid ",iCreditCardSuffix=" credit card number. (Click the link on this form to see a list of sample numbers.)",iDay="This field must be a day number between 1 and 31.",iMonth="This field must be a month number between 1 and 12.",iYear="This field must be a 2 or 4 digit year number.",iDatePrefix="The Day, Month, and Year for ",iDateSuffix=" do not form a valid date.",pEntryPrompt="Please enter a ",pStateCode="2 character code (like CA).",pZIPCode="5 or 9 digit U.S. ZIP Code (like 94043).",pUSPhone="10 digit U.S. phone number (like 415 555 1212).",pWorldPhone="international phone number.",pSSN="9 digit U.S. social security number (like 123 45 6789).",pEmail="valid email address (like name@company.com).",pCreditCard="valid credit card number.",pDay="day number between 1 and 31.",pMonth="month number between 1 and 12.",pYear="2 or 4 digit year number.",defaultEmptyOK=false,USStateCodeDelimiter="|",USStateCodes="AL|AK|AS|AZ|AR|CA|CO|CT|DE|DC|FM|FL|GA|GU|HI|ID|IL|IN|IA|KS|KY|LA|ME|MH|MD|MA|MI|MN|MS|MO|MT|NE|NV|NH|NJ|NM|NY|NC|ND|MP|OH|OK|OR|PW|PA|PR|RI|SC|SD|TN|TX|UT|VT|VI|VA|WA|WV|WI|WY|AE|AA|AE|AE|AP",daysInMonth=makeArray(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;
function makeArray(B){for(var A=1;
A<=B;
A++){this[A]=0
}return this
}function isEmpty(A){return((A==null)||(A.length==0))
}function isWhitespace(B){var A;
if(isEmpty(B)){return true
}for(A=0;
A<B.length;
A++){var C=B.charAt(A);
if(whitespace.indexOf(C)==-1){return false
}}return true
}function stripCharsInBag(C,D){var B,A="";
for(B=0;
B<C.length;
B++){var E=C.charAt(B);
if(D.indexOf(E)==-1){A+=E
}}return A
}function stripCharsNotInBag(C,D){var B,A="";
for(B=0;
B<C.length;
B++){var E=C.charAt(B);
if(D.indexOf(E)!=-1){A+=E
}}return A
}function stripWhitespace(A){return stripCharsInBag(A,whitespace)
}function charInString(C,B){for(var A=0;
A<B.length;
A++){if(B.charAt(A)==C){return true
}}return false
}function stripInitialWhitespace(B){var A=0;
while((A<B.length)&&charInString(B.charAt(A),whitespace)){A++
}return B.substring(A,B.length)
}function isLetter(A){return(((A>="a")&&(A<="z"))||((A>="A")&&(A<="Z")))
}function isDigit(A){return((A>="0")&&(A<="9"))
}function isLetterOrDigit(A){return(isLetter(A)||isDigit(A))
}function isInteger(B){var A;
if(isEmpty(B)){if(isInteger.arguments.length==1){return defaultEmptyOK
}else{return(isInteger.arguments[1]==true)
}}for(A=0;
A<B.length;
A++){var C=B.charAt(A);
if(!isDigit(C)){return false
}}return true
}function isSignedInteger(C){if(isEmpty(C)){if(isSignedInteger.arguments.length==1){return defaultEmptyOK
}else{return(isSignedInteger.arguments[1]==true)
}}else{var B=0,A=defaultEmptyOK;
if(isSignedInteger.arguments.length>1){A=isSignedInteger.arguments[1]
}if((C.charAt(0)=="-")||(C.charAt(0)=="+")){B=1
}return(isInteger(C.substring(B,C.length),A))
}}function isPositiveInteger(B){var A=defaultEmptyOK;
if(isPositiveInteger.arguments.length>1){A=isPositiveInteger.arguments[1]
}return(isSignedInteger(B,A)&&((isEmpty(B)&&A)||(parseInt(B)>0)))
}function isNonnegativeInteger(B){var A=defaultEmptyOK;
if(isNonnegativeInteger.arguments.length>1){A=isNonnegativeInteger.arguments[1]
}return(isSignedInteger(B,A)&&((isEmpty(B)&&A)||(parseInt(B)>=0)))
}function isNumHigh(B){var A=defaultEmptyOK;
if(isNumHigh.arguments.length<5){A=isNumHigh.arguments[1]
}return(isSignedInteger(B,A)&&((isEmpty(B)&&A)||(parseInt(B)>=0)))
}function isBetween(B){var A=defaultEmptyOK;
if(isBetween.arguments.length=1){A=isBetween.arguments[1]
}return(isPositiveInteger(B,A)&&((isEmpty(B)&&A)||(parseInt(B)<6)))
}function isNegativeInteger(B){var A=defaultEmptyOK;
if(isNegativeInteger.arguments.length>1){A=isNegativeInteger.arguments[1]
}return(isSignedInteger(B,A)&&((isEmpty(B)&&A)||(parseInt(B)<0)))
}function isNonpositiveInteger(B){var A=defaultEmptyOK;
if(isNonpositiveInteger.arguments.length>1){A=isNonpositiveInteger.arguments[1]
}return(isSignedInteger(B,A)&&((isEmpty(B)&&A)||(parseInt(B)<=0)))
}function isFloat(C){var B,A=false;
if(isEmpty(C)){if(isFloat.arguments.length==1){return defaultEmptyOK
}else{return(isFloat.arguments[1]==true)
}}if(C==decimalPointDelimiter){return false
}for(B=0;
B<C.length;
B++){var D=C.charAt(B);
if((D==decimalPointDelimiter)&&!A){A=true
}else{if(!isDigit(D)){return false
}}}return true
}function isSignedFloat(C){if(isEmpty(C)){if(isSignedFloat.arguments.length==1){return defaultEmptyOK
}else{return(isSignedFloat.arguments[1]==true)
}}else{var B=0,A=defaultEmptyOK;
if(isSignedFloat.arguments.length>1){A=isSignedFloat.arguments[1]
}if((C.charAt(0)=="-")||(C.charAt(0)=="+")){B=1
}return(isFloat(C.substring(B,C.length),A))
}}function isAlphabetic(B){var A;
if(isEmpty(B)){if(isAlphabetic.arguments.length==1){return defaultEmptyOK
}else{return(isAlphabetic.arguments[1]==true)
}}for(A=0;
A<B.length;
A++){var C=B.charAt(A);
if(!isLetter(C)){return false
}}return true
}function isAlphanumeric(B){var A;
if(isEmpty(B)){if(isAlphanumeric.arguments.length==1){return defaultEmptyOK
}else{return(isAlphanumeric.arguments[1]==true)
}}for(A=0;
A<B.length;
A++){var C=B.charAt(A);
if(!(isLetter(C)||isDigit(C))){return false
}}return true
}function reformat(D){var A,B=0,E="",C;
for(C=1;
C<reformat.arguments.length;
C++){A=reformat.arguments[C];
if(C%2==1){E+=A
}else{E+=D.substring(B,B+A);
B+=A
}}return E
}function isSSN(A){if(isEmpty(A)){if(isSSN.arguments.length==1){return defaultEmptyOK
}else{return(isSSN.arguments[1]==true)
}}return(isInteger(A)&&A.length==digitsInSocialSecurityNumber)
}function isUSPhoneNumber(A){if(isEmpty(A)){if(isUSPhoneNumber.arguments.length==1){return defaultEmptyOK
}else{return(isUSPhoneNumber.arguments[1]==true)
}}return(isInteger(A)&&A.length==digitsInUSPhoneNumber)
}function isInternationalPhoneNumber(A){if(isEmpty(A)){if(isInternationalPhoneNumber.arguments.length==1){return defaultEmptyOK
}else{return(isInternationalPhoneNumber.arguments[1]==true)
}}return(isPositiveInteger(A))
}function isZIPCode(A){if(isEmpty(A)){if(isZIPCode.arguments.length==1){return defaultEmptyOK
}else{return(isZIPCode.arguments[1]==true)
}}return(isInteger(A)&&((A.length==digitsInZIPCode1)||(A.length==digitsInZIPCode2)))
}function isStateCode(A){if(isEmpty(A)){if(isStateCode.arguments.length==1){return defaultEmptyOK
}else{return(isStateCode.arguments[1]==true)
}}return((USStateCodes.indexOf(A)!=-1)&&(A.indexOf(USStateCodeDelimiter)==-1))
}function isEmail(B){if(isEmpty(B)){if(isEmail.arguments.length==1){return defaultEmptyOK
}else{return(isEmail.arguments[1]==true)
}}if(isWhitespace(B)){return false
}var A=1,C=B.length;
while((A<C)&&(B.charAt(A)!="@")){A++
}if((A>=C)||(B.charAt(A)!="@")){return false
}else{A+=2
}while((A<C)&&(B.charAt(A)!=".")){A++
}if((A>=C-1)||(B.charAt(A)!=".")){return false
}else{return true
}}function isYear(A){if(isEmpty(A)){if(isYear.arguments.length==1){return defaultEmptyOK
}else{return(isYear.arguments[1]==true)
}}if(!isNonnegativeInteger(A)){return false
}return((A.length==2)||(A.length==4))
}function isIntegerInRange(D,B,A){if(isEmpty(D)){if(isIntegerInRange.arguments.length==1){return defaultEmptyOK
}else{return(isIntegerInRange.arguments[1]==true)
}}if(!isInteger(D,false)){return false
}var C=parseInt(D);
return((C>=B)&&(C<=A))
}function isMonth(A){if(isEmpty(A)){if(isMonth.arguments.length==1){return defaultEmptyOK
}else{return(isMonth.arguments[1]==true)
}}return isIntegerInRange(A,1,12)
}function isDay(A){if(isEmpty(A)){if(isDay.arguments.length==1){return defaultEmptyOK
}else{return(isDay.arguments[1]==true)
}}return isIntegerInRange(A,1,31)
}function daysInFebruary(A){return(((A%4==0)&&((!(A%100==0))||(A%400==0)))?29:28)
}function isDate(B,E,A){if(!(isYear(B,false)&&isMonth(E,false)&&isDay(A,false))){return false
}var C=parseInt(B),D=parseInt(E),F=parseInt(A);
if(F>daysInMonth[D]){return false
}if((D==2)&&(F>daysInFebruary(C))){return false
}return true
}function prompt(A){window.status=A
}function promptEntry(A){window.status=pEntryPrompt+A
}function warnEmpty(A,B){A.focus();
alert(mPrefix+B+mSuffix);
return false
}function warnInvalid(A,B){A.focus();
A.select();
alert(B);
return false
}function checkString(A,C,B){if(checkString.arguments.length==2){B=defaultEmptyOK
}if((B==true)&&(isEmpty(A.value))){return true
}if(isWhitespace(A.value)){return warnEmpty(A,C)
}else{return true
}}function checkStateCode(A,B){if(checkStateCode.arguments.length==1){B=defaultEmptyOK
}if((B==true)&&(isEmpty(A.value))){return true
}else{A.value=A.value.toUpperCase();
if(!isStateCode(A.value,false)){return warnInvalid(A,iStateCode)
}else{return true
}}}function reformatZIPCode(A){if(A.length==5){return A
}else{return(reformat(A,"",5,"-",4))
}}function checkZIPCode(A,B){if(checkZIPCode.arguments.length==1){B=defaultEmptyOK
}if((B==true)&&(isEmpty(A.value))){return true
}else{var C=stripCharsInBag(A.value,ZIPCodeDelimiters);
if(!isZIPCode(C,false)){return warnInvalid(A,iZIPCode)
}else{A.value=reformatZIPCode(C);
return true
}}}function checkNumVal(A,B){if(checkNumVal.arguments.length==1){B=defaultEmptyOK
}if((B==true)&&(isEmpty(A.value))){return true
}else{if(!isBetween(A.value,false)){return warnInvalid(A,"Please enter a number in the "+A.name+" field that is between 1 and 5.")
}else{return true
}}}function checkFloat(A,B){if(checkFloat.arguments.length==1){B=defaultEmptyOK
}if((B==true)&&(isEmpty(A.value))){return true
}else{if(!isFloat(A.value,false)){return warnInvalid(A,"Please enter a number")
}else{return true
}}}function checkDateHelp(A,C){if(checkDateHelp.arguments.length==1){C=defaultEmptyOK
}if((C==true)&&(isEmpty(A.value))){return true
}else{if(A.value.length<11){var E,D="",F="",B="",G="";
for(E=0;
E<A.value.length;
E++){if(A.value.charAt(E)=="/"){if(F==""){F=D;
D=""
}else{B=D;
D=""
}}else{D=D+A.value.charAt(E)
}}G=D;
if(isDate(G,F,B)){return true
}else{return warnInvalid(A,"Please enter a date in the mm/dd/yy format for the "+A.name+" field.")
}}else{return warnInvalid(A,"Please enter a date in the mm/dd/yy format for the "+A.name+" field.")
}}}function reformatUSPhone(A){return(reformat(A,3,3,4))
}function reformatUSPhoneoldold(A){return(reformat(A,"(",3,") ",3,"-",4))
}function checkUSPhone(A,C){if(checkUSPhone.arguments.length==1){C=defaultEmptyOK
}if((C==true)&&(isEmpty(A.value))){return true
}else{var B=stripCharsInBag(A.value,phoneNumberDelimiters);
if(!isUSPhoneNumber(B,false)){return warnInvalid(A,iUSPhone)
}else{A.value=reformatUSPhone(B);
return true
}}}function checkInternationalPhone(A,B){if(checkInternationalPhone.arguments.length==1){B=defaultEmptyOK
}if((B==true)&&(isEmpty(A.value))){return true
}else{if(!isInternationalPhoneNumber(A.value,false)){return warnInvalid(A,iWorldPhone)
}else{return true
}}}function checkEmail(A,B){if(checkEmail.arguments.length==1){B=defaultEmptyOK
}if((B==true)&&(isEmpty(A.value))){return true
}else{if(!isEmail(A.value,false)){return warnInvalid(A,iEmail)
}else{return true
}}}function reformatSSN(A){return(reformat(A,"",3,"-",2,"-",4))
}function checkSSN(A,B){if(checkSSN.arguments.length==1){B=defaultEmptyOK
}if((B==true)&&(isEmpty(A.value))){return true
}else{var C=stripCharsInBag(A.value,SSNDelimiters);
if(!isSSN(C,false)){return warnInvalid(A,iSSN)
}else{A.value=reformatSSN(C);
return true
}}}function checkYear(A,B){if(checkYear.arguments.length==1){B=defaultEmptyOK
}if((B==true)&&(isEmpty(A.value))){return true
}if(!isYear(A.value,false)){return warnInvalid(A,iYear)
}else{return true
}}function checkMonth(A,B){if(checkMonth.arguments.length==1){B=defaultEmptyOK
}if((B==true)&&(isEmpty(A.value))){return true
}if(!isMonth(A.value,false)){return warnInvalid(A,iMonth)
}else{return true
}}function checkDay(A,B){if(checkDay.arguments.length==1){B=defaultEmptyOK
}if((B==true)&&(isEmpty(A.value))){return true
}if(!isDay(A.value,false)){return warnInvalid(A,iDay)
}else{return true
}}function checkDate(A,C,E,B,D){if(checkDate.arguments.length==4){D=false
}if(!isYear(A.value)){return warnInvalid(A,iYear)
}if(!isMonth(C.value)){return warnInvalid(C,iMonth)
}if((D==true)&&isEmpty(E.value)){return true
}else{if(!isDay(E.value)){return warnInvalid(E,iDay)
}}if(isDate(A.value,C.value,E.value)){return true
}alert(iDatePrefix+B+iDateSuffix);
return false
}function getRadioButtonValue(A){for(var B=0;
B<A.length;
B++){if(A[B].checked){break
}}return A[B].value
}function checkCreditCard(D,B){var A=getRadioButtonValue(D),C=stripCharsInBag(B.value,creditCardDelimiters);
if(!isCardMatch(A,C)){return warnInvalid(B,iCreditCardPrefix+A+iCreditCardSuffix)
}else{B.value=C;
return true
}}function isCreditCard(B){if(B.length>19){return(false)
}var D=0,E=1,A=B.length,C;
for(C=0;
C<A;
C++){digit=B.substring(A-C-1,A-C);
tproduct=parseInt(digit,10)*E;
if(tproduct>=10){D+=(tproduct%10)+1
}else{D+=tproduct
}if(E==1){E++
}else{E--
}}if((D%10)==0){return(true)
}else{return(false)
}}function isVisa(A){if(((A.length==16)||(A.length==13))&&(A.substring(0,1)==4)){return isCreditCard(A)
}return false
}function isMasterCard(A){firstdig=A.substring(0,1);
seconddig=A.substring(1,2);
if((A.length==16)&&(firstdig==5)&&((seconddig>=1)&&(seconddig<=5))){return isCreditCard(A)
}return false
}function isAmericanExpress(A){firstdig=A.substring(0,1);
seconddig=A.substring(1,2);
if((A.length==15)&&(firstdig==3)&&((seconddig==4)||(seconddig==7))){return isCreditCard(A)
}return false
}function isDinersClub(A){firstdig=A.substring(0,1);
seconddig=A.substring(1,2);
if((A.length==14)&&(firstdig==3)&&((seconddig==0)||(seconddig==6)||(seconddig==8))){return isCreditCard(A)
}return false
}function isCarteBlanche(A){return isDinersClub(A)
}function isDiscover(A){first4digs=A.substring(0,4);
if((A.length==16)&&(first4digs=="6011")){return isCreditCard(A)
}return false
}function isEnRoute(A){first4digs=A.substring(0,4);
if((A.length==15)&&((first4digs=="2014")||(first4digs=="2149"))){return isCreditCard(A)
}return false
}function isJCB(A){first4digs=A.substring(0,4);
if((A.length==16)&&((first4digs=="3088")||(first4digs=="3096")||(first4digs=="3112")||(first4digs=="3158")||(first4digs=="3337")||(first4digs=="3528"))){return isCreditCard(A)
}return false
}function isAnyCard(A){if(!isCreditCard(A)){return false
}if(!isMasterCard(A)&&!isVisa(A)&&!isAmericanExpress(A)&&!isDinersClub(A)&&!isDiscover(A)&&!isEnRoute(A)&&!isJCB(A)){return false
}return true
}function isCardMatch(A,C){A=A.toUpperCase();
var B=true;
if((A=="VISA")&&(!isVisa(C))){B=false
}if((A=="MASTERCARD")&&(!isMasterCard(C))){B=false
}if(((A=="AMERICANEXPRESS")||(A=="AMEX"))&&(!isAmericanExpress(C))){B=false
}if((A=="DISCOVER")&&(!isDiscover(C))){B=false
}if((A=="JCB")&&(!isJCB(C))){B=false
}if((A=="DINERS")&&(!isDinersClub(C))){B=false
}if((A=="CARTEBLANCHE")&&(!isCarteBlanche(C))){B=false
}if((A=="ENROUTE")&&(!isEnRoute(C))){B=false
}return B
}function IsCC(A){return isCreditCard(A)
}function IsVisa(A){return isVisa(A)
}function IsVISA(A){return isVisa(A)
}function IsMasterCard(A){return isMasterCard(A)
}function IsMastercard(A){return isMasterCard(A)
}function IsMC(A){return isMasterCard(A)
}function IsAmericanExpress(A){return isAmericanExpress(A)
}function IsAmEx(A){return isAmericanExpress(A)
}function IsDinersClub(A){return isDinersClub(A)
}function IsDC(A){return isDinersClub(A)
}function IsDiners(A){return isDinersClub(A)
}function IsCarteBlanche(A){return isCarteBlanche(A)
}function IsCB(A){return isCarteBlanche(A)
}function IsDiscover(A){return isDiscover(A)
}function IsEnRoute(A){return isEnRoute(A)
}function IsenRoute(A){return isEnRoute(A)
}function IsJCB(A){return isJCB(A)
}function IsAnyCard(A){return isAnyCard(A)
}function IsCardMatch(A,B){return isCardMatch(A,B)
};