define(['jquery','underscore','./utils','moment','tinycolor','jquery/validate','mage/translate'],function($,_,utils,moment,tinycolor){'use strict';function validateCreditCard(s){var v='0123456789',w='',i,j,k,m,c,a,x;for(i=0;i9?Math.floor(a / 10+a%10):a;} for(i=0;i=+params;},$.mage.__('Please enter more or equal than {0} symbols.')],'max_text_length':[function(value,params){return!_.isUndefined(value)&&value.length<=+params;},$.mage.__('Please enter less or equal than {0} symbols.')],'max-words':[function(value,params){return utils.isEmpty(value)||utils.stripHtml(value).match(/\b\w+\b/g).length=params;},$.mage.__('Please enter at least {0} words.')],'range-words':[function(value,params){var match=utils.stripHtml(value).match(/\b\w+\b/g)||[];return utils.isEmpty(value)||match.length>=params[0]&&match.length<=params[1];},$.mage.__('Please enter between {0} and {1} words.')],'letters-with-basic-punc':[function(value){return utils.isEmpty(value)||/^[a-z\-.,()\u0027\u0022\s]+$/i.test(value);},$.mage.__('Letters or punctuation only please')],'alphanumeric':[function(value){return utils.isEmpty(value)||/^\w+$/i.test(value);},$.mage.__('Letters, numbers, spaces or underscores only please')],'letters-only':[function(value){return utils.isEmpty(value)||/^[a-z]+$/i.test(value);},$.mage.__('Letters only please')],'no-whitespace':[function(value){return utils.isEmpty(value)||/^\S+$/i.test(value);},$.mage.__('No white space please')],'no-marginal-whitespace':[function(value){return!/^\s+|\s+$/i.test(value);},$.mage.__('No marginal white space please')],'zip-range':[function(value){return utils.isEmpty(value)||/^90[2-5]-\d{2}-\d{4}$/.test(value);},$.mage.__('Your ZIP-code must be in the range 902xx-xxxx to 905-xx-xxxx')],'integer':[function(value){return utils.isEmpty(value)||/^-?\d+$/.test(value);},$.mage.__('A positive or negative non-decimal number please')],'vinUS':[function(value){if(utils.isEmpty(value)){return true;} if(value.length!==17){return false;} var i,n,d,f,cd,cdv,LL=['A','B','C','D','E','F','G','H','J','K','L','M','N','P','R','S','T','U','V','W','X','Y','Z'],VL=[1,2,3,4,5,6,7,8,1,2,3,4,5,7,9,2,3,4,5,6,7,8,9],FL=[8,7,6,5,4,3,2,10,0,9,8,7,6,5,4,3,2],rs=0;for(i=0;i<17;i++){f=FL[i];d=value.slice(i,i+1);if(i===8){cdv=d;} if(!isNaN(d)){d*=f;}else{for(n=0;n9&&value.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/);},$.mage.__('Please specify a valid phone number')],'phoneUK':[function(value){return utils.isEmpty(value)||value.length>9&&value.match(/^(\(?(0|\+44)[1-9]{1}\d{1,4}?\)?\s?\d{3,4}\s?\d{3,4})$/);},$.mage.__('Please specify a valid phone number')],'mobileUK':[function(value){return utils.isEmpty(value)||value.length>9&&value.match(/^((0|\+44)7\d{3}\s?\d{6})$/);},$.mage.__('Please specify a valid mobile number')],'stripped-min-length':[function(value,param){return _.isUndefined(value)||value.length===0||utils.stripHtml(value).length>=param;},$.mage.__('Please enter at least {0} characters')],'email2':[function(value){return utils.isEmpty(value)||/^((([a-z]|\d|[!#\$%&\u0027\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&\u0027\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\u0022)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\u0022)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)*(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(value);},$.validator.messages.email],'url2':[function(value){return utils.isEmpty(value)||/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&\u0027\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)*(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&\u0027\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&\u0027\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&\u0027\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&\u0027\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value);},$.validator.messages.url],'credit-card-types':[function(value,param){var validTypes;if(utils.isEmpty(value)){return true;} if(/[^0-9-]+/.test(value)){return false;} value=value.replace(/\D/g,'');validTypes=0x0000;if(param.mastercard){validTypes|=0x0001;} if(param.visa){validTypes|=0x0002;} if(param.amex){validTypes|=0x0004;} if(param.dinersclub){validTypes|=0x0008;} if(param.enroute){validTypes|=0x0010;} if(param.discover){validTypes|=0x0020;} if(param.jcb){validTypes|=0x0040;} if(param.unknown){validTypes|=0x0080;} if(param.all){validTypes=0x0001|0x0002|0x0004|0x0008|0x0010|0x0020|0x0040|0x0080;} if(validTypes&0x0001&&/^(51|52|53|54|55)/.test(value)){return value.length===16;} if(validTypes&0x0002&&/^(4)/.test(value)){return value.length===16;} if(validTypes&0x0004&&/^(34|37)/.test(value)){return value.length===15;} if(validTypes&0x0008&&/^(300|301|302|303|304|305|36|38)/.test(value)){return value.length===14;} if(validTypes&0x0010&&/^(2014|2149)/.test(value)){return value.length===15;} if(validTypes&0x0020&&/^(6011)/.test(value)){return value.length===16;} if(validTypes&0x0040&&/^(3)/.test(value)){return value.length===16;} if(validTypes&0x0040&&/^(2131|1800)/.test(value)){return value.length===15;} if(validTypes&0x0080){return true;} return false;},$.mage.__('Please enter a valid credit card number.')],'ipv4':[function(value){return utils.isEmpty(value)||/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/i.test(value);},$.mage.__('Please enter a valid IP v4 address.')],'ipv6':[function(value){return utils.isEmpty(value)||/^((([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))$/i.test(value);},$.mage.__('Please enter a valid IP v6 address.')],'pattern':[function(value,param){return utils.isEmpty(value)||new RegExp(param).test(value);},$.mage.__('Invalid format.')],'validate-no-html-tags':[function(value){return!/<(\/)?\w+/.test(value);},$.mage.__('HTML tags are not allowed.')],'validate-select':[function(value){return value!=='none'&&value!=null&&value.length!==0;},$.mage.__('Please select an option.')],'validate-no-empty':[function(value){return!utils.isEmpty(value);},$.mage.__('Empty Value.')],'validate-alphanum-with-spaces':[function(value){return utils.isEmptyNoTrim(value)||/^[a-zA-Z0-9 ]+$/.test(value);},$.mage.__('Please use only letters (a-z or A-Z), numbers (0-9) or spaces only in this field.')],'validate-data':[function(value){return utils.isEmptyNoTrim(value)||/^[A-Za-z]+[A-Za-z0-9_]+$/.test(value);},$.mage.__('Please use only letters (a-z or A-Z), numbers (0-9) or underscore (_) in this field, and the first character should be a letter.')],'validate-street':[function(value){return utils.isEmptyNoTrim(value)||/^[ \w]{3,}([A-Za-z]\.)?([ \w]*\#\d+)?(\r\n| )[ \w]{3,}/.test(value);},$.mage.__('Please use only letters (a-z or A-Z), numbers (0-9), spaces and "#" in this field.')],'validate-phoneStrict':[function(value){return utils.isEmptyNoTrim(value)||/^(\()?\d{3}(\))?(-|\s)?\d{3}(-|\s)\d{4}$/.test(value);},$.mage.__('Please enter a valid phone number. For example (123) 456-7890 or 123-456-7890.')],'validate-phoneLax':[function(value){return utils.isEmptyNoTrim(value)||/^((\d[\-. ]?)?((\(\d{3}\))|\d{3}))?[\-. ]?\d{3}[\-. ]?\d{4}$/.test(value);},$.mage.__('Please enter a valid phone number. For example (123) 456-7890 or 123-456-7890.')],'validate-fax':[function(value){return utils.isEmptyNoTrim(value)||/^(\()?\d{3}(\))?(-|\s)?\d{3}(-|\s)\d{4}$/.test(value);},$.mage.__('Please enter a valid fax number (Ex: 123-456-7890).')],'validate-email':[function(value){return utils.isEmptyNoTrim(value)||/^([a-z0-9,!\#\$%&'\*\+\/=\?\^_`\{\|\}~-]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z0-9,!\#\$%&'\*\+\/=\?\^_`\{\|\}~-]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*@([a-z0-9-]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z0-9-]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*\.(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]){2,})$/i.test(value);},$.mage.__('Please enter a valid email address (Ex: johndoe@domain.com).')],'validate-emailSender':[function(value){return utils.isEmptyNoTrim(value)||/^[\S ]+$/.test(value);},$.mage.__('Please enter a valid email address (Ex: johndoe@domain.com).')],'validate-password':[function(value){var pass;if(value==null){return false;} pass=value.trim();if(!pass.length){return true;} return!(pass.length>0&&pass.length<6);},$.mage.__('Please enter 6 or more characters. Leading and trailing spaces will be ignored.')],'validate-admin-password':[function(value){var pass;if(value==null){return false;} pass=value.trim();if(pass.length===0){return true;} if(!/[a-z]/i.test(value)||!/[0-9]/.test(value)){return false;} if(pass.length<7){return false;} return true;},$.mage.__('Please enter 7 or more characters, using both numeric and alphabetic.')],'validate-customer-password':[function(v,elm){var validator=this,counter=0,passwordMinLength=$(elm).data('password-min-length'),passwordMinCharacterSets=$(elm).data('password-min-character-sets'),pass=v.trim(),result=pass.length>=passwordMinLength;if(result===false){validator.passwordErrorMessage=$.mage.__('Minimum length of this field must be equal or greater than %1 symbols. Leading and trailing spaces will be ignored.').replace('%1',passwordMinLength);return result;} if(pass.match(/\d+/)){counter++;} if(pass.match(/[a-z]+/)){counter++;} if(pass.match(/[A-Z]+/)){counter++;} if(pass.match(/[^a-zA-Z0-9]+/)){counter++;} if(counter=0&&(/^\s*-?\d+([,.]\d+)*\s*%?\s*$/).test(value);},$.mage.__('Please enter a number 0 or greater, without comma in this field.')],'validate-zero-or-greater':[function(value){return utils.isEmptyNoTrim(value)||!isNaN(utils.parseNumber(value))&&value>=0&&(/^\s*-?\d+([,.]\d+)*\s*%?\s*$/).test(value);},$.mage.__('Please enter a number 0 or greater, without comma in this field.')],'validate-greater-than-zero':[function(value){return utils.isEmptyNoTrim(value)||!isNaN(utils.parseNumber(value))&&value>0&&(/^\s*-?\d+([,.]\d+)*\s*%?\s*$/).test(value);},$.mage.__('Please enter a number greater than 0, without comma in this field.')],'validate-css-length':[function(value){if(value!==''){return(/^[0-9]*\.*[0-9]+(px|pc|pt|ex|em|mm|cm|in|%)?$/).test(value);} return true;},$.mage.__('Please input a valid CSS-length (Ex: 100px, 77pt, 20em, .5ex or 50%).')],'validate-number':[function(value){return utils.isEmptyNoTrim(value)||!isNaN(utils.parseNumber(value))&&/^\s*-?\d*(?:[.,|'|\s]\d+)*(?:[.,|'|\s]\d{2})?-?\s*$/.test(value);},$.mage.__('Please enter a valid number in this field.')],'validate-integer':[function(value){return utils.isEmptyNoTrim(value)||!isNaN(utils.parseNumber(value))&&/^\s*-?\d*\s*$/.test(value);},$.mage.__('Please enter a valid integer in this field.')],'validate-number-range':[function(value,param){var numValue,dataAttrRange,result,range,m;if(utils.isEmptyNoTrim(value)){return true;} numValue=utils.parseNumber(value);if(isNaN(numValue)){return false;} dataAttrRange=/^(-?[\d.,]+)?-(-?[\d.,]+)?$/;result=true;range=param;if(range){m=dataAttrRange.exec(range);if(m){result=result&&utils.isBetween(numValue,m[1],m[2]);}} return result;},$.mage.__('The value is not within the specified range.')],'validate-positive-percent-decimal':[function(value){var numValue;if(utils.isEmptyNoTrim(value)||!/^\s*-?\d*(\.\d*)?\s*$/.test(value)){return false;} numValue=utils.parseNumber(value);if(isNaN(numValue)){return false;} return utils.isBetween(numValue,0.01,100);},$.mage.__('Please enter a valid percentage discount value greater than 0.')],'validate-digits':[function(value){return utils.isEmptyNoTrim(value)||!/[^\d]/.test(value);},$.mage.__('Please enter a valid number in this field.')],'validate-digits-range':[function(value,param){var numValue,dataAttrRange,result,range,m;if(utils.isEmptyNoTrim(value)){return true;} numValue=utils.parseNumber(value);if(isNaN(numValue)){return false;} dataAttrRange=/^(-?\d+)?-(-?\d+)?$/;result=true;range=param;if(range){m=dataAttrRange.exec(range);if(m){result=result&&utils.isBetween(numValue,m[1],m[2]);}} return result;},$.mage.__('The value is not within the specified range.')],'validate-range':[function(value){var minValue,maxValue,ranges;if(utils.isEmptyNoTrim(value)){return true;}else if($.validator.methods['validate-digits']&&$.validator.methods['validate-digits'](value)){minValue=maxValue=utils.parseNumber(value);}else{ranges=/^(-?\d+)?-(-?\d+)?$/.exec(value);if(ranges){minValue=utils.parseNumber(ranges[1]);maxValue=utils.parseNumber(ranges[2]);if(minValue>maxValue){return false;}}else{return false;}}},$.mage.__('The value is not within the specified range.')],'validate-alpha':[function(value){return utils.isEmptyNoTrim(value)||/^[a-zA-Z]+$/.test(value);},$.mage.__('Please use letters only (a-z or A-Z) in this field.')],'validate-code':[function(value){return utils.isEmptyNoTrim(value)||/^[a-z]+[a-z0-9_]+$/.test(value);},$.mage.__('Please use only lowercase letters (a-z), numbers (0-9) or underscore (_) in this field, and the first character should be a letter.')],'validate-alphanum':[function(value){return utils.isEmptyNoTrim(value)||/^[a-zA-Z0-9]+$/.test(value);},$.mage.__('Please use only letters (a-z or A-Z) or numbers (0-9) in this field. No spaces or other characters are allowed.')],'validate-not-number-first':[function(value){return utils.isEmptyNoTrim(value)||/^[^0-9-\.].*$/.test(value.trim());},$.mage.__('First character must be letter.')],'validate-date':[function(value,params,additionalParams){var test=moment(value,additionalParams.dateFormat);return utils.isEmptyNoTrim(value)||test.isValid();},$.mage.__('Please enter a valid date.')],'validate-date-range':[function(value,params){var fromDate=$('input[name*="'+params+'"]').val();return moment.utc(value).unix()>=moment.utc(fromDate).unix()||isNaN(moment.utc(value).unix());},$.mage.__('Make sure the To Date is later than or the same as the From Date.')],'validate-identifier':[function(value){return utils.isEmptyNoTrim(value)||/^[a-z0-9][a-z0-9_\/-]+(\.[a-z0-9_-]+)?$/.test(value);},$.mage.__('Please enter a valid URL Key (Ex: "example-page", "example-page.html" or "anotherlevel/example-page").')],'validate-trailing-hyphen':[function(value){return utils.isEmptyNoTrim(value)||/^(?!-)(?!.*-$).+$/.test(value);},$.mage.__('Trailing hyphens are not allowed.')],'validate-zip-international':[function(){return true;},$.mage.__('Please enter a valid zip code.')],'validate-state':[function(value){return value!==0;},$.mage.__('Please select State/Province.')],'less-than-equals-to':[function(value,params){value=utils.parseNumber(value);if(isNaN(parseFloat(params))){params=$(params).val();} params=utils.parseNumber(params);if(!isNaN(params)&&!isNaN(value)){this.lteToVal=params;return value<=params;} return true;},function(){return $.mage.__('Please enter a value less than or equal to %s.').replace('%s',this.lteToVal);}],'greater-than-equals-to':[function(value,params){value=utils.parseNumber(value);if(isNaN(parseFloat(params))){params=$(params).val();} params=utils.parseNumber(params);if(!isNaN(params)&&!isNaN(value)){this.gteToVal=params;return value>=params;} return true;},function(){return $.mage.__('Please enter a value greater than or equal to %s.').replace('%s',this.gteToVal);}],'validate-emails':[function(value){var validRegexp,emails,i;if(utils.isEmpty(value)){return true;} validRegexp=/^[a-z0-9\._-]{1,30}@([a-z0-9_-]{1,30}\.){1,5}[a-z]{2,4}$/i;emails=value.split(/[\s\n\,]+/g);for(i=0;i=utils.parseNumber(params.minAllowed),isMaxAllowedValid=typeof params.maxAllowed==='undefined'||qty<=utils.parseNumber(params.maxAllowed),isQtyIncrementsValid=typeof params.qtyIncrements==='undefined'||qty%utils.parseNumber(params.qtyIncrements)===0;result=qty>0;if(result===false){validator.itemQtyErrorMessage=$.mage.__('Please enter a quantity greater than 0.');return result;} result=isMinAllowedValid;if(result===false){validator.itemQtyErrorMessage=$.mage.__('The fewest you may purchase is %1.').replace('%1',params.minAllowed);return result;} result=isMaxAllowedValid;if(result===false){validator.itemQtyErrorMessage=$.mage.__('The maximum you may purchase is %1.').replace('%1',params.maxAllowed);return result;} result=isQtyIncrementsValid;if(result===false){validator.itemQtyErrorMessage=$.mage.__('You can buy this product only in quantities of %1 at a time.').replace('%1',params.qtyIncrements);return result;} return result;},function(){return this.itemQtyErrorMessage;}],'equalTo':[function(value,param){return value===$(param).val();},$.validator.messages.equalTo],'validate-file-type':[function(name,types){var extension=name.split('.').pop().toLowerCase();if(types&&typeof types==='string'){types=types.split(' ');} return!types||!types.length||~types.indexOf(extension);},$.mage.__('We don\'t recognize or support this file extension type.')],'validate-max-size':[function(size,maxSize){return maxSize===false||size]*>([\s\S]*?)<\/script>$/ig).test(value);},$.mage.__('Please use tag SCRIPT with SRC attribute or with proper content to include JavaScript to the document.')],'date_range_min':[function(value,minValue,params){return moment.utc(value,params.dateFormat).unix()>=minValue;},$.mage.__('The date is not within the specified range.')],'date_range_max':[function(value,maxValue,params){return moment.utc(value,params.dateFormat).unix()<=maxValue;},$.mage.__('The date is not within the specified range.')],'validate-color':[function(value){if(value===''){return true;} return tinycolor(value).isValid();},$.mage.__('Wrong color format. Please specify color in HEX, RGBa, HSVa, HSLa or use color name.')],'blacklist-url':[function(value,param){return new RegExp(param).test(value);},$.mage.__('This link is not allowed.')],'validate-dob':[function(value,param,params){if(value===''){return true;} return moment.utc(value,params.dateFormat).isSameOrBefore(moment.utc());},$.mage.__('The Date of Birth should not be greater than today.')],'validate-no-utf8mb4-characters':[function(value){var validator=this,message=$.mage.__('Please remove invalid characters: {0}.'),matches=value.match(/(?:[\uD800-\uDBFF][\uDC00-\uDFFF])/g),result=matches===null;if(!result){validator.charErrorMessage=message.replace('{0}',matches.join());} return result;},function(){return this.charErrorMessage;}]},function(data){return{handler:data[0],message:data[1]};});});