﻿var digits="0123456789";var lowercaseLetters="abcdefghijklmnopqrstuvwxyz"
var uppercaseLetters="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
var blanks=" \t\n\r";var decimalPointDelimiter="."
var phoneNumberDelimiters="()- ";var validUSPhoneChars=digits+phoneNumberDelimiters;var digitsInUSPhoneNumber=10;var digitsInSSN=8;var ZIPCodeDelimiters="-";var ZIPCodeDelimeter="-"
var validZipCodeChars=digits+ZIPCodeDelimiters
var digitsInZIPCode1=6
var digitsInZIPCode2=9
var USStateCodeDelimiter="|";var 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|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"
function isNumericKeyPress()
{return((event.keyCode>=48&&event.keyCode<=57));}
function isValidString(s,ValidChars)
{for(var i=0;i<s.length;i++)
{if(ValidChars.indexOf(s.substr(i,1))==-1)
return false;}
return true;}
function isEmpty(s)
{return((s==null)||(s.length==0));}
function isBlank(s)
{var i;if(isEmpty(s))
return true;for(i=0;i<s.length;i++)
{var c=s.charAt(i);if(blanks.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 stripBlanks(s)
{return stripCharsInBag(s,blanks)}
function stripLeadingBlanks(s)
{var i=0;while((i<s.length)&&(blanks.indexOf(s.charAt(i))!=-1))
i++;return s.substring(i,s.length);}
function stripTrailingBlanks(s)
{var i=s.length-1;while((i>=0)&&(blanks.indexOf(s.charAt(i))!=-1))
i--;return s.substring(0,i+1);}
function stripLeadingTrailingBlanks(s)
{s=stripLeadingBlanks(s);s=stripTrailingBlanks(s);return s;}
function isLetter(c)
{return(((c>="a")&&(c<="z"))||((c>="A")&&(c<="Z")));}
function isDigit(c)
{return((c>="0")&&(c<="9"));}
function isInteger(s)
{if((s.charAt(0)=="-")||(s.charAt(0)=="+"))
var i=1;else
var i=0;for(i;i<s.length;i++)
{var c=s.charAt(i);if(!isDigit(c))
return false;}
return true;}
function isNumeric(s)
{if(isBlank(s))
return false;for(var i=0;i<s.length;i++)
{var c=s.charAt(i);if(!isDigit(c))
return false;}
return true;}
function isNumericNegative(s)
{if(isBlank(s))
return false;if((s.charAt(0)=="-")||(s.charAt(0)=="+"))
var i=1;else
var i=0;for(i;i<s.length;i++)
{var c=s.charAt(i);if(!isDigit(c))
return false;}
return true;}
function isFloat(s)
{var j=0;if(s==decimalPointDelimiter)
return false;if((s.charAt(0)=="-")||(s.charAt(0)=="+"))
var i=1;else
var i=0;for(i;i<s.length;i++)
{var c=s.charAt(i);if(c==decimalPointDelimiter)
{j++;if(j>1)
return false;}
else if(!isDigit(c))
return false;}
return true;}
function isAlphabetic(s)
{var i;if(isBlank(s))
return false;for(i=0;i<s.length;i++)
{var c=s.charAt(i);if(!isLetter(c))
return false;}
return true;}
function isAlphanumeric(s,AllowSpace,AllowUnderscore)
{var i;for(i=0;i<s.length;i++)
{var c=s.charAt(i);if(!(isLetter(c)||isDigit(c))){switch(c){case"_":if(!AllowUnderscore){return false;}
break;case" ":if(!AllowSpace){return false;}
break;case"-":break;default:return false;}}}
return true;}
function isCompanyName(s,AllowSpace,AllowUnderscore,AllowDot)
{var i;for(i=0;i<s.length;i++)
{var c=s.charAt(i);if(!(isLetter(c)||isDigit(c))){switch(c){case"_":if(!AllowUnderscore){return false;}
break;case" ":if(!AllowSpace){return false;}
break;case".":if(!AllowDot){return false;}
break;default:return false;}}}
return true;}
function reformatString(targetString)
{var arg;var sPos=0;var resultString="";for(var i=1;i<reformatString.arguments.length;i++)
{arg=reformatString.arguments[i];if(i%2==1)
{resultString+=arg;}
else
{resultString+=targetString.substring(sPos,sPos+arg);sPos+=arg;}}
return resultString;}
function isUSPhoneNumber(s)
{var temp=stripCharsNotInBag(s,digits);return((temp.length==digitsInUSPhoneNumber)&&isValidString(s,validUSPhoneChars));}
function isSSN(s)
{var temp=stripCharsNotInBag(s,digits);return((temp.length==digitsInSSN)&&isValidString(s,validUSPhoneChars));}
function isZIPCode(s)
{s=stripLeadingTrailingBlanks(s);if(s.indexOf("-")!=5)
return false;s=stripCharsNotInBag(s,digits);if(s.length==digitsInZIPCode2)
return true;else
return false;}
function isStateCode(s)
{if(isBlank(s))
return false;return((USStateCodes.indexOf(s)!=-1)&&(s.indexOf(USStateCodeDelimiter)==-1))}
function isEmail(emailStr){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=emailStr.match(emailPat)
if('!%&\\(\\)<>@,;:\\\\\\\"\\.\\[\\]'.indexOf(emailStr.charAt(0))>=0)
{return false;}
if(matchArray==null){return false}
var user=matchArray[1]
var domain=matchArray[2]
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 domainArray=domain.match(domainPat)
if(domainArray==null){return false}
var atomPat=new RegExp(atom,"g")
var domArr=domain.match(atomPat)
var len=domArr.length
if(domArr[domArr.length-1].length<2||domArr[domArr.length-1].length>3){return false}
if(len<2){return false}
return true;}
function isIntegerInRange(s,a,b)
{if(isBlank(s))
return false;if(!isInteger(s))
return false;var num=parseInt(s);return((num>=a)&&(num<=b));}
function getCheckedRadioButton(radioSet)
{for(var i=0;i<radioSet.length;i++)
if(radioSet[i].checked)
return i;return-1;}
function getCheckedCheckboxes(checkboxSet)
{var arr=new Array();for(var i=0,j=0;i<checkboxSet.length;i++)
if(checkboxSet[i].checked)
arr[j++]=i;if(arr.length>0)
return arr;else
return-1;}
function getCheckedSelectOptions(select)
{var arr=new Array();for(var i=0,j=0;i<select.length;i++)
if(select.options[i].selected)
arr[j++]=i;if(arr.length>0)
return arr;else
return-1;}
function DateComp(sdt1,sdt2){if(isDate(sdt1)&&isDate(sdt2))
{}
else
{return false;}
var month1=sdt1.charAt(0)=="0"?parseInt(sdt1.substring(1,2)):parseInt(sdt1.substring(0,2));var day1=sdt1.charAt(3)=="0"?parseInt(sdt1.substring(4,5)):parseInt(sdt1.substring(3,5));var begin1=sdt1.charAt(6)=="0"?(sdt1.charAt(7)=="0"?(sdt1.charAt(8)=="0"?9:8):7):6;var year1=parseInt(sdt1.substring(begin1,10));var dt1=new Date(year1,month1,day1)
var month2=sdt2.charAt(0)=="0"?parseInt(sdt2.substring(1,2)):parseInt(sdt2.substring(0,2));var day2=sdt2.charAt(3)=="0"?parseInt(sdt2.substring(4,5)):parseInt(sdt2.substring(3,5));var begin2=sdt2.charAt(6)=="0"?(sdt2.charAt(7)=="0"?(sdt2.charAt(8)=="0"?9:8):7):6;var year2=parseInt(sdt2.substring(begin2,10));var dt2=new Date(year2,month2,day2)
if(year1>year2)
return true;else
{if(year1==year2)
{if(month1>month2)
{return true;}
else
{if(month1==month2)
{if(day1<day2)
{return false;}
else
{return true;}}
else
{return false;}}}
else
{return false;}}}
function isDate(str){if((str.length)>10){return false;}
var first,second;first=str.indexOf("/");second=str.indexOf("/",first+1);var month=(str.substring(0,first));var day=0;day=str.substring(first+1,second);var year=parseInt(str.substring(second+1));var dt=new Date();if(day==0){return false;}
if(month==0||month>12){return false;}
if(str.substring(second+1).length<4){return false;}
if(!(year>=dt.getFullYear())){return false;}
if(month==1||month==3||month==5||month==7||month==8||month==10||month==12){if(day>31)
{return false;}}else{if(month==4||month==6||month==9||month==11){if(day>30){return false;}}else{if(year%4!=0){if(day>28){return false;}}else{if(day>29){return false;}}}}
return true;}
function chkNumeric(iData)
{var checkStr=iData;var sNewStr='';var ch="";var i=0;var counter=0;for(i=0;;i++)
{ch=checkStr.charAt(i);if(ch=="0"||ch=="1"||ch=="2"||ch=="3"||ch=="4"||ch=="5"||ch=="6"||ch=="7"||ch=="8"||ch=="9"||ch==".")
{if(ch=='.')
{counter++;if(counter>1)
{return sNewStr;}}
sNewStr=sNewStr+ch;}
else
{return sNewStr;}
if(i==checkStr.length-1)break;}
return iData;}
function formatCurrency(num){num=num.toString().replace(/\$|\,/g,'');if(isNaN(num))
num="0";sign=(num==(num=Math.abs(num)));num=Math.floor(num*100+0.50000000001);cents=num%100;num=Math.floor(num/100).toString();if(cents<10)
cents="0"+cents;for(var i=0;i<Math.floor((num.length-(1+i))/3);i++)
num=num.substring(0,num.length-(4*i+3))+','+
num.substring(num.length-(4*i+3));return(((sign)?'':'-')+num+'.'+cents);}
function checkURLNew(sUrl)
{var url=false;var isNot="`!@$^*()[{]}\|;'',<> ";if(sUrl.length!=0)
{if(sUrl.indexOf('"')==-1)
{url=true;if(sUrl.length<=7)
{url=false;}
for(i=0;i!=sUrl.length;++i)
{if(isNot.indexOf(sUrl.substring(i,i+1))!=-1)
{url=false;}}
if(sUrl.indexOf('.com')!=-1)
{url=true;}
else
{if(sUrl.indexOf('.co')!=-1)
{url=true;}
else
{if(sUrl.indexOf('.net')!=-1)
{url=true;}
else
{if(sUrl.indexOf('.org')!=-1)
{url=true;}
else
{url=false;}}}}}}
else{url=true;}
if(url==false)
{return false;}
else
{return true;}}
function checkURL(sUrl)
{var url=false;var isNot="`!@$^*()[{]}\|;'',<> ";if(sUrl.length!=0)
{if(sUrl.indexOf('://')!=-1)
{if(sUrl.indexOf('"')==-1)
{url=true;if(sUrl.length<=7)
{url=false;}
for(i=0;i!=sUrl.length;++i)
{if(isNot.indexOf(sUrl.substring(i,i+1))!=-1)
{url=false;}}}}}
if(url==false)
{return false;}}
function isValidFile(file)
{var extArray=new Array(".gif",".jpg",".png",".jpeg",".bmp");var allowSubmit=false;var ext
while(file.indexOf("\\")!=-1)
{file=file.slice(file.indexOf("\\")+1);}
ext=file.slice(file.indexOf(".")).toLowerCase();for(var i=0;i<extArray.length;i++)
{if(extArray[i]==ext)
{allowSubmit=true;break;}}
if(allowSubmit)
{return true;}
else
{return false;}}
function trimme(strName)
{var strTemp="";strTemp=strName;var i=0;if(strName.indexOf(" ")==0)
{for(i=0;i<=strTemp.length;i++)
{if(strName.indexOf(" ")==0)
{strName=strName.substr(1);}
else
break;}}
if(strName=="")
return false;else
return true;}
function clearText(str)
{var temp;var i;for(i=0;i<=str.length-1;i++)
{temp=str.indexOf('\"')
temp=str.replace('\"'," ");str=temp;temp=str.indexOf("'","`")
temp=str.replace("'","`");str=temp;}
return str;}
function isCurrency(num){var pos;var count;if(!isFloat(num))
return false;else{for(i=0;i<=num.length-1;i++){if(num.charAt(i)=="."){pos=i;}}
if(pos>=0){if(eval(num.substring(pos+1))==0){}
count=num.length-(pos+1);}
else{return true;}
if(count==1||count==2)
return true;else
return false;}}
function ValidateMultiple(compname,compulsary,onval,var1,var2)
{if(compulsary=='Y')
{if(isBlank(compname.value))
{alert(compname.title+" Cannot be blank");compname.focus();return false;}
else
{if(onval==isAlphanumeric)
{if(!onval(compname.value,var1,var2))
{alert(compname.title+" : Invalid Entry");compname.focus();return false;}}
else
{if(!onval(compname.value))
{alert(compname.title+" : Invalid Entry");compname.focus();return false;}}}}
if(compulsary=='N')
{if(onval==isAlphanumeric)
{if(!isBlank(compname.value)){if(!onval(compname.value,var1,var2))
{alert(compname.title+" : Invalid Entry");compname.focus();return false;}}}
else
{if(!isBlank(compname.value)){if(!onval(compname.value))
{alert(compname.title+" : Invalid Entry");compname.focus();return false;}}}}
return true;}
function isDateGreater(sDate,eDate)
{var cnt=0;var cnt1=0;var mo="";var mo1="";var dy="";var dy1="";var yr="";var yr1="";for(i=0;i<=sDate.length-1;i++)
{if(sDate.charAt(i)!="/")
{if(cnt==0)
{mo=mo+sDate.charAt(i);}
if(cnt==1)
{dy=dy+sDate.charAt(i);}
if(cnt==2)
{yr=yr+sDate.charAt(i);}}
else
{cnt=cnt+1;}}
for(j=0;j<=eDate.length-1;j++)
{if(eDate.charAt(j)!="/")
{if(cnt1==0)
{mo1=mo1+eDate.charAt(j);}
if(cnt1==1)
{dy1=dy1+eDate.charAt(j);}
if(cnt1==2)
{yr1=yr1+eDate.charAt(j);}}
else
{cnt1=cnt1+1;}}
mo=Number(mo);mo1=Number(mo1);dy=Number(dy);dy1=Number(dy1);yr=Number(yr);yr1=Number(yr1);var vDate=new Date(yr,mo,dy,0,0,0)
var mDate=new Date(yr1,mo1,dy1,0,0,0)
if(vDate>mDate)
{return false;}
else
{return true;}}
function checkCurrency(s){var pos,count,i;pos=0;count=s.length
for(i=0;i<=count-1;i++){if(s.charAt(i)=="."){pos=i;}}
if(pos==0){if(i>11){return false;}}
else{if(pos>11){return false;}}
return true;}
var Cards=new makeArray(8);Cards[0]=new CardType("MasterCard","51,52,53,54,55","16");var MasterCard=Cards[0];Cards[1]=new CardType("VisaCard","4","13,16");var VisaCard=Cards[1];Cards[2]=new CardType("AmExCard","34,37","15");var AmExCard=Cards[2];Cards[3]=new CardType("DinersClubCard","30,36,38","14");var DinersClubCard=Cards[3];Cards[4]=new CardType("DiscoverCard","6011","16");var DiscoverCard=Cards[4];Cards[5]=new CardType("enRouteCard","2014,2149","15");var enRouteCard=Cards[5];Cards[6]=new CardType("JCBCard","3088,3096,3112,3158,3337,3528","16");var JCBCard=Cards[6];var LuhnCheckSum=Cards[7]=new CardType();function CheckCardNumber(form){var tmpyear;var dt=new Date();if(form.CardNumber.value.length==0){alert("Please enter a Card Number.");form.CardNumber.focus();return false;}
if(form.ExpYear.value.length==0){alert("Please enter the Expiration Year.");form.ExpYear.focus();return false;}
if(form.ExpYear.value>dt.getFullYear())
tmpyear=form.ExpYear.value;else if(form.ExpYear.value<dt.getFullYear()+25)
tmpyear=form.ExpYear.value;else{alert("The Expiration Year is not valid.");return false;}
tmpmonth=form.ExpMon.options[form.ExpMon.selectedIndex].value;if(!(new CardType()).isExpiryDate(tmpyear,tmpmonth)){alert("This card has already expired.");return false;}
card=form.CardType.options[form.CardType.selectedIndex].value;var retval=eval(card+".checkCardNumber(\""+form.CardNumber.value+
"\", "+tmpyear+", "+tmpmonth+");");cardname="";if(retval)
{}
else{for(var n=0;n<Cards.size;n++){if(Cards[n].checkCardNumber(form.CardNumber.value,tmpyear,tmpmonth)){cardname=Cards[n].getCardType();break;}}
if(cardname.length>0){alert("This looks like a "+cardname+" number, not a "+card+" number.");return false;}
else{alert("This card number is not valid.");return false;}}}
function CardType(){var n;var argv=CardType.arguments;var argc=CardType.arguments.length;this.objname="object CardType";var tmpcardtype=(argc>0)?argv[0]:"CardObject";var tmprules=(argc>1)?argv[1]:"0,1,2,3,4,5,6,7,8,9";var tmplen=(argc>2)?argv[2]:"13,14,15,16,19";this.setCardNumber=setCardNumber;this.setCardType=setCardType;this.setLen=setLen;this.setRules=setRules;this.setExpiryDate=setExpiryDate;this.setCardType(tmpcardtype);this.setLen(tmplen);this.setRules(tmprules);if(argc>4)
this.setExpiryDate(argv[3],argv[4]);this.checkCardNumber=checkCardNumber;this.getExpiryDate=getExpiryDate;this.getCardType=getCardType;this.isCardNumber=isCardNumber;this.isExpiryDate=isExpiryDate;this.luhnCheck=luhnCheck;return this;}
function checkCardNumber(){var argv=checkCardNumber.arguments;var argc=checkCardNumber.arguments.length;var cardnumber=(argc>0)?argv[0]:this.cardnumber;var year=(argc>1)?argv[1]:this.year;var month=(argc>2)?argv[2]:this.month;this.setCardNumber(cardnumber);this.setExpiryDate(year,month);if(!this.isCardNumber())
return false;if(!this.isExpiryDate())
return false;return true;}
function getCardType(){return this.cardtype;}
function getExpiryDate(){return this.month+"/"+this.year;}
function isCardNumber(){var argv=isCardNumber.arguments;var argc=isCardNumber.arguments.length;var cardnumber=(argc>0)?argv[0]:this.cardnumber;if(!this.luhnCheck())
return false;for(var n=0;n<this.len.size;n++)
if(cardnumber.toString().length==this.len[n]){for(var m=0;m<this.rules.size;m++){var headdigit=cardnumber.substring(0,this.rules[m].toString().length);if(headdigit==this.rules[m])
return true;}
return false;}
return false;}
function isExpiryDate(){var argv=isExpiryDate.arguments;var argc=isExpiryDate.arguments.length;year=argc>0?argv[0]:this.year;month=argc>1?argv[1]:this.month;if(!isNum(year+""))
return false;if(!isNum(month+""))
return false;today=new Date();expiry=new Date(year,month);if(today.getTime()>expiry.getTime())
return false;else
return true;}
function isNum(argvalue){argvalue=argvalue.toString();if(argvalue.length==0)
return false;for(var n=0;n<argvalue.length;n++)
if(argvalue.substring(n,n+1)<"0"||argvalue.substring(n,n+1)>"9")
return false;return true;}
function luhnCheck(){var argv=luhnCheck.arguments;var argc=luhnCheck.arguments.length;var CardNumber=argc>0?argv[0]:this.cardnumber;if(!isNum(CardNumber)){return false;}
var no_digit=CardNumber.length;var oddoeven=no_digit&1;var sum=0;for(var count=0;count<no_digit;count++){var digit=parseInt(CardNumber.charAt(count));if(!((count&1)^oddoeven)){digit*=2;if(digit>9)
digit-=9;}
sum+=digit;}
if(sum%10==0)
return true;else
return false;}
function makeArray(size){this.size=size;return this;}
function setCardNumber(cardnumber){this.cardnumber=cardnumber;return this;}
function setCardType(cardtype){this.cardtype=cardtype;return this;}
function setExpiryDate(year,month){this.year=year;this.month=month;return this;}
function setLen(len){if(len.length==0||len==null)
len="13,14,15,16,19";var tmplen=len;n=1;while(tmplen.indexOf(",")!=-1){tmplen=tmplen.substring(tmplen.indexOf(",")+1,tmplen.length);n++;}
this.len=new makeArray(n);n=0;while(len.indexOf(",")!=-1){var tmpstr=len.substring(0,len.indexOf(","));this.len[n]=tmpstr;len=len.substring(len.indexOf(",")+1,len.length);n++;}
this.len[n]=len;return this;}
function setRules(rules){if(rules.length==0||rules==null)
rules="0,1,2,3,4,5,6,7,8,9";var tmprules=rules;n=1;while(tmprules.indexOf(",")!=-1){tmprules=tmprules.substring(tmprules.indexOf(",")+1,tmprules.length);n++;}
this.rules=new makeArray(n);n=0;while(rules.indexOf(",")!=-1){var tmpstr=rules.substring(0,rules.indexOf(","));this.rules[n]=tmpstr;rules=rules.substring(rules.indexOf(",")+1,rules.length);n++;}
this.rules[n]=rules;return this;}
function view_thumbnail(objImage,minHeight,minWidth)
{var fHProportion,fWProportion,fScaleFactor
fHProportion=objImage.height/minHeight
fWProportion=objImage.width/minWidth
if(fHProportion>1||fWProportion>1)
{if(fHProportion>fWProportion)
{fScaleFactor=1/fHProportion
minWidth=objImage.width*fScaleFactor}
else if(fWProportion>fHProportion)
{fScaleFactor=1/fWProportion
minHeight=objImage.height*fScaleFactor}}
objImage.height=minHeight;objImage.width=minWidth;}
