window.errors={required:"One or more required fields are missing",requireOneOfMany:"At least one field in the group must be filled out",password:"Password does not conform to the password policy",passwordConfirm:"Password and Confirm Password do not match",emailConfirm:"Email and Confirm Email do not match",secretConfirm:"Secret Answer and Confirm Secret Answer do not match",alphanumeric:"Value must be alphanumeric",phone:"Phone number or Fax number provided were non-numeric values",email:"Email address provided is in an invalid format",date:"Date is in an invalid format (ex. MM/DD/YYYY)",expirationDate:"Expiration date provided is invalid",currency:"Currency is in an invalid format",creditCard:"Credit card number is invalid",quantity:"Quantity must in the range of 1 - 999",acceptance:"The terms and conditions must be accepted to continue",checkboxes:"At least one item must be selected",twoOrMorecheckboxes:"Merging carts requires multiple carts to be selected",file:"A file must be selected to upload"};window.pageErrors=[];window.modalErrors=[];window.errorScope="page";$(document).ready(function(){initializeValidation("")});function initializeValidation(A){if(A==".modal "){$(A+"form.validateForm").submit(function(){return formValidation($(this),"modal")})}else{$(A+"form.validateForm").submit(function(){return formValidation($(this),"page")})}}function formValidation(B,A){var A=(A==null)?"page":A;resetErrors(A);requiredValidation(B);requireOneOfManyValidation(B);confirmValidation(B);phoneValidation(B);emailValidation(B);quantityValidation(B);alphanumericValidation(B);passwordValidation(B);creditCardValidation(B);expirationDateValidation(B);currencyValidation(B);datePickerValidation(B);acceptanceValidation(B);fileValidation(B);showErrors(A);if(thereAreValidationErrors()){return false}else{return true}}function requiredValidation(A){A.find("input.validateRequired").each(function(){if(isEmpty($(this)[0].value)){addError("required",$(this))}else{removeError("required",$(this))}});A.find("textarea.validateRequired").each(function(){if(isEmpty($(this)[0].value)){addError("required",$(this))}else{removeError("required",$(this))}});A.find("select.validateRequired").each(function(){if(isEmpty($(this)[0].value)){addError("required",$(this))}else{removeError("required",$(this))}});A.find("ul.validateRequired").each(function(){if($("ul.validateRequired input:checkbox:checked").length<1){addError("required",$(this));$("ul.validateRequired input:checkbox").parent().addClass("error")}else{removeError("required",$(this));$("ul.validateRequired input:checkbox").parent().removeClass("error")}});return false}function requireOneOfManyValidation(A){if(A.find(".validateOneOfManyRequired").length>0){var B=false;A.find(".validateOneOfManyRequired").each(function(){if(!isEmpty($(this)[0].value)){B=true}});if(B){$(".validateOneOfManyRequired").each(function(){$(this).removeClass("requiredError")});removeError("requireOneOfMany")}else{$(".validateOneOfManyRequired").each(function(){$(this).addClass("requiredError")});addError("requireOneOfMany")}}}function confirmValidation(A){A.find("input.validateConfirm").each(function(){$theSecondField=$(this);$theFirstField=previousInputListField($theSecondField);$theFirstLabel=$theFirstField.siblings("span.label").text();$theSecondLabel=$theSecondField.siblings("span.label").text();if($theFirstField[0].value!=$theSecondField[0].value){if($theFirstLabel.indexOf("Password")>=0){addError("passwordConfirm",$theFirstField);addError("passwordConfirm",$theSecondField)}else{if($theFirstLabel.indexOf("Email")>=0){addError("emailConfirm",$theFirstField);addError("emailConfirm",$theSecondField)}else{addError("secretConfirm",$theFirstField);addError("secretConfirm",$theSecondField)}}}else{if($theFirstLabel.indexOf("Password")>=0){removeError("passwordConfirm",$theFirstField);removeError("passwordConfirm",$theSecondField)}else{if($theFirstLabel.indexOf("Email")>=0){removeError("emailConfirm",$theFirstField);removeError("emailConfirm",$theSecondField)}else{removeError("secretConfirm",$theFirstField);removeError("secretConfirm",$theSecondField)}}}});return false}function phoneValidation(A){A.find("input.validatePhone").each(function(){$(this)[0].value=stripNonNumericCharacters($(this)[0].value);if(isValidPhone($(this)[0].value)){removeError("phone",$(this))}else{addError("phone",$(this))}});return false}function emailValidation(A){A.find("input.validateEmail").each(function(){if(isEmpty($(this)[0].value)||isValidEmail($(this)[0].value)){removeError("email",$(this))}else{addError("email",$(this))}});return false}function passwordValidation(A){A.find("input.validatePassword").each(function(){if(isValidPassword($(this)[0].value)){removeError("password",$(this))}else{addError("password",$(this))}});return false}function expirationDateValidation(A){A.find("select.validateExpirationDate").each(function(){var B=$(this).parent().prev().find("select");if(isValidExpirationDate($(this))){removeError("expirationDate",B);removeError("expirationDate",$(this))}else{addError("expirationDate",B);addError("expirationDate",$(this))}})}function alphanumericValidation(A){A.find("input.validateAlphanumeric").each(function(){if(isAlphanumeric($(this)[0].value)){removeError("alphanumeric",$(this))}else{addError("alphanumeric",$(this))}});return false}function quantityValidation(A){A.find("input.validateQuantity").each(function(){if(isValidQuantity($(this)[0].value)){removeError("quantity",$(this))}else{addError("quantity",$(this))}});return false}function creditCardValidation(A){A.find("input.validateCreditCard").each(function(){if(isSavedCreditCard($(this)[0].value)){removeError("creditCard",$(this))}else{$(this)[0].value=stripNonNumericCharacters($(this)[0].value);if(isValidCreditCard($(this)[0].value)){removeError("creditCard",$(this))}else{addError("creditCard",$(this))}}});return false}function currencyValidation(A){A.find("input.validateCurrency").each(function(){if(isEmpty($(this)[0].value)||isValidCurrency($(this)[0].value)){removeError("currency",$(this))}else{addError("currency",$(this))}});return false}function datePickerValidation(A){A.find("input.date-pick").each(function(){if(isEmpty($(this)[0].value)||isValidDatePicked($(this)[0].value)){removeError("date",$(this))}else{addError("date",$(this))}});return false}function acceptanceValidation(A){A.find("input.validateAcceptance").each(function(){if(isAccepted($(this)[0])){removeError("acceptance",$(this));$(this).parent().removeClass("error")}else{addError("acceptance",$(this));$(this).parent().addClass("error")}});return false}function fileValidation(A){A.find("input.validateFile").each(function(){if(isValidFile($(this)[0].value)){removeError("file",$(this))}else{addError("file",$(this))}});return false}function isValidPhone(A){var B=A.replace(/[\(\)\.\-\ ]/g,"");if((isNaN(parseInt(B)))&&(A.length!=0)){return false}else{return true}}function isValidEmail(B){var A=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;if(!A.test(B)){return false}else{return true}}function isAccepted(A){if(A.checked){return true}else{return false}}function isValidDatePicked(B){var A=/^\d{2}\/\d{2}\/\d{4}$/;if(A.test(B)){return true}else{return false}}function isValidPassword(A){if((A.length<5)||(A.length>12)){return false}else{return true}}function isValidExpirationDate(A){var B=A.parent().prev().find("select");var C=new Date();if((A[0].value<C.getFullYear())||((A[0].value==C.getFullYear())&&(B[0].value<C.getMonth()+1))){return false}else{return true}}function isAlphanumeric(A){if((A!="")&&!(A.match(/^[a-zA-Z0-9]+$/))){return false}else{return true}}function isValidQuantity(A){if(isEmpty(A)||!isIntegerInRange(A,1,999)){return false}else{return true}}function isValidCurrency(D){var B=stripNonCurrencyCharacters(D);var A=0;var C=D.split("");for(i=0;i<C.length;i++){if(C[i]=="."){A++}}if((D.length!=B.length)||(A>1)){return false}else{return true}}function isSavedCreditCard(D){var C=D.slice(-4);var A=D.substring(0,(D.length-4));var E=false;for(var B=0;B<A.length;B++){E=true;if(A.charAt(B)!="X"){var E=false;break}}if(isInteger(C)&&(C.length==4)&&E){return true}else{return false}}function isValidCreditCard(D){if(isEmpty(D)||!isInteger(D)||(D.length<15)||(D.length>16)){return false}else{var B=0;var C;for(var A=D.length;A>0;A--){C=parseInt(D)%10;C=parseInt(C);B+=C;A--;D=D/10;C=parseInt(D)%10;C=C*2;switch(C){case 10:C=1;break;case 12:C=3;break;case 14:C=5;break;case 16:C=7;break;case 18:C=9;break;default:C=C}D=D/10;B+=C}if((B%10)==0){return true}else{return false}}}function isValidFile(A){if(isEmpty(A)){return false}else{return true}}function previousInputListField(A){return A.parent().parent().prev().find("input")}function isIntegerInRange(D,B,A){if(isEmpty(D)){if(isIntegerInRange.arguments.length==1){return false}else{return(isIntegerInRange.arguments[1]==true)}}if(!isInteger(D,false)){return false}var C=parseInt(D);return((C>=B)&&(C<=A))}function isInteger(B){var A;if(isEmpty(B)){if(isInteger.arguments.length==1){return 0}else{return(isInteger.arguments[1]==true)}}for(var A=0;A<B.length;A++){var C=B.charAt(A);if(!isDigit(C)){return false}}return true}function isEmpty(A){return((A==null)||(A.length==0))}function isDigit(A){return((A>="0")&&(A<="9"))}function stripNonNumericCharacters(B){var A=new String(B);A=A.replace(/[^0-9]/g,"");return A}function stripNonCurrencyCharacters(B){var A=new String(B);A=A.replace(/[^0-9\.]/g,"");return A}function removeError(B,A){if(!(A===undefined)){if(B=="required"){A.removeClass("requiredError");A.removeClass("error")}else{if(!A.hasClass("requiredError")){A.removeClass("error")}}}}function addError(B,A){if(!(A===undefined)){if(B=="required"){A.addClass("requiredError");A.addClass("error")}else{A.addClass("error")}}if(window.errorScope=="modal"){window.modalErrors[B]=true}else{window.pageErrors[B]=true}}function showErrors(){var A=getPageOrModalErrorContainer();if($(A+" div.error").length==0){$(A).append('<div class="error"><ul></ul></div>')}if(window.errorScope=="modal"){for(type in window.modalErrors){$(A+" ul").append('<li class="client">'+errors[type]+"</li>")}}else{for(code in window.errorMessages){var B=errorMessages[code];$(A+" ul").append('<li class="client">'+errorMessagesList[B]+"</li>")}for(type in window.pageErrors){$(A+" ul").append('<li class="client">'+errors[type]+"</li>")}}if(thereAreValidationErrors()||(window.errorScope=="page"&&thereAreServerErrors())){scroll(0,0);$(A).hide();if(jQuery.browser.msie){$(A).show();forceIE6Redraw()}else{$(A).fadeIn("slow")}}}function resetErrors(A){var A=(A==null)?"page":A;if(A=="modal"){window.errorScope="modal"}else{window.errorScope="page"}var B=getPageOrModalErrorContainer();window.pageErrors=[];window.modalErrors=[];$(B+" li.client").remove();if($(B+" li").length==0){$(B).hide()}$(".requiredError").each(function(){$(this).removeClass("requiredError")});$("input.error").each(function(){$(this).removeClass("error")});$("select.error").each(function(){$(this).removeClass("error")});$("textarea.error").each(function(){$(this).removeClass("error")});forceIE6Redraw()}function getPageOrModalErrorContainer(){return(window.errorScope=="page")?"#pageError":"#modalError"}function thereAreValidationErrors(){var A=false;if(window.errorScope=="modal"){for(type in window.modalErrors){A=true;break}}else{for(type in window.pageErrors){A=true;break}}return(A==true)?true:false}function thereAreServerErrors(){var A=false;for(code in window.errorMessages){A=true;break}return(A==true)?true:false};