!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery","./menu","../keycode","../position","../safe-active-element","../version","../widget"],e):e(jQuery)}(function(o){"use strict";return o.widget("ui.autocomplete",{version:"1.13.3",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,liveRegionTimer:null,_create:function(){var i,s,n,e=this.element[0].nodeName.toLowerCase(),t="textarea"===e,e="input"===e;this.isMultiLine=t||!e&&this._isContentEditable(this.element),this.valueMethod=this.element[t||e?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(e){if(this.element.prop("readOnly"))s=n=i=!0;else{s=n=i=!1;var t=o.ui.keyCode;switch(e.keyCode){case t.PAGE_UP:i=!0,this._move("previousPage",e);break;case t.PAGE_DOWN:i=!0,this._move("nextPage",e);break;case t.UP:i=!0,this._keyEvent("previous",e);break;case t.DOWN:i=!0,this._keyEvent("next",e);break;case t.ENTER:this.menu.active&&(i=!0,e.preventDefault(),this.menu.select(e));break;case t.TAB:this.menu.active&&this.menu.select(e);break;case t.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(e),e.preventDefault());break;default:s=!0,this._searchTimeout(e)}}},keypress:function(e){if(i)i=!1,this.isMultiLine&&!this.menu.element.is(":visible")||e.preventDefault();else if(!s){var t=o.ui.keyCode;switch(e.keyCode){case t.PAGE_UP:this._move("previousPage",e);break;case t.PAGE_DOWN:this._move("nextPage",e);break;case t.UP:this._keyEvent("previous",e);break;case t.DOWN:this._keyEvent("next",e)}}},input:function(e){n?(n=!1,e.preventDefault()):this._searchTimeout(e)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(e){clearTimeout(this.searching),this.close(e),this._change(e)}}),this._initSource(),this.menu=o("<ul>").appendTo(this._appendTo()).menu({role:null}).hide().attr({unselectable:"on"}).menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(e){e.preventDefault()},menufocus:function(e,t){var i,s;this.isNewMenu&&(this.isNewMenu=!1,e.originalEvent)&&/^mouse/.test(e.originalEvent.type)?(this.menu.blur(),this.document.one("mousemove",function(){o(e.target).trigger(e.originalEvent)})):(s=t.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",e,{item:s})&&e.originalEvent&&/^key/.test(e.originalEvent.type)&&this._value(s.value),(i=t.item.attr("aria-label")||s.value)&&String.prototype.trim.call(i).length&&(clearTimeout(this.liveRegionTimer),this.liveRegionTimer=this._delay(function(){this.liveRegion.html(o("<div>").text(i))},100)))},menuselect:function(e,t){var i=t.item.data("ui-autocomplete-item"),s=this.previous;this.element[0]!==o.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=s,this._delay(function(){this.previous=s,this.selectedItem=i})),!1!==this._trigger("select",e,{item:i})&&this._value(i.value),this.term=this._value(),this.close(e),this.selectedItem=i}}),this.liveRegion=o("<div>",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(e,t){this._super(e,t),"source"===e&&this._initSource(),"appendTo"===e&&this.menu.element.appendTo(this._appendTo()),"disabled"===e&&t&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(e){var t=this.menu.element[0];return e.target===this.element[0]||e.target===t||o.contains(t,e.target)},_closeOnClickOutside:function(e){this._isEventTargetInWidget(e)||this.close()},_appendTo:function(){var e=this.options.appendTo;return e=(e=(e=e&&(e.jquery||e.nodeType?o(e):this.document.find(e).eq(0)))&&e[0]?e:this.element.closest(".ui-front, dialog")).length?e:this.document[0].body},_initSource:function(){var i,s,n=this;Array.isArray(this.options.source)?(i=this.options.source,this.source=function(e,t){t(o.ui.autocomplete.filter(i,e.term))}):"string"==typeof this.options.source?(s=this.options.source,this.source=function(e,t){n.xhr&&n.xhr.abort(),n.xhr=o.ajax({url:s,data:e,dataType:"json",success:function(e){t(e)},error:function(){t([])}})}):this.source=this.options.source},_searchTimeout:function(s){clearTimeout(this.searching),this.searching=this._delay(function(){var e=this.term===this._value(),t=this.menu.element.is(":visible"),i=s.altKey||s.ctrlKey||s.metaKey||s.shiftKey;e&&(t||i)||(this.selectedItem=null,this.search(null,s))},this.options.delay)},search:function(e,t){return e=null!=e?e:this._value(),this.term=this._value(),e.length<this.options.minLength?this.close(t):!1!==this._trigger("search",t)?this._search(e):void 0},_search:function(e){this.pending++,this._addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:e},this._response())},_response:function(){var t=++this.requestIndex;return function(e){t===this.requestIndex&&this.__response(e),this.pending--,this.pending||this._removeClass("ui-autocomplete-loading")}.bind(this)},__response:function(e){e=e&&this._normalize(e),this._trigger("response",null,{content:e}),!this.options.disabled&&e&&e.length&&!this.cancelSearch?(this._suggest(e),this._trigger("open")):this._close()},close:function(e){this.cancelSearch=!0,this._close(e)},_close:function(e){this._off(this.document,"mousedown"),this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",e))},_change:function(e){this.previous!==this._value()&&this._trigger("change",e,{item:this.selectedItem})},_normalize:function(e){return e.length&&e[0].label&&e[0].value?e:o.map(e,function(e){return"string"==typeof e?{label:e,value:e}:o.extend({},e,{label:e.label||e.value,value:e.value||e.label})})},_suggest:function(e){var t=this.menu.element.empty();this._renderMenu(t,e),this.isNewMenu=!0,this.menu.refresh(),t.show(),this._resizeMenu(),t.position(o.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next(),this._on(this.document,{mousedown:"_closeOnClickOutside"})},_resizeMenu:function(){var e=this.menu.element;e.outerWidth(Math.max(e.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(i,e){var s=this;o.each(e,function(e,t){s._renderItemData(i,t)})},_renderItemData:function(e,t){return this._renderItem(e,t).data("ui-autocomplete-item",t)},_renderItem:function(e,t){return o("<li>").append(o("<div>").text(t.label)).appendTo(e)},_move:function(e,t){this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(e)||this.menu.isLastItem()&&/^next/.test(e)?(this.isMultiLine||this._value(this.term),this.menu.blur()):this.menu[e](t):this.search(null,t)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(e,t){this.isMultiLine&&!this.menu.element.is(":visible")||(this._move(e,t),t.preventDefault())},_isContentEditable:function(e){var t;return!!e.length&&("inherit"===(t=e.prop("contentEditable"))?this._isContentEditable(e.parent()):"true"===t)}}),o.extend(o.ui.autocomplete,{escapeRegex:function(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(e,t){var i=new RegExp(o.ui.autocomplete.escapeRegex(t),"i");return o.grep(e,function(e){return i.test(e.label||e.value||e)})}}),o.widget("ui.autocomplete",o.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(e){return e+(1<e?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(e){var t;this._superApply(arguments),this.options.disabled||this.cancelSearch||(t=e&&e.length?this.options.messages.results(e.length):this.options.messages.noResults,clearTimeout(this.liveRegionTimer),this.liveRegionTimer=this._delay(function(){this.liveRegion.html(o("<div>").text(t))},100))}}),o.ui.autocomplete});
;(function(c){c.keyboard=function(d,m){var a=this,e;a.$el=c(d);a.el=d;a.$el.data("keyboard",a);a.init=function(){a.options=e=c.extend(!0,{},c.keyboard.defaultOptions,m);a.shiftActive=a.altActive=a.metaActive=a.sets=a.capsLock=!1;a.lastKeyset=[!1,!1,!1];a.rows=["","-shift","-alt","-alt-shift"];a.acceptedKeys=[];a.mappedKeys={};c('\x3c!--[if lte IE 8]><script>jQuery("body").addClass("oldie");\x3c/script><![endif]--\x3e\x3c!--[if IE]><script>jQuery("body").addClass("ie");\x3c/script><![endif]--\x3e').appendTo("body").remove(); a.msie=c("body").hasClass("oldie");a.allie=c("body").hasClass("ie");a.inPlaceholder=a.$el.attr("placeholder")||"";a.watermark="undefined"!==typeof document.createElement("input").placeholder&&""!==a.inPlaceholder;a.regex=c.keyboard.comboRegex;a.decimal=/^\./.test(e.display.dec)?!0:!1;a.repeatTime=1E3/(e.repeatRate||20);a.temp=c('<input style="position:absolute;left:-9999em;top:-9999em;" type="text" value="testing">').appendTo("body").caret(3,3);a.checkCaret=e.lockInput||3!==a.temp.hide().show().caret().start? !0:!1;a.temp.remove();a.lastCaret={start:0,end:0};a.temp=["",0,0];c.each("initialized beforeVisible visible hidden canceled accepted beforeClose".split(" "),function(b,j){c.isFunction(e[j])&&a.$el.bind(j+".keyboard",e[j])});e.alwaysOpen&&(e.stayOpen=!0);c(document).bind("mousedown.keyboard keyup.keyboard touchstart.keyboard",function(b){a.opening||(a.escClose(b),b.target&&c(b.target).hasClass("ui-keyboard-input")&&(b=c(b.target).data("keyboard"))&&b.options.openOn&&b.focusOn())});a.$el.addClass("ui-keyboard-input "+ e.css.input).attr({"aria-haspopup":"true",role:"textbox"});(a.$el.is(":disabled")||a.$el.attr("readonly")&&!a.$el.hasClass("ui-keyboard-lockedinput"))&&a.$el.addClass("ui-keyboard-nokeyboard");e.openOn&&a.$el.bind(e.openOn+".keyboard",function(){a.focusOn()});!a.watermark&&(""===a.$el.val()&&""!==a.inPlaceholder&&""!==a.$el.attr("placeholder"))&&a.$el.addClass("ui-keyboard-placeholder").val(a.inPlaceholder);a.$el.trigger("initialized.keyboard",[a,a.el]);e.alwaysOpen&&a.reveal()};a.focusOn=function(){e.usePreview&&a.$el.is(":visible")&&(a.lastCaret=a.$el.caret());if(!a.isVisible()||e.alwaysOpen)clearTimeout(a.timer),a.reveal()};a.reveal=function(){a.opening=!0;c(".ui-keyboard:not(.ui-keyboard-always-open)").hide();if(a.$el.is(":disabled")||a.$el.attr("readonly")&&!a.$el.hasClass("ui-keyboard-lockedinput"))a.$el.addClass("ui-keyboard-nokeyboard");else{a.$el.removeClass("ui-keyboard-nokeyboard");e.openOn&&a.$el.unbind(e.openOn+".keyboard");"undefined"===typeof a.$keyboard&&a.startup();c(".ui-keyboard-has-focus").removeClass("ui-keyboard-has-focus"); c(".ui-keyboard-input-current").removeClass("ui-keyboard-input-current");a.$el.addClass("ui-keyboard-input-current");a.isCurrent(!0);!a.watermark&&a.el.value===a.inPlaceholder&&a.$el.removeClass("ui-keyboard-placeholder").val("");a.originalContent=a.$el.val();a.$preview.val(a.originalContent);e.acceptValid&&a.checkValid();var b;a.position=e.position;a.position.of=a.position.of||a.$el.data("keyboardPosition")||a.$el;a.position.collision=e.usePreview?a.position.collision||"fit fit":"flip flip";e.resetDefault&&(a.shiftActive=a.altActive=a.metaActive=!1,a.showKeySet());a.$keyboard.css({position:"absolute",left:0,top:0});a.$el.trigger("beforeVisible.keyboard",[a,a.el]);a.$keyboard.addClass("ui-keyboard-has-focus").show();e.usePreview&&a.msie&&("undefined"===typeof a.width&&(a.$preview.hide(),a.width=Math.ceil(a.$keyboard.width()),a.$preview.show()),a.$preview.width(a.width));c.ui.position&&a.$keyboard.position(a.position);e.initialFocus&&a.$preview.focus();a.checkDecimal();a.lineHeight=parseInt(a.$preview.css("lineHeight"), 10)||parseInt(a.$preview.css("font-size"),10)+4;e.caretToEnd&&(b=a.originalContent.length,a.lastCaret={start:b,end:b});a.allie&&(b=a.lastCaret.start||a.originalContent.length,b={start:b,end:b},a.lastCaret||(a.lastCaret=b),0===a.lastCaret.end&&0<a.lastCaret.start&&(a.lastCaret.end=a.lastCaret.start),0>a.lastCaret.start&&(a.lastCaret=b));setTimeout(function(){a.opening=!1;e.initialFocus&&a.$preview.caret(a.lastCaret.start,a.lastCaret.end);a.$el.trigger("visible.keyboard",[a,a.el])},10);return a}};a.startup=function(){a.$keyboard=a.buildKeyboard();a.$allKeys=a.$keyboard.find("button.ui-keyboard-button");a.preview=a.$preview[0];a.$decBtn=a.$keyboard.find(".ui-keyboard-dec");a.wheel=c.isFunction(c.fn.mousewheel);a.alwaysAllowed=[20,33,34,35,36,37,38,39,40,45,46];e.enterNavigation&&a.alwaysAllowed.push(13);a.$preview.bind("keypress.keyboard",function(b){var j=a.lastKey=String.fromCharCode(b.charCode||b.which);a.$lastKey=[];a.checkCaret&&(a.lastCaret=a.$preview.caret());a.capsLock=65<=j&&90>=j&&!b.shiftKey||97<=j&&122>=j&&b.shiftKey?!0:!1;if(e.restrictInput){if((8===b.which||0===b.which)&&c.inArray(b.keyCode,a.alwaysAllowed))return;-1===c.inArray(j,a.acceptedKeys)&&b.preventDefault()}else if((b.ctrlKey||b.metaKey)&&(97===b.which||99===b.which||118===b.which||120<=b.which&&122>=b.which))return;a.hasMappedKeys&&a.mappedKeys.hasOwnProperty(j)&&(a.lastKey=a.mappedKeys[j],a.insertText(a.lastKey),b.preventDefault());a.checkMaxLength()}).bind("keyup.keyboard",function(b){switch(b.which){case 9:a.tab&&e.tabNavigation&&!e.lockInput?(a.shiftActive=b.shiftKey,c.keyboard.keyaction.tab(a),a.tab=!1):b.preventDefault();break;case 27:return a.close(),!1}clearTimeout(a.throttled);a.throttled=setTimeout(function(){a.isVisible()&&a.checkCombos()},100);a.checkMaxLength();c.isFunction(e.change)&&e.change(c.Event("change"),a,a.el);a.$el.trigger("change.keyboard",[a,a.el])}).bind("keydown.keyboard",function(b){switch(b.which){case 9:return a.tab=!0,!1;case 13:c.keyboard.keyaction.enter(a,null,b);break;case 20:a.shiftActive=a.capsLock= !a.capsLock;a.showKeySet(this);break;case 86:if(b.ctrlKey||b.metaKey){if(e.preventPaste){b.preventDefault();break}a.checkCombos()}}}).bind("mouseup.keyboard touchend.keyboard",function(){a.checkCaret&&(a.lastCaret=a.$preview.caret())});a.$keyboard.bind("mousedown.keyboard click.keyboard touchstart.keyboard",function(a){a.stopPropagation()});e.preventPaste&&(a.$preview.bind("contextmenu.keyboard",function(a){a.preventDefault()}),a.$el.bind("contextmenu.keyboard",function(a){a.preventDefault()}));e.appendLocally? a.$el.after(a.$keyboard):a.$keyboard.appendTo("body");a.$allKeys.bind(e.keyBinding.split(" ").join(".keyboard ")+".keyboard repeater.keyboard",function(b){if(!a.$keyboard.is(":visible"))return!1;var j;j=c.data(this,"key");var h=j.action.split(":")[0];a.$preview.focus();a.$lastKey=c(this);a.lastKey=j.curTxt;a.checkCaret&&a.$preview.caret(a.lastCaret.start,a.lastCaret.end);h.match("meta")&&(h="meta");if(c.keyboard.keyaction.hasOwnProperty(h)&&c(this).hasClass("ui-keyboard-actionkey")){if(!1===c.keyboard.keyaction[h](a, this,b))return!1}else"undefined"!==typeof j.action&&(j=a.lastKey=a.wheel&&!c(this).hasClass("ui-keyboard-actionkey")?j.curTxt:j.action,a.insertText(j),!a.capsLock&&(!e.stickyShift&&!b.shiftKey)&&(a.shiftActive=!1,a.showKeySet(this)));a.checkCombos();a.checkMaxLength();c.isFunction(e.change)&&e.change(c.Event("change"),a,a.el);a.$el.trigger("change.keyboard",[a,a.el]);a.$preview.focus();a.checkCaret&&a.$preview.caret(a.lastCaret.start,a.lastCaret.end);b.preventDefault()}).bind("mouseenter.keyboard mouseleave.keyboard", function(b){if(a.isCurrent()){var j=c(this),h=c.data(this,"key");"mouseenter"===b.type&&("password"!==a.el.type&&!j.hasClass(e.css.buttonDisabled))&&j.addClass(e.css.buttonHover).attr("title",function(b,j){return a.wheel&&""===j&&a.sets?e.wheelMessage:j});"mouseleave"===b.type&&(h.curTxt=h.original,h.curNum=0,c.data(this,"key",h),j.removeClass("password"===a.el.type?"":e.css.buttonHover).attr("title",function(a,b){return b===e.wheelMessage?"":b}).find("span").text(h.original))}}).bind("mousewheel.keyboard", function(b,e){if(a.wheel){var h,d=c(this),g=c.data(this,"key");h=g.layers||a.getLayers(d);g.curNum+=0<e?-1:1;g.curNum>h.length-1&&(g.curNum=0);0>g.curNum&&(g.curNum=h.length-1);g.layers=h;g.curTxt=h[g.curNum];c.data(this,"key",g);d.find("span").text(h[g.curNum]);return!1}}).bind("mouseup.keyboard mouseleave.kb touchend.kb touchmove.kb touchcancel.kb",function(b){"mouseleave"===b.type?c(this).removeClass(e.css.buttonHover):(a.isVisible()&&a.isCurrent()&&a.$preview.focus(),a.checkCaret&&a.$preview.caret(a.lastCaret.start, a.lastCaret.end));a.mouseRepeat=[!1,""];clearTimeout(a.repeater);return!1}).bind("click.keyboard",function(){return!1}).filter(":not(.ui-keyboard-actionkey)").add(".ui-keyboard-tab, .ui-keyboard-bksp, .ui-keyboard-space, .ui-keyboard-enter",a.$keyboard).bind("mousedown.kb touchstart.kb",function(){if(0!==e.repeatRate){var b=c(this);a.mouseRepeat=[!0,b];setTimeout(function(){a.mouseRepeat[0]&&a.mouseRepeat[1]===b&&a.repeatKey(b)},e.repeatDelay)}return!1});c(window).resize(function(){a.isVisible()&&a.$keyboard.position(a.position)})};a.isVisible=function(){return"undefined"===typeof a.$keyboard?!1:a.$keyboard.is(":visible")};a.insertText=function(b){var e,d;d=a.$preview.val();var c=a.$preview.caret(),g=a.$preview.scrollLeft();e=a.$preview.scrollTop();var f=d.length;c.end<c.start&&(c.end=c.start);c.start>f&&(c.end=c.start=f);"TEXTAREA"===a.preview.tagName&&(a.msie&&"\n"===d.substr(c.start,1)&&(c.start+=1,c.end+=1),d=d.split("\n").length-1,a.preview.scrollTop=0<d?a.lineHeight*d:e);e="bksp"===b&&c.start===c.end?!0:!1;b="bksp"===b?"":b;d=c.start+(e?-1:b.length);g+=parseInt(a.$preview.css("fontSize"),10)*("bksp"===b?-1:1);a.$preview.val(a.$preview.val().substr(0,c.start-(e?1:0))+b+a.$preview.val().substr(c.end)).caret(d,d).scrollLeft(g);a.checkCaret&&(a.lastCaret={start:d,end:d})};a.checkMaxLength=function(){var b,c=a.$preview.val();!1!==e.maxLength&&c.length>e.maxLength&&(b=Math.min(a.$preview.caret().start,e.maxLength),a.$preview.val(c.substring(0,e.maxLength)),a.$preview.caret(b,b),a.lastCaret={start:b,end:b});a.$decBtn.length&&a.checkDecimal()};a.repeatKey=function(b){b.trigger("repeater.keyboard");a.mouseRepeat[0]&&(a.repeater=setTimeout(function(){a.repeatKey(b)},a.repeatTime))};a.showKeySet=function(b){var c="",d=(a.shiftActive?1:0)+(a.altActive?2:0);a.shiftActive||(a.capsLock=!1);if(a.metaActive){if(c=b&&b.name&&/meta/.test(b.name)?b.name:"",""===c?c=!0===a.metaActive?"":a.metaActive:a.metaActive=c,!e.stickyShift&&a.lastKeyset[2]!==a.metaActive||(a.shiftActive||a.altActive)&&!a.$keyboard.find(".ui-keyboard-keyset-"+ c+a.rows[d]).length)a.shiftActive=a.altActive=!1}else!e.stickyShift&&(a.lastKeyset[2]!==a.metaActive&&a.shiftActive)&&(a.shiftActive=a.altActive=!1);d=(a.shiftActive?1:0)+(a.altActive?2:0);c=0===d&&!a.metaActive?"-default":""===c?"":"-"+c;a.$keyboard.find(".ui-keyboard-keyset"+c+a.rows[d]).length?(a.$keyboard.find(".ui-keyboard-alt, .ui-keyboard-shift, .ui-keyboard-actionkey[class*=meta]").removeClass(e.css.buttonAction).end().find(".ui-keyboard-alt")[a.altActive?"addClass":"removeClass"](e.css.buttonAction).end().find(".ui-keyboard-shift")[a.shiftActive? "addClass":"removeClass"](e.css.buttonAction).end().find(".ui-keyboard-lock")[a.capsLock?"addClass":"removeClass"](e.css.buttonAction).end().find(".ui-keyboard-keyset").hide().end().find(".ui-keyboard-keyset"+c+a.rows[d]).show().end().find(".ui-keyboard-actionkey.ui-keyboard"+c).addClass(e.css.buttonAction),a.lastKeyset=[a.shiftActive,a.altActive,a.metaActive]):(a.shiftActive=a.lastKeyset[0],a.altActive=a.lastKeyset[1],a.metaActive=a.lastKeyset[2])};a.checkCombos=function(){if(a.isVisible()){var b, c,d,l,g=a.$preview.val(),f=a.$preview.caret(),k=g.length;f.end<f.start&&(f.end=f.start);f.start>k&&(f.end=f.start=k);a.msie&&"\n"===g.substr(f.start,1)&&(f.start+=1,f.end+=1);e.useCombos&&(a.msie?g=g.replace(a.regex,function(a,b,c){return e.combos.hasOwnProperty(b)?e.combos[b][c]||a:a}):a.$preview.length&&(d=f.start-(0<=f.start-2?2:0),a.$preview.caret(d,f.end),l=(a.$preview.caret().text||"").replace(a.regex,function(a,b,c){return e.combos.hasOwnProperty(b)?e.combos[b][c]||a:a}),a.$preview.val(a.$preview.caret().replace(l)), g=a.$preview.val()));if(e.restrictInput&&""!==g){d=g;c=a.acceptedKeys.length;for(b=0;b<c;b++)""!==d&&(l=a.acceptedKeys[b],0<=g.indexOf(l)&&(/[\[|\]|\\|\^|\$|\.|\||\?|\*|\+|\(|\)|\{|\}]/g.test(l)&&(l="\\"+l),d=d.replace(RegExp(l,"g"),"")));""!==d&&(g=g.replace(d,""))}f.start+=g.length-k;f.end+=g.length-k;a.$preview.val(g);a.$preview.caret(f.start,f.end);a.preview.scrollTop=a.lineHeight*(g.substring(0,f.start).split("\n").length-1);a.lastCaret={start:f.start,end:f.end};e.acceptValid&&a.checkValid(); return g}};a.checkValid=function(){var b=!0;e.validate&&"function"===typeof e.validate&&(b=e.validate(a,a.$preview.val(),!1));a.$keyboard.find(".ui-keyboard-accept")[b?"removeClass":"addClass"]("ui-keyboard-invalid-input")[b?"addClass":"removeClass"]("ui-keyboard-valid-input")};a.checkDecimal=function(){a.decimal&&/\./g.test(a.preview.value)||!a.decimal&&/\,/g.test(a.preview.value)?a.$decBtn.attr({disabled:"disabled","aria-disabled":"true"}).removeClass(e.css.buttonDefault+" "+e.css.buttonHover).addClass(e.css.buttonDisabled): a.$decBtn.removeAttr("disabled").attr({"aria-disabled":"false"}).addClass(e.css.buttonDefault).removeClass(e.css.buttonDisabled)};a.getLayers=function(a){var e;e=a.attr("data-pos");return a.closest(".ui-keyboard").find('button[data-pos="'+e+'"]').map(function(){return c(this).find("> span").text()}).get()};a.isCurrent=function(b){var e=c.keyboard.currentKeyboard||!1;b?e=c.keyboard.currentKeyboard=a.el:!1===b&&e===a.el&&(e=c.keyboard.currentKeyboard="");return e===a.el};a.switchInput=function(b,d){if("function"===typeof e.switchInput)e.switchInput(a,b,d);else{a.$keyboard.hide();var h;h=!1;var l=c("button, input, textarea, a").filter(":visible"),g=l.index(a.$el)+(b?1:-1);a.$keyboard.show();g>l.length-1&&(h=e.stopAtEnd,g=0);0>g&&(h=e.stopAtEnd,g=l.length-1);h||(a.close(d),(h=l.eq(g).data("keyboard"))&&h.options.openOn.length?h.focusOn():l.eq(g).focus())}return!1};a.close=function(b){if(a.isVisible()){clearTimeout(a.throttled);var d=b?a.checkCombos():a.originalContent;if(b&&(e.validate&&"function"===typeof e.validate&&!e.validate(a,d,!0))&&(d=a.originalContent,b=!1,e.cancelClose))return;a.isCurrent(!1);a.$el.removeClass("ui-keyboard-input-current ui-keyboard-autoaccepted").addClass(b?!0===b?"":"ui-keyboard-autoaccepted":"").trigger(e.alwaysOpen?"":"beforeClose.keyboard",[a,a.el,b||!1]).val(d).scrollTop(a.el.scrollHeight).trigger(b?"accepted.keyboard":"canceled.keyboard",[a,a.el]).trigger(e.alwaysOpen?"inactive.keyboard":"hidden.keyboard",[a,a.el]).blur();e.openOn&&(a.timer=setTimeout(function(){a.$el.bind(e.openOn+ ".keyboard",function(){a.focusOn()});c(":focus")[0]===a.el&&a.$el.blur()},500));e.alwaysOpen||a.$keyboard.hide();!a.watermark&&(""===a.el.value&&""!==a.inPlaceholder)&&a.$el.addClass("ui-keyboard-placeholder").val(a.inPlaceholder);a.$el.trigger("change")}return!!b};a.accept=function(){return a.close(!0)};a.escClose=function(b){if("keyup"===b.type)return 27===b.which?a.close():"";var c=a.isCurrent();if(a.isVisible()&&!(e.alwaysOpen&&!c||!e.alwaysOpen&&e.stayOpen&&c&&!a.isVisible())&&b.target!==a.el&&c)a.allie&&b.preventDefault(),a.close(e.autoAccept?"true":!1)};a.keyBtn=c("<button />").attr({role:"button","aria-disabled":"false",tabindex:"-1"}).addClass("ui-keyboard-button");a.addKey=function(b,d,h){var l,g,f;d=!0===h?b:e.display[d]||b;var k=!0===h?b.charCodeAt(0):b;/\(.+\)/.test(d)&&(g=d.replace(/\(([^()]+)\)/,""),l=d.match(/\(([^()]+)\)/)[1],d=g,f=g.split(":"),g=""!==f[0]&&1<f.length?f[0]:g,a.mappedKeys[l]=g);f=d.split(":");""===f[0]&&""===f[1]&&(d=":");d=""!==f[0]&&1<f.length?c.trim(f[0]): d;l=1<f.length?c.trim(f[1]).replace(/_/g," ")||"":"";g=1<d.length?" ui-keyboard-widekey":"";g+=h?"":" ui-keyboard-actionkey";return a.keyBtn.clone().attr({"data-value":d,name:k,"data-pos":a.temp[1]+","+a.temp[2],title:l}).data("key",{action:b,original:d,curTxt:d,curNum:0}).addClass("ui-keyboard-"+k+g+" "+e.css.buttonDefault).html("<span>"+d+"</span>").appendTo(a.temp[0])};a.buildKeyboard=function(){var b,d,h,l,g,f,k,m,n=0,q=c("<div />").addClass("ui-keyboard "+e.css.container+(e.alwaysOpen?" ui-keyboard-always-open": "")).attr({role:"textbox"}).hide();e.usePreview?(a.$preview=a.$el.clone(!1).removeAttr("id").removeClass("ui-keyboard-placeholder ui-keyboard-input").addClass("ui-keyboard-preview "+e.css.input).attr("tabindex","-1").show(),c("<div />").addClass("ui-keyboard-preview-wrapper").append(a.$preview).appendTo(q)):(a.$preview=a.$el,e.position.at=e.position.at2);e.lockInput&&a.$preview.addClass("ui-keyboard-lockedinput").attr({readonly:"readonly"});if("custom"===e.layout||!c.keyboard.layouts.hasOwnProperty(e.layout))e.layout="custom",c.keyboard.layouts.custom=e.customLayout||{"default":["{cancel}"]};c.each(c.keyboard.layouts[e.layout],function(p,r){if(""!==p){n++;h=c("<div />").attr("name",p).addClass("ui-keyboard-keyset ui-keyboard-keyset-"+p).appendTo(q)["default"===p?"show":"hide"]();for(d=0;d<r.length;d++){g=c.trim(r[d]).replace(/\{(\.?)[\s+]?:[\s+]?(\.?)\}/g,"{$1:$2}");k=g.split(/\s+/);for(f=0;f<k.length;f++)if(a.temp=[h,d,f],l=!1,0!==k[f].length)if(/^\{\S+\}$/.test(k[f]))if(b=k[f].match(/^\{(\S+)\}$/)[1].toLowerCase(), /\!\!/.test(b)&&(b=b.replace("!!",""),l=!0),/^sp:((\d+)?([\.|,]\d+)?)(em|px)?$/.test(b)&&(m=parseFloat(b.replace(/,/,".").match(/^sp:((\d+)?([\.|,]\d+)?)(em|px)?$/)[1]||0),c("<span>&nbsp;</span>").width(b.match("px")?m+"px":2*m+"em").addClass("ui-keyboard-button ui-keyboard-spacer").appendTo(h)),/^meta\d+\:?(\w+)?/.test(b))a.addKey(b,b);else switch(b){case "a":case "accept":a.addKey("accept",b).addClass(e.css.buttonAction);break;case "alt":case "altgr":a.addKey("alt","alt");break;case "b":case "bksp":a.addKey("bksp", b);break;case "c":case "cancel":a.addKey("cancel",b).addClass(e.css.buttonAction);break;case "combo":a.addKey("combo","combo").addClass(e.css.buttonAction);break;case "dec":a.acceptedKeys.push(a.decimal?".":",");a.addKey("dec","dec");break;case "e":case "enter":a.addKey("enter",b).addClass(e.css.buttonAction);break;case "empty":a.addKey(""," ").addClass(e.css.buttonDisabled).attr("aria-disabled",!0);break;case "s":case "shift":a.addKey("shift",b);break;case "sign":a.acceptedKeys.push("-");a.addKey("sign", "sign");break;case "space":a.acceptedKeys.push(" ");a.addKey("space","space");break;case "t":case "tab":a.addKey("tab",b);break;default:if(c.keyboard.keyaction.hasOwnProperty(b))a.addKey(b,b)[l?"addClass":"removeClass"](e.css.buttonAction)}else a.acceptedKeys.push(k[f].split(":")[0]),a.addKey(k[f],k[f],!0);h.find(".ui-keyboard-button:last").after('<br class="ui-keyboard-button-endrow">')}}});1<n&&(a.sets=!0);a.hasMappedKeys=!c.isEmptyObject(a.mappedKeys);return q};a.destroy=function(){c(document).unbind("mousedown.keyboard keyup.keyboard touchstart.keyboard"); a.$keyboard&&a.$keyboard.remove();var b=c.trim(e.openOn+" accepted beforeClose canceled change contextmenu hidden initialized keydown keypress keyup visible").split(" ").join(".keyboard ");a.$el.removeClass("ui-keyboard-input ui-keyboard-lockedinput ui-keyboard-placeholder ui-keyboard-notallowed ui-keyboard-always-open "+e.css.input).removeAttr("aria-haspopup").removeAttr("role").unbind(b+".keyboard").removeData("keyboard")};a.init()};c.keyboard.keyaction={accept:function(d){d.close(!0);return!1}, alt:function(d,c){d.altActive=!d.altActive;d.showKeySet(c)},bksp:function(d){d.insertText("bksp")},cancel:function(d){d.close();return!1},clear:function(d){d.$preview.val("")},combo:function(d){var c=!d.options.useCombos;d.options.useCombos=c;d.$keyboard.find(".ui-keyboard-combo")[c?"addClass":"removeClass"](d.options.css.buttonAction);c&&d.checkCombos();return!1},dec:function(d){d.insertText(d.decimal?".":",")},"default":function(d,c){d.shiftActive=d.altActive=d.metaActive=!1;d.showKeySet(c)},enter:function(d, m,a){m=d.el.tagName;var e=d.options;if(a.shiftKey)return e.enterNavigation?d.switchInput(!a[e.enterMod],!0):d.close(!0);if(e.enterNavigation&&("TEXTAREA"!==m||a[e.enterMod]))return d.switchInput(!a[e.enterMod],e.autoAccept?"true":!1);"TEXTAREA"===m&&c(a.target).closest("button").length&&d.insertText(" \n")},lock:function(d,c){d.lastKeyset[0]=d.shiftActive=d.capsLock=!d.capsLock;d.showKeySet(c)},meta:function(d,m){d.metaActive=c(m).hasClass(d.options.css.buttonAction)?!1:!0;d.showKeySet(m)},next:function(d){d.switchInput(!0, d.options.autoAccept);return!1},prev:function(d){d.switchInput(!1,d.options.autoAccept);return!1},shift:function(d,c){d.lastKeyset[0]=d.shiftActive=!d.shiftActive;d.showKeySet(c)},sign:function(d){/^\-?\d*\.?\d*$/.test(d.$preview.val())&&d.$preview.val(-1*d.$preview.val())},space:function(d){d.insertText(" ")},tab:function(d){var c=d.options;if("INPUT"===d.el.tagName)return c.tabNavigation?d.switchInput(!d.shiftActive,!0):!1;d.insertText("\t")}};c.keyboard.layouts={alpha:{"default":["` 1 2 3 4 5 6 7 8 9 0 -={bksp}", "{tab} a b c d e f g h i j [ ] \\","k l m n o p q r s ; ' {enter}","{shift} t u v w x y z , . / {shift}","{accept} {space} {cancel}"],shift:["~ ! @ # $ % ^ & *() _ + {bksp}","{tab} A B C D E F G H I J { } |",'K L M N O P Q R S:" {enter}',"{shift} T U V W X Y Z < > ? {shift}","{accept} {space} {cancel}"]},qwerty:{"default":["` 1 2 3 4 5 6 7 8 9 0 -={bksp}","{tab} q w e r t y u i o p [ ] \\","a s d f g h j k l ; ' {enter}","{shift} z x c v b n m , . / {shift}","{accept} {space} {cancel}"],shift:["~ ! @ # $ % ^ & *() _ + {bksp}", "{tab} Q W E R T Y U I O P { } |",'A S D F G H J K L:" {enter}',"{shift} Z X C V B N M < > ? {shift}","{accept} {space} {cancel}"]},international:{"default":["` 1 2 3 4 5 6 7 8 9 0 -={bksp}","{tab} q w e r t y u i o p [ ] \\","a s d f g h j k l ; ' {enter}","{shift} z x c v b n m , . / {shift}","{accept} {alt} {space} {alt} {cancel}"],shift:["~ ! @ # $ % ^ & *() _ + {bksp}","{tab} Q W E R T Y U I O P { } |",'A S D F G H J K L:" {enter}',"{shift} Z X C V B N M < > ? {shift}","{accept} {alt} {space} {alt} {cancel}"], alt:["~ \u00a1 \u00b2 \u00b3 \u00a4 \u20ac \u00bc \u00bd \u00be \u2018 \u2019 \u00a5 \u00d7 {bksp}","{tab} \u00e4 \u00e5 \u00e9 \u00ae \u00fe \u00fc \u00fa \u00ed \u00f3 \u00f6 \u00ab \u00bb \u00ac","\u00e1 \u00df \u00f0 f g h j k \u00f8 \u00b6 \u00b4 {enter}","{shift} \u00e6 x \u00a9 v b \u00f1 \u00b5 \u00e7 > \u00bf {shift}","{accept} {alt} {space} {alt} {cancel}"],"alt-shift":["~ \u00b9 \u00b2 \u00b3 \u00a3 \u20ac \u00bc \u00bd \u00be \u2018 \u2019 \u00a5 \u00f7 {bksp}","{tab} \u00c4 \u00c5 \u00c9 \u00ae \u00de \u00dc \u00da \u00cd \u00d3 \u00d6 \u00ab \u00bb \u00a6", "\u00c4 \u00a7 \u00d0 F G H J K \u00d8 \u00b0 \u00a8 {enter}","{shift} \u00c6 X \u00a2 V B \u00d1 \u00b5 \u00c7 . \u00bf {shift}","{accept} {alt} {space} {alt} {cancel}"]},dvorak:{"default":["` 1 2 3 4 5 6 7 8 9 0 [ ] {bksp}","{tab} ' , . p y f g c r l /=\\","a o e u i d h t n s - {enter}","{shift} ; q j k x b m w v z {shift}","{accept} {space} {cancel}"],shift:["~ ! @ # $ % ^ & *(){ } {bksp}",'{tab} " < > P Y F G C R L ? + |',"A O E U I D H T N S _ {enter}","{shift}:Q J K X B M W V Z {shift}", "{accept} {space} {cancel}"]},num:{"default":"=(){b};{clear} / * -;7 8 9 +;4 5 6 {sign};1 2 3 %;0 . {a} {c}".split(";")}};c.keyboard.defaultOptions={layout:"qwerty",customLayout:null,position:{of:null,my:"center top",at:"center top",at2:"center bottom"},usePreview:!0,alwaysOpen:!1,initialFocus:!0,stayOpen:!1,display:{a:"\u2714:Accept (Shift-Enter)",accept:"Accept:Accept (Shift-Enter)",alt:"Alt:\u2325 AltGr",b:"\u232b:Backspace",bksp:"Bksp:Backspace",c:"\u2716:Cancel (Esc)",cancel:"Cancel:Cancel (Esc)", clear:"C:Clear",combo:"\u00f6:Toggle Combo Keys",dec:".:Decimal",e:"\u23ce:Enter",empty:"\u00a0",enter:"Enter:Enter \u23ce",lock:"Lock:\u21ea Caps Lock",next:"Next \u21e8",prev:"\u21e6 Prev",s:"\u21e7:Shift",shift:"Shift:Shift",sign:"\u00b1:Change Sign",space:"&nbsp;:Space",t:"\u21e5:Tab",tab:"\u21e5 Tab:Tab"},wheelMessage:"Use mousewheel to see other keys",css:{input:"ui-widget-content ui-corner-all",container:"ui-widget-content ui-widget ui-corner-all ui-helper-clearfix",buttonDefault:"ui-state-default ui-corner-all", buttonHover:"ui-state-hover",buttonAction:"ui-state-active",buttonDisabled:"ui-state-disabled"},autoAccept:!1,lockInput:!1,restrictInput:!1,acceptValid:!1,cancelClose:!0,tabNavigation:!1,enterNavigation:!1,enterMod:"altKey",stopAtEnd:!0,appendLocally:!1,stickyShift:!0,preventPaste:!1,caretToEnd:!1,maxLength:!1,repeatDelay:500,repeatRate:20,resetDefault:!1,openOn:"focus",keyBinding:"mousedown touchstart",useCombos:!0,combos:{"`":{a:"\u00e0",A:"\u00c0",e:"\u00e8",E:"\u00c8",i:"\u00ec",I:"\u00cc",o:"\u00f2", O:"\u00d2",u:"\u00f9",U:"\u00d9",y:"\u1ef3",Y:"\u1ef2"},"'":{a:"\u00e1",A:"\u00c1",e:"\u00e9",E:"\u00c9",i:"\u00ed",I:"\u00cd",o:"\u00f3",O:"\u00d3",u:"\u00fa",U:"\u00da",y:"\u00fd",Y:"\u00dd"},'"':{a:"\u00e4",A:"\u00c4",e:"\u00eb",E:"\u00cb",i:"\u00ef",I:"\u00cf",o:"\u00f6",O:"\u00d6",u:"\u00fc",U:"\u00dc",y:"\u00ff",Y:"\u0178"},"^":{a:"\u00e2",A:"\u00c2",e:"\u00ea",E:"\u00ca",i:"\u00ee",I:"\u00ce",o:"\u00f4",O:"\u00d4",u:"\u00fb",U:"\u00db",y:"\u0177",Y:"\u0176"},"~":{a:"\u00e3",A:"\u00c3",e:"\u1ebd", E:"\u1ebc",i:"\u0129",I:"\u0128",o:"\u00f5",O:"\u00d5",u:"\u0169",U:"\u0168",y:"\u1ef9",Y:"\u1ef8",n:"\u00f1",N:"\u00d1"}},validate:function(){return!0}};c.keyboard.comboRegex=/([`\'~\^\"ao])([a-z])/mig;c.keyboard.currentKeyboard="";c.fn.keyboard=function(d){return this.each(function(){c(this).data("keyboard")||new c.keyboard(this,d)})};c.fn.getkeyboard=function(){return this.data("keyboard")}})(jQuery);
(function(c,d,m,a){c.fn.caret=function(c,b){if("undefined"===typeof this[0]||this.is(":hidden")||"hidden"===this.css("visibility"))return this;var j,h,l,g,f;f=document.selection;var k=this[0],s=k.scrollTop,n="undefined"!==typeof k.selectionStart;"number"===typeof c&&"number"===typeof b&&(h=c,g=b);if("undefined"!==typeof h)return n?(k.selectionStart=h,k.selectionEnd=g):(f=k.createTextRange(),f.collapse(!0),f.moveStart("character",h),f.moveEnd("character",g-h),f.select()),(this.is(":visible")||"hidden"!==this.css("visibility"))&&this.focus(),k.scrollTop=s,this;n?(j=k.selectionStart,l=k.selectionEnd):"TEXTAREA"===k.tagName?(g=this.val(),h=f[m](),f=h[a](),f.moveToElementText(k),f.setEndPoint("EndToEnd",h),j=f.text.replace(/\r/g,"\n")[d],l=j+h.text.replace(/\r/g,"\n")[d]):(g=this.val().replace(/\r/g,"\n"),h=f[m]()[a](),h.moveEnd("character",g[d]),j=""===h.text?g[d]:g.lastIndexOf(h.text),h=f[m]()[a](),h.moveStart("character",-g[d]),l=h.text[d]);f=(k.value||"").substring(j,l);return{start:j,end:l,text:f, replace:function(a){return k.value.substring(0,j)+a+k.value.substring(l,k.value[d])}}}})(jQuery,"length","createRange","duplicate");
!function(e){"use strict";var a={init:function(t){var r=this;return r.data("jqv")&&null!=r.data("jqv")||(t=a._saveOptions(r,t),e(document).on("click",".formError",function(){e(this).fadeOut(150,function(){e(this).parent(".formErrorOuter").remove(),e(this).remove()})})),this},attach:function(t){var r,i=this;return r=t?a._saveOptions(i,t):i.data("jqv"),r.validateAttribute=i.find("[data-validation-engine*=validate]").length?"data-validation-engine":"class",r.binded&&(i.on(r.validationEventTrigger,"["+r.validateAttribute+"*=validate]:not([type=checkbox]):not([type=radio]):not(.datepicker)",a._onFieldEvent),i.on("click","["+r.validateAttribute+"*=validate][type=checkbox],["+r.validateAttribute+"*=validate][type=radio]",a._onFieldEvent),i.on(r.validationEventTrigger,"["+r.validateAttribute+"*=validate][class*=datepicker]",{delay:300},a._onFieldEvent)),r.autoPositionUpdate&&e(window).on("resize",{noAnimation:!0,formElem:i},a.updatePromptsPosition),i.on("click","a[data-validation-engine-skip], a[class*='validate-skip'], button[data-validation-engine-skip], button[class*='validate-skip'], input[data-validation-engine-skip], input[class*='validate-skip']",a._submitButtonClick),i.removeData("jqv_submitButton"),r.bindOnSubmit&&i.on("submit",a._onSubmitEvent),this},detach:function(){var t=this,r=t.data("jqv");return t.find("["+r.validateAttribute+"*=validate]").not("[type=checkbox]").off(r.validationEventTrigger,a._onFieldEvent),t.find("["+r.validateAttribute+"*=validate][type=checkbox],[class*=validate][type=radio]").off("click",a._onFieldEvent),r.bindOnSubmit&&t.off("submit",a._onSubmitEvent),t.removeData("jqv"),t.off("click","a[data-validation-engine-skip], a[class*='validate-skip'], button[data-validation-engine-skip], button[class*='validate-skip'], input[data-validation-engine-skip], input[class*='validate-skip']",a._submitButtonClick),t.removeData("jqv_submitButton"),r.autoPositionUpdate&&e(window).off("resize",a.updatePromptsPosition),this},validate:function(){var t=e(this),r=null;if(t.is("form")||t.hasClass("validationEngineContainer")){if(t.hasClass("validating"))return!1;t.addClass("validating");var i=t.data("jqv"),r=a._validateFields(this);setTimeout(function(){t.removeClass("validating")},100),r&&i.onSuccess?i.onSuccess():!r&&i.onFailure&&i.onFailure()}else if(t.is("form")||t.hasClass("validationEngineContainer"))t.removeClass("validating");else{var o=t.closest("form, .validationEngineContainer"),i=o.data("jqv")?o.data("jqv"):e.validationEngine.defaults,r=a._validateField(t,i);r&&i.onFieldSuccess?i.onFieldSuccess():i.onFieldFailure&&i.InvalidFields.length>0&&i.onFieldFailure()}return i.onValidationComplete?!!i.onValidationComplete(o,r):r},validateSilent:function(){var t=e(this),r=null;if(t.is("form")||t.hasClass("validationEngineContainer")){if(t.hasClass("validating"))return!1;t.addClass("validating");var i=t.data("jqv"),r=a._validateFields(this,!0);setTimeout(function(){t.removeClass("validating")},100),r&&i.onSuccess?i.onSuccess():!r&&i.onFailure&&i.onFailure()}else if(t.is("form")||t.hasClass("validationEngineContainer"))t.removeClass("validating");else{var o=t.closest("form, .validationEngineContainer"),i=o.data("jqv")?o.data("jqv"):e.validationEngine.defaults,r=a._validateField(t,i,void 0,!0);r&&i.onFieldSuccess?i.onFieldSuccess():i.onFieldFailure&&i.InvalidFields.length>0&&i.onFieldFailure()}return i.onValidationComplete?!!i.onValidationComplete(o,r):r},updatePromptsPosition:function(t){if(t&&this==window)var r=t.data.formElem,i=t.data.noAnimation;else var r=e(this.closest("form, .validationEngineContainer"));var o=r.data("jqv");return r.find("["+o.validateAttribute+"*=validate]").not(":disabled").each(function(){var t=e(this);o.prettySelect&&t.is(":hidden")&&(t=r.find("#"+o.usePrefix+t.attr("id")+o.useSuffix));var n=a._getPrompt(t),s=e(n).find(".formErrorContent").html();n&&a._updatePrompt(t,e(n),s,void 0,!1,o,i)}),this},showPrompt:function(e,t,r,i){var o=this.closest("form, .validationEngineContainer"),n=o.data("jqv");return n||(n=a._saveOptions(this,n)),r&&(n.promptPosition=r),n.showArrow=1==i,a._showPrompt(this,e,t,!1,n),this},hide:function(){var t,r=e(this).closest("form, .validationEngineContainer"),i=r.data("jqv"),o=i&&i.fadeDuration?i.fadeDuration:.3;return t=e(this).is("form")||e(this).hasClass("validationEngineContainer")?"parentForm"+a._getClassName(e(this).attr("id")):a._getClassName(e(this).attr("id"))+"formError",e("."+t).fadeTo(o,.3,function(){e(this).parent(".formErrorOuter").remove(),e(this).remove()}),this},hideAll:function(){var a=this,t=a.data("jqv"),r=t?t.fadeDuration:300;return e(".formError").fadeTo(r,300,function(){e(this).parent(".formErrorOuter").remove(),e(this).remove()}),this},_onFieldEvent:function(t){var r=e(this),i=r.closest("form, .validationEngineContainer"),o=i.data("jqv");o.eventTrigger="field",window.setTimeout(function(){a._validateField(r,o),0==o.InvalidFields.length&&o.onFieldSuccess?o.onFieldSuccess():o.InvalidFields.length>0&&o.onFieldFailure&&o.onFieldFailure()},t.data?t.data.delay:0)},_onSubmitEvent:function(){var t=e(this),r=t.data("jqv");if(t.data("jqv_submitButton")){var i=e("#"+t.data("jqv_submitButton"));if(i&&i.length>0&&(i.hasClass("validate-skip")||"true"==i.attr("data-validation-engine-skip")))return!0}r.eventTrigger="submit";var o=a._validateFields(t);return o&&r.ajaxFormValidation?(a._validateFormWithAjax(t,r),!1):r.onValidationComplete?!!r.onValidationComplete(t,o):o},_checkAjaxStatus:function(a){var t=!0;return e.each(a.ajaxValidCache,function(e,a){return a?void 0:(t=!1,!1)}),t},_checkAjaxFieldStatus:function(e,a){return 1==a.ajaxValidCache[e]},_validateFields:function(t,r){void 0===r&&(r=!1);var i=t.data("jqv"),o=!1;t.trigger("jqv.form.validating");var n=null;if(t.find("["+i.validateAttribute+"*=validate]").not(":disabled").each(function(){var s=e(this),l=[];if(e.inArray(s.attr("name"),l)<0){if(o|=a._validateField(s,i,void 0,r),o&&null==n&&(s.is(":hidden")&&i.prettySelect?n=s=t.find("#"+i.usePrefix+a._jqSelector(s.attr("id"))+i.useSuffix):(s.data("jqv-prompt-at")instanceof jQuery?s=s.data("jqv-prompt-at"):s.data("jqv-prompt-at")&&(s=e(s.data("jqv-prompt-at"))),n=s)),i.doNotShowAllErrosOnSubmit)return!1;if(l.push(s.attr("name")),1==i.showOneMessage&&o)return!1}}),t.trigger("jqv.form.result",[o]),o){if(i.scroll&&!r){var s=n.offset().top,l=n.offset().left,d=i.promptPosition;if("string"==typeof d&&-1!=d.indexOf(":")&&(d=d.substring(0,d.indexOf(":"))),"bottomRight"!=d&&"bottomLeft"!=d){var u=a._getPrompt(n);u&&(s=u.offset().top)}if(i.scrollOffset&&(s-=i.scrollOffset),i.isOverflown){var c=e(i.overflownDIV);if(!c.length)return!1;var f=c.scrollTop(),v=-parseInt(c.offset().top);s+=f+v-5;var p=e(i.overflownDIV+":not(:animated)");p.animate({scrollTop:s},1100,function(){i.focusFirstField&&n.focus()})}else e("html, body").animate({scrollTop:s},1100,function(){i.focusFirstField&&n.focus()}),e("html, body").animate({scrollLeft:l},1100)}else i.focusFirstField&&!r&&n.focus();return!1}return!0},_validateFormWithAjax:function(t,r){var i=t.serialize(),o=r.ajaxFormValidationMethod?r.ajaxFormValidationMethod:"GET",n=r.ajaxFormValidationURL?r.ajaxFormValidationURL:t.attr("action"),s=r.dataType?r.dataType:"json";e.ajax({type:o,url:n,cache:!1,dataType:s,data:i,form:t,methods:a,options:r,beforeSend:function(){return r.onBeforeAjaxFormValidation(t,r)},error:function(e,t){r.onFailure?r.onFailure(e,t):a._ajaxError(e,t)},success:function(i){if("json"==s&&i!==!0){for(var o=!1,n=0;n<i.length;n++){var l=i[n],d=l[0],u=e(e("#"+d)[0]);if(1==u.length){var c=l[2];if(1==l[1])if(""!=c&&c){if(r.allrules[c]){var f=r.allrules[c].alertTextOk;f&&(c=f)}r.showPrompts&&a._showPrompt(u,c,"pass",!1,r,!0)}else a._closePrompt(u);else{if(o|=!0,r.allrules[c]){var f=r.allrules[c].alertText;f&&(c=f)}r.showPrompts&&a._showPrompt(u,c,"",!1,r,!0)}}}r.onAjaxFormComplete(!o,t,i,r)}else r.onAjaxFormComplete(!0,t,i,r)}})},_validateField:function(t,r,i,o){if(void 0==o&&(o=!1),t.attr("id")||(t.attr("id","form-validation-field-"+e.validationEngine.fieldIdCounter),++e.validationEngine.fieldIdCounter),!r.validateNonVisibleFields&&(t.is(":hidden")&&!r.prettySelect||t.parent().is(":hidden")))return!1;var n=t.attr(r.validateAttribute),s=/validate\[(.*)\]/.exec(n);if(!s)return!1;var l=s[1],d=l.split(/\[|,|\]/),u=!1,c=t.attr("name"),f="",v="",p=!1,m=!1;r.isError=!1,r.showArrow=!0,r.maxErrorsPerField>0&&(m=!0);for(var g=e(t.closest("form, .validationEngineContainer")),h=0;h<d.length;h++)d[h]=d[h].replace(" ",""),""===d[h]&&delete d[h];for(var h=0,_=0;h<d.length;h++){if(m&&_>=r.maxErrorsPerField){if(!p){var x=e.inArray("required",d);p=-1!=x&&x>=h}break}var C=void 0;switch(d[h]){case"required":p=!0,C=a._getErrorMessage(g,t,d[h],d,h,r,a._required);break;case"custom":C=a._getErrorMessage(g,t,d[h],d,h,r,a._custom);break;case"groupRequired":var b="["+r.validateAttribute+"*="+d[h+1]+"]",F=g.find(b).eq(0);F[0]!=t[0]&&(a._validateField(F,r,i),r.showArrow=!0),C=a._getErrorMessage(g,t,d[h],d,h,r,a._groupRequired),C&&(p=!0),r.showArrow=!1;break;case"ajax":C=a._ajax(t,d,h,r),C&&(v="load");break;case"minSize":C=a._getErrorMessage(g,t,d[h],d,h,r,a._minSize);break;case"maxSize":C=a._getErrorMessage(g,t,d[h],d,h,r,a._maxSize);break;case"min":C=a._getErrorMessage(g,t,d[h],d,h,r,a._min);break;case"max":C=a._getErrorMessage(g,t,d[h],d,h,r,a._max);break;case"past":C=a._getErrorMessage(g,t,d[h],d,h,r,a._past);break;case"future":C=a._getErrorMessage(g,t,d[h],d,h,r,a._future);break;case"dateRange":var b="["+r.validateAttribute+"*="+d[h+1]+"]";r.firstOfGroup=g.find(b).eq(0),r.secondOfGroup=g.find(b).eq(1),(r.firstOfGroup[0].value||r.secondOfGroup[0].value)&&(C=a._getErrorMessage(g,t,d[h],d,h,r,a._dateRange)),C&&(p=!0),r.showArrow=!1;break;case"dateTimeRange":var b="["+r.validateAttribute+"*="+d[h+1]+"]";r.firstOfGroup=g.find(b).eq(0),r.secondOfGroup=g.find(b).eq(1),(r.firstOfGroup[0].value||r.secondOfGroup[0].value)&&(C=a._getErrorMessage(g,t,d[h],d,h,r,a._dateTimeRange)),C&&(p=!0),r.showArrow=!1;break;case"maxCheckbox":t=e(g.find("input[name='"+c+"']")),C=a._getErrorMessage(g,t,d[h],d,h,r,a._maxCheckbox);break;case"minCheckbox":t=e(g.find("input[name='"+c+"']")),C=a._getErrorMessage(g,t,d[h],d,h,r,a._minCheckbox);break;case"equals":C=a._getErrorMessage(g,t,d[h],d,h,r,a._equals);break;case"funcCall":C=a._getErrorMessage(g,t,d[h],d,h,r,a._funcCall);break;case"creditCard":C=a._getErrorMessage(g,t,d[h],d,h,r,a._creditCard);break;case"condRequired":C=a._getErrorMessage(g,t,d[h],d,h,r,a._condRequired),void 0!==C&&(p=!0)}var E=!1;if("object"==typeof C)switch(C.status){case"_break":E=!0;break;case"_error":C=C.message;break;case"_error_no_prompt":return!0}if(E)break;"string"==typeof C&&(f+=C+"<br/>",r.isError=!0,_++)}!p&&!t.val()&&t.val().length<1&&e.inArray("equals",d)<0&&(r.isError=!1);var T=t.prop("type"),j=t.data("promptPosition")||r.promptPosition;("radio"==T||"checkbox"==T)&&g.find("input[name='"+c+"']").length>1&&(t=e("inline"===j?g.find("input[name='"+c+"'][type!=hidden]:last"):g.find("input[name='"+c+"'][type!=hidden]:first")),r.showArrow=!1),t.is(":hidden")&&r.prettySelect&&(t=g.find("#"+r.usePrefix+a._jqSelector(t.attr("id"))+r.useSuffix)),r.isError&&r.showPrompts&&!o?a._showPrompt(t,f,v,!1,r):u||a._closePrompt(t),u||t.trigger("jqv.field.result",[t,r.isError,f]);var k=e.inArray(t[0],r.InvalidFields);return-1==k?r.isError&&r.InvalidFields.push(t[0]):r.isError||r.InvalidFields.splice(k,1),a._handleStatusCssClasses(t,r),r.isError&&r.onFieldFailure&&r.onFieldFailure(t),!r.isError&&r.onFieldSuccess&&r.onFieldSuccess(t),r.isError},_handleStatusCssClasses:function(e,a){a.addSuccessCssClassToField&&e.removeClass(a.addSuccessCssClassToField),a.addFailureCssClassToField&&e.removeClass(a.addFailureCssClassToField),a.addSuccessCssClassToField&&!a.isError&&e.addClass(a.addSuccessCssClassToField),a.addFailureCssClassToField&&a.isError&&e.addClass(a.addFailureCssClassToField)},_getErrorMessage:function(t,r,i,o,n,s,l){var d=jQuery.inArray(i,o);if("custom"===i||"funcCall"===i){var u=o[d+1];i=i+"["+u+"]",delete o[d]}var c,f=i,v=r.attr("data-validation-engine")?r.attr("data-validation-engine"):r.attr("class"),p=v.split(" ");if(c="future"==i||"past"==i||"maxCheckbox"==i||"minCheckbox"==i?l(t,r,o,n,s):l(r,o,n,s),void 0!=c){var m=a._getCustomErrorMessage(e(r),p,f,s);m&&(c=m)}return c},_getCustomErrorMessage:function(e,t,r,i){var o=!1,n=/^custom\[.*\]$/.test(r)?a._validityProp.custom:a._validityProp[r];if(void 0!=n&&(o=e.attr("data-errormessage-"+n),void 0!=o))return o;if(o=e.attr("data-errormessage"),void 0!=o)return o;var s="#"+e.attr("id");if("undefined"!=typeof i.custom_error_messages[s]&&"undefined"!=typeof i.custom_error_messages[s][r])o=i.custom_error_messages[s][r].message;else if(t.length>0)for(var l=0;l<t.length&&t.length>0;l++){var d="."+t[l];if("undefined"!=typeof i.custom_error_messages[d]&&"undefined"!=typeof i.custom_error_messages[d][r]){o=i.custom_error_messages[d][r].message;break}}return o||"undefined"==typeof i.custom_error_messages[r]||"undefined"==typeof i.custom_error_messages[r].message||(o=i.custom_error_messages[r].message),o},_validityProp:{required:"value-missing",custom:"custom-error",groupRequired:"value-missing",ajax:"custom-error",minSize:"range-underflow",maxSize:"range-overflow",min:"range-underflow",max:"range-overflow",past:"type-mismatch",future:"type-mismatch",dateRange:"type-mismatch",dateTimeRange:"type-mismatch",maxCheckbox:"range-overflow",minCheckbox:"range-underflow",equals:"pattern-mismatch",funcCall:"custom-error",creditCard:"pattern-mismatch",condRequired:"value-missing"},_required:function(a,t,r,i,o){switch(a.prop("type")){case"text":case"password":case"textarea":case"file":case"select-one":case"select-multiple":default:var n=e.trim(a.val()),s=e.trim(a.attr("data-validation-placeholder")),l=e.trim(a.attr("placeholder"));if(!n||s&&n==s||l&&n==l)return i.allrules[t[r]].alertText;break;case"radio":case"checkbox":if(o){if(!a.attr("checked"))return i.allrules[t[r]].alertTextCheckboxMultiple;break}var d=a.closest("form, .validationEngineContainer"),u=a.attr("name");if(0==d.find("input[name='"+u+"']:checked").length)return 1==d.find("input[name='"+u+"']:visible").length?i.allrules[t[r]].alertTextCheckboxe:i.allrules[t[r]].alertTextCheckboxMultiple}},_groupRequired:function(t,r,i,o){var n="["+o.validateAttribute+"*="+r[i+1]+"]",s=!1;return t.closest("form, .validationEngineContainer").find(n).each(function(){return a._required(e(this),r,i,o)?void 0:(s=!0,!1)}),s?void 0:o.allrules[r[i]].alertText},_custom:function(e,a,t,r){var i,o=a[t+1],n=r.allrules[o];if(!n)return void alert("jqv:custom rule not found - "+o);if(n.regex){var s=n.regex;if(!s)return void alert("jqv:custom regex not found - "+o);var l=new RegExp(s);if(!l.test(e.val()))return r.allrules[o].alertText}else{if(!n.func)return void alert("jqv:custom type not allowed "+o);if(i=n.func,"function"!=typeof i)return void alert("jqv:custom parameter 'function' is no function - "+o);if(!i(e,a,t,r))return r.allrules[o].alertText}},_funcCall:function(e,a,t,r){var i,o=a[t+1];if(o.indexOf(".")>-1){for(var n=o.split("."),s=window;n.length;)s=s[n.shift()];i=s}else i=window[o]||r.customFunctions[o];return"function"==typeof i?i(e,a,t,r):void 0},_equals:function(a,t,r,i){var o=t[r+1];return a.val()!=e("#"+o).val()?i.allrules.equals.alertText:void 0},_maxSize:function(e,a,t,r){var i=a[t+1],o=e.val().length;if(o>i){var n=r.allrules.maxSize;return n.alertText+i+n.alertText2}},_minSize:function(e,a,t,r){var i=a[t+1],o=e.val().length;if(i>o){var n=r.allrules.minSize;return n.alertText+i+n.alertText2}},_min:function(e,a,t,r){var i=parseFloat(a[t+1]),o=parseFloat(e.val());if(i>o){var n=r.allrules.min;return n.alertText2?n.alertText+i+n.alertText2:n.alertText+i}},_max:function(e,a,t,r){var i=parseFloat(a[t+1]),o=parseFloat(e.val());if(o>i){var n=r.allrules.max;return n.alertText2?n.alertText+i+n.alertText2:n.alertText+i}},_past:function(t,r,i,o,n){var s,l=i[o+1],d=e(t.find("*[name='"+l.replace(/^#+/,"")+"']"));if("now"==l.toLowerCase())s=new Date;else if(void 0!=d.val()){if(d.is(":disabled"))return;s=a._parseDate(d.val())}else s=a._parseDate(l);var u=a._parseDate(r.val());if(u>s){var c=n.allrules.past;return c.alertText2?c.alertText+a._dateToString(s)+c.alertText2:c.alertText+a._dateToString(s)}},_future:function(t,r,i,o,n){var s,l=i[o+1],d=e(t.find("*[name='"+l.replace(/^#+/,"")+"']"));if("now"==l.toLowerCase())s=new Date;else if(void 0!=d.val()){if(d.is(":disabled"))return;s=a._parseDate(d.val())}else s=a._parseDate(l);var u=a._parseDate(r.val());if(s>u){var c=n.allrules.future;return c.alertText2?c.alertText+a._dateToString(s)+c.alertText2:c.alertText+a._dateToString(s)}},_isDate:function(e){var a=new RegExp(/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(?:(?:0?[1-9]|1[0-2])(\/|-)(?:0?[1-9]|1\d|2[0-8]))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(0?2(\/|-)29)(\/|-)(?:(?:0[48]00|[13579][26]00|[2468][048]00)|(?:\d\d)?(?:0[48]|[2468][048]|[13579][26]))$/);return a.test(e)},_isDateTime:function(e){var a=new RegExp(/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1}$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^((1[012]|0?[1-9]){1}\/(0?[1-9]|[12][0-9]|3[01]){1}\/\d{2,4}\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1})$/);return a.test(e)},_dateCompare:function(e,a){return new Date(e.toString())<new Date(a.toString())},_dateRange:function(e,t,r,i){return!i.firstOfGroup[0].value&&i.secondOfGroup[0].value||i.firstOfGroup[0].value&&!i.secondOfGroup[0].value?i.allrules[t[r]].alertText+i.allrules[t[r]].alertText2:a._isDate(i.firstOfGroup[0].value)&&a._isDate(i.secondOfGroup[0].value)&&a._dateCompare(i.firstOfGroup[0].value,i.secondOfGroup[0].value)?void 0:i.allrules[t[r]].alertText+i.allrules[t[r]].alertText2},_dateTimeRange:function(e,t,r,i){return!i.firstOfGroup[0].value&&i.secondOfGroup[0].value||i.firstOfGroup[0].value&&!i.secondOfGroup[0].value?i.allrules[t[r]].alertText+i.allrules[t[r]].alertText2:a._isDateTime(i.firstOfGroup[0].value)&&a._isDateTime(i.secondOfGroup[0].value)&&a._dateCompare(i.firstOfGroup[0].value,i.secondOfGroup[0].value)?void 0:i.allrules[t[r]].alertText+i.allrules[t[r]].alertText2},_maxCheckbox:function(e,a,t,r,i){var o=t[r+1],n=a.attr("name"),s=e.find("input[name='"+n+"']:checked").length;return s>o?(i.showArrow=!1,i.allrules.maxCheckbox.alertText2?i.allrules.maxCheckbox.alertText+" "+o+" "+i.allrules.maxCheckbox.alertText2:i.allrules.maxCheckbox.alertText):void 0},_minCheckbox:function(e,a,t,r,i){var o=t[r+1],n=a.attr("name"),s=e.find("input[name='"+n+"']:checked").length;return o>s?(i.showArrow=!1,i.allrules.minCheckbox.alertText+" "+o+" "+i.allrules.minCheckbox.alertText2):void 0},_creditCard:function(e,a,t,r){var i=!1,o=e.val().replace(/ +/g,"").replace(/-+/g,""),n=o.length;if(n>=14&&16>=n&&parseInt(o)>0){var s,l=0,t=n-1,d=1,u=new String;do s=parseInt(o.charAt(t)),u+=d++%2==0?2*s:s;while(--t>=0);for(t=0;t<u.length;t++)l+=parseInt(u.charAt(t));i=l%10==0}return i?void 0:r.allrules.creditCard.alertText},_ajax:function(t,r,i,o){var n=r[i+1],s=o.allrules[n],l=s.extraData,d=s.extraDataDynamic,u={fieldId:t.attr("id"),fieldValue:t.val()};if("object"==typeof l)e.extend(u,l);else if("string"==typeof l)for(var c=l.split("&"),i=0;i<c.length;i++){var f=c[i].split("=");f[0]&&f[0]&&(u[f[0]]=f[1])}if(d)for(var v=String(d).split(","),i=0;i<v.length;i++){var p=v[i];if(e(p).length){var m=t.closest("form, .validationEngineContainer").find(p).val();p.replace("#","")+"="+escape(m);u[p.replace("#","")]=m}}return"field"==o.eventTrigger&&delete o.ajaxValidCache[t.attr("id")],o.isError||a._checkAjaxFieldStatus(t.attr("id"),o)?void 0:(e.ajax({type:o.ajaxFormValidationMethod,url:s.url,cache:!1,dataType:"json",data:u,field:t,rule:s,methods:a,options:o,beforeSend:function(){},error:function(e,t){o.onFailure?o.onFailure(e,t):a._ajaxError(e,t)},success:function(r){var i=r[0],n=e("#"+i).eq(0);if(1==n.length){var l=r[1],d=r[2];if(l){if(o.ajaxValidCache[i]=!0,d){if(o.allrules[d]){var u=o.allrules[d].alertTextOk;u&&(d=u)}}else d=s.alertTextOk;o.showPrompts&&(d?a._showPrompt(n,d,"pass",!0,o):a._closePrompt(n)),"submit"==o.eventTrigger&&t.closest("form").submit()}else{if(o.ajaxValidCache[i]=!1,o.isError=!0,d){if(o.allrules[d]){var u=o.allrules[d].alertText;u&&(d=u)}}else d=s.alertText;o.showPrompts&&a._showPrompt(n,d,"",!0,o)}}n.trigger("jqv.field.result",[n,o.isError,d])}}),s.alertTextLoad)},_ajaxError:function(e,a){0==e.status&&null==a?alert("The page is not served from a server! ajax call failed"):"undefined"!=typeof console&&console.log("Ajax error: "+e.status+" "+a)},_dateToString:function(e){return e.getFullYear()+"-"+(e.getMonth()+1)+"-"+e.getDate()},_parseDate:function(e){var a=e.split("-");return a==e&&(a=e.split("/")),a==e?(a=e.split("."),new Date(a[2],a[1]-1,a[0])):new Date(a[0],a[1]-1,a[2])},_showPrompt:function(t,r,i,o,n,s){t.data("jqv-prompt-at")instanceof jQuery?t=t.data("jqv-prompt-at"):t.data("jqv-prompt-at")&&(t=e(t.data("jqv-prompt-at")));var l=a._getPrompt(t);s&&(l=!1),e.trim(r)&&(l?a._updatePrompt(t,l,r,i,o,n):a._buildPrompt(t,r,i,o,n))},_buildPrompt:function(t,r,i,o,n){var s=e("<div>");switch(s.addClass(a._getClassName(t.attr("id"))+"formError"),s.addClass("parentForm"+a._getClassName(t.closest("form, .validationEngineContainer").attr("id"))),s.addClass("formError"),i){case"pass":s.addClass("greenPopup");break;case"load":s.addClass("blackPopup")}o&&s.addClass("ajaxed");var l=(e("<div>").addClass("formErrorContent").html(r).appendTo(s),t.data("promptPosition")||n.promptPosition);if(n.showArrow){var d=e("<div>").addClass("formErrorArrow");if("string"==typeof l){var u=l.indexOf(":");-1!=u&&(l=l.substring(0,u))}switch(l){case"bottomLeft":case"bottomRight":s.find(".formErrorContent").before(d),d.addClass("formErrorArrowBottom").html('<div class="line1"><!-- --></div><div class="line2"><!-- --></div><div class="line3"><!-- --></div><div class="line4"><!-- --></div><div class="line5"><!-- --></div><div class="line6"><!-- --></div><div class="line7"><!-- --></div><div class="line8"><!-- --></div><div class="line9"><!-- --></div><div class="line10"><!-- --></div>');break;case"topLeft":case"topRight":d.html('<div class="line10"><!-- --></div><div class="line9"><!-- --></div><div class="line8"><!-- --></div><div class="line7"><!-- --></div><div class="line6"><!-- --></div><div class="line5"><!-- --></div><div class="line4"><!-- --></div><div class="line3"><!-- --></div><div class="line2"><!-- --></div><div class="line1"><!-- --></div>'),s.append(d)}}n.addPromptClass&&s.addClass(n.addPromptClass);var c=t.attr("data-required-class");if(void 0!==c)s.addClass(c);else if(n.prettySelect&&e("#"+t.attr("id")).next().is("select")){var f=e("#"+t.attr("id").substr(n.usePrefix.length).substring(n.useSuffix.length)).attr("data-required-class");void 0!==f&&s.addClass(f)}s.css({opacity:0}),"inline"===l?(s.addClass("inline"),"undefined"!=typeof t.attr("data-prompt-target")&&e("#"+t.attr("data-prompt-target")).length>0?s.appendTo(e("#"+t.attr("data-prompt-target"))):t.after(s)):t.before(s);var u=a._calculatePosition(t,s,n);return s.css({position:"inline"===l?"relative":"absolute",top:u.callerTopPosition,left:u.callerleftPosition,marginTop:u.marginTopSize,opacity:0}).data("callerField",t),n.autoHidePrompt&&setTimeout(function(){s.animate({opacity:0},function(){s.closest(".formErrorOuter").remove(),s.remove()})},n.autoHideDelay),s.animate({opacity:.87})},_updatePrompt:function(e,t,r,i,o,n,s){if(t){"undefined"!=typeof i&&("pass"==i?t.addClass("greenPopup"):t.removeClass("greenPopup"),"load"==i?t.addClass("blackPopup"):t.removeClass("blackPopup")),o?t.addClass("ajaxed"):t.removeClass("ajaxed"),t.find(".formErrorContent").html(r);var l=a._calculatePosition(e,t,n),d={top:l.callerTopPosition,left:l.callerleftPosition,marginTop:l.marginTopSize};s?t.css(d):t.animate(d)}},_closePrompt:function(e){var t=a._getPrompt(e);t&&t.fadeTo("fast",0,function(){t.parent(".formErrorOuter").remove(),t.remove()})},closePrompt:function(e){return a._closePrompt(e)},_getPrompt:function(t){var r=e(t).closest("form, .validationEngineContainer").attr("id"),i=a._getClassName(t.attr("id"))+"formError",o=e("."+a._escapeExpression(i)+".parentForm"+a._getClassName(r))[0];return o?e(o):void 0},_escapeExpression:function(e){return e.replace(/([#;&,\.\+\*\~':"\!\^$\[\]\(\)=>\|])/g,"\\$1")},isRTL:function(a){var t=e(document),r=e("body"),i=a&&a.hasClass("rtl")||a&&"rtl"===(a.attr("dir")||"").toLowerCase()||t.hasClass("rtl")||"rtl"===(t.attr("dir")||"").toLowerCase()||r.hasClass("rtl")||"rtl"===(r.attr("dir")||"").toLowerCase();return Boolean(i)},_calculatePosition:function(e,a,t){var r,i,o,n=e.width(),s=e.position().left,l=e.position().top,d=(e.height(),a.height());r=i=0,o=-d;var u=e.data("promptPosition")||t.promptPosition,c="",f="",v=0,p=0;switch("string"==typeof u&&-1!=u.indexOf(":")&&(c=u.substring(u.indexOf(":")+1),u=u.substring(0,u.indexOf(":")),-1!=c.indexOf(",")&&(f=c.substring(c.indexOf(",")+1),c=c.substring(0,c.indexOf(",")),p=parseInt(f),isNaN(p)&&(p=0)),v=parseInt(c),isNaN(c)&&(c=0)),u){default:case"topRight":i+=s+n-30,r+=l;break;case"topLeft":r+=l,i+=s;break;case"centerRight":r=l+4,o=0,i=s+e.outerWidth(!0)+5;break;case"centerLeft":i=s-(a.width()+2),r=l+4,o=0;break;case"bottomLeft":r=l+e.height()+5,o=0,i=s;break;case"bottomRight":i=s+n-30,r=l+e.height()+5,o=0;break;case"inline":i=0,r=0,o=0}return i+=v,r+=p,{callerTopPosition:r+"px",callerleftPosition:i+"px",marginTopSize:o+"px"}},_saveOptions:function(a,t){if(e.validationEngineLanguage)var r=e.validationEngineLanguage.allRules;else e.error("jQuery.validationEngine rules are not loaded, plz add localization files to the page");e.validationEngine.defaults.allrules=r;var i=e.extend(!0,{},e.validationEngine.defaults,t);return a.data("jqv",i),i},_getClassName:function(e){return e?e.replace(/:/g,"_").replace(/\./g,"_"):void 0},_jqSelector:function(e){return e.replace(/([;&,\.\+\*\~':"\!\^#$%@\[\]\(\)=>\|])/g,"\\$1")},_condRequired:function(e,t,r,i){var o,n;for(o=r+1;o<t.length;o++)if(n=jQuery("#"+t[o]).first(),n.length&&void 0==a._required(n,["required"],0,i,!0))return a._required(e,["required"],0,i)},_submitButtonClick:function(a){var t=e(this),r=t.closest("form, .validationEngineContainer");r.data("jqv_submitButton",t.attr("id"))}};e.fn.validationEngine=function(t){var r=e(this);return r[0]?"string"==typeof t&&"_"!=t.charAt(0)&&a[t]?("showPrompt"!=t&&"hide"!=t&&"hideAll"!=t&&a.init.apply(r),a[t].apply(r,Array.prototype.slice.call(arguments,1))):"object"!=typeof t&&t?void e.error("Method "+t+" does not exist in jQuery.validationEngine"):(a.init.apply(r,arguments),a.attach.apply(r)):r},e.validationEngine={fieldIdCounter:0,defaults:{validationEventTrigger:"blur",scroll:!0,focusFirstField:!0,showPrompts:!0,validateNonVisibleFields:!1,promptPosition:"topRight",bindMethod:"bind",inlineAjax:!1,ajaxFormValidation:!1,ajaxFormValidationURL:!1,ajaxFormValidationMethod:"get",onAjaxFormComplete:e.noop,onBeforeAjaxFormValidation:e.noop,onValidationComplete:!1,doNotShowAllErrosOnSubmit:!1,custom_error_messages:{},binded:!0,showArrow:!0,isError:!1,maxErrorsPerField:!1,ajaxValidCache:{},autoPositionUpdate:!1,InvalidFields:[],onFieldSuccess:!1,onFieldFailure:!1,onSuccess:!1,onFailure:!1,validateAttribute:"class",addSuccessCssClassToField:"",addFailureCssClassToField:"",autoHidePrompt:!1,autoHideDelay:1e4,fadeDuration:.3,prettySelect:!1,addPromptClass:"",usePrefix:"",useSuffix:"",showOneMessage:!1,bindOnSubmit:!0}},e(function(){e.validationEngine.defaults.promptPosition=a.isRTL()?"topLeft":"topRight"})}(jQuery);