(function(jQuery,window,undefined){var matched,browser;jQuery.uaMatch=function(ua){ua=ua.toLowerCase();var match=/(chrome)[ \/]([\w.]+)/.exec(ua)||/(webkit)[ \/]([\w.]+)/.exec(ua)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua)||/(msie) ([\w.]+)/.exec(ua)||ua.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua)||[];return{browser:match[1]||"",version:match[2]||"0"};};if(!jQuery.browser){matched=jQuery.uaMatch(navigator.userAgent);browser={};if(matched.browser){browser[matched.browser]=true;browser.version=matched.version;}
if(browser.chrome){browser.webkit=true;}else if(browser.webkit){browser.safari=true;}
jQuery.browser=browser;}})(jQuery,window);(function(){var $,win;$=this.jQuery;win=$(window);$.fn.stick_in_parent=function(opts){var elm,inner_scrolling,offset_top,parent_selector,sticky_class,_fn,_i,_len;if(opts==null){opts={};}
sticky_class=opts.sticky_class,inner_scrolling=opts.inner_scrolling,parent_selector=opts.parent,offset_top=opts.offset_top,allow_bottom=opts.allow_bottom;if(offset_top==null){offset_top=0;}
if(parent_selector==null){parent_selector=void 0;}
if(inner_scrolling==null){inner_scrolling=true;}
if(sticky_class==null){sticky_class="is_stuck";}
if(allow_bottom==null){allow_bottom=true;}
_fn=function(elm,padding_bottom,parent_top,parent_height,top,height,el_float){var bottomed,detach,fixed,last_pos,offset,parent,recalc,recalc_and_tick,spacer,tick,detaching=false;if(elm.data("sticky_kit")){return;}
elm.data("sticky_kit",true);parent=elm.parent();if(parent_selector!=null){parent=parent.closest(parent_selector);}
if(!parent.length){throw"failed to find stick parent";}
fixed=false;bottomed=false;spacer=$("<div />");spacer.css('position',elm.css('position'));recalc=function(){if(detaching){return;}
var border_top,padding_top,restore;border_top=parseInt(parent.css("border-top-width"),10);padding_top=parseInt(parent.css("padding-top"),10);padding_bottom=parseInt(parent.css("padding-bottom"),10);parent_top=parent.offset().top+border_top+padding_top;parent_height=parent.height();restore=fixed?(fixed=false,bottomed=false,elm.insertAfter(spacer).css({position:"",top:"",width:"",bottom:""}),spacer.detach(),true):void 0;top=elm.offset().top-parseInt(elm.css("margin-top"),10)-offset_top;height=elm.outerHeight(true);el_float=elm.css("float");spacer.css({width:elm.outerWidth(true),height:height,display:elm.css("display"),"vertical-align":elm.css("vertical-align"),"float":el_float});if(restore){return tick();}};recalc();if(height===parent_height){return;}
last_pos=void 0;offset=offset_top;tick=function(){if(detaching){return;}
var css,delta,scroll,will_bottom,win_height;scroll=win.scrollTop();if(last_pos!=null){delta=scroll-last_pos;}
last_pos=scroll;if(fixed){if(allow_bottom){will_bottom=scroll+height+offset>parent_height+parent_top;if(bottomed&&!will_bottom){bottomed=false;elm.css({position:"fixed",bottom:"",top:offset}).trigger("sticky_kit:unbottom");}}
if(scroll<=top){fixed=false;offset=offset_top;if(el_float==="left"||el_float==="right"){elm.insertAfter(spacer);}
spacer.detach();css={position:"",width:"",top:""};elm.css(css).removeClass(sticky_class).trigger("sticky_kit:unstick");}
if(inner_scrolling){win_height=win.height();if(height>win_height){if(!bottomed){offset-=delta;offset=Math.max(win_height-height,offset);offset=Math.min(offset_top,offset);if(fixed){elm.css({top:offset+"px"});}}}}}else{if(scroll>top){fixed=true;css={position:"fixed",top:offset};css.width=elm.css("box-sizing")==="border-box"?elm.outerWidth()+"px":elm.width()+"px";elm.css(css).addClass(sticky_class).after(spacer);if(el_float==="left"||el_float==="right"){spacer.append(elm);}
elm.trigger("sticky_kit:stick");}}
if(allow_bottom&&fixed){if(will_bottom==null){will_bottom=scroll+height+offset>parent_height+parent_top;}
if(!bottomed&&will_bottom){bottomed=true;if(parent.css("position")==="static"){parent.css({position:"relative"});}
return elm.css({position:"absolute",bottom:padding_bottom,top:"auto"}).trigger("sticky_kit:bottom");}}};recalc_and_tick=function(){if(detaching){return;}
recalc();return tick();};detach=function(){detaching=true;win.off("touchmove",tick);win.off("scroll",tick);win.off("resize",recalc_and_tick);$(document.body).off("sticky_kit:recalc",recalc_and_tick);elm.off("sticky_kit:detach",detach);elm.removeData("sticky_kit");elm.css({position:"",bottom:"",top:""});parent.position("position","");if(fixed){spacer.replaceWith(elm);elm.removeClass(sticky_class).trigger("sticky_kit:unstick");}};win.on("touchmove",tick);win.on("scroll",tick);win.on("resize",recalc_and_tick);$(document.body).on("sticky_kit:recalc",recalc_and_tick);elm.on("sticky_kit:detach",detach);return setTimeout(tick,0);};for(_i=0,_len=this.length;_i<_len;_i++){elm=this[_i];_fn($(elm));}
return this;};}).call(this);(function($){'use strict';var $window=$(window),_applyErrorStyle=function($elem,conf){var $parent=$elem.parent();$elem.addClass(conf.errorElementClass).attr("aria-invalid",true).removeClass('valid');if($parent.hasClass("input-group"))$parent=$parent.parent();$parent.addClass('has-error').removeClass('has-success');if(conf.borderColorOnError!==''){$elem.css('border-color',conf.borderColorOnError);}},_removeErrorStyle=function($elem,conf){$elem.each(function(){_setInlineErrorMessage($(this),'',conf,conf.errorMessagePosition);var $parent=$(this).parent();if($parent.hasClass("input-group"))$parent=$parent.parent();$(this).removeClass('valid').removeClass(conf.errorElementClass).removeAttr("aria-invalid").css('border-color','');$parent.removeClass('has-error').removeClass('has-success').find('.'+conf.errorMessageClass).remove();});},_setInlineErrorMessage=function($input,mess,conf,$messageContainer){var custom=_getInlineErrorElement($input);var $parent=$input.parent();if($parent.hasClass("input-group"))$parent=$parent.parent();if(custom){custom.innerHTML=mess;}
else if(typeof $messageContainer=='object'){var $found=false;$messageContainer.find('.'+conf.errorMessageClass).each(function(){if(this.inputReferer==$input[0]){$found=$(this);return false;}});if($found){if(!mess){$found.remove();}else{$found.html(mess);}}else{var $mess=$('<div class="'+conf.errorMessageClass+'" role="alert">'+mess+'</div>');$mess[0].inputReferer=$input[0];$messageContainer.prepend($mess);}}
else{var $mess=$parent.find('.'+conf.errorMessageClass+'.help-block');if($mess.length==0){$mess=$('<span role="alert"></span>').addClass('help-block').addClass(conf.errorMessageClass);$mess.appendTo($parent);}
$mess.html(mess);}},_getInlineErrorElement=function($input,conf){return document.getElementById($input.attr('name')+'_err_msg');},_templateMessage=function($form,title,errorMessages,conf){var messages=conf.errorMessageTemplate.messages.replace(/\{errorTitle\}/g,title);var fields=[];$.each(errorMessages,function(i,msg){fields.push(conf.errorMessageTemplate.field.replace(/\{msg\}/g,msg));});messages=messages.replace(/\{fields\}/g,fields.join(''));var container=conf.errorMessageTemplate.container.replace(/\{errorMessageClass\}/g,conf.errorMessageClass);container=container.replace(/\{messages\}/g,messages);$form.children().eq(0).before(container);};$.fn.validateOnBlur=function(language,settings){this.find('input[data-validation],textarea[data-validation],select[data-validation]').bind('blur.validation',function(){$(this).validateInputOnBlur(language,settings,true,'blur');});return this;};$.fn.validateOnEvent=function(language,settings){this.find('input[data-validation][data-validation-event],textarea[data-validation][data-validation-event],select[data-validation][data-validation-event]').each(function(){var $el=$(this),etype=$el.attr("data-validation-event");if(etype){$el.bind(etype+".validation",function(){$(this).validateInputOnBlur(language,settings,true,etype);});}});return this;};$.fn.showHelpOnFocus=function(attrName){if(!attrName){attrName='data-validation-help';}
this.find('.has-help-txt').valAttr('has-keyup-event',false).removeClass('has-help-txt');this.find('textarea,input').each(function(){var $elem=$(this),className='jquery_form_help_'+($elem.attr('name')||'').replace(/(:|\.|\[|\])/g,""),help=$elem.attr(attrName);if(help){$elem.addClass('has-help-txt').unbind('focus.help').bind('focus.help',function(){var $help=$elem.parent().find('.'+className);if($help.length==0){$help=$('<span />').addClass(className).addClass('help').addClass('help-block').text(help).hide();$elem.after($help);}
$help.fadeIn();}).unbind('blur.help').bind('blur.help',function(){$(this).parent().find('.'+className).fadeOut('slow');});}});return this;};$.fn.validateInputOnBlur=function(language,conf,attachKeyupEvent,eventType){$.formUtils.eventType=eventType;if((this.valAttr('suggestion-nr')||this.valAttr('postpone')||this.hasClass('hasDatepicker'))&&!window.postponedValidation){var _self=this,postponeTime=this.valAttr('postpone')||200;window.postponedValidation=function(){_self.validateInputOnBlur(language,conf,attachKeyupEvent,eventType);window.postponedValidation=false;};setTimeout(function(){if(window.postponedValidation){window.postponedValidation();}},postponeTime);return this;}
language=$.extend({},$.formUtils.LANG,language||{});_removeErrorStyle(this,conf);var $elem=this,$form=$elem.closest("form"),validationRule=$elem.attr(conf.validationRuleAttribute),validation=$.formUtils.validateInput($elem,language,$.extend({},conf,{errorMessagePosition:'element'}),$form,eventType);if(validation===true){$elem.addClass('valid').parent().addClass('has-success');}else if(validation!==null){_applyErrorStyle($elem,conf);_setInlineErrorMessage($elem,validation,conf,conf.errorMessagePosition);if(attachKeyupEvent){$elem.unbind('keyup.validation').bind('keyup.validation',function(){$(this).validateInputOnBlur(language,conf,false,'keyup');});}}
return this;};$.fn.valAttr=function(name,val){if(val===undefined){return this.attr('data-validation-'+name);}else if(val===false||val===null){return this.removeAttr('data-validation-'+name);}else{if(name.length>0)name='-'+name;return this.attr('data-validation'+name,val);}};$.fn.isValid=function(language,conf,displayError){if($.formUtils.isLoadingModules){var $self=this;setTimeout(function(){$self.isValid(language,conf,displayError);},200);return null;}
conf=$.extend({},$.formUtils.defaultConfig(),conf||{});language=$.extend({},$.formUtils.LANG,language||{});displayError=displayError!==false;$.formUtils.isValidatingEntireForm=true;$.formUtils.haltValidation=false;var addErrorMessage=function(mess,$elem){if(mess!==null){if($.inArray(mess,errorMessages)<0){errorMessages.push(mess);}
errorInputs.push($elem);$elem.attr('current-error',mess);if(displayError)
_applyErrorStyle($elem,conf);}},errorMessages=[],errorInputs=[],$form=this,ignoreInput=function(name,type){if(type==='submit'||type==='button'||type=='reset'){return true;}
return $.inArray(name,conf.ignore||[])>-1;};if(displayError){$form.find('.'+conf.errorMessageClass+'.alert').remove();_removeErrorStyle($form.find('.'+conf.errorElementClass+',.valid'),conf);}
$form.find('input,textarea,select').filter(':not([type="submit"],[type="button"])').each(function(){var $elem=$(this);var elementType=$elem.attr('type');if(!ignoreInput($elem.attr('name'),elementType)){var validation=$.formUtils.validateInput($elem,language,conf,$form,'submit');if(typeof conf.onElementValidate=='function'){conf.onElementValidate((validation===true),$elem,$form,validation);}
if(validation!==true){addErrorMessage(validation,$elem);}else{$elem.valAttr('current-error',false).addClass('valid').parent().addClass('has-success');}}});if(typeof conf.onValidate=='function'){var errors=conf.onValidate($form);if($.isArray(errors)){$.each(errors,function(i,err){addErrorMessage(err.message,err.element);});}
else if(errors&&errors.element&&errors.message){addErrorMessage(errors.message,errors.element);}}
$.formUtils.isValidatingEntireForm=false;if(!$.formUtils.haltValidation&&errorInputs.length>0){if(displayError){if(conf.errorMessagePosition==='top'){_templateMessage($form,language.errorTitle,errorMessages,conf);}
else if(conf.errorMessagePosition==='custom'){if(typeof conf.errorMessageCustom==='function'){conf.errorMessageCustom($form,language.errorTitle,errorMessages,conf);}}
else{$.each(errorInputs,function(i,$input){_setInlineErrorMessage($input,$input.attr('current-error'),conf,conf.errorMessagePosition);});}
if(conf.scrollToTopOnError){$window.scrollTop($form.offset().top-20);}}
return false;}
return!$.formUtils.haltValidation;};$.fn.validateForm=function(language,conf){if(window.console&&typeof window.console.warn=='function'){window.console.warn('Use of deprecated function $.validateForm, use $.isValid instead');}
return this.isValid(language,conf,true);}
$.fn.restrictLength=function(maxLengthElement){new $.formUtils.lengthRestriction(this,maxLengthElement);return this;};$.fn.addSuggestions=function(settings){var sugs=false;this.find('input').each(function(){var $field=$(this);sugs=$.split($field.attr('data-suggestions'));if(sugs.length>0&&!$field.hasClass('has-suggestions')){$.formUtils.suggest($field,sugs,settings);$field.addClass('has-suggestions');}});return this;};$.split=function(val,func,delim){if(typeof func!='function'){if(!val)
return[];var values=[];$.each(val.split(func?func:','),function(i,str){str=$.trim(str);if(str.length)
values.push(str);});return values;}else if(val){if(!delim)
delim=',';$.each(val.split(delim),function(i,str){str=$.trim(str);if(str.length)
return func(str,i);});}};$.validate=function(conf){var defaultConf=$.extend($.formUtils.defaultConfig(),{form:'form',validateOnEvent:true,validateOnBlur:true,showHelpOnFocus:true,addSuggestions:true,modules:'',onModulesLoaded:null,language:false,onSuccess:false,onError:false,onElementValidate:false});conf=$.extend(defaultConf,conf||{});$(conf.form).each(function(i,form){var $form=$(form);$window.trigger('formValidationSetup',[$form]);$form.find('.has-help-txt').unbind('focus.validation').unbind('blur.validation');$form.removeClass('has-validation-callback').unbind('submit.validation').unbind('reset.validation').find('input[data-validation],textarea[data-validation]').unbind('blur.validation');$form.bind('submit.validation',function(){var $form=$(this);if($.formUtils.isLoadingModules){setTimeout(function(){$form.trigger('submit.validation');},200);return false;}
var valid=$form.isValid(conf.language,conf);if(valid&&typeof conf.onSuccess=='function'){var callbackResponse=conf.onSuccess($form);if(callbackResponse===false)
return false;}else if(!valid&&typeof conf.onError=='function'){conf.onError($form);return false;}else{return valid;}}).bind('reset.validation',function(){$(this).find('.'+conf.errorMessageClass+'.alert').remove();_removeErrorStyle($(this).find('.'+conf.errorElementClass+',.valid'),conf);}).addClass('has-validation-callback');if(conf.showHelpOnFocus){$form.showHelpOnFocus();}
if(conf.addSuggestions){$form.addSuggestions();}
if(conf.validateOnBlur){$form.validateOnBlur(conf.language,conf);$form.bind('html5ValidationAttrsFound',function(){$form.validateOnBlur(conf.language,conf);})}
if(conf.validateOnEvent){$form.validateOnEvent(conf.language,conf);}});if(conf.modules!=''){if(typeof conf.onModulesLoaded=='function'){$window.one('validatorsLoaded',conf.onModulesLoaded);}
$.formUtils.loadModules(conf.modules);}};$.formUtils={defaultConfig:function(){return{ignore:[],errorElementClass:'error',borderColorOnError:'red',errorMessageClass:'form-error',validationRuleAttribute:'data-validation',validationErrorMsgAttribute:'data-validation-error-msg',errorMessagePosition:'element',errorMessageTemplate:{container:'<div class="{errorMessageClass} alert alert-danger">{messages}</div>',messages:'<strong>{errorTitle}</strong><ul>{fields}</ul>',field:'<li>{msg}</li>'},errorMessageCustom:_templateMessage,scrollToTopOnError:true,dateFormat:'yyyy-mm-dd',addValidClassOnAll:false,decimalSeparator:'.'}},validators:{},_events:{load:[],valid:[],invalid:[]},haltValidation:false,isValidatingEntireForm:false,addValidator:function(validator){var name=validator.name.indexOf('validate_')===0?validator.name:'validate_'+validator.name;if(validator.validateOnKeyUp===undefined)
validator.validateOnKeyUp=true;this.validators[name]=validator;},isLoadingModules:false,loadedModules:{},loadModules:function(modules,path,fireEvent){if(fireEvent===undefined)
fireEvent=true;if($.formUtils.isLoadingModules){setTimeout(function(){$.formUtils.loadModules(modules,path,fireEvent);});return;}
var hasLoadedAnyModule=false,loadModuleScripts=function(modules,path){var moduleList=$.split(modules),numModules=moduleList.length,moduleLoadedCallback=function(){numModules--;if(numModules==0){$.formUtils.isLoadingModules=false;if(fireEvent&&hasLoadedAnyModule){$window.trigger('validatorsLoaded');}}};if(numModules>0){$.formUtils.isLoadingModules=true;}
var cacheSuffix='?__='+(new Date().getTime()),appendToElement=document.getElementsByTagName('head')[0]||document.getElementsByTagName('body')[0];$.each(moduleList,function(i,modName){modName=$.trim(modName);if(modName.length==0){moduleLoadedCallback();}
else{var scriptUrl=path+modName+(modName.substr(-3)=='.js'?'':'.js'),script=document.createElement('SCRIPT');if(scriptUrl in $.formUtils.loadedModules){moduleLoadedCallback();}
else{$.formUtils.loadedModules[scriptUrl]=1;hasLoadedAnyModule=true;script.type='text/javascript';script.onload=moduleLoadedCallback;script.src=scriptUrl+(scriptUrl.substr(-7)=='.dev.js'?cacheSuffix:'');script.onreadystatechange=function(){if(this.readyState=='complete'||this.readyState=='loaded'){moduleLoadedCallback();this.onload=null;this.onreadystatechange=null;}};appendToElement.appendChild(script);}}});};if(path){loadModuleScripts(modules,path);}else{var findScriptPathAndLoadModules=function(){var foundPath=false;$('script[src*="form-validator"]').each(function(){foundPath=this.src.substr(0,this.src.lastIndexOf('/'))+'/';if(foundPath=='/')
foundPath='';return false;});if(foundPath!==false){loadModuleScripts(modules,foundPath);return true;}
return false;};if(!findScriptPathAndLoadModules()){$(findScriptPathAndLoadModules);}}},validateInput:function($elem,language,conf,$form,eventContext){if($elem.attr('disabled'))
return null;$elem.trigger('beforeValidation');var value=$elem.val()||'',optional=$elem.valAttr('optional'),validationDependsOnCheckedInput=false,validationDependentInputIsChecked=false,validateIfCheckedElement=false,validateIfCheckedElementName=$elem.valAttr("if-checked");if(validateIfCheckedElementName!=null){validationDependsOnCheckedInput=true;validateIfCheckedElement=$form.find('input[name="'+validateIfCheckedElementName+'"]');if(validateIfCheckedElement.prop('checked')){validationDependentInputIsChecked=true;}}
if((!value&&optional==='true')||(validationDependsOnCheckedInput&&!validationDependentInputIsChecked)){return conf.addValidClassOnAll?true:null;}
var validationRules=$elem.attr(conf.validationRuleAttribute),validationErrorMsg=true;if(!validationRules){return conf.addValidClassOnAll?true:null;}
$.split(validationRules,function(rule){if(rule.indexOf('validate_')!==0){rule='validate_'+rule;}
var validator=$.formUtils.validators[rule];if(validator&&typeof validator['validatorFunction']=='function'){if(rule=='validate_checkbox_group'){$elem=$("[name='"+$elem.attr('name')+"']:eq(0)");}
var isValid=null;if(eventContext!='keyup'||validator.validateOnKeyUp){isValid=validator.validatorFunction(value,$elem,conf,language,$form);}
if(!isValid){validationErrorMsg=null;if(isValid!==null){validationErrorMsg=$elem.attr(conf.validationErrorMsgAttribute+'-'+rule.replace('validate_',''));if(!validationErrorMsg){validationErrorMsg=$elem.attr(conf.validationErrorMsgAttribute);if(!validationErrorMsg){validationErrorMsg=language[validator.errorMessageKey];if(!validationErrorMsg)
validationErrorMsg=validator.errorMessage;}}}
return false;}}else{throw new Error('Using undefined validator "'+rule+'"');}},' ');if(typeof validationErrorMsg=='string'){$elem.trigger('validation',false);return validationErrorMsg;}else if(validationErrorMsg===null&&!conf.addValidClassOnAll){return null;}else{$elem.trigger('validation',true);return true;}},parseDate:function(val,dateFormat){var divider=dateFormat.replace(/[a-zA-Z]/gi,'').substring(0,1),regexp='^',formatParts=dateFormat.split(divider),matches,day,month,year;$.each(formatParts,function(i,part){regexp+=(i>0?'\\'+divider:'')+'(\\d{'+part.length+'})';});regexp+='$';matches=val.match(new RegExp(regexp));if(matches===null){return false;}
var findDateUnit=function(unit,formatParts,matches){for(var i=0;i<formatParts.length;i++){if(formatParts[i].substring(0,1)===unit){return $.formUtils.parseDateInt(matches[i+1]);}}
return-1;};month=findDateUnit('m',formatParts,matches);day=findDateUnit('d',formatParts,matches);year=findDateUnit('y',formatParts,matches);if((month===2&&day>28&&(year%4!==0||year%100===0&&year%400!==0))||(month===2&&day>29&&(year%4===0||year%100!==0&&year%400===0))||month>12||month===0){return false;}
if((this.isShortMonth(month)&&day>30)||(!this.isShortMonth(month)&&day>31)||day===0){return false;}
return[year,month,day];},parseDateInt:function(val){if(val.indexOf('0')===0){val=val.replace('0','');}
return parseInt(val,10);},isShortMonth:function(m){return(m%2===0&&m<7)||(m%2!==0&&m>7);},lengthRestriction:function($inputElement,$maxLengthElement){var maxChars=parseInt($maxLengthElement.text(),10),charsLeft=0,countCharacters=function(){var numChars=$inputElement.val().length;if(numChars>maxChars){var currScrollTopPos=$inputElement.scrollTop();$inputElement.val($inputElement.val().substring(0,maxChars));$inputElement.scrollTop(currScrollTopPos);}
charsLeft=maxChars-numChars;if(charsLeft<0)
charsLeft=0;$maxLengthElement.text(charsLeft);};$($inputElement).bind('keydown keyup keypress focus blur',countCharacters).bind('cut paste',function(){setTimeout(countCharacters,100);});$(document).bind("ready",countCharacters);},numericRangeCheck:function(value,rangeAllowed)
{var range=$.split(rangeAllowed,'-');var minmax=parseInt(rangeAllowed.substr(3),10)
if(range.length==2&&(value<parseInt(range[0],10)||value>parseInt(range[1],10)))
{return["out",range[0],range[1]];}
else if(rangeAllowed.indexOf('min')===0&&(value<minmax))
{return["min",minmax];}
else if(rangeAllowed.indexOf('max')===0&&(value>minmax))
{return["max",minmax];}
return["ok"];},_numSuggestionElements:0,_selectedSuggestion:null,_previousTypedVal:null,suggest:function($elem,suggestions,settings){var conf={css:{maxHeight:'150px',background:'#FFF',lineHeight:'150%',textDecoration:'underline',overflowX:'hidden',overflowY:'auto',border:'#CCC solid 1px',borderTop:'none',cursor:'pointer'},activeSuggestionCSS:{background:'#E9E9E9'}},setSuggsetionPosition=function($suggestionContainer,$input){var offset=$input.offset();$suggestionContainer.css({width:$input.outerWidth(),left:offset.left+'px',top:(offset.top+$input.outerHeight())+'px'});};if(settings)
$.extend(conf,settings);conf.css['position']='absolute';conf.css['z-index']=9999;$elem.attr('autocomplete','off');if(this._numSuggestionElements===0){$window.bind('resize',function(){$('.jquery-form-suggestions').each(function(){var $container=$(this),suggestID=$container.attr('data-suggest-container');setSuggsetionPosition($container,$('.suggestions-'+suggestID).eq(0));});});}
this._numSuggestionElements++;var onSelectSuggestion=function($el){var suggestionId=$el.valAttr('suggestion-nr');$.formUtils._selectedSuggestion=null;$.formUtils._previousTypedVal=null;$('.jquery-form-suggestion-'+suggestionId).fadeOut('fast');};$elem.data('suggestions',suggestions).valAttr('suggestion-nr',this._numSuggestionElements).unbind('focus.suggest').bind('focus.suggest',function(){$(this).trigger('keyup');$.formUtils._selectedSuggestion=null;}).unbind('keyup.suggest').bind('keyup.suggest',function(){var $input=$(this),foundSuggestions=[],val=$.trim($input.val()).toLocaleLowerCase();if(val==$.formUtils._previousTypedVal){return;}
else{$.formUtils._previousTypedVal=val;}
var hasTypedSuggestion=false,suggestionId=$input.valAttr('suggestion-nr'),$suggestionContainer=$('.jquery-form-suggestion-'+suggestionId);$suggestionContainer.scrollTop(0);if(val!=''){var findPartial=val.length>2;$.each($input.data('suggestions'),function(i,suggestion){var lowerCaseVal=suggestion.toLocaleLowerCase();if(lowerCaseVal==val){foundSuggestions.push('<strong>'+suggestion+'</strong>');hasTypedSuggestion=true;return false;}else if(lowerCaseVal.indexOf(val)===0||(findPartial&&lowerCaseVal.indexOf(val)>-1)){foundSuggestions.push(suggestion.replace(new RegExp(val,'gi'),'<strong>$&</strong>'));}});}
if(hasTypedSuggestion||(foundSuggestions.length==0&&$suggestionContainer.length>0)){$suggestionContainer.hide();}
else if(foundSuggestions.length>0&&$suggestionContainer.length==0){$suggestionContainer=$('<div></div>').css(conf.css).appendTo('body');$elem.addClass('suggestions-'+suggestionId);$suggestionContainer.attr('data-suggest-container',suggestionId).addClass('jquery-form-suggestions').addClass('jquery-form-suggestion-'+suggestionId);}
else if(foundSuggestions.length>0&&!$suggestionContainer.is(':visible')){$suggestionContainer.show();}
if(foundSuggestions.length>0&&val.length!=foundSuggestions[0].length){setSuggsetionPosition($suggestionContainer,$input);$suggestionContainer.html('');$.each(foundSuggestions,function(i,text){$('<div></div>').append(text).css({overflow:'hidden',textOverflow:'ellipsis',whiteSpace:'nowrap',padding:'5px'}).addClass('form-suggest-element').appendTo($suggestionContainer).click(function(){$input.focus();$input.val($(this).text());onSelectSuggestion($input);});});}}).unbind('keydown.validation').bind('keydown.validation',function(e){var code=(e.keyCode?e.keyCode:e.which),suggestionId,$suggestionContainer,$input=$(this);if(code==13&&$.formUtils._selectedSuggestion!==null){suggestionId=$input.valAttr('suggestion-nr');$suggestionContainer=$('.jquery-form-suggestion-'+suggestionId);if($suggestionContainer.length>0){var newText=$suggestionContainer.find('div').eq($.formUtils._selectedSuggestion).text();$input.val(newText);onSelectSuggestion($input);e.preventDefault();}}
else{suggestionId=$input.valAttr('suggestion-nr');$suggestionContainer=$('.jquery-form-suggestion-'+suggestionId);var $suggestions=$suggestionContainer.children();if($suggestions.length>0&&$.inArray(code,[38,40])>-1){if(code==38){if($.formUtils._selectedSuggestion===null)
$.formUtils._selectedSuggestion=$suggestions.length-1;else
$.formUtils._selectedSuggestion--;if($.formUtils._selectedSuggestion<0)
$.formUtils._selectedSuggestion=$suggestions.length-1;}
else if(code==40){if($.formUtils._selectedSuggestion===null)
$.formUtils._selectedSuggestion=0;else
$.formUtils._selectedSuggestion++;if($.formUtils._selectedSuggestion>($suggestions.length-1))
$.formUtils._selectedSuggestion=0;}
var containerInnerHeight=$suggestionContainer.innerHeight(),containerScrollTop=$suggestionContainer.scrollTop(),suggestionHeight=$suggestionContainer.children().eq(0).outerHeight(),activeSuggestionPosY=suggestionHeight*($.formUtils._selectedSuggestion);if(activeSuggestionPosY<containerScrollTop||activeSuggestionPosY>(containerScrollTop+containerInnerHeight)){$suggestionContainer.scrollTop(activeSuggestionPosY);}
$suggestions.removeClass('active-suggestion').css('background','none').eq($.formUtils._selectedSuggestion).addClass('active-suggestion').css(conf.activeSuggestionCSS);e.preventDefault();return false;}}}).unbind('blur.suggest').bind('blur.suggest',function(){onSelectSuggestion($(this));});return $elem;},LANG:{errorTitle:'Form submission failed!',requiredFields:'You have not answered all required fields',badTime:'You have not given a correct time',badEmail:'You have not given a correct e-mail address',badTelephone:'You have not given a correct phone number',badSecurityAnswer:'You have not given a correct answer to the security question',badDate:'You have not given a correct date',lengthBadStart:'The input value must be between ',lengthBadEnd:' characters',lengthTooLongStart:'The input value is longer than ',lengthTooShortStart:'The input value is shorter than ',notConfirmed:'Input values could not be confirmed',badDomain:'Incorrect domain value',badUrl:'The input value is not a correct URL',badCustomVal:'The input value is incorrect',badInt:'The input value was not a correct number',badSecurityNumber:'Your social security number was incorrect',badUKVatAnswer:'Incorrect UK VAT Number',badStrength:'The password isn\'t strong enough',badNumberOfSelectedOptionsStart:'You have to choose at least ',badNumberOfSelectedOptionsEnd:' answers',badAlphaNumeric:'The input value can only contain alphanumeric characters ',badAlphaNumericExtra:' and ',wrongFileSize:'The file you are trying to upload is too large',wrongFileType:'The file you are trying to upload is of wrong type',groupCheckedRangeStart:'Please choose between ',groupCheckedTooFewStart:'Please choose at least ',groupCheckedTooManyStart:'Please choose a maximum of ',groupCheckedEnd:' item(s)',badCreditCard:'Please enter valid card number',badCVV:'The CVV number was not correct'}};$.formUtils.addValidator({name:'email',validatorFunction:function(email){var emailParts=email.toLowerCase().split('@');if(emailParts.length==2){return $.formUtils.validators.validate_domain.validatorFunction(emailParts[1])&&!(/[^\w\+\.\-]/.test(emailParts[0]));}
return false;},errorMessage:'',errorMessageKey:'badEmail'});$.formUtils.addValidator({name:'domain',validatorFunction:function(val,$input){var topDomains=['.ac','.ad','.ae','.aero','.af','.ag','.ai','.al','.am','.an','.ao','.aq','.ar','.arpa','.as','.asia','.at','.au','.aw','.ax','.az','.ba','.bb','.bd','.be','.bf','.bg','.bh','.bi','.bike','.biz','.bj','.bm','.bn','.bo','.br','.bs','.bt','.bv','.bw','.by','.bz','.ca','.camera','.cat','.cc','.cd','.cf','.cg','.ch','.ci','.ck','.cl','.clothing','.cm','.cn','.co','.com','.construction','.contractors','.coop','.cr','.cu','.cv','.cw','.cx','.cy','.cz','.de','.diamonds','.directory','.dj','.dk','.dm','.do','.dz','.ec','.edu','.ee','.eg','.enterprises','.equipment','.er','.es','.estate','.et','.eu','.fi','.fj','.fk','.fm','.fo','.fr','.ga','.gallery','.gb','.gd','.ge','.gf','.gg','.gh','.gi','.gl','.gm','.gn','.gov','.gp','.gq','.gr','.graphics','.gs','.gt','.gu','.guru','.gw','.gy','.hk','.hm','.hn','.holdings','.hr','.ht','.hu','.id','.ie','.il','.im','.in','.info','.int','.io','.iq','.ir','.is','.it','.je','.jm','.jo','.jobs','.jp','.ke','.kg','.kh','.ki','.kitchen','.km','.kn','.kp','.kr','.kw','.ky','.kz','.la','.land','.lb','.lc','.li','.lighting','.lk','.lr','.ls','.lt','.lu','.lv','.ly','.ma','.mc','.md','.me','.menu','.mg','.mh','.mil','.mk','.ml','.mm','.mn','.mo','.mobi','.mp','.mq','.mr','.ms','.mt','.mu','.museum','.mv','.mw','.mx','.my','.mz','.na','.name','.nc','.ne','.net','.nf','.ng','.ni','.nl','.no','.np','.nr','.nu','.nz','.om','.org','.pa','.pe','.pf','.pg','.ph','.photography','.pk','.pl','.plumbing','.pm','.pn','.post','.pr','.pro','.ps','.pt','.pw','.py','.qa','.re','.ro','.rs','.ru','.rw','.sa','.sb','.sc','.sd','.se','.sexy','.sg','.sh','.si','.singles','.sj','.sk','.sl','.sm','.sn','.so','.sr','.st','.su','.sv','.sx','.sy','.sz','.tattoo','.tc','.td','.technology','.tel','.tf','.tg','.th','.tips','.tj','.tk','.tl','.tm','.tn','.to','.today','.tp','.tr','.travel','.tt','.tv','.tw','.tz','.ua','.ug','.uk','.uno','.us','.uy','.uz','.va','.vc','.ve','.ventures','.vg','.vi','.vn','.voyage','.vu','.wf','.ws','.xn--3e0b707e','.xn--45brj9c','.xn--80ao21a','.xn--80asehdb','.xn--80aswg','.xn--90a3ac','.xn--clchc0ea0b2g2a9gcd','.xn--fiqs8s','.xn--fiqz9s','.xn--fpcrj9c3d','.xn--fzc2c9e2c','.xn--gecrj9c','.xn--h2brj9c','.xn--j1amh','.xn--j6w193g','.xn--kprw13d','.xn--kpry57d','.xn--l1acc','.xn--lgbbat1ad8j','.xn--mgb9awbf','.xn--mgba3a4f16a','.xn--mgbaam7a8h','.xn--mgbayh7gpa','.xn--mgbbh1a71e','.xn--mgbc0a9azcg','.xn--mgberp4a5d4ar','.xn--mgbx4cd0ab','.xn--ngbc5azd','.xn--o3cw4h','.xn--ogbpf8fl','.xn--p1ai','.xn--pgbs0dh','.xn--q9jyb4c','.xn--s9brj9c','.xn--unup4y','.xn--wgbh1c','.xn--wgbl6a','.xn--xkc2al3hye2a','.xn--xkc2dl3a5ee0h','.xn--yfro4i67o','.xn--ygbi2ammx','.xxx','.ye','.yt','.za','.zm','.zw'],ukTopDomains=['co','me','ac','gov','judiciary','ltd','mod','net','nhs','nic','org','parliament','plc','police','sch','bl','british-library','jet','nls'],dot=val.lastIndexOf('.'),domain=val.substring(0,dot),ext=val.substring(dot,val.length),hasTopDomain=false;for(var i=0;i<topDomains.length;i++){if(topDomains[i]===ext){if(ext==='.uk'){var domainParts=val.split('.');var tld2=domainParts[domainParts.length-2];for(var j=0;j<ukTopDomains.length;j++){if(ukTopDomains[j]===tld2){hasTopDomain=true;break;}}
if(hasTopDomain)
break;}else{hasTopDomain=true;break;}}}
if(!hasTopDomain){return false;}else if(dot<2||dot>57){return $.inArray(val,['i.net','q.com','q.net','x.com','x.org','z.com','w.org'])>-1;}else{var firstChar=domain.substring(0,1),lastChar=domain.substring(domain.length-1,domain.length);if(firstChar==='-'||firstChar==='.'||lastChar==='-'||lastChar==='.'){return false;}
if(domain.split('..').length>1){return false;}
if(domain.replace(/[-\da-z\.]/g,'')!==''){return false;}}
if(typeof $input!=='undefined'){$input.val(val);}
return true;},errorMessage:'',errorMessageKey:'badDomain'});$.formUtils.addValidator({name:'required',validatorFunction:function(val,$el,config,language,$form){switch($el.attr('type')){case'checkbox':return $el.is(':checked');case'radio':return $form.find('input[name="'+$el.attr('name')+'"]').filter(':checked').length>0;default:return $.trim(val)!=='';}},errorMessage:'',errorMessageKey:'requiredFields'});$.formUtils.addValidator({name:'length',validatorFunction:function(val,$el,conf,lang){var lengthAllowed=$el.valAttr('length'),type=$el.attr('type');if(lengthAllowed==undefined){var elementType=$el.get(0).nodeName;alert('Please add attribute "data-validation-length" to '+elementType+' named '+$el.attr('name'));return true;}
var len=type=='file'&&$el.get(0).files!==undefined?$el.get(0).files.length:val.length,lengthCheckResults=$.formUtils.numericRangeCheck(len,lengthAllowed),checkResult;switch(lengthCheckResults[0])
{case"out":this.errorMessage=lang.lengthBadStart+lengthAllowed+lang.lengthBadEnd;checkResult=false;break;case"min":this.errorMessage=lang.lengthTooShortStart+lengthCheckResults[1]+lang.lengthBadEnd;checkResult=false;break;case"max":this.errorMessage=lang.lengthTooLongStart+lengthCheckResults[1]+lang.lengthBadEnd;checkResult=false;break;default:checkResult=true;}
return checkResult;},errorMessage:'',errorMessageKey:''});$.formUtils.addValidator({name:'url',validatorFunction:function(url){var urlFilter=/^(https?|ftp):\/\/((((\w|-|\.|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\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])(\w|-|\.|~|[\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])(\w|-|\.|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/(((\w|-|\.|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/((\w|-|\.|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|\[|\]|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#(((\w|-|\.|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i;if(urlFilter.test(url)){var domain=url.split('://')[1];var domainSlashPos=domain.indexOf('/');if(domainSlashPos>-1)
domain=domain.substr(0,domainSlashPos);return $.formUtils.validators.validate_domain.validatorFunction(domain);}
return false;},errorMessage:'',errorMessageKey:'badUrl'});$.formUtils.addValidator({name:'number',validatorFunction:function(val,$el,conf){if(val!==''){var allowing=$el.valAttr('allowing')||'',decimalSeparator=$el.valAttr('decimal-separator')||conf.decimalSeparator,allowsRange=false,begin,end,steps=$el.valAttr('step')||'',allowsSteps=false;if(allowing.indexOf('number')==-1)
allowing+=',number';if(allowing.indexOf('negative')>-1&&val.indexOf('-')===0){val=val.substr(1);}
if(allowing.indexOf('range')>-1)
{begin=parseFloat(allowing.substring(allowing.indexOf("[")+1,allowing.indexOf(";")));end=parseFloat(allowing.substring(allowing.indexOf(";")+1,allowing.indexOf("]")));allowsRange=true;}
if(steps!="")
{allowsSteps=true;}
if(decimalSeparator==','){if(val.indexOf('.')>-1){return false;}
val=val.replace(',','.');}
if(allowing.indexOf('number')>-1&&val.replace(/[0-9]/g,'')===''&&(!allowsRange||(val>=begin&&val<=end))&&(!allowsSteps||(val%steps==0))){return true;}
if(allowing.indexOf('float')>-1&&val.match(new RegExp('^([0-9]+)\\.([0-9]+)$'))!==null&&(!allowsRange||(val>=begin&&val<=end))&&(!allowsSteps||(val%steps==0))){return true;}}
return false;},errorMessage:'',errorMessageKey:'badInt'});$.formUtils.addValidator({name:'alphanumeric',validatorFunction:function(val,$el,conf,language){var patternStart='^([a-zA-Z0-9',patternEnd=']+)$',additionalChars=$el.attr('data-validation-allowing'),pattern='';if(additionalChars){pattern=patternStart+additionalChars+patternEnd;var extra=additionalChars.replace(/\\/g,'');if(extra.indexOf(' ')>-1){extra=extra.replace(' ','');extra+=' and spaces ';}
this.errorMessage=language.badAlphaNumeric+language.badAlphaNumericExtra+extra;}else{pattern=patternStart+patternEnd;this.errorMessage=language.badAlphaNumeric;}
return new RegExp(pattern).test(val);},errorMessage:'',errorMessageKey:''});$.formUtils.addValidator({name:'custom',validatorFunction:function(val,$el,conf){var regexp=new RegExp($el.valAttr('regexp'));return regexp.test(val);},errorMessage:'',errorMessageKey:'badCustomVal'});$.formUtils.addValidator({name:'date',validatorFunction:function(date,$el,conf){var dateFormat='yyyy-mm-dd';if($el.valAttr('format')){dateFormat=$el.valAttr('format');}
else if(conf.dateFormat){dateFormat=conf.dateFormat;}
return $.formUtils.parseDate(date,dateFormat)!==false;},errorMessage:'',errorMessageKey:'badDate'});$.formUtils.addValidator({name:'checkbox_group',validatorFunction:function(val,$el,conf,lang,$form)
{var checkResult=true;var elname=$el.attr('name');var checkedCount=$("input[type=checkbox][name^='"+elname+"']:checked",$form).length;var qtyAllowed=$el.valAttr('qty');if(qtyAllowed==undefined){var elementType=$el.get(0).nodeName;alert('Attribute "data-validation-qty" is missing from '+elementType+' named '+$el.attr('name'));}
var qtyCheckResults=$.formUtils.numericRangeCheck(checkedCount,qtyAllowed);switch(qtyCheckResults[0]){case"out":this.errorMessage=lang.groupCheckedRangeStart+qtyAllowed+lang.groupCheckedEnd;checkResult=false;break;case"min":this.errorMessage=lang.groupCheckedTooFewStart+qtyCheckResults[1]+lang.groupCheckedEnd;checkResult=false;break;case"max":this.errorMessage=lang.groupCheckedTooManyStart+qtyCheckResults[1]+lang.groupCheckedEnd;checkResult=false;break;default:checkResult=true;}
return checkResult;}});})(jQuery);(function($,window){'use strict';$.formUtils.addValidator({name:'confirmation',validatorFunction:function(value,$el,conf,language,$form){var conf='',confInputName=$el.valAttr('confirm')||($el.attr('name')+'_confirmation'),confInput=$form.find('input[name="'+confInputName+'"]').eq(0);if(confInput){conf=confInput.val();}else{console.warn('Could not find an input with name "'+confInputName+'"');}
return value===conf;},errorMessage:'',errorMessageKey:'notConfirmed'});$.formUtils.addValidator({name:'creditcard',validatorFunction:function(value,$el,conf,language,$form){console.debug(language)
var cards={'AE':/^3[47][0-9]{13}$/,'VI':/^4[0-9]{12}(?:[0-9]{3})?$/,'MC':/^5[1-5][0-9]{14}$/,'DI':/^6(?:011|5[0-9]{2})[0-9]{12}$/,'JD':/^600331[0-9]*$/},$cardType=$("[name='"+$el.valAttr("creditcard-card-type")+"']",$form),cardType=$cardType.val();value=value.replace(/[\s_]/g,"");if(cardType=='JDI'||cardType=='JDID'){return true;}
if(!/^[0-9]+$/.test(value)){return false}
var checkSum=0;$.each(value.split('').reverse(),function(i,digit){digit=parseInt(digit,10);if(i%2===0){checkSum+=digit;}else{digit*=2;if(digit<10){checkSum+=digit;}else{checkSum+=digit-9;}}});var isValid=checkSum%10===0;return isValid&&cards[cardType].test(value);},errorMessage:'',errorMessageKey:'badCreditCard'});$.formUtils.addValidator({name:'creditcardtype',validatorFunction:function(value,$el,conf,language,$form){var cardNumber=$("[name='"+$el.valAttr("creditcard-card-number")+"']",$form).val(),expectedType=null;if(value=="JDI"||value=="JDID"){return true;}
if(/^5/.test(cardNumber)){expectedType="MC";}else if(/^4/.test(cardNumber)){expectedType="VI";}else if(/^3/.test(cardNumber)){expectedType="AE";}else if(/^(601|64|65|62)/.test(cardNumber)){expectedType="DI";}else if(/^6003/.test(cardNumber)){expectedType="JD";}
return cardNumber==""||expectedType==null||expectedType==value;},errorMessage:($("body").data("language")=="fr"?"Le numéro de carte ne correspond pas au type de paiement":'Card number does not match payment type'),errorMessageKey:'badCreditCardType'});$.formUtils.addValidator({name:'cvv',validatorFunction:function(val){return val.replace(/[0-9]/g,'')===''&&(val+'').length==3;},errorMessage:'',errorMessageKey:'badCVV'});$.formUtils.addValidator({name:'expiration',validatorFunction:function(value,$el,conf,language,$form){var yearField=$el.valAttr("expiration-year"),monthField=$el.valAttr("expiration-month"),$year=$("[name='"+yearField+"']",$form),$month=$("[name='"+monthField+"']",$form),year=$year.val(),month=$month.val(),cardType=$("[name='"+$el.valAttr("expiration-card-type")+"']",$form).val();var d=new Date(),currentYear=d.getFullYear(),currentMonth=d.getMonth()+1;var isValid=(cardType==="JD"||cardType==="JDI"||cardType==="JDID"||(year!=""&&month!=""&&(year>currentYear||(year==currentYear&&month>=currentMonth))));var $oposite=($el.attr("name")==yearField?$month:$year);if(isValid){$oposite.removeClass('valid').removeClass(conf.errorElementClass).removeAttr("aria-invalid");}else{$oposite.removeClass('valid').addClass(conf.errorElementClass).attr("aria-invalid",true);}
return isValid;},errorMessage:($("body").data("language")=="fr"?"Date d'expiration non valide.":'Invalid expiration date.'),errorMessageKey:'badExipration'});$.formUtils.addValidator({name:'cardName',validatorFunction:function(value,$el,conf,language,$form){var cardType=$("[name='"+$el.valAttr("expiration-card-type")+"']",$form).val();return(cardType==="JDI"||cardType==="JDID"||!!value);},errorMessage:($("body").data("language")=="fr"?"Veuillez entrer le nom figurant sur la carte.":'Please enter name on card.'),errorMessageKey:'badName'});$.formUtils.addValidator({name:'serialnumber',validatorFunction:function(value,$el,conf,language,$form){var expectedFormat="0AXXXXXXAAA000000",resultSample=[],resultValid=true,getChar=function(valid,str){if(valid){return str;}
return"<span class='error'>"+str+"</span>";};for(var i=0,len=expectedFormat.length;i<len;i++){var expectedChar=expectedFormat[i];var isValid=false;if(value.length>=i){switch(expectedChar){case'0':isValid=/^[0-9]$/.test(value[i]);break;case'A':isValid=/^[a-zA-Z]$/.test(value[i]);break;case'X':isValid=/^[a-zA-Z0-9]$/.test(value[i]);break;}}
resultValid&=isValid;resultSample.push(getChar(isValid,expectedChar));}
$el.parent().siblings("div.serialNumberSample").html(resultSample.join(''));return resultValid;},errorMessage:'',errorMessageKey:'badSerialNumber'});})(jQuery,window);(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$('<iframe tabindex="-1" title="empty"/>').hide().one("load",function(){r||l(a());n()}).attr("src",r||"javascript:0").insertAfter("body")[0].contentWindow;h.onpropertychange=function(){try{if(event.propertyName==="title"){q.document.title=h.title}}catch(s){}}}};j.stop=k;o=function(){return a(q.location.href)};l=function(v,s){var u=q.document,t=$.fn[c].domain;if(v!==s){u.title=h.title;u.open();t&&u.write('<script>document.domain="'+t+'"<\/script>');u.close();q.location.hash=v}}})();return j})()})(jQuery,this);jQuery.easing.jswing=jQuery.easing.swing;jQuery.extend(jQuery.easing,{def:"easeOutQuad",swing:function(e,f,a,h,g){return jQuery.easing[jQuery.easing.def](e,f,a,h,g)},easeInQuad:function(e,f,a,h,g){return h*(f/=g)*f+a},easeOutQuad:function(e,f,a,h,g){return-h*(f/=g)*(f-2)+a},easeInOutQuad:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f+a}return-h/2*((--f)*(f-2)-1)+a},easeInCubic:function(e,f,a,h,g){return h*(f/=g)*f*f+a},easeOutCubic:function(e,f,a,h,g){return h*((f=f/g-1)*f*f+1)+a},easeInOutCubic:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f*f+a}return h/2*((f-=2)*f*f+2)+a},easeInQuart:function(e,f,a,h,g){return h*(f/=g)*f*f*f+a},easeOutQuart:function(e,f,a,h,g){return-h*((f=f/g-1)*f*f*f-1)+a},easeInOutQuart:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f*f*f+a}return-h/2*((f-=2)*f*f*f-2)+a},easeInQuint:function(e,f,a,h,g){return h*(f/=g)*f*f*f*f+a},easeOutQuint:function(e,f,a,h,g){return h*((f=f/g-1)*f*f*f*f+1)+a},easeInOutQuint:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f*f*f*f+a}return h/2*((f-=2)*f*f*f*f+2)+a},easeInSine:function(e,f,a,h,g){return-h*Math.cos(f/g*(Math.PI/2))+h+a},easeOutSine:function(e,f,a,h,g){return h*Math.sin(f/g*(Math.PI/2))+a},easeInOutSine:function(e,f,a,h,g){return-h/2*(Math.cos(Math.PI*f/g)-1)+a},easeInExpo:function(e,f,a,h,g){return(f==0)?a:h*Math.pow(2,10*(f/g-1))+a},easeOutExpo:function(e,f,a,h,g){return(f==g)?a+h:h*(-Math.pow(2,-10*f/g)+1)+a},easeInOutExpo:function(e,f,a,h,g){if(f==0){return a}if(f==g){return a+h}if((f/=g/2)<1){return h/2*Math.pow(2,10*(f-1))+a}return h/2*(-Math.pow(2,-10*--f)+2)+a},easeInCirc:function(e,f,a,h,g){return-h*(Math.sqrt(1-(f/=g)*f)-1)+a},easeOutCirc:function(e,f,a,h,g){return h*Math.sqrt(1-(f=f/g-1)*f)+a},easeInOutCirc:function(e,f,a,h,g){if((f/=g/2)<1){return-h/2*(Math.sqrt(1-f*f)-1)+a}return h/2*(Math.sqrt(1-(f-=2)*f)+1)+a},easeInElastic:function(f,h,e,l,k){var i=1.70158;var j=0;var g=l;if(h==0){return e}if((h/=k)==1){return e+l}if(!j){j=k*0.3}if(g<Math.abs(l)){g=l;var i=j/4}else{var i=j/(2*Math.PI)*Math.asin(l/g)}return-(g*Math.pow(2,10*(h-=1))*Math.sin((h*k-i)*(2*Math.PI)/j))+e},easeOutElastic:function(f,h,e,l,k){var i=1.70158;var j=0;var g=l;if(h==0){return e}if((h/=k)==1){return e+l}if(!j){j=k*0.3}if(g<Math.abs(l)){g=l;var i=j/4}else{var i=j/(2*Math.PI)*Math.asin(l/g)}return g*Math.pow(2,-10*h)*Math.sin((h*k-i)*(2*Math.PI)/j)+l+e},easeInOutElastic:function(f,h,e,l,k){var i=1.70158;var j=0;var g=l;if(h==0){return e}if((h/=k/2)==2){return e+l}if(!j){j=k*(0.3*1.5)}if(g<Math.abs(l)){g=l;var i=j/4}else{var i=j/(2*Math.PI)*Math.asin(l/g)}if(h<1){return-0.5*(g*Math.pow(2,10*(h-=1))*Math.sin((h*k-i)*(2*Math.PI)/j))+e}return g*Math.pow(2,-10*(h-=1))*Math.sin((h*k-i)*(2*Math.PI)/j)*0.5+l+e},easeInBack:function(e,f,a,i,h,g){if(g==undefined){g=1.70158}return i*(f/=h)*f*((g+1)*f-g)+a},easeOutBack:function(e,f,a,i,h,g){if(g==undefined){g=1.70158}return i*((f=f/h-1)*f*((g+1)*f+g)+1)+a},easeInOutBack:function(e,f,a,i,h,g){if(g==undefined){g=1.70158}if((f/=h/2)<1){return i/2*(f*f*(((g*=(1.525))+1)*f-g))+a}return i/2*((f-=2)*f*(((g*=(1.525))+1)*f+g)+2)+a},easeInBounce:function(e,f,a,h,g){return h-jQuery.easing.easeOutBounce(e,g-f,0,h,g)+a},easeOutBounce:function(e,f,a,h,g){if((f/=g)<(1/2.75)){return h*(7.5625*f*f)+a}else{if(f<(2/2.75)){return h*(7.5625*(f-=(1.5/2.75))*f+0.75)+a}else{if(f<(2.5/2.75)){return h*(7.5625*(f-=(2.25/2.75))*f+0.9375)+a}else{return h*(7.5625*(f-=(2.625/2.75))*f+0.984375)+a}}}},easeInOutBounce:function(e,f,a,h,g){if(f<g/2){return jQuery.easing.easeInBounce(e,f*2,0,h,g)*0.5+a}return jQuery.easing.easeOutBounce(e,f*2-g,0,h,g)*0.5+h*0.5+a}});(function(b,a){if(typeof exports==="object"&&exports){a(exports)}else{if(typeof define==="function"&&define.amd){define(["exports"],a)}else{a(b.Mustache={})}}}(this,function(a){var u=Object.prototype.toString;var k=Array.isArray||function(x){return u.call(x)==="[object Array]"};function b(x){return typeof x==="function"}function e(x){return x.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}var g=RegExp.prototype.test;function q(y,x){return g.call(y,x)}var j=/\S/;function h(x){return!q(j,x)}var d={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};function m(x){return String(x).replace(/[&<>"'\/]/g,function(y){return d[y]})}var f=/\s*/;var l=/\s+/;var t=/\s*=/;var n=/\s*\}/;var r=/#|\^|\/|>|\{|&|=|!/;function w(Q,F){if(!Q){return[]}var H=[];var G=[];var C=[];var R=false;var O=false;function N(){if(R&&!O){while(C.length){delete G[C.pop()]}}else{C=[]}R=false;O=false}var J,E,P;function D(S){if(typeof S==="string"){S=S.split(l,2)}if(!k(S)||S.length!==2){throw new Error("Invalid tags: "+S)}J=new RegExp(e(S[0])+"\\s*");E=new RegExp("\\s*"+e(S[1]));P=new RegExp("\\s*"+e("}"+S[1]))}D(F||a.tags);var z=new s(Q);var A,y,I,L,B,x;while(!z.eos()){A=z.pos;I=z.scanUntil(J);if(I){for(var M=0,K=I.length;M<K;++M){L=I.charAt(M);if(h(L)){C.push(G.length)}else{O=true}G.push(["text",L,A,A+1]);A+=1;if(L==="\n"){N()}}}if(!z.scan(J)){break}R=true;y=z.scan(r)||"name";z.scan(f);if(y==="="){I=z.scanUntil(t);z.scan(t);z.scanUntil(E)}else{if(y==="{"){I=z.scanUntil(P);z.scan(n);z.scanUntil(E);y="&"}else{I=z.scanUntil(E)}}if(!z.scan(E)){throw new Error("Unclosed tag at "+z.pos)}B=[y,I,A,z.pos];G.push(B);if(y==="#"||y==="^"){H.push(B)}else{if(y==="/"){x=H.pop();if(!x){throw new Error('Unopened section "'+I+'" at '+A)}if(x[1]!==I){throw new Error('Unclosed section "'+x[1]+'" at '+A)}}else{if(y==="name"||y==="{"||y==="&"){O=true}else{if(y==="="){D(I)}}}}}x=H.pop();if(x){throw new Error('Unclosed section "'+x[1]+'" at '+z.pos)}return v(c(G))}function c(C){var y=[];var A,x;for(var z=0,B=C.length;z<B;++z){A=C[z];if(A){if(A[0]==="text"&&x&&x[0]==="text"){x[1]+=A[1];x[3]=A[3]}else{y.push(A);x=A}}}return y}function v(C){var E=[];var B=E;var D=[];var y,A;for(var x=0,z=C.length;x<z;++x){y=C[x];switch(y[0]){case"#":case"^":B.push(y);D.push(y);B=y[4]=[];break;case"/":A=D.pop();A[5]=y[2];B=D.length>0?D[D.length-1][4]:E;break;default:B.push(y)}}return E}function s(x){this.string=x;this.tail=x;this.pos=0}s.prototype.eos=function(){return this.tail===""};s.prototype.scan=function(z){var y=this.tail.match(z);if(!y||y.index!==0){return""}var x=y[0];this.tail=this.tail.substring(x.length);this.pos+=x.length;return x};s.prototype.scanUntil=function(z){var y=this.tail.search(z),x;switch(y){case-1:x=this.tail;this.tail="";break;case 0:x="";break;default:x=this.tail.substring(0,y);this.tail=this.tail.substring(y)}this.pos+=x.length;return x};function p(y,x){this.view=y==null?{}:y;this.cache={".":this.view};this.parent=x}p.prototype.push=function(x){return new p(x,this)};p.prototype.lookup=function(z){var x=this.cache;var B;if(z in x){B=x[z]}else{var A=this,C,y;while(A){if(z.indexOf(".")>0){B=A.view;C=z.split(".");y=0;while(B!=null&&y<C.length){B=B[C[y++]]}}else{B=A.view[z]}if(B!=null){break}A=A.parent}x[z]=B}if(b(B)){B=B.call(this.view)}return B};function o(){this.cache={}}o.prototype.clearCache=function(){this.cache={}};o.prototype.parse=function(z,y){var x=this.cache;var A=x[z];if(A==null){A=x[z]=w(z,y)}return A};o.prototype.render=function(A,x,z){var B=this.parse(A);var y=(x instanceof p)?x:new p(x);return this.renderTokens(B,y,z,A)};o.prototype.renderTokens=function(F,x,D,I){var B="";var J=this;function y(K){return J.render(K,x,D)}var z,G;for(var C=0,E=F.length;C<E;++C){z=F[C];switch(z[0]){case"#":G=x.lookup(z[1]);if(!G){continue}if(k(G)){for(var A=0,H=G.length;A<H;++A){B+=this.renderTokens(z[4],x.push(G[A]),D,I)}}else{if(typeof G==="object"||typeof G==="string"){B+=this.renderTokens(z[4],x.push(G),D,I)}else{if(b(G)){if(typeof I!=="string"){throw new Error("Cannot use higher-order sections without the original template")}G=G.call(x.view,I.slice(z[3],z[5]),y);if(G!=null){B+=G}}else{B+=this.renderTokens(z[4],x,D,I)}}}break;case"^":G=x.lookup(z[1]);if(!G||(k(G)&&G.length===0)){B+=this.renderTokens(z[4],x,D,I)}break;case">":if(!D){continue}G=b(D)?D(z[1]):D[z[1]];if(G!=null){B+=this.renderTokens(this.parse(G),x,D,G)}break;case"&":G=x.lookup(z[1]);if(G!=null){B+=G}break;case"name":G=x.lookup(z[1]);if(G!=null){B+=a.escape(G)}break;case"text":B+=z[1];break}}return B};a.name="mustache.js";a.version="0.8.1";a.tags=["{{","}}"];var i=new o();a.clearCache=function(){return i.clearCache()};a.parse=function(y,x){return i.parse(y,x)};a.render=function(z,x,y){return i.render(z,x,y)};a.to_html=function(A,y,z,B){var x=a.render(A,y,z);if(b(B)){B(x)}else{return x}};a.escape=m;a.Scanner=s;a.Context=p;a.Writer=o}));(function(h){function l(f){var k=h.Toggles=function(b,a){if("boolean"===typeof a&&b.data("toggles"))b.data("toggles").toggle(a);else{for(var c="on drag click width height animate easing type checkbox".split(" "),e={},d=0;d<c.length;d++){var g=b.data("toggle-"+c[d]);"undefined"!==typeof g&&(e[c[d]]=g)}a=this.b=f.extend({drag:!0,click:!0,text:{on:"ON",off:"OFF"},on:!1,animate:250,easing:"swing",checkbox:null,clicker:null,width:50,height:20,type:"compact",event:"toggle"},a||{},e);this.c=b;b.data("toggles",this);this.h="select"===a.type;this.l=f(a.checkbox);a.clicker&&(this.n=f(a.clicker));this.m();this.k();this.active=!a.on;this.toggle(a.on,!0,!0)}};k.prototype.m=function(){function b(a){return f('<div class="toggle-'+a+'">')}var a=this.c.height(),c=this.c.width();a||this.c.height(a=this.b.height);c||this.c.width(c=this.b.width);this.g=a;this.i=c;this.a={f:b("slide"),e:b("inner"),on:b("on"),off:b("off"),d:b("blob")};var e=a/2,d=c-e,g=this.h;this.a.on.css({height:a,width:d,textIndent:g?"":-e,lineHeight:a+"px"}).html(this.b.text.on);this.a.off.css({height:a,width:d,marginLeft:g?"":-e,textIndent:g?"":e,lineHeight:a+"px"}).html(this.b.text.off);this.a.d.css({height:a,width:a,marginLeft:-e});this.a.e.css({width:2*c-a,marginLeft:g||this.active?0:-c+a});this.h&&(this.a.f.addClass("toggle-select"),this.c.css("width",2*d),this.a.d.hide());this.a.e.append(this.a.on,this.a.d,this.a.off);this.a.f.html(this.a.e);this.c.html(this.a.f)};k.prototype.k=function(){function b(b){b.target===a.a.d[0]&&a.b.drag||a.toggle()}
var a=this;if(a.b.click&&(!a.b.clicker||!a.b.clicker.has(a.c).length))a.c.on("click",b);if(a.b.clicker)a.b.clicker.on("click",b);a.b.drag&&!a.h&&a.j()};k.prototype.j=function(){function b(b){a.c.off("mousemove");a.a.f.off("mouseleave");a.a.d.off("mouseup");!c&&a.b.click&&"mouseleave"!==b.type?a.toggle():(a.active?c<-e:c>e)?a.toggle():a.a.e.stop().animate({marginLeft:a.active?0:-a.i+a.g},a.b.animate/2)}var a=this,c,e=(a.i-a.g)/4,d=-a.i+a.g;a.a.d.on("mousedown",function(e){c=0;a.a.d.off("mouseup");a.a.f.off("mouseleave");var f=e.pageX;a.c.on("mousemove",a.a.d,function(b){c=b.pageX-f;a.active?(b=c,0<c&&(b=0),c<d&&(b=d)):(b=c+d,0>c&&(b=d),c>-d&&(b=0));a.a.e.css("margin-left",b)});a.a.d.on("mouseup",b);a.a.f.on("mouseleave",b)})};k.prototype.toggle=function(b,a,c){this.active!==b&&(b=this.active=!this.active,this.c.data("toggle-active",b),this.a.off.toggleClass("active",!b),this.a.on.toggleClass("active",b),this.l.prop("checked",b),c||this.c.trigger(this.b.event,b),this.h||(c=b?0:-this.i+this.g,this.a.e.stop().animate({marginLeft:c},a?0:this.b.animate)))};f.fn.toggles=function(b){return this.each(function(){new k(f(this),b)})}}"function"===typeof define&&define.amd?define(["jquery"],l):l(h.jQuery||h.Zepto||h.ender||h.$||$)})(this);!function(a){"function"==typeof define&&define.amd?define("inputmask",["inputmask.dependencyLib"],a):"object"==typeof exports?module.exports=a(require("./inputmask.dependencyLib")):a(window.dependencyLib||jQuery)}(function(a){function b(d,e,f){return this instanceof b?(this.el=void 0,this.events={},this.maskset=void 0,this.refreshValue=!1,void(f!==!0&&(a.isPlainObject(d)?e=d:(e=e||{},e.alias=d),this.opts=a.extend(!0,{},this.defaults,e),this.noMasksCache=e&&void 0!==e.definitions,this.userOptions=e||{},this.isRTL=this.opts.numericInput,c(this.opts.alias,e,this.opts)))):new b(d,e,f)}function c(d,e,f){var g=b.prototype.aliases[d];return g?(g.alias&&c(g.alias,void 0,f),a.extend(!0,f,g),a.extend(!0,f,e),!0):(null===f.mask&&(f.mask=d),!1)}function d(c,d){function e(c,e,f){if(null!==c&&""!==c){if(1===c.length&&f.greedy===!1&&0!==f.repeat&&(f.placeholder=""),f.repeat>0||"*"===f.repeat||"+"===f.repeat){var g="*"===f.repeat?0:"+"===f.repeat?1:f.repeat;c=f.groupmarker.start+c+f.groupmarker.end+f.quantifiermarker.start+g+","+f.repeat+f.quantifiermarker.end}var h;return void 0===b.prototype.masksCache[c]||d===!0?(h={mask:c,maskToken:b.prototype.analyseMask(c,f),validPositions:{},_buffer:void 0,buffer:void 0,tests:{},metadata:e,maskLength:void 0},d!==!0&&(b.prototype.masksCache[f.numericInput?c.split("").reverse().join(""):c]=h,h=a.extend(!0,{},b.prototype.masksCache[f.numericInput?c.split("").reverse().join(""):c]))):h=a.extend(!0,{},b.prototype.masksCache[f.numericInput?c.split("").reverse().join(""):c]),h}}var f;if(a.isFunction(c.mask)&&(c.mask=c.mask(c)),a.isArray(c.mask)){if(c.mask.length>1){c.keepStatic=null===c.keepStatic||c.keepStatic;var g=c.groupmarker.start;return a.each(c.numericInput?c.mask.reverse():c.mask,function(b,d){g.length>1&&(g+=c.groupmarker.end+c.alternatormarker+c.groupmarker.start),g+=void 0===d.mask||a.isFunction(d.mask)?d:d.mask}),g+=c.groupmarker.end,e(g,c.mask,c)}c.mask=c.mask.pop()}return c.mask&&(f=void 0===c.mask.mask||a.isFunction(c.mask.mask)?e(c.mask,c.mask,c):e(c.mask.mask,c.mask,c)),f}function e(c,d,f){function k(a,b,c){b=b||0;var d,e,g,h=[],i=0,j=n();S=void 0!==V?V.maxLength:void 0,S===-1&&(S=void 0);do a===!0&&l().validPositions[i]?(g=l().validPositions[i],e=g.match,d=g.locator.slice(),h.push(c===!0?g.input:c===!1?e.nativeDef:F(i,e))):(g=q(i,d,i-1),e=g.match,d=g.locator.slice(),(f.jitMasking===!1||i<j||"number"==typeof f.jitMasking&&isFinite(f.jitMasking)&&f.jitMasking>i)&&h.push(c===!1?e.nativeDef:F(i,e))),i++;while((void 0===S||i<S)&&(null!==e.fn||""!==e.def)||b>i);return""===h[h.length-1]&&h.pop(),l().maskLength=i+1,h}function l(){return d}function m(a){var b=l();b.buffer=void 0,a!==!0&&(b._buffer=void 0,b.validPositions={},b.p=0)}function n(a,b,c){var d=-1,e=-1,f=c||l().validPositions;void 0===a&&(a=-1);for(var g in f){var h=parseInt(g);f[h]&&(b||f[h].generatedInput!==!0)&&(h<=a&&(d=h),h>=a&&(e=h))}return d!==-1&&a-d>1||e<a?d:e}function o(b,c,d,e){function g(a){var b=l().validPositions[a];if(void 0!==b&&null===b.match.fn){var c=l().validPositions[a-1],d=l().validPositions[a+1];return void 0!==c&&void 0!==d}return!1}var h,i=b,j=a.extend(!0,{},l().validPositions),k=!1;for(l().p=b,h=c-1;h>=i;h--)void 0!==l().validPositions[h]&&(d!==!0&&(!l().validPositions[h].match.optionality&&g(h)||f.canClearPosition(l(),h,n(),e,f)===!1)||delete l().validPositions[h]);for(m(!0),h=i+1;h<=n();){for(;void 0!==l().validPositions[i];)i++;if(h<i&&(h=i+1),void 0===l().validPositions[h]&&A(h))h++;else{var o=q(h);k===!1&&j[i]&&j[i].match.def===o.match.def?(l().validPositions[i]=a.extend(!0,{},j[i]),l().validPositions[i].input=o.input,delete l().validPositions[h],h++):s(i,o.match.def)?z(i,o.input||F(h),!0)!==!1&&(delete l().validPositions[h],h++,k=!0):A(h)||(h++,i--),i++}}m(!0)}function p(a,b){for(var c,d=a,e=n(),g=l().validPositions[e]||t(0)[0],h=void 0!==g.alternation?g.locator[g.alternation].toString().split(","):[],i=0;i<d.length&&(c=d[i],!(c.match&&(f.greedy&&c.match.optionalQuantifier!==!0||(c.match.optionality===!1||c.match.newBlockMarker===!1)&&c.match.optionalQuantifier!==!0)&&(void 0===g.alternation||g.alternation!==c.alternation||void 0!==c.locator[g.alternation]&&y(c.locator[g.alternation].toString().split(","),h)))||b===!0&&(null!==c.match.fn||/[0-9a-bA-Z]/.test(c.match.def)));i++);return c}function q(a,b,c){return l().validPositions[a]||p(t(a,b?b.slice():b,c))}function r(a){return l().validPositions[a]?l().validPositions[a]:t(a)[0]}function s(a,b){for(var c=!1,d=t(a),e=0;e<d.length;e++)if(d[e].match&&d[e].match.def===b){c=!0;break}return c}function t(b,c,d){function e(c,d,g,h){function j(g,h,m){function p(b,c){var d=0===a.inArray(b,c.matches);return d||a.each(c.matches,function(a,e){if(e.isQuantifier===!0&&(d=p(b,c.matches[a-1])))return!1}),d}function r(b,c,d){var e,f;return(l().tests[b]||l().validPositions[b])&&a.each(l().tests[b]||[l().validPositions[b]],function(a,b){var g=void 0!==d?d:b.alternation,h=void 0!==b.locator[g]?b.locator[g].toString().indexOf(c):-1;(void 0===f||h<f)&&h!==-1&&(e=b,f=h)}),e?e.locator.slice((void 0!==d?d:e.alternation)+1):void 0!==d?r(b,c):void 0}function s(a,c){return null===a.match.fn&&null!==c.match.fn&&c.match.fn.test(a.match.def,l(),b,!1,f,!1)}if(k>1e4)throw"Inputmask: There is probably an error in your mask definition or in the code. Create an issue on github with an example of the mask you are using. "+l().mask;if(k===b&&void 0===g.matches)return n.push({match:g,locator:h.reverse(),cd:q}),!0;if(void 0!==g.matches){if(g.isGroup&&m!==g){if(g=j(c.matches[a.inArray(g,c.matches)+1],h))return!0}else if(g.isOptional){var t=g;if(g=e(g,d,h,m)){if(i=n[n.length-1].match,!p(i,t))return!0;o=!0,k=b}}else if(g.isAlternator){var u,v=g,w=[],x=n.slice(),y=h.length,z=d.length>0?d.shift():-1;if(z===-1||"string"==typeof z){var A,B=k,C=d.slice(),D=[];if("string"==typeof z)D=z.split(",");else for(A=0;A<v.matches.length;A++)D.push(A);for(var E=0;E<D.length;E++){if(A=parseInt(D[E]),n=[],d=r(k,A,y)||C.slice(),g=j(v.matches[A]||c.matches[A],[A].concat(h),m)||g,g!==!0&&void 0!==g&&D[D.length-1]<v.matches.length){var F=a.inArray(g,c.matches)+1;c.matches.length>F&&(g=j(c.matches[F],[F].concat(h.slice(1,h.length)),m),g&&(D.push(F.toString()),a.each(n,function(a,b){b.alternation=h.length-1})))}u=n.slice(),k=B,n=[];for(var G=0;G<u.length;G++){var H=u[G],I=!1;H.alternation=H.alternation||y;for(var J=0;J<w.length;J++){var K=w[J];if(("string"!=typeof z||a.inArray(H.locator[H.alternation].toString(),D)!==-1)&&(H.match.def===K.match.def||s(H,K))){I=H.match.nativeDef===K.match.nativeDef,H.alternation==K.alternation&&K.locator[K.alternation].toString().indexOf(H.locator[H.alternation])===-1&&(K.locator[K.alternation]=K.locator[K.alternation]+","+H.locator[H.alternation],K.alternation=H.alternation,null==H.match.fn&&(K.na=K.na||H.locator[H.alternation].toString(),K.na.indexOf(H.locator[H.alternation])===-1&&(K.na=K.na+","+H.locator[H.alternation])));break}}I||w.push(H)}}"string"==typeof z&&(w=a.map(w,function(b,c){if(isFinite(c)){var d,e=b.alternation,f=b.locator[e].toString().split(",");b.locator[e]=void 0,b.alternation=void 0;for(var g=0;g<f.length;g++)d=a.inArray(f[g],D)!==-1,d&&(void 0!==b.locator[e]?(b.locator[e]+=",",b.locator[e]+=f[g]):b.locator[e]=parseInt(f[g]),b.alternation=e);if(void 0!==b.locator[e])return b}})),n=x.concat(w),k=b,o=n.length>0,d=C.slice()}else g=j(v.matches[z]||c.matches[z],[z].concat(h),m);if(g)return!0}else if(g.isQuantifier&&m!==c.matches[a.inArray(g,c.matches)-1])for(var L=g,M=d.length>0?d.shift():0;M<(isNaN(L.quantifier.max)?M+1:L.quantifier.max)&&k<=b;M++){var N=c.matches[a.inArray(L,c.matches)-1];if(g=j(N,[M].concat(h),N)){if(i=n[n.length-1].match,i.optionalQuantifier=M>L.quantifier.min-1,p(i,N)){if(M>L.quantifier.min-1){o=!0,k=b;break}return!0}return!0}}else if(g=e(g,d,h,m))return!0}else k++}for(var m=d.length>0?d.shift():0;m<c.matches.length;m++)if(c.matches[m].isQuantifier!==!0){var p=j(c.matches[m],[m].concat(g),h);if(p&&k===b)return p;if(k>b)break}}function g(b){var c=[];return a.isArray(b)||(b=[b]),b.length>0&&(void 0===b[0].alternation?(c=p(b.slice()).locator.slice(),0===c.length&&(c=b[0].locator.slice())):a.each(b,function(a,b){if(""!==b.def)if(0===c.length)c=b.locator.slice();else for(var d=0;d<c.length;d++)b.locator[d]&&c[d].toString().indexOf(b.locator[d])===-1&&(c[d]+=","+b.locator[d])})),c}function h(a){return f.keepStatic&&b>0&&a.length>1+(""===a[a.length-1].match.def?1:0)&&a[0].match.optionality!==!0&&a[0].match.optionalQuantifier!==!0&&null===a[0].match.fn&&!/[0-9a-bA-Z]/.test(a[0].match.def)?[p(a)]:a}var i,j=l().maskToken,k=c?d:0,m=c?c.slice():[0],n=[],o=!1,q=c?c.join(""):"";if(b>-1){if(void 0===c){for(var r,s=b-1;void 0===(r=l().validPositions[s]||l().tests[s])&&s>-1;)s--;void 0!==r&&s>-1&&(m=g(r),q=m.join(""),k=s)}if(l().tests[b]&&l().tests[b][0].cd===q)return h(l().tests[b]);for(var t=m.shift();t<j.length;t++){var u=e(j[t],m,[t]);if(u&&k===b||k>b)break}}return(0===n.length||o)&&n.push({match:{fn:null,cardinality:0,optionality:!0,casing:null,def:"",placeholder:""},locator:[],cd:q}),void 0!==c&&l().tests[b]?h(a.extend(!0,[],n)):(l().tests[b]=a.extend(!0,[],n),h(l().tests[b]))}function u(){return void 0===l()._buffer&&(l()._buffer=k(!1,1),void 0===l().buffer&&l()._buffer.slice()),l()._buffer}function v(a){return void 0!==l().buffer&&a!==!0||(l().buffer=k(!0,n(),!0)),l().buffer}function w(a,b,c){var d;if(a===!0)m(),a=0,b=c.length;else for(d=a;d<b;d++)delete l().validPositions[d];for(d=a;d<b;d++)m(!0),c[d]!==f.skipOptionalPartCharacter&&z(d,c[d],!0,!0)}function x(a,c,d){switch(f.casing||c.casing){case"upper":a=a.toUpperCase();break;case"lower":a=a.toLowerCase();break;case"title":var e=l().validPositions[d-1];a=0===d||e&&e.input===String.fromCharCode(b.keyCode.SPACE)?a.toUpperCase():a.toLowerCase()}return a}function y(b,c,d){for(var e,g=f.greedy?c:c.slice(0,1),h=!1,i=void 0!==d?d.split(","):[],j=0;j<i.length;j++)(e=b.indexOf(i[j]))!==-1&&b.splice(e,1);for(var k=0;k<b.length;k++)if(a.inArray(b[k],g)!==-1){h=!0;break}return h}function z(c,d,e,g,h){function i(a){var b=W?a.begin-a.end>1||a.begin-a.end===1&&f.insertMode:a.end-a.begin>1||a.end-a.begin===1&&f.insertMode;return b&&0===a.begin&&a.end===l().maskLength?"full":b}function j(b,d,e){var h=!1;return a.each(t(b),function(j,k){for(var p=k.match,q=d?1:0,r="",s=p.cardinality;s>q;s--)r+=D(b-(s-1));if(d&&(r+=d),v(!0),h=null!=p.fn?p.fn.test(r,l(),b,e,f,i(c)):(d===p.def||d===f.skipOptionalPartCharacter)&&""!==p.def&&{c:F(b,p,!0)||p.def,pos:b},h!==!1){var t=void 0!==h.c?h.c:d;t=t===f.skipOptionalPartCharacter&&null===p.fn?F(b,p,!0)||p.def:t;var y=b,A=v();if(void 0!==h.remove&&(a.isArray(h.remove)||(h.remove=[h.remove]),a.each(h.remove.sort(function(a,b){return b-a}),function(a,b){o(b,b+1,!0)})),void 0!==h.insert&&(a.isArray(h.insert)||(h.insert=[h.insert]),a.each(h.insert.sort(function(a,b){return a-b}),function(a,b){z(b.pos,b.c,!0,g)})),h.refreshFromBuffer){var B=h.refreshFromBuffer;if(e=!0,w(B===!0?B:B.start,B.end,A),void 0===h.pos&&void 0===h.c)return h.pos=n(),!1;if(y=void 0!==h.pos?h.pos:b,y!==b)return h=a.extend(h,z(y,t,!0,g)),!1}else if(h!==!0&&void 0!==h.pos&&h.pos!==b&&(y=h.pos,w(b,y,v().slice()),y!==b))return h=a.extend(h,z(y,t,!0)),!1;return(h===!0||void 0!==h.pos||void 0!==h.c)&&(j>0&&m(!0),u(y,a.extend({},k,{input:x(t,p,y)}),g,i(c))||(h=!1),!1)}}),h}function k(b,c,d){var e,h,i,j,k,o,p,q,r=a.extend(!0,{},l().validPositions),s=!1,u=n();for(j=l().validPositions[u];u>=0;u--)if(i=l().validPositions[u],i&&void 0!==i.alternation){if(e=u,h=l().validPositions[e].alternation,j.locator[i.alternation]!==i.locator[i.alternation])break;j=i}if(void 0!==h){q=parseInt(e);var v=void 0!==j.locator[j.alternation||h]?j.locator[j.alternation||h]:p[0];v.length>0&&(v=v.split(",")[0]);var w=l().validPositions[q],x=l().validPositions[q-1];a.each(t(q,x?x.locator:void 0,q-1),function(e,i){p=i.locator[h]?i.locator[h].toString().split(","):[];for(var j=0;j<p.length;j++){var t=[],u=0,x=0,y=!1;if(v<p[j]&&(void 0===i.na||a.inArray(p[j],i.na.split(","))===-1)){l().validPositions[q]=a.extend(!0,{},i);var A=l().validPositions[q].locator;for(l().validPositions[q].locator[h]=parseInt(p[j]),null==i.match.fn?(w.input!==i.match.def&&(y=!0,w.generatedInput!==!0&&t.push(w.input)),x++,l().validPositions[q].generatedInput=!/[0-9a-bA-Z]/.test(i.match.def),l().validPositions[q].input=i.match.def):l().validPositions[q].input=w.input,k=q+1;k<n(void 0,!0)+1;k++)o=l().validPositions[k],o&&o.generatedInput!==!0&&/[0-9a-bA-Z]/.test(o.input)?t.push(o.input):k<b&&u++,delete l().validPositions[k];for(y&&t[0]===i.match.def&&t.shift(),m(!0),s=!0;t.length>0;){var B=t.shift();if(B!==f.skipOptionalPartCharacter&&!(s=z(n(void 0,!0)+1,B,!1,g,!0)))break}if(s){l().validPositions[q].locator=A;var C=n(b)+1;for(k=q+1;k<n()+1;k++)o=l().validPositions[k],(void 0===o||null==o.match.fn)&&k<b+(x-u)&&x++;b+=x-u,s=z(b>C?C:b,c,d,g,!0)}if(s)return!1;m(),l().validPositions=a.extend(!0,{},r)}}})}return s}function r(b,c){var d=l().validPositions[c];if(d)for(var e=d.locator,f=e.length,g=b;g<c;g++)if(void 0===l().validPositions[g]&&!A(g,!0)){var h=t(g).slice(),i=p(h,!0),k=-1;""===h[h.length-1].match.def&&h.pop(),a.each(h,function(a,b){for(var c=0;c<f;c++){if(void 0===b.locator[c]||!y(b.locator[c].toString().split(","),e[c].toString().split(","),b.na)){var d=e[c],g=i.locator[c],h=b.locator[c];d-g>Math.abs(d-h)&&(i=b);break}k<c&&(k=c,i=b)}}),i=a.extend({},i,{input:F(g,i.match,!0)||i.match.def}),i.generatedInput=!0,u(g,i,!0),l().validPositions[c]=void 0,j(c,d.input,!0)}}function u(b,c,d,e){if(e||f.insertMode&&void 0!==l().validPositions[b]&&void 0===d){var g,h=a.extend(!0,{},l().validPositions),i=n(void 0,!0);for(g=b;g<=i;g++)delete l().validPositions[g];l().validPositions[b]=a.extend(!0,{},c);var j,k=!0,o=l().validPositions,p=!1,q=l().maskLength;for(g=j=b;g<=i;g++){var r=h[g];if(void 0!==r)for(var t=j;t<l().maskLength&&(null===r.match.fn&&o[g]&&(o[g].match.optionalQuantifier===!0||o[g].match.optionality===!0)||null!=r.match.fn);){if(t++,p===!1&&h[t]&&h[t].match.def===r.match.def)l().validPositions[t]=a.extend(!0,{},h[t]),l().validPositions[t].input=r.input,C(t),j=t,k=!0;else if(s(t,r.match.def)){var u=z(t,r.input,!0,!0);k=u!==!1,j=u.caret||u.insert?n():t,p=!0}else if(k=r.generatedInput===!0,!k&&t>=l().maskLength-1)break;if(l().maskLength<q&&(l().maskLength=q),k)break}if(!k)break}if(!k)return l().validPositions=a.extend(!0,{},h),m(!0),!1}else l().validPositions[b]=a.extend(!0,{},c);return m(!0),!0}function C(b){for(var c=b-1;c>-1&&!l().validPositions[c];c--);var d,e;for(c++;c<b;c++)void 0===l().validPositions[c]&&(f.jitMasking===!1||f.jitMasking>c)&&(e=t(c,q(c-1).locator,c-1).slice(),""===e[e.length-1].match.def&&e.pop(),d=p(e),d&&(d.match.def===f.radixPointDefinitionSymbol||!A(c,!0)||a.inArray(f.radixPoint,v())<c&&d.match.fn&&d.match.fn.test(F(c),l(),c,!1,f))&&(G=j(c,F(c,d.match,!0)||(null==d.match.fn?d.match.def:""!==F(c)?F(c):v()[c]),!0),G!==!1&&(l().validPositions[G.pos||c].generatedInput=!0)))}e=e===!0;var E=c;void 0!==c.begin&&(E=W&&!i(c)?c.end:c.begin);var G=!1,H=a.extend(!0,{},l().validPositions);if(C(E),i(c)&&(M(void 0,b.keyCode.DELETE,c),E=l().p),E<l().maskLength&&(G=j(E,d,e),(!e||g===!0)&&G===!1)){var I=l().validPositions[E];if(!I||null!==I.match.fn||I.match.def!==d&&d!==f.skipOptionalPartCharacter){if((f.insertMode||void 0===l().validPositions[B(E)])&&!A(E,!0))for(var J=E+1,K=B(E);J<=K;J++)if(G=j(J,d,e),G!==!1){r(E,void 0!==G.pos?G.pos:J),E=J;break}}else G={caret:B(E)}}return G===!1&&f.keepStatic&&!e&&h!==!0&&(G=k(E,d,e)),G===!0&&(G={pos:E}),a.isFunction(f.postValidation)&&G!==!1&&!e&&g!==!0&&(G=!!f.postValidation(v(!0),G,f)&&G),void 0===G.pos&&(G.pos=E),G===!1&&(m(!0),l().validPositions=a.extend(!0,{},H)),G}function A(a,b){var c;if(b?(c=q(a).match,""===c.def&&(c=r(a).match)):c=r(a).match,null!=c.fn)return c.fn;if(b!==!0&&a>-1){var d=t(a);return d.length>1+(""===d[d.length-1].match.def?1:0)}return!1}function B(a,b){var c=l().maskLength;if(a>=c)return c;for(var d=a;++d<c&&(b===!0&&(r(d).match.newBlockMarker!==!0||!A(d))||b!==!0&&!A(d)););return d}function C(a,b){var c,d=a;if(d<=0)return 0;for(;--d>0&&(b===!0&&r(d).match.newBlockMarker!==!0||b!==!0&&!A(d)&&(c=t(d),c.length<2||2===c.length&&""===c[1].match.def)););return d}function D(a){return void 0===l().validPositions[a]?F(a):l().validPositions[a].input}function E(b,c,d,e,g){if(e&&a.isFunction(f.onBeforeWrite)){var h=f.onBeforeWrite(e,c,d,f);if(h){if(h.refreshFromBuffer){var i=h.refreshFromBuffer;w(i===!0?i:i.start,i.end,h.buffer||c),c=v(!0)}void 0!==d&&(d=void 0!==h.caret?h.caret:d)}}b.inputmask._valueSet(c.join("")),void 0===d||void 0!==e&&"blur"===e.type?O(b,c,d):I(b,d),g===!0&&(Y=!0,a(b).trigger("input"))}function F(b,c,d){if(c=c||r(b).match,void 0!==c.placeholder||d===!0)return a.isFunction(c.placeholder)?c.placeholder(f):c.placeholder;if(null===c.fn){if(b>-1&&void 0===l().validPositions[b]){var e,g=t(b),h=[];if(g.length>1+(""===g[g.length-1].match.def?1:0))for(var i=0;i<g.length;i++)if(g[i].match.optionality!==!0&&g[i].match.optionalQuantifier!==!0&&(null===g[i].match.fn||void 0===e||g[i].match.fn.test(e.match.def,l(),b,!0,f)!==!1)&&(h.push(g[i]),null===g[i].match.fn&&(e=g[i]),h.length>1&&/[0-9a-bA-Z]/.test(h[0].match.def)))return f.placeholder.charAt(b%f.placeholder.length)}return c.def}return f.placeholder.charAt(b%f.placeholder.length)}function G(c,d,e,g,h,i){function j(){var a=!1,b=u().slice(p,B(p)).join("").indexOf(o);if(b!==-1&&!A(p)){a=!0;for(var c=u().slice(p,p+b),d=0;d<c.length;d++)if(" "!==c[d]){a=!1;break}}return a}var k=g.slice(),o="",p=0,r=void 0;if(m(),l().p=B(-1),!e)if(f.autoUnmask!==!0){var s=u().slice(0,B(-1)).join(""),t=k.join("").match(new RegExp("^"+b.escapeRegex(s),"g"));t&&t.length>0&&(k.splice(0,t.length*s.length),p=B(p))}else p=B(p);if(a.each(k,function(b,d){if(void 0!==d){var g=new a.Event("keypress");g.which=d.charCodeAt(0),o+=d;var h=n(void 0,!0),i=l().validPositions[h],k=q(h+1,i?i.locator.slice():void 0,h);if(!j()||e||f.autoUnmask){var s=e?b:null==k.match.fn&&k.match.optionality&&h+1<l().p?h+1:l().p;r=aa.keypressEvent.call(c,g,!0,!1,e,s),p=s+1,o=""}else r=aa.keypressEvent.call(c,g,!0,!1,!0,h+1);if(!e&&a.isFunction(f.onBeforeWrite)&&(r=f.onBeforeWrite(g,v(),r.forwardPosition,f),r&&r.refreshFromBuffer)){var t=r.refreshFromBuffer;w(t===!0?t:t.start,t.end,r.buffer),m(!0),r.caret&&(l().p=r.caret)}}}),d){var x=void 0,y=n();document.activeElement===c&&(h||r)&&(x=I(c).begin,h&&r===!1&&(x=B(n(x))),r&&i!==!0&&(x<y+1||y===-1)&&(x=f.numericInput&&void 0===r.caret?C(r.forwardPosition):r.forwardPosition)),E(c,v(),x,h||new a.Event("checkval"))}}function H(b){if(b){if(void 0===b.inputmask)return b.value;b.inputmask&&b.inputmask.refreshValue&&aa.setValueEvent.call(b)}var c=[],d=l().validPositions;for(var e in d)d[e].match&&null!=d[e].match.fn&&c.push(d[e].input);var g=0===c.length?"":(W?c.reverse():c).join("");if(a.isFunction(f.onUnMask)){var h=(W?v().slice().reverse():v()).join("");g=f.onUnMask(h,g,f)||g}return g}function I(a,b,c,d){function e(a){if(d!==!0&&W&&"number"==typeof a&&(!f.greedy||""!==f.placeholder)){var b=v().join("").length;a=b-a}return a}var h;if("number"!=typeof b)return a.setSelectionRange?(b=a.selectionStart,c=a.selectionEnd):window.getSelection?(h=window.getSelection().getRangeAt(0),h.commonAncestorContainer.parentNode!==a&&h.commonAncestorContainer!==a||(b=h.startOffset,c=h.endOffset)):document.selection&&document.selection.createRange&&(h=document.selection.createRange(),b=0-h.duplicate().moveStart("character",-a.inputmask._valueGet().length),c=b+h.text.length),{begin:e(b),end:e(c)};b=e(b),c=e(c),c="number"==typeof c?c:b;var i=parseInt(((a.ownerDocument.defaultView||window).getComputedStyle?(a.ownerDocument.defaultView||window).getComputedStyle(a,null):a.currentStyle).fontSize)*c;if(a.scrollLeft=i>a.scrollWidth?i:0,g||f.insertMode!==!1||b!==c||c++,a.setSelectionRange)a.selectionStart=b,a.selectionEnd=c;else if(window.getSelection){if(h=document.createRange(),void 0===a.firstChild||null===a.firstChild){var j=document.createTextNode("");a.appendChild(j)}h.setStart(a.firstChild,b<a.inputmask._valueGet().length?b:a.inputmask._valueGet().length),h.setEnd(a.firstChild,c<a.inputmask._valueGet().length?c:a.inputmask._valueGet().length),h.collapse(!0);var k=window.getSelection();k.removeAllRanges(),k.addRange(h)}else a.createTextRange&&(h=a.createTextRange(),h.collapse(!0),h.moveEnd("character",c),h.moveStart("character",b),h.select());O(a,void 0,{begin:b,end:c})}function J(b){var c,d,e=v(),f=e.length,g=n(),h={},i=l().validPositions[g],j=void 0!==i?i.locator.slice():void 0;for(c=g+1;c<e.length;c++)d=q(c,j,c-1),j=d.locator.slice(),h[c]=a.extend(!0,{},d);var k=i&&void 0!==i.alternation?i.locator[i.alternation]:void 0;for(c=f-1;c>g&&(d=h[c],(d.match.optionality||d.match.optionalQuantifier||k&&(k!==h[c].locator[i.alternation]&&null!=d.match.fn||null===d.match.fn&&d.locator[i.alternation]&&y(d.locator[i.alternation].toString().split(","),k.toString().split(","))&&""!==t(c)[0].def))&&e[c]===F(c,d.match));c--)f--;return b?{l:f,def:h[f]?h[f].match:void 0}:f}function K(a){for(var b,c=J(),d=a.length;c<d&&!A(c+1)&&(b=r(c+1))&&b.match.optionality!==!0&&b.match.optionalQuantifier!==!0;)c++;for(;(b=r(c-1))&&b.match.optionality&&b.input===f.skipOptionalPartCharacter;)c--;return a.splice(c),a}function L(b){if(a.isFunction(f.isComplete))return f.isComplete(b,f);if("*"!==f.repeat){var c=!1,d=J(!0),e=C(d.l);if(void 0===d.def||d.def.newBlockMarker||d.def.optionality||d.def.optionalQuantifier){c=!0;for(var g=0;g<=e;g++){var h=q(g).match;if(null!==h.fn&&void 0===l().validPositions[g]&&h.optionality!==!0&&h.optionalQuantifier!==!0||null===h.fn&&b[g]!==F(g,h)){c=!1;break}}}return c}}function M(c,d,e,g){function h(){if(f.keepStatic){for(var b=[],d=n(-1,!0),e=a.extend(!0,{},l().validPositions),g=l().validPositions[d];d>=0;d--){var h=l().validPositions[d];if(h){if(h.generatedInput!==!0&&/[0-9a-bA-Z]/.test(h.input)&&b.push(h.input),delete l().validPositions[d],void 0!==h.alternation&&h.locator[h.alternation]!==g.locator[h.alternation])break;g=h}}if(d>-1)for(l().p=B(n(-1,!0));b.length>0;){var i=new a.Event("keypress");i.which=b.pop().charCodeAt(0),aa.keypressEvent.call(c,i,!0,!1,!1,l().p)}else l().validPositions=a.extend(!0,{},e)}}if((f.numericInput||W)&&(d===b.keyCode.BACKSPACE?d=b.keyCode.DELETE:d===b.keyCode.DELETE&&(d=b.keyCode.BACKSPACE),W)){var i=e.end;e.end=e.begin,e.begin=i}d===b.keyCode.BACKSPACE&&(e.end-e.begin<1||f.insertMode===!1)?(e.begin=C(e.begin),void 0===l().validPositions[e.begin]||l().validPositions[e.begin].input!==f.groupSeparator&&l().validPositions[e.begin].input!==f.radixPoint||e.begin--):d===b.keyCode.DELETE&&e.begin===e.end&&(e.end=A(e.end,!0)?e.end+1:B(e.end)+1,void 0===l().validPositions[e.begin]||l().validPositions[e.begin].input!==f.groupSeparator&&l().validPositions[e.begin].input!==f.radixPoint||e.end++),o(e.begin,e.end,!1,g),g!==!0&&h();var j=n(e.begin,!0);j<e.begin?l().p=B(j):g!==!0&&(l().p=e.begin)}function N(b){function c(a){var c,d=document.createElement("span");for(var e in g)isNaN(e)&&e.indexOf("font")!==-1&&(d.style[e]=g[e]);d.style.textTransform=g.textTransform,d.style.letterSpacing=g.letterSpacing,d.style.position="absolute",d.style.height="auto",d.style.width="auto",d.style.visibility="hidden",d.style.whiteSpace="nowrap",document.body.appendChild(d);var f,h=b.inputmask._valueGet(),i=0;for(c=0,f=h.length;c<=f;c++){if(d.innerHTML+=h.charAt(c)||"_",d.offsetWidth>=a){var j=a-i,k=d.offsetWidth-a;d.innerHTML=h.charAt(c),j-=d.offsetWidth/3,c=j<k?c-1:c;break}i=d.offsetWidth}return document.body.removeChild(d),c}function d(){T.style.position="absolute",T.style.top=e.top+"px",T.style.left=e.left+"px",T.style.width=parseInt(b.offsetWidth)-parseInt(g.paddingLeft)-parseInt(g.paddingRight)-parseInt(g.borderLeftWidth)-parseInt(g.borderRightWidth)+"px",T.style.height=parseInt(b.offsetHeight)-parseInt(g.paddingTop)-parseInt(g.paddingBottom)-parseInt(g.borderTopWidth)-parseInt(g.borderBottomWidth)+"px",T.style.lineHeight=T.style.height,T.style.zIndex=isNaN(g.zIndex)?-1:g.zIndex-1,T.style.webkitAppearance="textfield",T.style.mozAppearance="textfield",T.style.Appearance="textfield"}var e=a(b).position(),g=(b.ownerDocument.defaultView||window).getComputedStyle(b,null);b.parentNode;T=document.createElement("div"),document.body.appendChild(T);for(var h in g)isNaN(h)&&"cssText"!==h&&h.indexOf("webkit")==-1&&(T.style[h]=g[h]);b.style.backgroundColor="transparent",b.style.color="transparent",b.style.webkitAppearance="caret",b.style.mozAppearance="caret",b.style.Appearance="caret",d(),a(window).on("resize",function(c){e=a(b).position(),g=(b.ownerDocument.defaultView||window).getComputedStyle(b,null),d()}),a(b).on("click",function(a){return I(b,c(a.clientX)),aa.clickEvent.call(this,[a])}),a(b).on("keydown",function(a){a.shiftKey||f.insertMode===!1||setTimeout(function(){O(b)},0)})}function O(a,b,c){function d(){g||null!==i.fn&&void 0!==j.input?g&&null!==i.fn&&void 0!==j.input&&(g=!1,e+="</span>"):(g=!0,e+="<span class='im-static''>")}if(void 0!==T){b=b||v(),void 0===c?c=I(a):void 0===c.begin&&(c={begin:c,end:c});var e="",g=!1;if(""!=b){var h,i,j,k=0,m=n();do k===c.begin&&document.activeElement===a&&(e+="<span class='im-caret' style='border-right-width: 1px;border-right-style: solid;'></span>"),l().validPositions[k]?(j=l().validPositions[k],i=j.match,h=j.locator.slice(),d(),e+=j.input):(j=q(k,h,k-1),i=j.match,h=j.locator.slice(),(f.jitMasking===!1||k<m||"number"==typeof f.jitMasking&&isFinite(f.jitMasking)&&f.jitMasking>k)&&(d(),e+=F(k,i))),k++;while((void 0===S||k<S)&&(null!==i.fn||""!==i.def)||m>k)}T.innerHTML=e}}function P(b){function c(b,c){function d(b){function d(b){if(a.valHooks&&(void 0===a.valHooks[b]||a.valHooks[b].inputmaskpatch!==!0)){var d=a.valHooks[b]&&a.valHooks[b].get?a.valHooks[b].get:function(a){return a.value},e=a.valHooks[b]&&a.valHooks[b].set?a.valHooks[b].set:function(a,b){return a.value=b,a};a.valHooks[b]={get:function(a){if(a.inputmask){if(a.inputmask.opts.autoUnmask)return a.inputmask.unmaskedvalue();var b=d(a);return n(void 0,void 0,a.inputmask.maskset.validPositions)!==-1||c.nullable!==!0?b:""}return d(a)},set:function(b,c){var d,f=a(b);return d=e(b,c),b.inputmask&&f.trigger("setvalue"),d},inputmaskpatch:!0}}}function e(){return this.inputmask?this.inputmask.opts.autoUnmask?this.inputmask.unmaskedvalue():n()!==-1||c.nullable!==!0?document.activeElement===this&&c.clearMaskOnLostFocus?(W?K(v().slice()).reverse():K(v().slice())).join(""):h.call(this):"":h.call(this)}function f(b){i.call(this,b),this.inputmask&&a(this).trigger("setvalue")}function g(b){_.on(b,"mouseenter",function(b){var c=a(this),d=this,e=d.inputmask._valueGet();e!==v().join("")&&c.trigger("setvalue")})}var h,i;if(!b.inputmask.__valueGet){if(c.noValuePatching!==!0){if(Object.getOwnPropertyDescriptor){"function"!=typeof Object.getPrototypeOf&&(Object.getPrototypeOf="object"==typeof"test".__proto__?function(a){return a.__proto__}:function(a){return a.constructor.prototype});var j=Object.getPrototypeOf?Object.getOwnPropertyDescriptor(Object.getPrototypeOf(b),"value"):void 0;j&&j.get&&j.set?(h=j.get,i=j.set,Object.defineProperty(b,"value",{get:e,set:f,configurable:!0})):"INPUT"!==b.tagName&&(h=function(){return this.textContent},i=function(a){this.textContent=a},Object.defineProperty(b,"value",{get:e,set:f,configurable:!0}))}else document.__lookupGetter__&&b.__lookupGetter__("value")&&(h=b.__lookupGetter__("value"),i=b.__lookupSetter__("value"),b.__defineGetter__("value",e),b.__defineSetter__("value",f));b.inputmask.__valueGet=h,b.inputmask.__valueSet=i}b.inputmask._valueGet=function(a){return W&&a!==!0?h.call(this.el).split("").reverse().join(""):h.call(this.el)},b.inputmask._valueSet=function(a,b){i.call(this.el,null===a||void 0===a?"":b!==!0&&W?a.split("").reverse().join(""):a)},void 0===h&&(h=function(){return this.value},i=function(a){this.value=a},d(b.type),g(b))}}var e=b.getAttribute("type"),f="INPUT"===b.tagName&&a.inArray(e,c.supportsInputType)!==-1||b.isContentEditable||"TEXTAREA"===b.tagName;if(!f)if("INPUT"===b.tagName){var g=document.createElement("input");g.setAttribute("type",e),f="text"===g.type,g=null}else f="partial";return f!==!1&&d(b),f}var d=c(b,f);if(d!==!1&&(V=b,R=a(V),("rtl"===V.dir||f.rightAlign)&&(V.style.textAlign="right"),("rtl"===V.dir||f.numericInput)&&(V.dir="ltr",V.removeAttribute("dir"),V.inputmask.isRTL=!0,W=!0),f.colorMask===!0&&N(V),j&&(V.hasOwnProperty("inputmode")&&(V.inputmode=f.inputmode,V.setAttribute("inputmode",f.inputmode)),"rtfm"===f.androidHack&&(f.colorMask!==!0&&N(V),V.type="password")),_.off(V),d===!0&&(_.on(V,"submit",aa.submitEvent),_.on(V,"reset",aa.resetEvent),_.on(V,"mouseenter",aa.mouseenterEvent),_.on(V,"blur",aa.blurEvent),_.on(V,"focus",aa.focusEvent),_.on(V,"mouseleave",aa.mouseleaveEvent),f.colorMask!==!0&&_.on(V,"click",aa.clickEvent),_.on(V,"dblclick",aa.dblclickEvent),_.on(V,"paste",aa.pasteEvent),_.on(V,"dragdrop",aa.pasteEvent),_.on(V,"drop",aa.pasteEvent),_.on(V,"cut",aa.cutEvent),_.on(V,"complete",f.oncomplete),_.on(V,"incomplete",f.onincomplete),_.on(V,"cleared",f.oncleared),j&&f.inputEventOnly===!0||(_.on(V,"keydown",aa.keydownEvent),_.on(V,"keypress",aa.keypressEvent)),_.on(V,"compositionstart",a.noop),_.on(V,"compositionupdate",a.noop),_.on(V,"compositionend",a.noop),_.on(V,"keyup",a.noop),_.on(V,"input",aa.inputFallBackEvent),_.on(V,"beforeinput",a.noop)),_.on(V,"setvalue",aa.setValueEvent),u(),""!==V.inputmask._valueGet()||f.clearMaskOnLostFocus===!1||document.activeElement===V)){var e=a.isFunction(f.onBeforeMask)?f.onBeforeMask(V.inputmask._valueGet(),f)||V.inputmask._valueGet():V.inputmask._valueGet();G(V,!0,!1,e.split(""));var g=v().slice();Q=g.join(""),L(g)===!1&&f.clearIncomplete&&m(),f.clearMaskOnLostFocus&&document.activeElement!==V&&(n()===-1?g=[]:K(g)),E(V,g),document.activeElement===V&&I(V,B(n()))}}d=d||this.maskset,f=f||this.opts;var Q,R,S,T,U,V=this.el,W=this.isRTL,X=!1,Y=!1,Z=!1,$=!1,_={on:function(c,d,e){var g=function(c){if(void 0===this.inputmask&&"FORM"!==this.nodeName){var d=a.data(this,"_inputmask_opts");d?new b(d).mask(this):_.off(this)}else{if("setvalue"===c.type||"FORM"===this.nodeName||!(this.disabled||this.readOnly&&!("keydown"===c.type&&c.ctrlKey&&67===c.keyCode||f.tabThrough===!1&&c.keyCode===b.keyCode.TAB))){switch(c.type){case"input":if(Y===!0)return Y=!1,c.preventDefault();break;case"keydown":X=!1,Y=!1;break;case"keypress":if(X===!0)return c.preventDefault();X=!0;break;case"click":if(h||i){var g=this,j=arguments;return setTimeout(function(){e.apply(g,j)},0),!1}}var k=e.apply(this,arguments);return k===!1&&(c.preventDefault(),c.stopPropagation()),k}c.preventDefault()}};c.inputmask.events[d]=c.inputmask.events[d]||[],c.inputmask.events[d].push(g),a.inArray(d,["submit","reset"])!==-1?null!=c.form&&a(c.form).on(d,g):a(c).on(d,g)},off:function(b,c){if(b.inputmask&&b.inputmask.events){var d;c?(d=[],d[c]=b.inputmask.events[c]):d=b.inputmask.events,a.each(d,function(c,d){for(;d.length>0;){var e=d.pop();a.inArray(c,["submit","reset"])!==-1?null!=b.form&&a(b.form).off(c,e):a(b).off(c,e)}delete b.inputmask.events[c]})}}},aa={keydownEvent:function(c){function d(a){var b=document.createElement("input"),c="on"+a,d=c in b;return d||(b.setAttribute(c,"return;"),d="function"==typeof b[c]),b=null,d}var e=this,g=a(e),h=c.keyCode,j=I(e);if(h===b.keyCode.BACKSPACE||h===b.keyCode.DELETE||i&&h===b.keyCode.BACKSPACE_SAFARI||c.ctrlKey&&h===b.keyCode.X&&!d("cut"))c.preventDefault(),M(e,h,j),E(e,v(!0),l().p,c,e.inputmask._valueGet()!==v().join("")),e.inputmask._valueGet()===u().join("")?g.trigger("cleared"):L(v())===!0&&g.trigger("complete");else if(h===b.keyCode.END||h===b.keyCode.PAGE_DOWN){c.preventDefault();var k=B(n());f.insertMode||k!==l().maskLength||c.shiftKey||k--,I(e,c.shiftKey?j.begin:k,k,!0)}else h===b.keyCode.HOME&&!c.shiftKey||h===b.keyCode.PAGE_UP?(c.preventDefault(),I(e,0,c.shiftKey?j.begin:0,!0)):(f.undoOnEscape&&h===b.keyCode.ESCAPE||90===h&&c.ctrlKey)&&c.altKey!==!0?(G(e,!0,!1,Q.split("")),g.trigger("click")):h!==b.keyCode.INSERT||c.shiftKey||c.ctrlKey?f.tabThrough===!0&&h===b.keyCode.TAB?(c.shiftKey===!0?(null===r(j.begin).match.fn&&(j.begin=B(j.begin)),j.end=C(j.begin,!0),j.begin=C(j.end,!0)):(j.begin=B(j.begin,!0),j.end=B(j.begin,!0),j.end<l().maskLength&&j.end--),j.begin<l().maskLength&&(c.preventDefault(),I(e,j.begin,j.end))):c.shiftKey||f.insertMode===!1&&(h===b.keyCode.RIGHT?setTimeout(function(){var a=I(e);I(e,a.begin)},0):h===b.keyCode.LEFT&&setTimeout(function(){var a=I(e);I(e,W?a.begin+1:a.begin-1)},0)):(f.insertMode=!f.insertMode,I(e,f.insertMode||j.begin!==l().maskLength?j.begin:j.begin-1));f.onKeyDown.call(this,c,v(),I(e).begin,f),Z=a.inArray(h,f.ignorables)!==-1},keypressEvent:function(c,d,e,g,h){var i=this,j=a(i),k=c.which||c.charCode||c.keyCode;if(!(d===!0||c.ctrlKey&&c.altKey)&&(c.ctrlKey||c.metaKey||Z))return k===b.keyCode.ENTER&&Q!==v().join("")&&(Q=v().join(""),setTimeout(function(){j.trigger("change")},0)),!0;if(k){46===k&&c.shiftKey===!1&&""!==f.radixPoint&&(k=f.radixPoint.charCodeAt(0));var n,o=d?{begin:h,end:h}:I(i),p=String.fromCharCode(k);l().writeOutBuffer=!0;var q=z(o,p,g);if(q!==!1&&(m(!0),n=void 0!==q.caret?q.caret:d?q.pos+1:B(q.pos),l().p=n),e!==!1){var r=this;if(setTimeout(function(){f.onKeyValidation.call(r,k,q,f)},0),l().writeOutBuffer&&q!==!1){var s=v();E(i,s,f.numericInput&&void 0===q.caret?C(n):n,c,d!==!0),d!==!0&&setTimeout(function(){L(s)===!0&&j.trigger("complete")},0)}}if(c.preventDefault(),d)return q.forwardPosition=n,q}},pasteEvent:function(b){var c,d=this,e=b.originalEvent||b,g=a(d),h=d.inputmask._valueGet(!0),i=I(d);W&&(c=i.end,i.end=i.begin,i.begin=c);var j=h.substr(0,i.begin),k=h.substr(i.end,h.length);if(j===(W?u().reverse():u()).slice(0,i.begin).join("")&&(j=""),k===(W?u().reverse():u()).slice(i.end).join("")&&(k=""),W&&(c=j,j=k,k=c),window.clipboardData&&window.clipboardData.getData)h=j+window.clipboardData.getData("Text")+k;else{if(!e.clipboardData||!e.clipboardData.getData)return!0;h=j+e.clipboardData.getData("text/plain")+k}var l=h;if(a.isFunction(f.onBeforePaste)){if(l=f.onBeforePaste(h,f),l===!1)return b.preventDefault();l||(l=h)}return G(d,!1,!1,W?l.split("").reverse():l.toString().split("")),E(d,v(),B(n()),b,Q!==v().join("")),L(v())===!0&&g.trigger("complete"),b.preventDefault()},inputFallBackEvent:function(c){var d=this,e=d.inputmask._valueGet();if(v().join("")!==e){var f=I(d);if(e=e.replace(new RegExp("("+b.escapeRegex(u().join(""))+")*"),""),h){var g=e.replace(v().join(""),"");if(1===g.length){var i=new a.Event("keypress");return i.which=g.charCodeAt(0),aa.keypressEvent.call(d,i,!0,!0,!1,l().validPositions[f.begin-1]?f.begin:f.begin-1),!1}}if(f.begin>e.length&&(I(d,e.length),f=I(d)),v().length-e.length!==1||e.charAt(f.begin)===v()[f.begin]||e.charAt(f.begin+1)===v()[f.begin]||A(f.begin)){for(var j=n()+1,k=u().join("");null===e.match(b.escapeRegex(k)+"$");)k=k.slice(1);e=e.replace(k,""),e=e.split(""),G(d,!0,!1,e,c,f.begin<j),L(v())===!0&&a(d).trigger("complete")}else c.keyCode=b.keyCode.BACKSPACE,aa.keydownEvent.call(d,c);c.preventDefault()}},setValueEvent:function(b){this.inputmask.refreshValue=!1;var c=this,d=c.inputmask._valueGet();G(c,!0,!1,(a.isFunction(f.onBeforeMask)?f.onBeforeMask(d,f)||d:d).split("")),Q=v().join(""),(f.clearMaskOnLostFocus||f.clearIncomplete)&&c.inputmask._valueGet()===u().join("")&&c.inputmask._valueSet("")},focusEvent:function(a){var b=this,c=b.inputmask._valueGet();f.showMaskOnFocus&&(!f.showMaskOnHover||f.showMaskOnHover&&""===c)&&(b.inputmask._valueGet()!==v().join("")?E(b,v(),B(n())):$===!1&&I(b,B(n()))),f.positionCaretOnTab===!0&&aa.clickEvent.apply(b,[a,!0]),Q=v().join("")},mouseleaveEvent:function(a){var b=this;if($=!1,f.clearMaskOnLostFocus&&document.activeElement!==b){var c=v().slice(),d=b.inputmask._valueGet();d!==b.getAttribute("placeholder")&&""!==d&&(n()===-1&&d===u().join("")?c=[]:K(c),E(b,c))}},clickEvent:function(b,c){function d(b){if(""!==f.radixPoint){var c=l().validPositions;if(void 0===c[b]||c[b].input===F(b)){if(b<B(-1))return!0;var d=a.inArray(f.radixPoint,v());if(d!==-1){for(var e in c)if(d<e&&c[e].input!==F(e))return!1;return!0}}}return!1}var e=this;setTimeout(function(){if(document.activeElement===e){var b=I(e);if(c&&(b.begin=b.end),b.begin===b.end)switch(f.positionCaretOnClick){case"none":break;case"radixFocus":if(d(b.begin)){var g=a.inArray(f.radixPoint,v().join(""));I(e,f.numericInput?B(g):g);break}default:var h=b.begin,i=n(h,!0),j=B(i);if(h<j)I(e,A(h)||A(h-1)?h:B(h));else{var k=F(j);(""!==k&&v()[j]!==k&&r(j).match.optionalQuantifier!==!0||!A(j)&&r(j).match.def===k)&&(j=B(j)),I(e,j)}}}},0)},dblclickEvent:function(a){var b=this;setTimeout(function(){I(b,0,B(n()))},0)},cutEvent:function(c){var d=this,e=a(d),f=I(d),g=c.originalEvent||c,h=window.clipboardData||g.clipboardData,i=W?v().slice(f.end,f.begin):v().slice(f.begin,f.end);h.setData("text",W?i.reverse().join(""):i.join("")),document.execCommand&&document.execCommand("copy"),M(d,b.keyCode.DELETE,f),E(d,v(),l().p,c,Q!==v().join("")),d.inputmask._valueGet()===u().join("")&&e.trigger("cleared")},blurEvent:function(b){var c=a(this),d=this;if(d.inputmask){var e=d.inputmask._valueGet(),g=v().slice();Q!==g.join("")&&setTimeout(function(){c.trigger("change"),Q=g.join("")},0),""!==e&&(f.clearMaskOnLostFocus&&(n()===-1&&e===u().join("")?g=[]:K(g)),L(g)===!1&&(setTimeout(function(){c.trigger("incomplete")},0),f.clearIncomplete&&(m(),g=f.clearMaskOnLostFocus?[]:u().slice())),E(d,g,void 0,b))}},mouseenterEvent:function(a){var b=this;$=!0,document.activeElement!==b&&f.showMaskOnHover&&b.inputmask._valueGet()!==v().join("")&&E(b,v())},submitEvent:function(a){Q!==v().join("")&&R.trigger("change"),f.clearMaskOnLostFocus&&n()===-1&&V.inputmask._valueGet&&V.inputmask._valueGet()===u().join("")&&V.inputmask._valueSet(""),f.removeMaskOnSubmit&&(V.inputmask._valueSet(V.inputmask.unmaskedvalue(),!0),setTimeout(function(){E(V,v())},0))},resetEvent:function(a){V.inputmask.refreshValue=!0,setTimeout(function(){R.trigger("setvalue")},0)}};if(void 0!==c)switch(c.action){case"isComplete":return V=c.el,L(v());case"unmaskedvalue":return void 0!==V&&void 0===c.value||(U=c.value,U=(a.isFunction(f.onBeforeMask)?f.onBeforeMask(U,f)||U:U).split(""),G(void 0,!1,!1,W?U.reverse():U),a.isFunction(f.onBeforeWrite)&&f.onBeforeWrite(void 0,v(),0,f)),H(V);case"mask":P(V);break;case"format":return U=(a.isFunction(f.onBeforeMask)?f.onBeforeMask(c.value,f)||c.value:c.value).split(""),G(void 0,!1,!1,W?U.reverse():U),a.isFunction(f.onBeforeWrite)&&f.onBeforeWrite(void 0,v(),0,f),c.metadata?{value:W?v().slice().reverse().join(""):v().join(""),metadata:e.call(this,{action:"getmetadata"},d,f)}:W?v().slice().reverse().join(""):v().join("");case"isValid":c.value?(U=c.value.split(""),G(void 0,!1,!0,W?U.reverse():U)):c.value=v().join("");for(var ba=v(),ca=J(),da=ba.length-1;da>ca&&!A(da);da--);return ba.splice(ca,da+1-ca),L(ba)&&c.value===v().join("");case"getemptymask":return u().join("");case"remove":if(V){R=a(V),V.inputmask._valueSet(H(V)),_.off(V);var ea;Object.getOwnPropertyDescriptor&&Object.getPrototypeOf?(ea=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(V),"value"),ea&&V.inputmask.__valueGet&&Object.defineProperty(V,"value",{get:V.inputmask.__valueGet,set:V.inputmask.__valueSet,configurable:!0})):document.__lookupGetter__&&V.__lookupGetter__("value")&&V.inputmask.__valueGet&&(V.__defineGetter__("value",V.inputmask.__valueGet),V.__defineSetter__("value",V.inputmask.__valueSet)),V.inputmask=void 0}return V;case"getmetadata":if(a.isArray(d.metadata)){var fa=k(!0,0,!1).join("");return a.each(d.metadata,function(a,b){if(b.mask===fa)return fa=b,!1}),fa}return d.metadata}}var f=navigator.userAgent,g=/mobile/i.test(f),h=/iemobile/i.test(f),i=/iphone/i.test(f)&&!h,j=/android/i.test(f)&&!h;return b.prototype={dataAttribute:"data-inputmask",defaults:{placeholder:"_",optionalmarker:{start:"[",end:"]"},quantifiermarker:{start:"{",end:"}"},groupmarker:{start:"(",end:")"},alternatormarker:"|",escapeChar:"\\",mask:null,oncomplete:a.noop,onincomplete:a.noop,oncleared:a.noop,repeat:0,greedy:!0,autoUnmask:!1,removeMaskOnSubmit:!1,clearMaskOnLostFocus:!0,insertMode:!0,clearIncomplete:!1,alias:null,onKeyDown:a.noop,onBeforeMask:null,onBeforePaste:function(b,c){return a.isFunction(c.onBeforeMask)?c.onBeforeMask(b,c):b},onBeforeWrite:null,onUnMask:null,showMaskOnFocus:!0,showMaskOnHover:!0,onKeyValidation:a.noop,skipOptionalPartCharacter:" ",numericInput:!1,rightAlign:!1,undoOnEscape:!0,radixPoint:"",radixPointDefinitionSymbol:void 0,groupSeparator:"",keepStatic:null,positionCaretOnTab:!0,tabThrough:!1,supportsInputType:["text","tel","password"],ignorables:[8,9,13,19,27,33,34,35,36,37,38,39,40,45,46,93,112,113,114,115,116,117,118,119,120,121,122,123,0,229],isComplete:null,canClearPosition:a.noop,postValidation:null,staticDefinitionSymbol:void 0,jitMasking:!1,nullable:!0,inputEventOnly:!1,noValuePatching:!1,positionCaretOnClick:"lvp",casing:null,inputmode:"verbatim",colorMask:!1,androidHack:!1},definitions:{9:{validator:"[0-9]",cardinality:1,definitionSymbol:"*"},a:{validator:"[A-Za-z\u0410-\u044f\u0401\u0451\xc0-\xff\xb5]",cardinality:1,definitionSymbol:"*"},"*":{validator:"[0-9A-Za-z\u0410-\u044f\u0401\u0451\xc0-\xff\xb5]",cardinality:1}},aliases:{},masksCache:{},mask:function(f){function g(b,d,e,f){function g(a,c){c=void 0!==c?c:b.getAttribute(f+"-"+a),null!==c&&("string"==typeof c&&(0===a.indexOf("on")?c=window[c]:"false"===c?c=!1:"true"===c&&(c=!0)),e[a]=c)}var h,i,j,k,l=b.getAttribute(f);if(l&&""!==l&&(l=l.replace(new RegExp("'","g"),'"'),i=JSON.parse("{"+l+"}")),i){j=void 0;for(k in i)if("alias"===k.toLowerCase()){j=i[k];break}}g("alias",j),e.alias&&c(e.alias,e,d);for(h in d){if(i){j=void 0;for(k in i)if(k.toLowerCase()===h.toLowerCase()){j=i[k];break}}g(h,j)}return a.extend(!0,d,e),d}var h=this;return"string"==typeof f&&(f=document.getElementById(f)||document.querySelectorAll(f)),f=f.nodeName?[f]:f,a.each(f,function(c,f){var i=a.extend(!0,{},h.opts);g(f,i,a.extend(!0,{},h.userOptions),h.dataAttribute);var j=d(i,h.noMasksCache);void 0!==j&&(void 0!==f.inputmask&&f.inputmask.remove(),f.inputmask=new b((void 0),(void 0),(!0)),f.inputmask.opts=i,f.inputmask.noMasksCache=h.noMasksCache,f.inputmask.userOptions=a.extend(!0,{},h.userOptions),f.inputmask.isRTL=h.isRTL,f.inputmask.el=f,f.inputmask.maskset=j,a.data(f,"_inputmask_opts",i),e.call(f.inputmask,{action:"mask"}))}),f&&f[0]?f[0].inputmask||this:this},option:function(b,c){return"string"==typeof b?this.opts[b]:"object"==typeof b?(a.extend(this.userOptions,b),this.el&&c!==!0&&this.mask(this.el),this):void 0},unmaskedvalue:function(a){return this.maskset=this.maskset||d(this.opts,this.noMasksCache),e.call(this,{action:"unmaskedvalue",value:a})},remove:function(){return e.call(this,{action:"remove"})},getemptymask:function(){return this.maskset=this.maskset||d(this.opts,this.noMasksCache),e.call(this,{action:"getemptymask"})},hasMaskedValue:function(){return!this.opts.autoUnmask},isComplete:function(){return this.maskset=this.maskset||d(this.opts,this.noMasksCache),e.call(this,{action:"isComplete"})},getmetadata:function(){return this.maskset=this.maskset||d(this.opts,this.noMasksCache),e.call(this,{action:"getmetadata"})},isValid:function(a){return this.maskset=this.maskset||d(this.opts,this.noMasksCache),e.call(this,{action:"isValid",value:a})},format:function(a,b){return this.maskset=this.maskset||d(this.opts,this.noMasksCache),e.call(this,{action:"format",value:a,metadata:b})},analyseMask:function(c,d){function e(a,b,c,d){this.matches=[],this.openGroup=a||!1,this.isGroup=a||!1,this.isOptional=b||!1,this.isQuantifier=c||!1,this.isAlternator=d||!1,this.quantifier={min:1,max:1}}function f(a,c,e){var f=(d.definitions?d.definitions[c]:void 0)||b.prototype.definitions[c];e=void 0!==e?e:a.matches.length;var g=a.matches[e-1];if(f&&!r){for(var h=f.prevalidator,i=h?h.length:0,j=1;j<f.cardinality;j++){var k=i>=j?h[j-1]:[],l=k.validator,m=k.cardinality;a.matches.splice(e++,0,{fn:l?"string"==typeof l?new RegExp(l):new function(){this.test=l}:new RegExp("."),cardinality:m?m:1,optionality:a.isOptional,newBlockMarker:void 0===g||g.def!==(f.definitionSymbol||c),casing:f.casing,def:f.definitionSymbol||c,placeholder:f.placeholder,nativeDef:c}),g=a.matches[e-1]}a.matches.splice(e++,0,{fn:f.validator?"string"==typeof f.validator?new RegExp(f.validator):new function(){this.test=f.validator}:new RegExp("."),cardinality:f.cardinality,optionality:a.isOptional,newBlockMarker:void 0===g||g.def!==(f.definitionSymbol||c),casing:f.casing,def:f.definitionSymbol||c,placeholder:f.placeholder,nativeDef:c})}else a.matches.splice(e++,0,{fn:null,cardinality:0,optionality:a.isOptional,newBlockMarker:void 0===g||g.def!==c,casing:null,def:d.staticDefinitionSymbol||c,placeholder:void 0!==d.staticDefinitionSymbol?c:void 0,nativeDef:c}),r=!1}function g(b){b&&b.matches&&a.each(b.matches,function(a,c){var e=b.matches[a+1];(void 0===e||void 0===e.matches||e.isQuantifier===!1)&&c&&c.isGroup&&(c.isGroup=!1,f(c,d.groupmarker.start,0),c.openGroup!==!0&&f(c,d.groupmarker.end)),g(c)})}function h(){if(t.length>0){if(m=t[t.length-1],f(m,k),m.isAlternator){n=t.pop();for(var a=0;a<n.matches.length;a++)n.matches[a].isGroup=!1;t.length>0?(m=t[t.length-1],m.matches.push(n)):s.matches.push(n)}}else f(s,k)}function i(a){function b(a){return a===d.optionalmarker.start?a=d.optionalmarker.end:a===d.optionalmarker.end?a=d.optionalmarker.start:a===d.groupmarker.start?a=d.groupmarker.end:a===d.groupmarker.end&&(a=d.groupmarker.start),a}a.matches=a.matches.reverse();for(var c in a.matches)if(a.matches.hasOwnProperty(c)){var e=parseInt(c);if(a.matches[c].isQuantifier&&a.matches[e+1]&&a.matches[e+1].isGroup){var f=a.matches[c];a.matches.splice(c,1),a.matches.splice(e+1,0,f)}void 0!==a.matches[c].matches?a.matches[c]=i(a.matches[c]):a.matches[c]=b(a.matches[c])}return a}for(var j,k,l,m,n,o,p,q=/(?:[?*+]|\{[0-9\+\*]+(?:,[0-9\+\*]*)?\})|[^.?*+^${[]()|\\]+|./g,r=!1,s=new e,t=[],u=[];j=q.exec(c);)if(k=j[0],r)h();else switch(k.charAt(0)){case d.escapeChar:r=!0;break;case d.optionalmarker.end:case d.groupmarker.end:if(l=t.pop(),l.openGroup=!1,void 0!==l)if(t.length>0){if(m=t[t.length-1],m.matches.push(l),m.isAlternator){n=t.pop();for(var v=0;v<n.matches.length;v++)n.matches[v].isGroup=!1;t.length>0?(m=t[t.length-1],m.matches.push(n)):s.matches.push(n)}}else s.matches.push(l);else h();break;case d.optionalmarker.start:t.push(new e((!1),(!0)));break;case d.groupmarker.start:t.push(new e((!0)));break;case d.quantifiermarker.start:var w=new e((!1),(!1),(!0));k=k.replace(/[{}]/g,"");var x=k.split(","),y=isNaN(x[0])?x[0]:parseInt(x[0]),z=1===x.length?y:isNaN(x[1])?x[1]:parseInt(x[1]);if("*"!==z&&"+"!==z||(y="*"===z?0:1),w.quantifier={min:y,max:z},t.length>0){var A=t[t.length-1].matches;j=A.pop(),j.isGroup||(p=new e((!0)),p.matches.push(j),j=p),A.push(j),A.push(w)}else j=s.matches.pop(),j.isGroup||(p=new e((!0)),p.matches.push(j),j=p),s.matches.push(j),s.matches.push(w);break;case d.alternatormarker:t.length>0?(m=t[t.length-1],o=m.matches.pop()):o=s.matches.pop(),o.isAlternator?t.push(o):(n=new e((!1),(!1),(!1),(!0)),n.matches.push(o),t.push(n));break;default:h()}for(;t.length>0;)l=t.pop(),s.matches.push(l);return s.matches.length>0&&(g(s),u.push(s)),d.numericInput&&i(u[0]),u}},b.extendDefaults=function(c){a.extend(!0,b.prototype.defaults,c)},b.extendDefinitions=function(c){a.extend(!0,b.prototype.definitions,c)},b.extendAliases=function(c){a.extend(!0,b.prototype.aliases,c)},b.format=function(a,c,d){return b(c).format(a,d)},b.unmask=function(a,c){return b(c).unmaskedvalue(a)},b.isValid=function(a,c){return b(c).isValid(a)},b.remove=function(b){a.each(b,function(a,b){b.inputmask&&b.inputmask.remove()})},b.escapeRegex=function(a){var b=["/",".","*","+","?","|","(",")","[","]","{","}","\\","$","^"];return a.replace(new RegExp("(\\"+b.join("|\\")+")","gim"),"\\$1")},b.keyCode={ALT:18,BACKSPACE:8,BACKSPACE_SAFARI:127,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91,X:88},window.Inputmask=b,b});!function(a){"function"==typeof define&&define.amd?define(["jquery","inputmask"],a):"object"==typeof exports?module.exports=a(require("jquery"),require("./inputmask")):a(jQuery,window.Inputmask)}(function(a,b){return void 0===a.fn.inputmask&&(a.fn.inputmask=function(c,d){var e,f=this[0];if(void 0===d&&(d={}),"string"==typeof c)switch(c){case"unmaskedvalue":return f&&f.inputmask?f.inputmask.unmaskedvalue():a(f).val();case"remove":return this.each(function(){this.inputmask&&this.inputmask.remove()});case"getemptymask":return f&&f.inputmask?f.inputmask.getemptymask():"";case"hasMaskedValue":return!(!f||!f.inputmask)&&f.inputmask.hasMaskedValue();case"isComplete":return!f||!f.inputmask||f.inputmask.isComplete();case"getmetadata":return f&&f.inputmask?f.inputmask.getmetadata():void 0;case"setvalue":a(f).val(d),f&&void 0===f.inputmask&&a(f).triggerHandler("setvalue");break;case"option":if("string"!=typeof d)return this.each(function(){if(void 0!==this.inputmask)return this.inputmask.option(d)});if(f&&void 0!==f.inputmask)return f.inputmask.option(d);break;default:return d.alias=c,e=new b(d),this.each(function(){e.mask(this)})}else{if("object"==typeof c)return e=new b(c),void 0===c.mask&&void 0===c.alias?this.each(function(){return void 0!==this.inputmask?this.inputmask.option(c):void e.mask(this)}):this.each(function(){e.mask(this)});if(void 0===c)return this.each(function(){e=new b(d),e.mask(this)})}}),a.fn.inputmask});window.matchMedia||(window.matchMedia=function(){"use strict";var styleMedia=(window.styleMedia||window.media);if(!styleMedia){var style=document.createElement('style'),script=document.getElementsByTagName('script')[0],info=null;style.type='text/css';style.id='matchmediajs-test';script.parentNode.insertBefore(style,script);info=('getComputedStyle'in window)&&window.getComputedStyle(style,null)||style.currentStyle;styleMedia={matchMedium:function(media){var text='@media '+media+'{ #matchmediajs-test { width: 1px; } }';if(style.styleSheet){style.styleSheet.cssText=text;}else{style.textContent=text;}
return info.width==='1px';}};}
return function(media){return{matches:styleMedia.matchMedium(media||'all'),media:media||'all'};};}());(function($){var _PLUGIN_='mmenu',_VERSION_='4.5.7';if($[_PLUGIN_])
{return;}
var _c={},_d={},_e={},plugin_initiated=false;var glbl={$wndw:null,$html:null,$body:null};$[_PLUGIN_]=function($menu,opts,conf)
{this.$menu=$menu;this.opts=opts;this.conf=conf;this.vars={};if(typeof this.___deprecated=='function')
{this.___deprecated();}
this._initMenu();this._init(this.$menu.children(this.conf.panelNodetype));if(typeof this.___debug=='function')
{this.___debug();}
return this;};$[_PLUGIN_].version=_VERSION_;$[_PLUGIN_].addons=[];$[_PLUGIN_].uniqueId=0;$[_PLUGIN_].defaults={classes:'',slidingSubmenus:true,onClick:{setSelected:true}};$[_PLUGIN_].configuration={panelNodetype:'ul, ol, div',transitionDuration:400,openingInterval:25,classNames:{panel:'Panel',selected:'Selected',label:'Label',spacer:'Spacer'}};$[_PLUGIN_].prototype={_init:function($panels)
{$panels=$panels.not('.'+_c.nopanel);$panels=this._initPanels($panels);$panels=this._initLinks($panels);$panels=this._bindCustomEvents($panels);for(var a=0;a<$[_PLUGIN_].addons.length;a++)
{if(typeof this['_init_'+$[_PLUGIN_].addons[a]]=='function')
{this['_init_'+$[_PLUGIN_].addons[a]]($panels);}}
this._update();},_initMenu:function()
{var that=this;if(this.opts.offCanvas&&this.conf.clone)
{this.$menu=this.$menu.clone(true);this.$menu.add(this.$menu.find('*')).filter('[id]').each(function()
{$(this).attr('id',_c.mm($(this).attr('id')));});}
this.$menu.contents().each(function()
{if($(this)[0].nodeType==3)
{$(this).remove();}});this.$menu.parent().addClass(_c.wrapper);var clsn=[_c.menu];clsn.push(_c.mm(this.opts.slidingSubmenus?'horizontal':'vertical'));if(this.opts.classes)
{clsn.push(this.opts.classes);}
this.$menu.addClass(clsn.join(' '));},_initPanels:function($panels)
{var that=this;this.__findAddBack($panels,'ul, ol').not('.'+_c.nolist).addClass(_c.list);var $lis=this.__findAddBack($panels,'.'+_c.list).find('> li');this.__refactorClass($lis,this.conf.classNames.selected,'selected');this.__refactorClass($lis,this.conf.classNames.label,'label');this.__refactorClass($lis,this.conf.classNames.spacer,'spacer');$lis.off(_e.setSelected).on(_e.setSelected,function(e,selected)
{e.stopPropagation();$lis.removeClass(_c.selected);if(typeof selected!='boolean')
{selected=true;}
if(selected)
{$(this).addClass(_c.selected);}});this.__refactorClass(this.__findAddBack($panels,'.'+this.conf.classNames.panel),this.conf.classNames.panel,'panel');$panels.add(this.__findAddBack($panels,'.'+_c.list).children().children().filter(this.conf.panelNodetype).not('.'+_c.nopanel)).addClass(_c.panel);var $curpanels=this.__findAddBack($panels,'.'+_c.panel),$allpanels=$('.'+_c.panel,this.$menu);$curpanels.each(function(i)
{var $t=$(this),id=$t.attr('id')||that.__getUniqueId();$t.attr('id',id);});$curpanels.each(function(i)
{var $t=$(this),$u=$t.is('ul, ol')?$t:$t.find('ul ,ol').first(),$l=$t.parent(),$a=$l.find('> a, > span'),$p=$l.closest('.'+_c.panel);if($l.parent().is('.'+_c.list))
{$t.data(_d.parent,$l);var $btn=$('<a class="'+_c.subopen+'" href="#'+$t.attr('id')+'" />').insertBefore($a);if(!$a.is('a'))
{$btn.addClass(_c.fullsubopen);}
if(that.opts.slidingSubmenus)
{$u.prepend('<li class="'+_c.subtitle+'"><a class="'+_c.subclose+'" href="#'+$p.attr('id')+'">'+$a.text()+'</a></li>');}}});var evt=this.opts.slidingSubmenus?_e.open:_e.toggle;$allpanels.each(function(i)
{var $opening=$(this),id=$opening.attr('id');$('a[href="#'+id+'"]',$allpanels).off(_e.click).on(_e.click,function(e)
{e.preventDefault();$opening.trigger(evt);});});if(this.opts.slidingSubmenus)
{var $selected=this.__findAddBack($panels,'.'+_c.list).find('> li.'+_c.selected);$selected.parents('li').removeClass(_c.selected).end().add($selected.parents('li')).each(function()
{var $t=$(this),$u=$t.find('> .'+_c.panel);if($u.length)
{$t.parents('.'+_c.panel).addClass(_c.subopened);$u.addClass(_c.opened);}}).closest('.'+_c.panel).addClass(_c.opened).parents('.'+_c.panel).addClass(_c.subopened);}
else
{var $selected=$('li.'+_c.selected,$allpanels);$selected.parents('li').removeClass(_c.selected).end().add($selected.parents('li')).addClass(_c.opened);}
var $current=$allpanels.filter('.'+_c.opened);if(!$current.length)
{$current=$curpanels.first();}
$current.addClass(_c.opened).last().addClass(_c.current);if(this.opts.slidingSubmenus)
{$curpanels.not($current.last()).addClass(_c.hidden).end().appendTo(this.$menu);}
return $curpanels;},_initLinks:function($panels)
{var that=this;this.__findAddBack($panels,'.'+_c.list).find('> li > a').not('.'+_c.subopen).not('.'+_c.subclose).not('[rel="external"]').not('[target="_blank"]').off(_e.click).on(_e.click,function(e)
{var $t=$(this),href=$t.attr('href')||'';if(that.__valueOrFn(that.opts.onClick.setSelected,$t))
{$t.parent().trigger(_e.setSelected);}
var preventDefault=that.__valueOrFn(that.opts.onClick.preventDefault,$t,href.slice(0,1)=='#');if(preventDefault)
{e.preventDefault();}
if(that.__valueOrFn(that.opts.onClick.blockUI,$t,!preventDefault))
{glbl.$html.addClass(_c.blocking);}
if(that.__valueOrFn(that.opts.onClick.close,$t,preventDefault))
{that.$menu.triggerHandler(_e.close);}});return $panels;},_bindCustomEvents:function($panels)
{var that=this;$panels.off(_e.toggle+' '+_e.open+' '+_e.close).on(_e.toggle+' '+_e.open+' '+_e.close,function(e)
{e.stopPropagation();});if(this.opts.slidingSubmenus)
{$panels.on(_e.open,function(e)
{return that._openSubmenuHorizontal($(this));});}
else
{$panels.on(_e.toggle,function(e)
{var $t=$(this);return $t.triggerHandler($t.parent().hasClass(_c.opened)?_e.close:_e.open);}).on(_e.open,function(e)
{$(this).parent().addClass(_c.opened);return'open';}).on(_e.close,function(e)
{$(this).parent().removeClass(_c.opened);return'close';});}
return $panels;},_openSubmenuHorizontal:function($opening)
{if($opening.hasClass(_c.current))
{return false;}
var $panels=$('.'+_c.panel,this.$menu),$current=$panels.filter('.'+_c.current);$panels.removeClass(_c.highest).removeClass(_c.current).not($opening).not($current).addClass(_c.hidden);if($opening.hasClass(_c.opened))
{$current.addClass(_c.highest).removeClass(_c.opened).removeClass(_c.subopened);}
else
{$opening.addClass(_c.highest);$current.addClass(_c.subopened);}
$opening.removeClass(_c.hidden).addClass(_c.current);setTimeout(function()
{$opening.removeClass(_c.subopened).addClass(_c.opened);},this.conf.openingInterval);return'open';},_update:function(fn)
{if(!this.updates)
{this.updates=[];}
if(typeof fn=='function')
{this.updates.push(fn);}
else
{for(var u=0,l=this.updates.length;u<l;u++)
{this.updates[u].call(this,fn);}}},__valueOrFn:function(o,$e,d)
{if(typeof o=='function')
{return o.call($e[0]);}
if(typeof o=='undefined'&&typeof d!='undefined')
{return d;}
return o;},__refactorClass:function($e,o,c)
{$e.filter('.'+o).removeClass(o).addClass(_c[c]);},__findAddBack:function($e,s)
{return $e.find(s).add($e.filter(s));},__transitionend:function($e,fn,duration)
{var _ended=false,_fn=function()
{if(!_ended)
{fn.call($e[0]);}
_ended=true;};$e.one(_e.transitionend,_fn);$e.one(_e.webkitTransitionEnd,_fn);setTimeout(_fn,duration*1.1);},__getUniqueId:function()
{return _c.mm($[_PLUGIN_].uniqueId++);}};$.fn[_PLUGIN_]=function(opts,conf)
{if(!plugin_initiated)
{_initPlugin();}
opts=$.extend(true,{},$[_PLUGIN_].defaults,opts);conf=$.extend(true,{},$[_PLUGIN_].configuration,conf);return this.each(function()
{var $menu=$(this);if($menu.data(_PLUGIN_))
{return;}
$menu.data(_PLUGIN_,new $[_PLUGIN_]($menu,opts,conf));});};$[_PLUGIN_].support={touch:'ontouchstart'in window.document};function _initPlugin()
{plugin_initiated=true;glbl.$wndw=$(window);glbl.$html=$('html');glbl.$body=$('body');$.each([_c,_d,_e],function(i,o)
{o.add=function(c)
{c=c.split(' ');for(var d in c)
{o[c[d]]=o.mm(c[d]);}};});_c.mm=function(c){return'mm-'+c;};_c.add('wrapper menu inline panel nopanel list nolist subtitle selected label spacer current highest hidden opened subopened subopen fullsubopen subclose');_c.umm=function(c)
{if(c.slice(0,3)=='mm-')
{c=c.slice(3);}
return c;};_d.mm=function(d){return'mm-'+d;};_d.add('parent');_e.mm=function(e){return e+'.mm';};_e.add('toggle open close setSelected transitionend webkitTransitionEnd mousedown mouseup touchstart touchmove touchend scroll resize click keydown keyup');$[_PLUGIN_]._c=_c;$[_PLUGIN_]._d=_d;$[_PLUGIN_]._e=_e;$[_PLUGIN_].glbl=glbl;}})(jQuery);(function($){var _PLUGIN_='mmenu',_ADDON_='offCanvas';$[_PLUGIN_].prototype['_init_'+_ADDON_]=function($panels)
{if(!this.opts[_ADDON_])
{return;}
if(this.vars[_ADDON_+'_added'])
{return;}
this.vars[_ADDON_+'_added']=true;if(!addon_initiated)
{_initAddon();}
this.opts[_ADDON_]=extendOptions(this.opts[_ADDON_]);this.conf[_ADDON_]=extendConfiguration(this.conf[_ADDON_]);var opts=this.opts[_ADDON_],conf=this.conf[_ADDON_],clsn=[_c.offcanvas];if(typeof this.vars.opened!='boolean')
{this.vars.opened=false;}
if(opts.position!='left')
{clsn.push(_c.mm(opts.position));}
if(opts.zposition!='back')
{clsn.push(_c.mm(opts.zposition));}
this.$menu.addClass(clsn.join(' ')).parent().removeClass(_c.wrapper);this[_ADDON_+'_initPage'](glbl.$page);this[_ADDON_+'_initBlocker']();this[_ADDON_+'_initOpenClose']();this[_ADDON_+'_bindCustomEvents']();this.$menu[conf.menuInjectMethod+'To'](conf.menuWrapperSelector);};$[_PLUGIN_].addons.push(_ADDON_);$[_PLUGIN_].defaults[_ADDON_]={position:'left',zposition:'back',modal:false,moveBackground:true};$[_PLUGIN_].configuration[_ADDON_]={pageNodetype:'div',pageSelector:null,menuWrapperSelector:'body',menuInjectMethod:'prepend'};$[_PLUGIN_].prototype.open=function()
{if(this.vars.opened)
{return false;}
var that=this;this._openSetup();setTimeout(function()
{that._openFinish();},this.conf.openingInterval);return'open';};$[_PLUGIN_].prototype._openSetup=function()
{glbl.$allMenus.not(this.$menu).trigger(_e.close);glbl.$page.data(_d.style,glbl.$page.attr('style')||'');glbl.$wndw.trigger(_e.resize,[true]);var clsn=[_c.opened];if(this.opts[_ADDON_].modal)
{clsn.push(_c.modal);}
if(this.opts[_ADDON_].moveBackground)
{clsn.push(_c.background);}
if(this.opts[_ADDON_].position!='left')
{clsn.push(_c.mm(this.opts[_ADDON_].position));}
if(this.opts[_ADDON_].zposition!='back')
{clsn.push(_c.mm(this.opts[_ADDON_].zposition));}
if(this.opts.classes)
{clsn.push(this.opts.classes);}
glbl.$html.addClass(clsn.join(' '));this.vars.opened=true;this.$menu.addClass(_c.current+' '+_c.opened);};$[_PLUGIN_].prototype._openFinish=function()
{var that=this;this.__transitionend(glbl.$page,function()
{that.$menu.trigger(_e.opened);},this.conf.transitionDuration);glbl.$html.addClass(_c.opening);this.$menu.trigger(_e.opening);};$[_PLUGIN_].prototype.close=function()
{if(!this.vars.opened)
{return false;}
var that=this;this.__transitionend(glbl.$page,function()
{that.$menu.removeClass(_c.current).removeClass(_c.opened);glbl.$html.removeClass(_c.opened).removeClass(_c.modal).removeClass(_c.background).removeClass(_c.mm(that.opts[_ADDON_].position)).removeClass(_c.mm(that.opts[_ADDON_].zposition));if(that.opts.classes)
{glbl.$html.removeClass(that.opts.classes);}
glbl.$page.attr('style',glbl.$page.data(_d.style));that.vars.opened=false;that.$menu.trigger(_e.closed);},this.conf.transitionDuration);glbl.$html.removeClass(_c.opening);this.$menu.trigger(_e.closing);return'close';};$[_PLUGIN_].prototype[_ADDON_+'_initBlocker']=function()
{var that=this;if(!glbl.$blck)
{glbl.$blck=$('<div id="'+_c.blocker+'" />').appendTo(glbl.$body);}
glbl.$blck.off(_e.touchstart).on(_e.touchstart,function(e)
{e.preventDefault();e.stopPropagation();glbl.$blck.trigger(_e.mousedown);}).on(_e.mousedown,function(e)
{e.preventDefault();if(!glbl.$html.hasClass(_c.modal))
{that.close();}});};$[_PLUGIN_].prototype[_ADDON_+'_initPage']=function($page)
{if(!$page)
{$page=$(this.conf[_ADDON_].pageSelector,glbl.$body);if($page.length>1)
{$page=$page.wrapAll('<'+this.conf[_ADDON_].pageNodetype+' />').parent();}}
$page.addClass(_c.page);glbl.$page=$page;};$[_PLUGIN_].prototype[_ADDON_+'_initOpenClose']=function()
{var that=this;var id=this.$menu.attr('id');if(id&&id.length)
{if(this.conf.clone)
{id=_c.umm(id);}
$('a[href="#'+id+'"]').off(_e.click).on(_e.click,function(e)
{e.preventDefault();that.open();});}
var id=glbl.$page.attr('id');if(id&&id.length)
{$('a[href="#'+id+'"]').on(_e.click,function(e)
{e.preventDefault();that.close();});}};$[_PLUGIN_].prototype[_ADDON_+'_bindCustomEvents']=function()
{var that=this,evnt=_e.open+' '+_e.opening+' '+_e.opened+' '+_e.close+' '+_e.closing+' '+_e.closed+' '+_e.setPage;this.$menu.off(evnt).on(evnt,function(e)
{e.stopPropagation();});this.$menu.on(_e.open,function(e)
{that.open();}).on(_e.close,function(e)
{that.close();}).on(_e.setPage,function(e,$page)
{that[_ADDON_+'_initPage']($page);that[_ADDON_+'_initOpenClose']();});};function extendOptions(o)
{return o;}
function extendConfiguration(c)
{if(typeof c.pageSelector!='string')
{c.pageSelector='> '+c.pageNodetype;}
return c;}
function _initAddon()
{addon_initiated=true;_c=$[_PLUGIN_]._c;_d=$[_PLUGIN_]._d;_e=$[_PLUGIN_]._e;_c.add('offcanvas modal background opening blocker page');_d.add('style');_e.add('opening opened closing closed setPage');glbl=$[_PLUGIN_].glbl;glbl.$allMenus=(glbl.$allMenus||$()).add(this.$menu);glbl.$wndw.on(_e.keydown,function(e)
{if(glbl.$html.hasClass(_c.opened))
{if(e.keyCode==9)
{e.preventDefault();return false;}}});var _h=0;glbl.$wndw.on(_e.resize,function(e,force)
{if(force||glbl.$html.hasClass(_c.opened))
{var nh=glbl.$wndw.height();if(force||nh!=_h)
{_h=nh;glbl.$page.css('minHeight',nh);}}});}
var _c,_d,_e,glbl,addon_initiated=false;})(jQuery);(function($){var _PLUGIN_='mmenu',_ADDON_='fixedElements';$[_PLUGIN_].prototype['_init_'+_ADDON_]=function($panels)
{if(!this.opts.offCanvas)
{return;}
if(!addon_initiated)
{_initAddon();}
var addon_added=this.vars[_ADDON_+'_added'];this.vars[_ADDON_+'_added']=true;if(!addon_added)
{this.opts[_ADDON_]=extendOptions(this.opts[_ADDON_]);this.conf[_ADDON_]=extendConfiguration(this.conf[_ADDON_]);}
var that=this,opts=this.opts[_ADDON_],conf=this.conf[_ADDON_];this.__refactorClass($('div, span, a',glbl.$page),this.conf.classNames[_ADDON_].fixedTop,'fixed-top');this.__refactorClass($('div, span, a',glbl.$page),this.conf.classNames[_ADDON_].fixedBottom,'fixed-bottom');if(addon_added)
{return;}
var setPosition=function(){var _top=$(window).scrollTop(),_bot=glbl.$page.height()-_top-glbl.$wndw.height();$tops=$('.'+_c['fixed-top']);$bots=$('.'+_c['fixed-bottom']);$tops.css({'-webkit-transform':'translateY( '+_top+'px )','transform':'translateY( '+_top+'px )'});$bots.css({'-webkit-transform':'translateY( -'+_bot+'px )','transform':'translateY( -'+_bot+'px )'});};var onScroll=function(){setPosition();};var $tops,$bots;this.$menu.on(_e.opening,function(e)
{setPosition();$(window).on("scroll",onScroll);}).on(_e.closed,function(e)
{$tops.add($bots).css({'-webkit-transform':'none','transform':'none'});$(window).off("scroll",onScroll);});};$[_PLUGIN_].addons.push(_ADDON_);$[_PLUGIN_].defaults[_ADDON_]={};$[_PLUGIN_].configuration.classNames[_ADDON_]={fixedTop:'FixedTop',fixedBottom:'FixedBottom'};function extendOptions(o)
{return o;}
function extendConfiguration(c)
{return c;}
function _initAddon()
{addon_initiated=true;_c=$[_PLUGIN_]._c;_d=$[_PLUGIN_]._d;_e=$[_PLUGIN_]._e;_c.add('fixed-top fixed-bottom');glbl=$[_PLUGIN_].glbl;}
var _c,_d,_e,glbl,addon_initiated=false;})(jQuery);(function($,window,undefined){var log=(window.console&&window.console.warn)?window.console:{log:function(){},debug:function(){},warn:function(){},error:function(){}};$.fn.jgsiInputmask=function(opts){if(navigator.userAgent.indexOf("Android")==-1){$(this).inputmask(opts);}};$.jgsi={submitForm:function(form,command){var $form=null;if(form!=null||$.type(form)==="string"){$form=$(form);}
if(form==null||!$form.is('form')){return;}
if(command!=null&&form.command!=null){form.command.value=command;}
$form.submit();},submitMainForm:function(command){$.jgsi.submitForm($.jgsi.getMainForm(),command);},getMainForm:function(){var mn,form=document.forms[0];for(var i=0;i<document.forms.length;i++){form=document.forms[i];mn=$(form).data("main");if(mn!==false&&mn!='false')break;}
return form;},getURLParams:function(){var match,pl=/\+/g,search=/([^&=]+)=?([^&]*)/g,decode=function(s){return decodeURIComponent(s.replace(pl," "));},query=window.location.search.substring(1);urlParams={};while(match=search.exec(query)){urlParams[decode(match[1])]=decode(match[2]);}
return urlParams;},events:function(expr){var res=[],evo;$(expr).each(function(){if(evo=$._data(this,"events")){res.push({element:this,events:evo});}});return res.length>0?res:null;},printEvents:function(selector){$.each($.jgsi.events(selector)[0].events,function(evtName,evt){console.debug("attaching event: "+evtName);$(selector).bind(evtName,function(){console.debug("event called: ",evtName,$(this).val())});});},viewport:function(){var e=window,a='inner';if(!('innerWidth'in window)){a='client';e=document.documentElement||document.body;}
return{width:e[a+'Width'],height:e[a+'Height']};},_createDialog:function(opts){var $dialog=$(opts.selector).dialog($.extend({dialogClass:"emDialog",width:opts.width||660,height:opts.height||"auto",position:{my:"center top",at:"center top+10%",of:window},draggable:false,resizable:false,autoOpen:false,closeOnEscape:true,modal:true,hide:{effect:"fadeOut",easing:"easeInQuad",duration:100},show:{effect:"fadeIn",easing:"easeOutQuad",duration:250},create:function(evt,ui){$("span.ui-dialog-title",$(opts.selector).closest(".ui-dialog")).each(function(idx,elem){var attributes={};$.each(elem.attributes,function(attrIdx,attr){attributes[attr.name]=attr.value;});var $elem=$(elem),$h1=$("<h1></h1>").attr(attributes).html($elem.html());$elem.replaceWith($h1);});$(".ui-dialog-titlebar .ui-button-text",$(opts.selector).closest(".ui-dialog")).text("Go Back");},open:function(evt,ui){if($.jgsi.isMobileView()){var $dialogContainer=$(opts.selector).closest(".ui-dialog").removeClass("hiddenDialog");$(".ui-dialog:visible").not($dialogContainer).addClass("hiddenDialog")
window.scrollTo(0,0);$("body").addClass("dialog-open");var tbTop=$("#top_bar").outerHeight();if($("#jdheader-row-1").is(":visible")){tbTop+=$("#jdheader-row-1").outerHeight();}
$("#top_bar").trigger("sticky_kit:detach");$dialog.dialog("option","position",{my:"left top",at:"left top+"+tbTop,of:window});}else{if(opts.fullscreen){$("body").addClass("fullscreen");}
if(!opts.dialog.position){$dialog.dialog("option","position",{my:"center",at:"center",of:window});}else{$dialog.dialog("option","position",opts.dialog.position);}
$('.ui-widget-overlay').fadeIn(225);}},beforeClose:function(){if(opts.fullscreen){$("body").removeClass("fullscreen");}
if(!$.jgsi.isMobileView()){var dialogOptions=$(opts.selector).data("uiDialog").options;if($(document).data("ui-dialog-overlays")==1&&dialogOptions.modal){dialogOptions.modal=false;$(document).removeData("ui-dialog-overlays").unbind("focusin");$('.ui-widget-overlay').fadeOut(75,"easeOutQuad",function(){dialogOptions.modal=true;$(this).remove();});}}
var beforeClose=opts.beforeClose||function(){};beforeClose();if($.jgsi.isMobileView()){var $dialogContainer=$(opts.selector).closest(".ui-dialog"),$otherDialogs=$(".ui-dialog.hiddenDialog:last").not($dialogContainer).removeClass("hiddenDialog");if($otherDialogs.length==0){$("body").removeClass("dialog-open");$.jgsi.stickTopBar(true);}}}},opts.dialog||{}));},dialog:function(opts){if(opts.dialog&&opts.dialog.autoOpen){$.jgsi._createDialog(opts);}
if(opts.click){$(opts.click.container).on("click",opts.click.selector,function(evt){evt.preventDefault();if(!$(opts.selector).hasClass('ui-dialog-content')){$.jgsi._createDialog(opts);}
var $dialog=$(opts.selector),$a=$(this),beforeOpen=opts.click.beforeOpen||function(){};if($dialog.dialog("isOpen")){$dialog.dialog("close");return;}
if(opts.click.dynamicHeight){$dialog.dialog("option","height",$(window).height()*.9);}
if($.jgsi.isMobileView()){var modal=$("#cart_display_list_mmenu").hasClass("mm-opened");$dialog.dialog("option","modal",modal);$dialog.dialog("option","hide",false);$dialog.dialog("option","show",false);}else{$dialog.dialog("option","modal",true);$dialog.dialog("option","hide",{effect:"fadeOut",easing:"easeInQuad",duration:100});$dialog.dialog("option","show",{effect:"fadeIn",easing:"easeOutQuad",duration:250});}
var ww=$(window).width();if($dialog.dialog("option","width")>ww){$dialog.dialog("option","width",ww);}
if($a.data("dialog-title")){$dialog.dialog("option","title",$a.data("dialog-title"));}
if(opts.click.mode=="ajax"){var url=(opts.click.getUrl?opts.click.getUrl($a):$a.attr("href"));$.ajax({type:"GET",url:url,data:{"dialogMode":"true"},success:function(data){$dialog.html(data);beforeOpen($dialog,$a)
$dialog.dialog("open");},error:function(jqXHR,textStatus,error){alert(error);}});}else if(opts.click.mode=="iframe"){$dialog.html("<iframe name='reviews-iframe' src='"+$a.attr("href")+"' width='100%' height='100%' scrolling='auto' marginwidth='0' marginheight='0' frameborder='0'></iframe>");beforeOpen($dialog,$a)
$dialog.dialog("open");}else{beforeOpen($dialog,$a)
$dialog.dialog("open");}}).on("keydown",opts.click.selector,function(evt){var keyCode=evt.keyCode||evt.which;if(keyCode==32||keyCode==13){$(this).focus().click();evt.preventDefault();}})}},initProducts:function(){var $products=$("#products>li"),$productsUL=$("#products");var adjustLink=function($link){$("#categories li.active").removeClass('active').attr('aria-selected',false).attr('aria-expanded',false);$link.closest("li").addClass('active').attr('aria-selected',true).attr('aria-expanded',true);$(".menu-categories li.active").removeClass('active').attr('aria-selected',false).attr('aria-expanded',false);$(".menu-categories a[data-category='"+$link.data("category")+"']").closest("li").addClass('active').attr('aria-selected',true).attr('aria-expanded',true);}
$("#categories li a, #categories li").mousedown(function(evt){evt.preventDefault();evt.stopImmediatePropagation();$("#categories li.active:focus").blur();})
$("#categories a").click(function(evt){evt.preventDefault();evt.stopImmediatePropagation();var $link=$(this);if($link.hasClass("hierarchy")){var $ul=$link.next("ul");if(!$link.parent().is(".active")&&!$ul.is(":visible")){$ul.slideDown();}else if($link.parent().is(".active")){if($ul.is(":visible")){$ul.slideUp();}else{$ul.slideDown();}}}
if(!$link.parent().is(".active")){$link.parentsUntil("#categories","ul").show();adjustLink($link);adjustScroll();$.jgsi.displayFilteredProducts(""+$link.data("category"))
window.location.hash=$link.data("category");}}).focus(function(evt){$(this).closest("li").focus();});$(".menu-categories a").click(function(evt){evt.preventDefault();evt.stopImmediatePropagation();var $link=$(this);var $leftNavLink=$("#categories a[data-category='"+$link.data("category")+"']");if($leftNavLink.length!=0){$leftNavLink.click();$("#mobileMenuDialog").dialog("close");}else{document.location=$link.attr("href")}}).keydown(function(evt){var keyCode=evt.keyCode||evt.which;if(keyCode==32||keyCode==13){$(this).trigger("click");evt.preventDefault();}});$("#categories li,.menu-categories li").click(function(evt){evt.preventDefault();evt.stopImmediatePropagation();$(this).find("a").click();});$("#categories li,.menu-categories li").keydown(function(evt){var keyCode=evt.keyCode||evt.which;if(keyCode==38||keyCode==37){$(this).prev().focus();evt.preventDefault();}else if(keyCode==40||keyCode==39){$(this).next().focus();evt.preventDefault();}else if(keyCode==32||keyCode==13){$(this).focus().click();evt.preventDefault();}});$("#products_block").keydown(function(evt){var keyCode=evt.keyCode||evt.which;if(evt.ctrlKey&&(keyCode==33||keyCode==38||keyCode==37||evt.shiftKey&&keyCode==9)){$("#categories li.active").prev().click();$("#products_block").focus()
evt.preventDefault();}else if(evt.ctrlKey&&(keyCode==34||keyCode==40||keyCode==39||keyCode==9)){$("#categories li.active").next().click();$("#products_block").focus()
evt.preventDefault();}});var adjustScroll=function(){if($(document).scrollTop()>$("#customer_ent_header").height()){$('html, body').animate({scrollTop:$("#customer_ent_header").height()-1},500);}}
var showAll=function(){$("#products>li").show().find("img.product-image-thumbnail[data-src]").each(function(idx,elem){var $elem=$(elem);$elem.attr("src",$elem.data("src")).removeAttr("data-src");});var $products=$("#products>li").detach(),$productsContainer=$("#products");$("#categories li a").each(function(idx,elem){var cat=$(elem).data("category"),title=$(elem).text(),len=$products.filter("[data-category~='"+cat+"']").length;var a=$productsContainer.append($("<li/>").addClass("products-header").text(title+" ("+len+")"))
$products.filter("[data-category~='"+cat+"']").clone().appendTo($productsContainer);})
$("#products_block,#products, #productList").css({"width":"100%"});$("#products-header, #products-header-mobile, #categories_block").hide();$("li.product[data-id='disclaimer']").not(":last").remove();}
$(window).hashchange(function(){var hash=window.location.hash.replace(/^#/,'')||null;if(!hash){return;}
if(hash=="all"){showAll();return;}
var activeCategory=$("#categories li.active a").data("category")
if(activeCategory!=hash){$("#categories a[data-category~='"+hash+"']").trigger("click");}});if(location.hash){$(window).hashchange();}
if(page.missingProductIds){var _ratingTemplate=$("#product-reviews").html();Mustache.parse(_ratingTemplate);$.post($("#product-reviews").data("product-reviews"),{"ids":page.missingProductIds},function(ratings){if(!ratings){return;}
$.each(ratings,function(idx,rating){if(!page.missingProducts[rating.productCode]){return;}
var pData={productId:page.missingProducts[rating.productCode].id,productName:page.missingProducts[rating.productCode].name,total:rating.total+" "+$("#product-reviews").data(rating.total==1?"msg-products-review":"msg-products-reviews"),avg:rating.avg,avgImg:rating.avgImage,range:rating.range},ratingHTML=Mustache.render(_ratingTemplate,pData);$("div[data-product-code='"+rating.productCode+"']").html(ratingHTML);});});}},displayFilteredProducts:function(category){var $products=$("#products>li");console.debug("$products",$products);var $productsUL=$("#products");var categorySelector=['[data-category~=every]'];var catCode=null;$.each(category.split(","),function(i,elem){if(!catCode){catCode=elem.toLowerCase();}
categorySelector.push('[data-category~='+elem+']');});var categoryFilter=categorySelector.join(",");console.debug("categoryFilter",categoryFilter);$products.not(categoryFilter).hide();var $visible=$products.filter(categoryFilter);$visible.find("img.product-image-thumbnail[data-src]").each(function(idx,elem){var $elem=$(elem);$elem.attr("src",$elem.data("src")).removeAttr("data-src");});$visible.show()
var size=$visible.filter('li[data-product]').length;$("#products-header").html(size+" "+$('#products').data(size==1?"msg-products-product":"msg-products-products"));if(categorySelector.length>0){var catName=$("#categories "+categorySelector[0]).text();$("#products-header-mobile").html(catName+" ("+size+")");}},blockRequiredToggles:function(){$("ul[data-require-selection='true'] .toggleBlock").removeClass("required");$("ul[data-require-selection='true'] .toggle").filter(function(i,elem){return $(elem).data('toggles').active;}).siblings(".toggleBlock").addClass("required");},initAccessories:function(){$(".toggle").toggles({'animate':100,text:{on:'',off:''}}).on('toggle',function(evt,active){var $toggle=$(evt.target),$cat=$toggle.closest("ul");if(active){$toggle.attr("aria-checked",true);$toggle.data("tracklinktext","service_remove");}else{$toggle.removeAttr("aria-checked");$toggle.data("tracklinktext","service_add");}
if(active){var removeLineItemId=[],removedParts=[],removedToggles=[];if($cat.data("single-selection")){var $siblings=$(".toggle",$cat).not($toggle);$siblings.each(function(idx,elem){var $elem=$(elem),$sibToggle=$elem.data('toggles');if($sibToggle.active){removedToggles.push($elem);removeLineItemId.push($elem.data("lineitemid"));removedParts.push($elem.data("partnumber"));$sibToggle.toggle(false,false,true);}});$.jgsi.blockRequiredToggles();}
$toggle.siblings(".toggleBlock").addClass("blocking");$.jgsi.cartAction({"data":{"action":"add","lineItemId":$toggle.closest("#accessories").data("lineitemid"),"partNumber":$toggle.data("partnumber"),"removeLineItemId":removeLineItemId},"trigger":$toggle,"callback":function(data){$toggle.siblings(".toggleBlock").removeClass("blocking");$toggle.siblings(".status").text($("#cartData").data("msg-toggle-added"));$toggle.data("lineitemid",data.lineItemId).attr("data-lineitemid",data.lineItemId);$.jgsi.omniAdd([$toggle.data("partnumber")]);if(removedParts.length>0){$.jgsi.omniRemove(removedParts);}
if(removedToggles.length>0){$.each(removedToggles,function(i,$elem){$elem.siblings(".status").text($("#cartData").data("msg-toggle-not-in-cart"));})}}});}else{$toggle.siblings(".toggleBlock").addClass("blocking");var accessoryLI=$toggle.data("lineitemid");$.jgsi._deleteItem(accessoryLI,$toggle);}}).on('mousedown',function(evt){evt.preventDefault();}).on("keydown",function(evt){var keyCode=evt.keyCode||evt.which;if(keyCode==32||keyCode==13){$(this).trigger("click");evt.preventDefault();}});$.jgsi.blockRequiredToggles();$("#accessoryCategories li.accessoryCategory a, #accessoryCategories li.accessoryCategory").mousedown(function(evt){evt.preventDefault();evt.stopImmediatePropagation();$("#accessoryCategories li.active:focus").blur();})
$("#accessoryCategories li.accessoryCategory a").click(function(evt){evt.preventDefault();evt.stopImmediatePropagation();var categoryCode=$(this).attr("data-category-code");if(window.location.hash!="#"+categoryCode){window.location.hash=categoryCode;}else{$(window).hashchange();}}).focus(function(evt){$(this).closest("li").focus();});$("#accessoryCategories li.accessoryCategory").click(function(evt){evt.preventDefault();evt.stopImmediatePropagation();$(this).find("a").click();}).keydown(function(evt){var keyCode=evt.keyCode||evt.which;if(keyCode==40){$(this).next().focus().click();evt.preventDefault();}else if(keyCode==38){$(this).prev().focus().click();evt.preventDefault();}else if(keyCode==32||keyCode==13){$(this).focus().click();evt.preventDefault();}});var scrollTo=function(id){if($("#category-"+id).length==0){return;}
if($("#accessoryCategories li.active a").attr("data-category-code")!=id){$("#accessoryCategories li").removeClass("active").removeAttr("aria-pressed");$("#accessoryCategories a[data-category-code='"+id+"']").closest("li").addClass("active").attr("aria-pressed",true);}
var $focused=$("#accessoryCategories li.active:focus");$('html, body').animate({scrollTop:$("#category-"+id).offset().top-$("#top_bar").height()},500,function(){if($focused.length!=0&&$(":focus").length==0){$focused.focus();}});}
$(window).hashchange(function(){var hash=window.location.hash.replace(/^#/,'')||null;if(hash){scrollTo(hash);}});if(location.hash){$(window).hashchange();}else{$("#accessoryCategories li.accessoryCategory:first").addClass("active");}
$(".backToTop").click(function(evt){evt.preventDefault();$('html, body').animate({scrollTop:0},500);});$("#accessoryCategories").stick_in_parent({"offset_top":$("#top_bar").height()+10});},cartAction:function(opts){if(opts.trigger){opts.trigger.addClass("disabled");}
$.ajax({type:"GET",url:$("#cartData").data("adjust-cart"),data:opts.data,contentType:"application/json",cache:false,traditional:true,success:function(data){if(opts.trigger){opts.trigger.removeClass("disabled");}
if(!data.success){if(opts.error){opts.error(data);}else{alert(data.error);}
return;}
if(opts.callback){opts.callback(data);}
$(".cartSubtotal").html(data.subTotal);var $cartItemCount=$("#cart_display .cartItemCount");if(data.itemCount>9){$cartItemCount.addClass("plus");$cartItemCount.text("+9");}else{$cartItemCount.removeClass("plus");$cartItemCount.text(data.itemCount);}
$("#deliveryOptionsLink").removeClass("someAvailable").removeClass("notAvailable");if(data.availability){$("#deliveryOptionsLink").addClass(data.availability);}
if($("#marketingIncentives").length>0){$("#marketingIncentives").empty();if(data.marketingIncentives.length>0){var _link=$("#marketingIncentive-link").html(),_template=$("#marketingIncentive-template").html();for(var i=0;i<data.marketingIncentives.length;i++){var mi=data.marketingIncentives[i];$.extend(mi,{"link":(mi.url?Mustache.render(_link,mi):mi.name)});$("#marketingIncentives").append(Mustache.render(_template,mi));}
$("#marketingIncentives").show();}}
$.ajax({type:"GET",url:$("#cartData").data("cart-widget-lines"),data:{"dialogMode":true},cache:false,success:function(cartItems){$("#cart_display_list,#cart_display_list_mmenu .mmenu_contents").html(cartItems);$.jgsi.updateCartWidgetHeight(true);}});$.jgsi.highlightText($(".cartSubtotal"));if(opts.highlight){opts.highlight();}},error:function(jqXHR,textStatus,error){if(opts.trigger){opts.trigger.removeClass("disabled");}
if(opts.error){opts.error({"error":error});}else{alert(error);}}});},initCartActions:function(page){$("#customer_main, #cart_display_list_mmenu").on("click",".delete-wholegood",function(evt){evt.preventDefault();evt.stopImmediatePropagation();if(!$(this).hasClass("disabled")){var $wg=$(this).closest(".wholeGoodItem");var lineitemid=$wg.data("lineitemid")
$.jgsi._deleteItem(lineitemid,$(this));}})
$("#customer_main, #cart_display_list_mmenu").on("click",".delete-accessory",function(evt){evt.preventDefault();evt.stopImmediatePropagation();if(!$(this).hasClass("disabled")){var lineitemid=$(this).closest(".accessoryItem").data("lineitemid");$.jgsi._deleteItem(lineitemid,$(this));}});$("#accessories").on("click","a.button-added",function(evt){evt.preventDefault();if(!$(this).hasClass("disabled")){var accessoryLI=$(this).data("lineitemid");$.jgsi._deleteItem(accessoryLI,$(this));}})
$("#accessories").on("click","a.button-add",function(evt){evt.preventDefault();if(!$(this).hasClass("disabled")){var $btn=$(this),partNumber=$btn.data("partnumber");$.jgsi.cartAction({"data":{"action":"add","lineItemId":$btn.closest("#accessories").data("lineitemid"),"partNumber":partNumber},"trigger":$btn,"callback":function(data){$.jgsi.omniAdd([partNumber]);var message=$.jgsi.message($("#cartData").data("msg-product-remove"),$btn.data("name"));$btn.switchClass("button-add","button-added",50).text(message).attr("title",message);$btn.data("tracklinktext","remove_from_cart");$btn.data("lineitemid",data.lineItemId).attr("data-lineitemid",data.lineItemId);}});}});$("#accessories").on("keydown","a.button-added, a.button-add",function(evt){var keyCode=evt.keyCode||evt.which;if(keyCode==32||keyCode==13){$(this).trigger("click");evt.preventDefault();}});},_deleteItem:function(lineitemid,$btn){var $item=$('#mycart [data-lineitemid='+lineitemid+']'),isWG=$item.hasClass("wholeGoodItem"),isGreenFleet=$item.data("greenfleet"),partsRemoved=[$item.data("partnumber")];if(isWG){$item.find(".accessoryItem").each(function(idx,elem){partsRemoved.push($(elem).data("partnumber"));});}
$.jgsi.cartAction({"data":{"action":"delete","lineItemId":lineitemid},"trigger":$btn,"callback":function(){$.jgsi.omniRemove([partsRemoved]);if($("#accessories").data("lineitemid")==lineitemid){document.location=$("#cartData").data("view-products");return;}
var activePage=$("body").data("active-page");if(activePage=="payment"||activePage=="delivery"||activePage=="review"){document.location=$("#cartData").data("view-cart");return;}
var $accBtn=$(".button-added[data-lineitemid="+lineitemid+"]");if($accBtn.length>0){var message=$.jgsi.message($("#cartData").data("msg-product-add"),$accBtn.data("name"));$accBtn.switchClass("button-added","button-add",50).text(message).attr("title",message);$accBtn.data("tracklinktext","add_to_cart");}
var $toggle=$(".toggle[data-lineitemid="+lineitemid+"]");if($toggle.length>0){$toggle.siblings(".toggleBlock").removeClass("blocking");$toggle.siblings(".status").text($("#cartData").data("msg-toggle-not-in-cart"));$toggle.data('toggles').toggle(false,false,true);}
var $lis=$('.accessoryItem[data-lineitemid='+lineitemid+'],.wholeGoodItem[data-lineitemid='+lineitemid+']')
$lis.slideUp(250,function(){$(this).remove();if(isWG&&$(".wholeGoodItem").length==0){document.location=$("#cartData").data("view-products");}else if(isGreenFleet){document.location.reload();}});window.location.reload();}});},onUpdateLineItemQuantity:function(el,lineitemid,isWG,isMemberDiscountItem){var $sel=$(el),qty=$sel.val();if(qty==0){if(isWG){$sel.closest(".wholeGoodItem").find("a.delete-wholegood").trigger("click");}else{$sel.closest(".accessoryItem").find("a.delete-accessory").trigger("click");}
window.location.reload();}else{$sel.data("initial-quantity",qty);$.jgsi.cartAction({"data":{"action":"quantity","lineItemId":lineitemid,"quantity":qty},"callback":function(){if(isMemberDiscountItem){window.location.reload();return;}
if(isWG){$(".wg-locked-qty-"+lineitemid).html(qty);$(".wg-limited-qty-"+lineitemid).each(function(selIdx,elem){var $el=$(elem),curVal=parseInt($el.val()),maxOpt=parseInt($("option",$el).last().val());if(maxOpt>qty){$("option",$el).filter(function(i,e){return e.value>qty;}).remove();if(curVal>qty){$el.val(qty);}}else if(maxOpt<qty){for(var qtyIdx=maxOpt+1;qtyIdx<=qty;qtyIdx++){$el.append($('<option></option>').val(qtyIdx).html(qtyIdx));}}});}
window.location.reload();}});}},message:function(msg,arg0){return msg.replace("{0}",arg0);},selectDealer:function(dealerId){$.ajax({type:"GET",url:$("#selectDealerForm").data("select-dealer-url"),data:{"id":dealerId,"mode":"json"},success:function(data){if(!data.success){alert(data.error);return;}
var urlParams=$.jgsi.getURLParams();if($.isEmptyObject(urlParams)){location.reload();}else{delete urlParams["newproducts"];location.search="?"+$.param(urlParams)}},error:function(jqXHR,textStatus,error){alert(error);}});if(typeof omniObj!=="undefined"&&!!omniObj.trackDealerSelect){omniObj.trackDealerSelect()}},initFindDealer:function(){$.validate({form:"#selectDealerForm",scrollToTopOnError:false,borderColorOnError:'',onSuccess:function(){$.jgsi._loadDealerSearchResults($("#selectDealerForm").attr("action"),{"zip":$("#selectDealerForm input[name=zip]").val(),"nextStep":$("#selectDealerForm input[name=nextStep]").val()},true);return false;}});$("#selectDealerForm input[name=zip]").jgsiInputmask();$("#selectDealerForm input[name=zip]").keydown(function(evt){var keyCode=evt.keyCode||evt.which;if(keyCode==13){evt.preventDefault();$("#selectDealerForm input.updateLocation").trigger("click");}});$("#findDealerResults").on("click",".dealerSelection",function(evt){var $dealer=$(this),dealerId=$dealer.data("dealer-id");if(evt.target.tagName==="A"){return;}
if($dealer.data("nextstep")=="checkout"||$("#selectDealerDialog").length==0){if($dealer.data("available")!="all"){var $pa=$(".productAvailability",$dealer);$pa.data("flash-param","checkout=select-dealer")
$pa.trigger("click");return;}
document.location=$("#selectDealerForm").data("select-dealer-url")+"?id="+dealerId+"&nextStep="+$dealer.data("nextstep");return;}
$.jgsi.selectDealer(dealerId);}).on("keydown","#dealerList div:focus",function(evt){var keyCode=evt.keyCode||evt.which;if(keyCode==40){$(this).next().focus();evt.preventDefault();}else if(keyCode==38){$(this).prev().focus();evt.preventDefault();}else if(keyCode==32||keyCode==13){$(this).trigger("click");evt.preventDefault();}}).on("mouseover",".dealerSelection, .showMoreDealers",function(evt){$(this).focus();});},_loadDealerSearchResults:function(url,reqData,addLoadingMsg){if(addLoadingMsg){$("#findDealerLoading").show(200);}
$("#selectDealerForm input[name=zip], #selectDealerForm input.updateLocation").css({"cursor":"wait"});$.ajax({type:"GET",url:url,data:$.extend({},reqData,{"dialogMode":"true"}),success:function(data){$("#selectDealerForm input[name=zip], #selectDealerForm input.updateLocation").css({"cursor":"default"});$("#findDealer").hide();if(addLoadingMsg){$("#findDealerLoading").hide();}
$("#findDealerResults").html(data);$("#findDealerResults .dealerSelection").first().focus();var $dialog=$("#selectDealerDialog");if($dialog.length>0){var dheight=$dialog.find("#findDealerResults").height()+60;$dialog.dialog("option","height","auto");}
var runComplete=true;$("#findDealerResults .showMoreDealers").click(function(evt){$(this).find(".moreDealers").click();});$("#findDealerResults .moreDealers").click(function(evt){evt.preventDefault();evt.stopImmediatePropagation();$.jgsi._loadDealerSearchResults($(this).attr("href"),{},false);$('html, body').animate({scrollTop:$("#findDealerResults").position().top},{"duration":200,"complete":function(){if(runComplete){runComplete=false;}}});});},error:function(jqXHR,textStatus,error){$("#selectDealerForm input[name=zip], #selectDealerForm input.updateLocation").css({"cursor":"default"});alert(error);}});},initMemberActions:function(){$.jgsi.dialog({selector:"#member-login-dialog",click:{container:"#customer_main",selector:"#member-login-prompt"},dialog:{dialogClass:"member-login-dialog emDialog"}});$.jgsi._createDialog({selector:"#member-login-failure-dialog"});$.jgsi._createDialog({selector:"#member-info-dialog",dialog:{close:function(event,ui){$("body").css({"cursor":"wait"});window.location.reload();}}});$("#member-login-form input[name=memberNumber]").jgsiInputmask();$("#member-login-form input[name=serialNumber]").jgsiInputmask();$("#member-login-form input[name=postalCode]").jgsiInputmask();$.jgsi.validate("memberLoginForm",null,$.jgsi.memberLogin);var enforceExclusiveLoginFields=function(){var memberNumber=$("#member-number").val(),serialNumber=$("#serial-number").val();if(memberNumber.length>0&&serialNumber.length==0){$("#serial-number").prop("disabled",true);}else if(memberNumber.length==0&&serialNumber.length>0){$("#member-number").prop("disabled",true);}else{$("#serial-number").prop("disabled",false);$("#member-number").prop("disabled",false);}};$("#serial-number").on("keyup change",function(evt){enforceExclusiveLoginFields();});$("#member-number").on("keyup change",function(evt){enforceExclusiveLoginFields();});$(".member-info-prompt").click(function(evt){if($("#member-info-dialog").dialog("isOpen")){$("#member-info-dialog").dialog("close");}else{if($.jgsi.isMobileView()){$("#member-info-dialog").dialog("open");}else{if($("#member-info-popup").is(":visible")){$("#member-info-popup").hide();}else{$("#member-info-popup").show();}}}});$(".member-logout-prompt").click(function(evt){evt.preventDefault();evt.stopImmediatePropagation();$.jgsi.memberLogout(evt.target.href);});},memberLogin:function(){$(".member-login").css({"cursor":"wait"});$.ajax({type:"GET",url:$("#member-login-form").attr("action"),data:{"customerNumber":$("#member-login-form input[name=memberNumber]").val(),"serialNumber":$("#member-login-form input[name=serialNumber]").val(),"postalCode":$("#member-login-form input[name=postalCode]").val(),"dialogMode":"true"},success:function(data){$(".member-login").css({"cursor":"default"});$("#member-login-dialog").dialog("close");$("#member-info-panel").html(data);$("#member-info-popup-content").html($(".member-info").html());$("#member-info-dialog").dialog("open");},error:function(jqXHR,textStatus,error){$(".member-login").css({"cursor":"default"});if(jqXHR.status=="422"){$("#member-login-failure-panel").html(jqXHR.responseText);$("#member-login-failure-dialog").dialog("open");}else{alert(error);}}});return false;},memberLogout:function(url){$("#customer_main").css({"cursor":"wait"});$.ajax({type:"GET",url:url,success:function(data){window.location.reload();},error:function(jqXHR,textStatus,error){$("#customer_main").css({"cursor":"default"});alert(error);},});},updateCartWidgetHeight:function(contentsUpdated,onShow){var $cartDL=$("#cart_display_list"),cData=$cartDL.data();if(contentsUpdated===true){cData.updateHeight=true;}
if(!$cartDL.is(":visible")&&!onShow){return;}
var updateHeight=cData.updateHeight;if(updateHeight){cData.updateHeight=false;$("<div id='cart_display_list_height_test' class='cart_display_list'></div>").css({width:$cartDL.width(),display:"block",position:"fixed",left:-9999,top:-9999}).html($cartDL.html()).appendTo("body");cData.cartHeight=$("#cart_display_list_height_test").height()+10;$("#cart_display_list_height_test").remove()}
var availableHeight=$(window).height()-cData.cartHeightAdjusment+cData.headerHeight-Math.max(cData.headerHeight-$(document).scrollTop(),0);var css={"height":Math.min(availableHeight,cData.cartHeight)}
if(updateHeight&&$cartDL.is(":visible")){$cartDL.animate(css,200);}else{$cartDL.css(css);}},initCartWidget:function(){$("#cart_display_list_mmenu li.mmenu_contents").html($("#cart_display_list").html());$("#cart_display_list_mmenu").mmenu({"dragOpen":true,"slidingSubmenus":false,"offCanvas":{"position":"right","zposition":"back"},"classes":"mm-white"},{"dragOpen":{"width":{widthFn:function(){return($.jgsi.isTabletView()?30:19.69)*13;}}},"classNames":{"fixedElements":{"fixedTop":"fixedTopMarker"}}}).on("opening.mm",function(){$(".ui-dialog:visible .ui-dialog-content").dialog("close");})
var cData={updateHeight:true,cartTop:$("#cart_display_bar").position().top+$("#cart_display_bar").outerHeight(),headerHeight:$("#customer_ent_header").height(),cartHeight:$("#cart_display_list").height()}
cData.cartHeightAdjusment=cData.cartTop+cData.headerHeight+10;$("#cart_display_list").data(cData).css({"top":cData.cartTop});var isMenuOpen=function(mobileMenu){if(mobileMenu){return $("#cart_display_list_mmenu").hasClass("mm-opened");}
return $("#cart_display_list").is(":visible");};var toggleMenu=function(mobileMenu,status){if(mobileMenu){$("#cart_display_list_mmenu").trigger(status?"open.mm":"close.mm");}else{if(status){$(window).on("resize scroll",$.jgsi.updateCartWidgetHeight);$.jgsi.updateCartWidgetHeight(false,true);$("#cart_display #cart_teaser").data("tracklinktext","close").switchClass("","active",200);$("#cart_display_list").slideDown(200);}else{$("#cart_display #cart_teaser").data("tracklinktext","open_cart").switchClass("active","",200);$("#cart_display_list").slideUp(200,function(){$(window).off("resize scroll",$.jgsi.updateCartWidgetHeight);});}}};$("#cart_display").click(function(evt){evt.preventDefault();var mobile=$.jgsi.isMobileView(),isOpen=isMenuOpen(mobile);if(isMenuOpen(!mobile)){toggleMenu(!mobile,false);}
toggleMenu(mobile,!isOpen);}).keydown(function(evt){var keyCode=evt.keyCode||evt.which;if(keyCode==32||keyCode==13){$(this).focus().click();evt.preventDefault();}});$("#cart_display_list, #cart_display_list_mmenu").on("click","a.closeShoppingCart",function(evt){evt.preventDefault();if(isMenuOpen(true)){toggleMenu(true,false);}
if(isMenuOpen(false)){toggleMenu(false,false);}});$(window).on("jgsi:viewport-change",function(evt,data){if(isMenuOpen(!data.isMobileView)){toggleMenu(!data.isMobileView,false);toggleMenu(data.isMobileView,true);}});},notifyNewProducts:function(){var urlParams=$.jgsi.getURLParams(),newProducts=urlParams["newproducts"];if(newProducts){$.jgsi.omniAdd(newProducts.split(","));}},globalSettings:function(){Inputmask.extendDefinitions({"*":{validator:"[0-9A-Za-z\u0410-\u044f\u0401\u0451\xc0-\xff\xb5.,_\\- ]",cardinality:1},'A':{validator:"[A-Za-z]",cardinality:1,casing:"upper"},'X':{validator:"[A-Za-z0-9]",cardinality:1,casing:"upper"},'K':{validator:"[ABCEGHJKLMNPRSTVXYabceghjklmnprstvxy]",cardinality:1,casing:"upper"},'L':{validator:"[ABCEGHJ-NPRSTV-Zabceghj-nprstv-z]",cardinality:1,casing:"upper"}});$(document).ajaxSend(function(event,request,settings){document.body.style.cursor="wait";}).ajaxComplete(function(event,request,settings){document.body.style.cursor="default";}).ajaxError(function(e,jqXHR,settings,exception){console.error("ajaxError",e,jqXHR,settings,exception);});},omniAdd:function(parts){if(typeof omniObj!=="undefined"){omniObj.addToCart(";"+parts.join(",;"));}},omniRemove:function(parts){if(typeof omniObj!=="undefined"&&!!omniObj.removeFromCart){omniObj.removeFromCart(";"+parts.join(",;"));}},initCoupon:function(){$("#couponApply").click(function(evt){evt.preventDefault();$.jgsi.applyCoupon();})
$("#couponRemove").click(function(evt){evt.preventDefault();$.jgsi.removeCoupon();})
$("#coupon").keydown(function(evt){var keyCode=evt.keyCode||evt.which;if(keyCode==13){$.jgsi.applyCoupon();evt.preventDefault();}})},initProductAvailabilityCheck:function(activePage){if(activePage=="cart"){$.jgsi.dialog({selector:"#productAvailabilityCheckoutDialog",click:{mode:"ajax",getUrl:function($lnk){return $lnk.data("product-availability-url");},container:".shoppingCartTop",selector:"#deliveryOptionsLink.someAvailable, #deliveryOptionsLink.notAvailable"}});}
$.jgsi.dialog({selector:"#productAvailabilityDialog",click:{mode:"ajax",container:"#customer_main, #selectDealerDialog",selector:".productAvailability",getUrl:function($lnk){var href=$lnk.attr("href");flashParam=$lnk.data("flash-param");if(flashParam){$lnk.removeData("flash-param");return href+"&"+flashParam;}
return href;}}});$("#productAvailabilityDialog").on("click",".selectDealer",function(evt){if(!$(this).data("change-dealer")){evt.preventDefault();evt.stopImmediatePropagation();}
$("#productAvailabilityDialog").dialog("close");});},applyCoupon:function(){$.jgsi.cartAction({"data":{"action":"coupon","coupon":$("#coupon").val()},"error":function(data){$(".couponCode .error").remove();$("<div class='error'></div>").html(data.error).prependTo($("#applyCoupon"));},"callback":function(){window.location.reload();},"highlight":function(){$.jgsi.highlightText($("#marketingIncentives"),{"duration":500});}});},removeCoupon:function(){$.jgsi.cartAction({"data":{"action":"removeCoupon"},"callback":function(){window.location.reload();}});},highlightText:function($elem,opts){var o=opts||{},props=["color"],animation={"color":$elem.css("color")};$.effects.save($elem,props);$elem.animate({"color":o.color||"#35C348"},{queue:true,duration:100,easing:o.easing}).animate(animation,{queue:true,duration:o.duration,easing:o.easing,complete:function(){$.effects.restore($elem,props);}});},initDeliveryOptions:function(){$("input[name=pickupOrDelivery]").click(function(evt){var $btn=$(this);if(evt){evt.stopImmediatePropagation();}
if($btn.prop("disabled")){return;}
$(".storePickup, .dealerDelivery").removeClass("selected");$btn.closest(".storePickup.active, .dealerDelivery.active").addClass("selected");if($btn.val()=="delivery"){$(".option-delivery").toggle(true);$(".option-pickup").toggle(false);}else{$(".option-delivery").toggle(false);$(".option-pickup").toggle(true);}});$("input[name=pickupOrDelivery]:checked").trigger("click");$(".storePickup.active, .dealerDelivery.active").click(function(evt){if(evt.target.tagName==="A"){return;}
evt.stopImmediatePropagation();$("input[name=pickupOrDelivery]",$(this)).trigger("click");});if($("#datepicker").length){function noWeekendsOrHolidays(date){var dateStr=$.datepicker.formatDate('yy-m-d',date);return(holidays[dateStr]?[false,"holiday",holidays[dateStr]]:$.datepicker.noWeekends(date));}
function getBusinessDay(days){var date=new Date();var offsetRes=0;while(days>=0){date.setDate(date.getDate()+1);offsetRes++;if(noWeekendsOrHolidays(date)[0]){days--;}}
return offsetRes;}
var earliestDelivery=getBusinessDay(3);$("#datepicker").datepicker({defaultDate:earliestDelivery,constrainInputType:true,dateFormat:"MM d, yy",minDate:earliestDelivery,beforeShowDay:noWeekendsOrHolidays,beforeShow:function(input,inst){$("input[name=deliveryDateOption]:radio[value=date]").trigger("click");}});if($("#datepicker").datepicker("getDate")==null){$("#datepicker").datepicker("setDate",earliestDelivery);}
if($("body").data("language")=="fr"){$("#datepicker").datepicker("option",$.datepicker.regional["fr"]);}}
var additionalValidators=function($form){$("input[name=deliveryDateOption]:first").attr({"data-validation-if-checked":'pickupOrDelivery"][value="delivery',"data-validation-error-msg-required":$(".deliveryDateTime").data("msg-delivery-date-required")});$.jgsi.addValidation($form,"deliveryDateOption","required");};$.jgsi.validate("deliveryOptionsForm",additionalValidators);$("input,select",$("form[name='deliveryOptionsForm']")).not(":disabled").first().focus();},initPaymentValidation:function(formName){var additionalValidators=function($form){$("select[name=cardType]").attr({"data-validation-creditcard-card-type":"cardType","data-validation-creditcard-card-number":"cardNumber"});$.jgsi.addValidation($form,"cardType","creditcardtype");$("[name=cardNumber]").attr({"data-validation-creditcard-card-type":"cardType"});$.jgsi.addValidation($form,"cardNumber","creditcard");$("select[name=expirationYear],select[name=expirationMonth]").attr({"data-validation-expiration-year":"expirationYear","data-validation-expiration-month":"expirationMonth","data-validation-expiration-card-type":"cardType"});$.jgsi.addValidation($form,"expirationYear","expiration");$.jgsi.addValidation($form,"expirationMonth","expiration");$("input[name=nameOnCard]").attr({"data-validation-expiration-card-type":"cardType"});$.jgsi.addValidation($form,"nameOnCard","cardName");$("[name=confirmEmail]").attr({"data-validation-confirm":"email"});$.jgsi.addValidation($form,"confirmEmail","confirmation");}
$.jgsi.validate(formName,additionalValidators,function(){$("input, select",$(".billingInfo")).attr("disabled",false);return true;});$("input.serialNumber").jgsiInputmask();},initPaymentCard:function(){var financeIncentiveOptions={revolving:$("#financeIncentiveId option.revolving"),installment:$("#financeIncentiveId option.installment")};$("select[name=cardType]").change(function(){var type=$(this).val();if(type=="JD"||type=="JDI"||type=="JDID"){$("[name=expirationYear],[name=expirationMonth]").val(0);$("[name=expirationYear],[name=expirationMonth]").attr("disabled",true);$("[name=expirationYear],[name=expirationMonth]").removeClass('valid').removeClass("error");$("[name=expirationYear],[name=expirationMonth]").parent().find(".form-error").remove();$(".expirationBlock,.nonJDFBlock").slideUp(200);}else{var d=new Date();$("[name=expirationYear]").val(d.getFullYear());$("[name=expirationMonth]").val(d.getMonth()+1);$("[name=expirationYear],[name=expirationMonth]").attr("disabled",false);$(".expirationBlock,.nonJDFBlock").slideDown(300);}
if(type=="JDID"||type=="JDI"){$(".cc_number").slideUp(200);$(".cc_name").slideUp(200);$("#nameOnCard").attr("disabled",true);}else{$(".cc_number").slideDown(300);$(".cc_name").slideDown(300);$("#nameOnCard").attr("disabled",false);}
if(type=="JD"||type=="JDI"||type=="JDID"){$("#financeIncentiveId option").remove();$("#financeIncentiveId").append(financeIncentiveOptions[(type=="JD"?"revolving":"installment")]);$("#financeIncentiveId option:first").attr("checked",true);$("#financeIncentiveId,#financeIncentiveIdLabel").toggle($("#financeIncentiveId option").length>0);if(type=="JD"){$(".financeRevolvingBlock").show();$(".financeInstallmentBlock").hide();}else if(type=="JDI"||type=="JDID"){$(".financeRevolvingBlock").hide();$(".financeInstallmentBlock").show();}
$("#financeIncentiveId").attr("disabled",false).val($("#financeIncentiveId option:first").val());$(".financeIncentiveBlock").slideDown(300);}else{$("#financeIncentiveId").attr("disabled",true).val(0);$(".financeIncentiveBlock").slideUp(200);}
var mask="9999 9999 9999 9999",placeholder="____ ____ ____ ____";if(type=="AE"){mask="9999 999999 99999";placeholder="____ ______ _____";}else if(type=="VI"){mask="9999 9999 9999 9999";}
var maskData=$("[name='cardNumber']").data("_inputmask");if(!maskData||maskData.maskset.mask!=mask){$("[name='cardNumber']").jgsiInputmask({mask:mask});}
$("[name='cardNumber']").attr("placeholder",placeholder);});if($("[name='phone'],[name='phone2']").data("mask")){$("[name='phone'],[name='phone2']").jgsiInputmask({mask:$("[name='phone']").data("mask"),showMaskOnHover:false,showMaskOnFocus:false});}
$("[name='cardNumber']").keydown(function(evt){var expectedType=null,cardNumber=$(this).val(),$cardType=$("select[name=cardType]");if(/^5/.test(cardNumber)){expectedType="MC";}else if(/^4/.test(cardNumber)){expectedType="VI";}else if(/^3/.test(cardNumber)){expectedType="AE";}else if(/^(601|64|65|62)/.test(cardNumber)){expectedType="DI";}else if(/^6003/.test(cardNumber)){expectedType="JD";}
if(expectedType){if(expectedType!=$cardType.val()){$cardType.val(expectedType).trigger("change");}else if($cardType.hasClass("error")){$cardType.val(expectedType).trigger("blur.validation");}}}).on("paste",function(){$(this).trigger("keydown");});$("select[name=cardType]").trigger("change");},initPaymentBillingAddress:function(formName){var $form=$("form[name='"+formName+"']"),fields=$("input,select",$form).map(function(i,e){return e.name;}),sameValues=true,hiddenFields=[];$.each(fields,function(i,deliveryField){if(!/^delivery/.test(deliveryField)||deliveryField=="deliveryCountry"){return;}
var billingField=deliveryField.replace(/delivery/,"billing");if($.inArray(billingField,fields)==-1){return;}
var $deliveryField=$("[name='"+deliveryField+"']",$form),$billingField=$("[name='"+billingField+"']",$form);if($deliveryField.get(0).type=="hidden"){hiddenFields.push(deliveryField);}else if(sameValues&&$deliveryField.val()!=$billingField.val()){sameValues=false;}
$deliveryField.addClass("deliveryField").data("billingfield",billingField);$deliveryField.change(function(){if($("#copyDeliveryData").is(":checked")){$billingField.val($(this).val()).trigger("blur.validation");}});})
$("#copyDeliveryDataCheckbox").click(function(evt){evt.preventDefault();evt.stopImmediatePropagation();var $chkbx=$("#copyDeliveryData");$chkbx.prop("checked",!$chkbx.prop("checked"));$chkbx.trigger("change");}).keydown(function(evt){var keyCode=evt.keyCode||evt.which;if(keyCode==32||keyCode==13){$(this).click();evt.preventDefault();}});var adjustCopyDeliveryChkbx=function(checked){$("#copyDeliveryDataCheckbox").attr("aria-checked",checked);$("input, select",$(".billingInfo")).attr("disabled",checked);if(checked){$(".billingHeader, .billingInfo").slideUp(200);}else{$(".billingHeader, .billingInfo").slideDown(300);}}
$("#copyDeliveryData").change(function(){var checked=$("#copyDeliveryData").is(":checked");adjustCopyDeliveryChkbx(checked);$(".deliveryField",$form).each(function(i,deliveryField){var $el=$(this),$billingField=$("[name='"+$el.data("billingfield")+"']",$form),val=(checked?$el.val():"");$billingField.val(val);$billingField.removeClass('valid').removeClass("error");$(".billingInfo span.form-error").remove();$(".billingInfo has-error").removeAttr("aria-invalid").removeClass("has-error");})}).click(function(evt){evt.stopImmediatePropagation();}).focus(function(){$("#copyDeliveryDataCheckbox").focus();}).attr("checked",sameValues);adjustCopyDeliveryChkbx(sameValues);},initApplyForJohnDeereFinancial:function(formName){$("#applyForJohnDeereFinancialCheckbox").click(function(evt){evt.preventDefault();evt.stopImmediatePropagation();var $chkbx=$("#applyForJohnDeereFinancial");$chkbx.prop("checked",!$chkbx.prop("checked"));$chkbx.trigger("change");}).keydown(function(evt){var keyCode=evt.keyCode||evt.which;if(keyCode==32||keyCode==13){$(this).click();evt.preventDefault();}});var adjustJDFChkbx=function(checked){$("#applyForJohnDeereFinancialCheckbox").attr("aria-checked",checked);}
$("#applyForJohnDeereFinancial").change(function(){adjustJDFChkbx($("#applyForJohnDeereFinancial").is(":checked"));}).click(function(evt){evt.stopImmediatePropagation();}).focus(function(){$("#applyForJohnDeereFinancialCheckbox").focus();});adjustJDFChkbx($("#applyForJohnDeereFinancial").is(":checked"));},initPayment:function(){var formName="paymentForm";$.jgsi.initPaymentValidation(formName);$.jgsi.initPaymentCard();if($("#copyDeliveryDataCheckbox").length==1){$.jgsi.initPaymentBillingAddress(formName);}
if($("#applyForJohnDeereFinancialCheckbox").length==1){$.jgsi.initApplyForJohnDeereFinancial(formName);}
$("input,select",$("form[name='"+formName+"']")).not(":disabled").first().focus();},validationFnShim:function(formName,strutsValidatorFn,validator,validationFns){if(eval("typeof "+formName+"_"+strutsValidatorFn)==="function"){var $form=$("form[name='"+formName+"']");var validationObj=eval('new '+formName+'_'+strutsValidatorFn+'()');for(x in validationObj){var fieldName=validationObj[x][0],errorMsg=validationObj[x][1],attr={};$.jgsi.addValidation($form,fieldName,validator);if($("body").data("language")=="en"){errorMsg=errorMsg.replace(/(\s)+a(\s)+([aeiuoy])/g,"$1an$2$3");}
var errorMsg=errorMsg.charAt(0).toUpperCase()+errorMsg.substring(1);attr["data-validation-error-msg-"+validator]=errorMsg;for(vF in validationFns){attr[vF]=validationFns[vF](validationObj[x][2]);}
if(!$.isEmptyObject(attr)){$("[name='"+fieldName+"']:first",$form).attr(attr);}}}},validate:function(formName,additionalValidators,onSuccess){var $form=$("form[name='"+formName+"']");$.jgsi.validationFnShim(formName,"required","required",{});$.jgsi.validationFnShim(formName,"maxlength","length",{"data-validation-length":function(validationFn){return"max"+parseInt(validationFn("maxlength"));}});$.jgsi.validationFnShim(formName,"email","email",{});$.jgsi.validationFnShim(formName,"creditCard","creditcard",{});if(additionalValidators){additionalValidators($form);}
$('input[data-validation],textarea[data-validation],select[data-validation]').attr("data-validation-event","validate-change");$('input[data-validation],textarea[data-validation],select[data-validation]').change(function(){$(this).trigger("validate-change");})
$.validate({form:"form[name="+formName+"]",scrollToTopOnError:false,borderColorOnError:'',onSuccess:function(){if(onSuccess){return onSuccess();}
return true;},onError:function(){$('html, body').animate({scrollTop:$(".form-error").first().parent().offset().top-$("#top_bar").height()-20},300);}});},addValidation:function($form,fieldName,validation){var dv=$("[name='"+fieldName+"']",$form).attr("data-validation");$("[name='"+fieldName+"']:first",$form).attr("data-validation",(dv?dv+" ":"")+validation);},initMobileActions:function(page){$.jgsi.initMobileMenu();$.jgsi.initMobileReveal();$(document.body).data("jgsi-mobile-view",$.jgsi.isMobileView());$(window).on("resize",function(){var isMV=$.jgsi.isMobileView();if($(document.body).data("jgsi-mobile-view")!==isMV){$(document.body).data("jgsi-mobile-view",isMV);$(window).trigger("jgsi:viewport-change",{"isMobileView":isMV});}});$(window).on("jgsi:viewport-change",function(evt,data){var $openDialogs=$(".ui-dialog .ui-dialog-content:visible");if($openDialogs.length!=0){if(!data.isMobileView){if($("body").hasClass("dialog-open")){$(".ui-dialog.hiddenDialog").removeClass("hiddenDialog");$("body").removeClass("dialog-open");$openDialogs.dialog("close");$.jgsi.stickTopBar(true);}}else{$openDialogs.dialog("close");}}});},initMobileMenu:function(){$.jgsi.dialog({selector:"#mobileMenuDialog",dialog:{dialogClass:"emDialog noTitleBar"},click:{container:"#customer_main",selector:"#mobile_menu_btn"}});$("#mobileMenuDialog li.menuItem h1").click(function(){var $el=$(this);if($el.hasClass("open")){$el.next("ul.subItems").slideUp(100,function(){$el.removeClass("open");});$el.attr("aria-pressed",false);}else{$el.next("ul.subItems").slideDown(100,function(){$el.addClass("open");});$el.attr("aria-pressed",true);}}).keydown(function(evt){var keyCode=evt.keyCode||evt.which;if(keyCode==32||keyCode==13){evt.preventDefault();$(this).focus().click();}})
$("#mobileMenuDialog ul.menu li").keydown(function(evt){var keyCode=evt.keyCode||evt.which,$el=$(this);if(keyCode==38||keyCode==37){if($el.is(':first-child')){$el.closest(".menu>li").focus()}else{$el.prev().focus();}
evt.preventDefault();evt.stopImmediatePropagation();}else if(keyCode==40||keyCode==39){if($(".sectionHdr.open",$el).length){$el.find("li.menuItem:first").focus();}else if($el.is(':last-child')){$el.closest(".menu>li").next().focus();}else{$el.next().focus();}
evt.preventDefault();evt.stopImmediatePropagation();}else if(keyCode==32||keyCode==13){if($(".sectionHdr",$el).length){$(".sectionHdr",$el).click();}else{if($el.find("a").length>0){$el.find("a")[0].click();}}
evt.preventDefault();evt.stopImmediatePropagation();}})
$("#mobileMenuDialog ul.menu li").focus(function(evt){$(".sectionHdr",this).focus();evt.stopImmediatePropagation();});},isMobileView:function(){return matchMedia('only screen and (max-width: 62.1875em)').matches;},isTabletView:function(){return matchMedia('only screen and (min-width: 47.939em) and (max-width: 62.1875em)').matches;},initMobileReveal:function(page){$.jgsi.displayMobileContent(".sectionHdr",".section");},displayMobileContent:function(headerSelector,subtextSelector){$("#customer_main, .emDialogDiv").on("click",headerSelector,function(){var $el=$(this);if($el.hasClass("open")){$el.removeClass("open");$el.next(subtextSelector).slideUp(200);$el.attr("aria-pressed",false);}else{$el.addClass("open");$el.next(subtextSelector).slideDown(200);$el.attr("aria-pressed",true);}}).on("keydown",headerSelector,function(evt){var keyCode=evt.keyCode||evt.which;if(keyCode==32||keyCode==13){evt.preventDefault();$(this).focus().click();}})},stickTopBar:function(init){var allow=$(window).height()>380;if($(document.body).data("jgsi_sticky_allow")!==allow){if(allow){$("#top_bar").stick_in_parent({"allow_bottom":false});}else if(!init){$("#top_bar").trigger("sticky_kit:detach");}
$(document.body).data("jgsi_sticky_allow",allow);}},highlightTracking:function(){var init=function(container){$("[data-linktrack]",container).css({"outline":"2px dashed red","pointer-events":"all"});$("[data-linktrack]",container).each(function(i,elem){console.log($(elem).closest("[data-linkcontainer]").data("tracklinktext")+" / "+$(elem).data("tracklinktext"))});}
init($("body"));$(".emDialogDiv").bind("dialogopen",function(elem){init($(this));});$("body").append("<div id='trackingTooltip' style='display: none; position: absolute; padding: 1em; background-color:#FFF; width: 300px; border: 1px solid #CCC; z-index: 999;'></div>");var $tt=$("#trackingTooltip");$("body").on("mouseenter","[data-linktrack]",function(evt){var $elem=$(this);$tt.html("linkcontainer: "+$elem.closest("[data-linkcontainer]").data("tracklinktext")
+" <br>tracklinktext: "+$elem.data("tracklinktext")
+" <br>linktrack: "+$elem.data("linktrack")
+" <br>linkaction: "+$elem.data("linkaction")).show();}).on("mouseleave","[data-linktrack]",function(evt){$tt.hide();}).on("mousemove","[data-linktrack]",function(evt){$tt.css({"top":evt.pageY+30,"left":evt.pageX-150});})},initFeatureSpecsActions:function(){$.jgsi.dialog({width:"94%",fullscreen:true,dialog:{dialogClass:"emDialog emFullScreen",position:{my:"center top",at:"center top",of:window},},selector:"#featuresDialog",click:{mode:"ajax",container:"#customer_main",selector:".product-features"}});$.jgsi.dialog({width:"94%",fullscreen:true,dialog:{dialogClass:"emDialog emFullScreen",position:{my:"center top",at:"center top",of:window},},selector:"#specificationsDialog",click:{mode:"ajax",container:"#customer_main",selector:".product-specifications",beforeOpen:function($dialog,$a){var $ai=$("#specificationsDialog .specification-container:last");if($(".table-title h3",$ai).text()==="Additional information"){$ai.remove();};}}});$("#featuresDialog").on("click",".expand-collapse-component-item",function(evt){evt.preventDefault();evt.stopImmediatePropagation();var $this=$(this);var show=!$this.hasClass("active");if(show){$this.addClass("active");$(".expand-collapse-component-item-content",this).slideDown();}else{$this.removeClass("active");$(".expand-collapse-component-item-content",this).slideUp();}});$("#featuresDialog").on("click",".btn-expand-all",function(evt){evt.preventDefault();evt.stopImmediatePropagation();var $this=$(this);$this.hide();$(".btn-collapse-all").show();$(".expand-collapse-component-item").addClass("active");$(".expand-collapse-component-item-content",$("#featuresDialog")).slideDown();});$("#featuresDialog").on("click",".btn-collapse-all",function(evt){evt.preventDefault();evt.stopImmediatePropagation();var $this=$(this);$this.hide();$(".btn-expand-all").show();$(".expand-collapse-component-item").removeClass("active");$(".expand-collapse-component-item-content",$("#featuresDialog")).slideUp();});},showtime:function(){$.jgsi.globalSettings();if($("#top_bar").length>0){$.jgsi.stickTopBar(true);$(window).on("resize",function(){$.jgsi.stickTopBar();});}
var activePage=$("body").data("active-page");if(activePage=="products"){$.jgsi.initProducts();}else if(activePage=="accessories"){$.jgsi.initAccessories();}else if(activePage=="cart"){$.jgsi.initCoupon();}else if(activePage=="delivery"){$.jgsi.initDeliveryOptions();}else if(activePage=="payment"){$.jgsi.initPayment();}
if($("#cart_display").length>0){$.jgsi.initCartWidget();}
$.jgsi.initCartActions();$.jgsi.initMobileActions();$.jgsi.initMemberActions();$.jgsi.initFeatureSpecsActions();if($("#selectDealerForm").length>0){$.jgsi.initFindDealer();}
$.jgsi.initProductAvailabilityCheck(activePage);$.jgsi.dialog({selector:"#selectDealerDialog",dialog:{"width":800,"height":"auto","position":{my:"center top",at:"center top+6%",of:window}},click:{container:"#customer_main,#productAvailabilityCheckoutDialog,#productAvailabilityDialog,#mobileMenuDialog",selector:".selectDealer",beforeOpen:function($dialog,$a){if($("#productAvailabilityCheckoutDialog").hasClass('ui-dialog-content')&&$("#productAvailabilityCheckoutDialog").dialog("isOpen")){$("#productAvailabilityCheckoutDialog").dialog("close");}
$("#findDealer input[name=nextStep]").val($a.data("nextstep"));$("#findDealer").show();$("#findDealerResults").empty();if(typeof omniObj!=="undefined"&&!!omniObj.trackDealerLookup){omniObj.trackDealerLookup();}}}});$.jgsi.dialog({selector:"#reviewsDialog",dialog:{"width":810},click:{mode:"iframe",dynamicHeight:true,container:"#customer_main",selector:".productReview"}});$.jgsi.dialog({selector:"#setupIncludedDialog",click:{mode:"ajax",container:"#customer_main",selector:".setup-included"}});$.jgsi.dialog({selector:"#inStorePickupDialog",click:{mode:"ajax",container:"#customer_main, #selectDealerDialog",selector:".inStorePickup"}});$.jgsi.dialog({selector:"#deliveryChargesDialog",click:{mode:"ajax",container:"#customer_main, #selectDealerDialog",selector:".deliveryCharges"}});setTimeout(function(){$.jgsi.notifyNewProducts();},1000);$("body").on("click",".ui-widget-overlay",function(){$('div.ui-dialog:visible:last .emDialogDiv').dialog("close")});}};})(jQuery,window);$(function(){$.jgsi.showtime();});