var CardArray=[];CardArray[0]=["","","","",""];CardArray[1]=["VisaCard","13|16","3",/^(\d{4}(\s|\-)?\d{4}(\s|\-)?\d{4}(\s|\-)?\d{4}|\d{4}(\s|\-)?\d{5}(\s|\-)?\d{4})$/,/^(\d{3})$/];CardArray[2]=["MasterCard","16","3",/^(\d{4}(\s|\-)?\d{4}(\s|\-)?\d{4}(\s|\-)?\d{4})$/,/^(\d{3})$/];CardArray[3]=["AmExCard","15","4",/^(\d{4}(\s|\-)?\d{6}(\s|\-)?\d{5})$/,/^(\d{4})$/];CardArray[4]=["DiscoverCard","16","4",/^(\d{4}(\s|\-)?\d{4}(\s|\-)?\d{4}(\s|\-)?\d{4})$/,/^(\d{4})$/];CardArray[5]=["Diners","16","4",/^(\d{4}(\s|\-)?\d{4}(\s|\-)?\d{4}(\s|\-)?\d{2})$/,/^(\d{4})$/];CardArray[6]=["JCBCard","16","4",/^(\d{4}(\s|\-)?\d{4}(\s|\-)?\d{4}(\s|\-)?\d{4})$/,/^(\d{4})$/];function CheckAnswerLength(source,arguments){if(arguments==null||arguments.Value==""){arguments.IsValid=false;return}if(arguments.Value.length<5){arguments.IsValid=false;return}arguments.IsValid=true}function CheckDropDownSelection(source,arguments){var ctrl=$(source.controltovalidate);if(ctrl.selectedIndex==0)arguments.IsValid=false}function IsExpirationDateValid(source,arguments){var m=source.getAttribute("monthcontrol"),y=source.getAttribute("yearcontrol"),MonthDropDown=$(m),YearDropDown=$(y);if(MonthDropDown&&YearDropDown){if(YearDropDown.selectedIndex==0||MonthDropDown.selectedIndex==0){arguments.IsValid=false;return}var selectedMonth=parseInt(MonthDropDown.options[MonthDropDown.selectedIndex].value),selectedYear=parseInt(YearDropDown.options[YearDropDown.selectedIndex].value),currentYear=-1,currentMonth=-1;if(typeof YearDropDown.getAttribute("currentyear")=="undefined"){arguments.IsValid=false;return}else currentYear=parseInt(YearDropDown.getAttribute("currentyear"));if(typeof MonthDropDown.getAttribute("currentmonth")=="undefined"){arguments.IsValid=false;return}else currentMonth=parseInt(MonthDropDown.getAttribute("currentmonth"));if(selectedYear<currentYear)arguments.IsValid=false;else if(selectedYear==currentYear)if(selectedMonth<currentMonth)arguments.IsValid=false;else arguments.IsValid=true;else arguments.IsValid=true}}function IsPasswordValid(source,arguments){try{var password=arguments.Value;if(password==null||password.length<6||password.length>16){arguments.IsValid=false;return}else for(var i=0;i<password.length;i++){var character=password.charCodeAt(i);if(character<=32||character>126){arguments.IsValid=false;return}}var s,user=$("txtUserName");if(user!=null)s=user.value;else{user=$("lblUserName");s=user!=null?user.innerText:null}if(s!=null&&s.length>0)if(password.indexOf(s)!=-1)arguments.IsValid=false}catch(e){e.message+="|Validators.js|IsPasswordValid()";e.description+="|Validators.js|IsPasswordValid()";throw e}}function ValidateCardNumber(CardType,source){if(CardType==0)return false;var CardTypeArray=CardArray[CardType],txtCreditCard=$(source.controltovalidate);if(txtCreditCard){var IsValidCreditCardNumber=ValidateCCPattern(CardType,txtCreditCard.value);if(!IsValidCreditCardNumber)return false}return true}function ValidateCCPattern(CardType,CardNumber){var Success=false,CardTypeArray=CardArray[CardType],RequiredExpression=CardTypeArray[3];CardNumber=CardNumber.replace(/^\s+|\s+$/g,"");if(RequiredExpression.test(CardNumber))Success=true;return Success}function ValidateCCSecurityPattern(CardType,CardNumber){var Success=false,RequiredExpression=CardArray[CardType][4];if(RequiredExpression.test(CardNumber))Success=true;return Success}function ValidateCVV2Number(CardType,source){var CardTypeArray=CardArray[CardType],txtCVV2Number=$(source.controltovalidate);if(txtCVV2Number)if(CardTypeArray.length==5){var isLengthOk=ValidateCCSecurityPattern(CardType,txtCVV2Number.value);return isLengthOk}return false}