www-thermferm/jqwidgets/jqxvalidator.js

changeset 511
2d1d43c3a2c2
parent 373
f6850e0b5d35
child 617
b216f9d4b917
--- a/www-thermferm/jqwidgets/jqxvalidator.js	Fri May 19 16:34:21 2017 +0200
+++ b/www-thermferm/jqwidgets/jqxvalidator.js	Sun May 28 14:19:57 2017 +0200
@@ -1,7 +1,7 @@
 /*
-jQWidgets v3.8.0 (2015-Apr)
-Copyright (c) 2011-2015 jQWidgets.
+jQWidgets v4.5.2 (2017-May)
+Copyright (c) 2011-2017 jQWidgets.
 License: http://jqwidgets.com/license/
-*/
-
-(function(a){a.jqx.jqxWidget("jqxValidator","",{});a.extend(a.jqx._jqxValidator.prototype,{defineInstance:function(){var b={rules:null,scroll:true,focus:true,scrollDuration:300,scrollCallback:null,position:"right",arrow:true,animation:"fade",animationDuration:150,closeOnClick:true,onError:null,onSuccess:null,ownerElement:null,_events:["validationError","validationSuccess"],hintPositionOffset:5,_inputHint:[],rtl:false,hintType:"tooltip"};a.extend(true,this,b);return b},createInstance:function(){if(this.hintType=="label"&&this.animationDuration==150){this.animationDuration=0}this._configureInputs();this._removeEventListeners();this._addEventListeners()},destroy:function(){this._removeEventListeners();this.hide()},validate:function(p){var b=true,o,e=Infinity,h,g,c,j=[],n;this.updatePosition();var k=this;var d=0;for(var f=0;f<this.rules.length;f+=1){if(typeof this.rules[f].rule==="function"){d++}}this.positions=new Array();for(var f=0;f<this.rules.length;f+=1){var m=a(this.rules[f].input);if(typeof this.rules[f].rule==="function"){var l=function(r,q){o=r;if(false==o){b=false;var i=a(q.input);c=a(q.input);j.push(c);h=c.offset().top;if(e>h){e=h;g=c}}d--;if(d==0){if(typeof p==="function"){k._handleValidation(b,e,g,j);if(p){p(b)}}}};this._validateRule(this.rules[f],l)}else{o=this._validateRule(this.rules[f])}if(false==o){b=false;c=a(this.rules[f].input);j.push(c);h=c.offset().top;if(e>h){e=h;g=c}}}if(d==0){this._handleValidation(b,e,g,j);return b}else{return undefined}},validateInput:function(b){var e=this._getRulesForInput(b),d=true;for(var c=0;c<e.length;c+=1){if(!this._validateRule(e[c])){d=false}}return d},hideHint:function(b){var d=this._getRulesForInput(b);for(var c=0;c<d.length;c+=1){this._hideHintByRule(d[c])}},hide:function(){var c;for(var b=0;b<this.rules.length;b+=1){c=this.rules[b];this._hideHintByRule(this.rules[b])}},updatePosition:function(){var c;this.positions=new Array();for(var b=0;b<this.rules.length;b+=1){c=this.rules[b];if(c.hint){this._hintLayout(c.hint,a(c.input),c.position,c)}}},_getRulesForInput:function(b){var d=[];for(var c=0;c<this.rules.length;c+=1){if(this.rules[c].input===b){d.push(this.rules[c])}}return d},_validateRule:function(f,i){var b=a(f.input),h,e=true;var d=this;var g=function(k){if(!k){var j=d.animation;d.animation=null;if(f.hint){d._hideHintByRule(f)}h=f.hintRender.apply(d,[f.message,b]);d._hintLayout(h,b,f.position,f);d._showHint(h);f.hint=h;d._removeLowPriorityHints(f);if(i){i(false,f)}d.animation=j}else{d._hideHintByRule(f);if(i){i(true,f)}}};var c=false;if(typeof f.rule==="function"){c=f.rule.call(this,b,g);if(c==true&&i){i(true,f)}}if(typeof f.rule==="function"&&c==false){if(typeof f.hintRender==="function"&&!f.hint&&!this._higherPriorityActive(f)&&b.is(":visible")){h=f.hintRender.apply(this,[f.message,b]);this._removeLowPriorityHints(f);this._hintLayout(h,b,f.position,f);this._showHint(h);f.hint=h}e=false;if(i){i(false,f)}}else{this._hideHintByRule(f)}return e},_hideHintByRule:function(e){var c=a(e.input);var b=this,f;var d=function(){if(b.hintType!="label"){return}var g=b;if(g.position=="top"||g.position=="left"){if(c.prev().hasClass(".jqx-validator-error-label")){return}}else{if(c.next().hasClass(".jqx-validator-error-label")){return}}if(c[0].nodeName.toLowerCase()!="input"){if(c.find("input").length>0){if(c.find(".jqx-input").length>0){c.find(".jqx-input").removeClass(g.toThemeProperty("jqx-validator-error-element"))}else{if(c.is(".jqx-checkbox")){c.find(".jqx-checkbox-default").removeClass(g.toThemeProperty("jqx-validator-error-element"))}}if(c.is(".jqx-radiobutton")){c.find(".jqx-radiobutton-default").removeClass(g.toThemeProperty("jqx-validator-error-element"))}else{c.removeClass(g.toThemeProperty("jqx-validator-error-element"))}}}else{c.removeClass(g.toThemeProperty("jqx-validator-error-element"))}};if(e){f=e.hint;if(f){if(this.positions){if(this.positions[Math.round(f.offset().top)+"_"+Math.round(f.offset().left)]){this.positions[Math.round(f.offset().top)+"_"+Math.round(f.offset().left)]=null}}if(this.animation==="fade"){f.fadeOut(this.animationDuration,function(){f.remove();d()})}else{f.remove();d()}}e.hint=null}},_handleValidation:function(b,e,d,c){if(!b){this._scrollHandler(e);if(this.focus){d.focus()}this._raiseEvent(0,{invalidInputs:c});if(typeof this.onError==="function"){this.onError(c)}}else{this._raiseEvent(1);if(typeof this.onSuccess==="function"){this.onSuccess()}}},_scrollHandler:function(c){if(this.scroll){var b=this;a("html,body").animate({scrollTop:c},this.scrollDuration,function(){if(typeof b.scrollCallback==="function"){b.scrollCallback.call(b)}})}},_higherPriorityActive:function(d){var e=false,c;for(var b=this.rules.length-1;b>=0;b-=1){c=this.rules[b];if(e&&c.input===d.input&&c.hint){return true}if(c===d){e=true}}return false},_removeLowPriorityHints:function(d){var e=false,c;for(var b=0;b<this.rules.length;b+=1){c=this.rules[b];if(e&&c.input===d.input){this._hideHintByRule(c)}if(c===d){e=true}}},_getHintRuleByInput:function(b){var d;for(var c=0;c<this.rules.length;c+=1){d=this.rules[c];if(a(d.input)[0]===b[0]&&d.hint){return d}}return null},_removeEventListeners:function(){var f,b,e;for(var d=0;d<this.rules.length;d+=1){f=this.rules[d];e=f.action.split(",");b=a(f.input);for(var c=0;c<e.length;c+=1){this.removeHandler(b,a.trim(e[c])+".jqx-validator")}}},_addEventListeners:function(){var f,c;if(this.host.parents(".jqx-window").length>0){var b=this;var g=function(){b.updatePosition()};var e=this.host.parents(".jqx-window");this.addHandler(e,"closed",function(){b.hide()});this.addHandler(e,"moved",g);this.addHandler(e,"moving",g);this.addHandler(e,"resized",g);this.addHandler(e,"resizing",g);this.addHandler(a(document.parentWindow),"scroll",function(){if(b.scroll){g()}})}for(var d=0;d<this.rules.length;d+=1){f=this.rules[d];c=a(f.input);this._addListenerTo(c,f)}},_addListenerTo:function(c,h){var b=this,f=h.action.split(",");var e=false;if(this._isjQWidget(c)){e=true}for(var d=0;d<f.length;d+=1){var g=a.trim(f[d]);if(e&&(g=="blur"||g=="focus")){if(c&&c[0].nodeName.toLowerCase()!="input"){c=c.find("input")}}this.addHandler(c,g+".jqx-validator",function(i){b._validateRule(h)})}},_configureInputs:function(){var b,d;this.rules=this.rules||[];for(var c=0;c<this.rules.length;c+=1){this._handleInput(c)}},_handleInput:function(b){var c=this.rules[b];if(!c.position){c.position=this.position}if(!c.message){c.message="Validation Failed!"}if(!c.action){c.action="blur"}if(!c.hintRender){c.hintRender=this._hintRender}if(!c.rule){c.rule=null}else{this._handleRule(c)}},_handleRule:function(f){var c=f.rule,e,d,b=false;if(typeof c==="string"){if(c.indexOf("=")>=0){c=c.split("=");d=c[1].split(",");c=c[0]}e=this["_"+c];if(e){f.rule=function(g,h){return e.apply(this,[g].concat(d))}}else{b=true}}else{if(typeof c!=="function"){b=true}else{f.rule=c}}if(b){throw new Error("Wrong parameter!")}},_required:function(b){switch(this._getType(b)){case"textarea":case"password":case"jqx-input":case"text":var d=a.data(b[0]);if(d.jqxMaskedInput){var e=b.jqxMaskedInput("promptChar"),c=b.jqxMaskedInput("value");return c&&c.indexOf(e)<0}else{if(d.jqxNumberInput){return b.jqxNumberInput("inputValue")!==""}else{if(d.jqxDateTimeInput){return true}else{return a.trim(b.val())!==""}}}case"checkbox":return b.is(":checked");case"radio":return b.is(":checked");case"div":if(b.is(".jqx-checkbox")){return b.jqxCheckBox("checked")}if(b.is(".jqx-radiobutton")){return b.jqxRadioButton("checked")}return false}return false},_notNumber:function(b){return this._validateText(b,function(d){if(d==""){return true}var c=/\d/;return !c.test(d)})},_startWithLetter:function(b){return this._validateText(b,function(d){if(d==""){return true}var c=/\d/;return !c.test(d.substring(0,1))})},_number:function(b){return this._validateText(b,function(d){if(d==""){return true}var c=new Number(d);return !isNaN(c)&&isFinite(c)})},_phone:function(b){return this._validateText(b,function(d){if(d==""){return true}var c=/^\(\d{3}\)(\d){3}-(\d){4}$/;return c.test(d)})},_length:function(c,d,b){return this._minLength(c,d)&&this._maxLength(c,b)},_maxLength:function(c,b){b=parseInt(b,10);return this._validateText(c,function(d){return d.length<=b})},_minLength:function(c,b){b=parseInt(b,10);return this._validateText(c,function(d){return d.length>=b})},_email:function(b){return this._validateText(b,function(d){if(d==""){return true}var c=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;return c.test(d)})},_zipCode:function(b){return this._validateText(b,function(d){if(d==""){return true}var c=/^(^\d{5}$)|(^\d{5}-\d{4}$)|(\d{3}-\d{2}-\d{4})$/;return c.test(d)})},_ssn:function(b){return this._validateText(b,function(d){if(d==""){return true}var c=/\d{3}-\d{2}-\d{4}/;return c.test(d)})},_validateText:function(b,d){var c;if(this._isTextInput(b)){if(this._isjQWidget(b)){if(b.find("input").length>0){c=b.find("input").val()}else{c=b.val()}}else{c=b.val()}return d(c)}return false},_isjQWidget:function(b){var c=a.data(b[0]);if(c.jqxMaskedInput||c.jqxNumberInput||c.jqxDateTimeInput){return true}return false},_isTextInput:function(b){var c=this._getType(b);return c==="text"||c==="textarea"||c==="password"||b.is(".jqx-input")},_getType:function(c){var b=c[0].tagName.toLowerCase(),d;if(b==="textarea"){return"textarea"}else{if(c.is(".jqx-input")){return"jqx-input"}else{if(b==="input"){d=a(c).attr("type")?a(c).attr("type").toLowerCase():"text";return d}}}return b},_hintRender:function(e,c){if(this.hintType=="label"){var f=a('<label class="'+this.toThemeProperty("jqx-validator-error-label")+'"></label>');f.html(e);var d=this;if(this.closeOnClick){f.click(function(){d.hideHint(c.selector)})}if(this.position=="left"||this.position=="top"){f.insertBefore(a(c))}else{f.insertAfter(a(c))}return f}var f=a('<div class="'+this.toThemeProperty("jqx-validator-hint")+' jqx-rc-all"></div>'),b=this;f.html(e);if(this.closeOnClick){f.click(function(){b.hideHint(c.selector)})}if(this.ownerElement==null){f.appendTo(document.body)}else{if(this.ownerElement.innerHTML){f.appendTo(a(this.ownerElement))}else{f.appendTo(this.ownerElement)}}return f},_hintLayout:function(h,c,b,f){if(this._hintRender===f.hintRender){var i;i=this._getPosition(c,b,h,f);if(this.hintType=="label"){var e="2px";if(this.position=="left"||this.position=="top"){e="-2px"}if(c[0].nodeName.toLowerCase()!="input"){if(c.find("input").length>0){if(c.find(".jqx-input").length>0){c.find(".jqx-input").addClass(this.toThemeProperty("jqx-validator-error-element"))}else{if(c.is(".jqx-checkbox")){c.find(".jqx-checkbox-default").addClass(this.toThemeProperty("jqx-validator-error-element"))}}if(c.is(".jqx-radiobutton")){c.find(".jqx-radiobutton-default").addClass(this.toThemeProperty("jqx-validator-error-element"))}else{c.addClass(this.toThemeProperty("jqx-validator-error-element"))}}}else{c.addClass(this.toThemeProperty("jqx-validator-error-element"))}var d=a("<span></span>");d.addClass(this.toThemeProperty("jqx-validator-hint"));d.html(h.text());d.appendTo(a(document.body));var g=d.outerWidth();d.remove();h.css({position:"relative",left:a(c).css("margin-left"),width:a(c).width(),top:e});if(b=="center"){h.css("width",g);h.css("left","0px");h.css("margin-left","auto");h.css("margin-right","auto")}return}h.css({position:"absolute",left:i.left,top:i.top});if(this.arrow){this._addArrow(c,h,b,i)}}},_showHint:function(b){if(b){if(this.animation==="fade"){b.fadeOut(0);b.fadeIn(this.animationDuration)}}},_getPosition:function(i,f,d,g){var e=i.offset(),h,c;var b=i.outerWidth();var j=i.outerHeight();if(this.rtl&&f.indexOf("left")>=0){f="right"}if(this.rtl&&f.indexOf("right")>=0){f="left"}if(this.ownerElement!=null){e={left:0,top:0};e.top=parseInt(e.top)+i.position().top;e.left=parseInt(e.left)+i.position().left}if(g&&g.hintPositionRelativeElement){var k=a(g.hintPositionRelativeElement);e=k.offset();b=k.width();j=k.height()}if(f.indexOf("top")>=0){h=e.top-j}else{if(f.indexOf("bottom")>=0){h=e.top+d.outerHeight()+this.hintPositionOffset+5}else{h=e.top}}if(f.indexOf("center")>=0){c=e.left+this.hintPositionOffset+(b-d.outerWidth())/2}else{if(f.indexOf("left")>=0){c=e.left-d.outerWidth()-this.hintPositionOffset}else{if(f.indexOf("right")>=0){c=e.left+b+this.hintPositionOffset}else{c=e.left+this.hintPositionOffset}}}if(f.indexOf(":")>=0){f=f.split(":")[1].split(",");c+=parseInt(f[0],10);h+=parseInt(f[1],10)}if(!this.positions){this.positions=new Array()}if(this.positions[Math.round(h)+"_"+Math.round(c)]){if(this.positions[Math.round(h)+"_"+Math.round(c)].top==h){h+=i.outerHeight()}}this.positions[Math.round(h)+"_"+Math.round(c)]={left:c,top:h};return{left:c,top:h}},_addArrow:function(j,e,g,k){var l=a('<div class="'+this.toThemeProperty("jqx-validator-hint-arrow")+'"></div>'),d,i;if(this.rtl&&g.indexOf("left")>=0){g="right"}if(this.rtl&&g.indexOf("right")>=0){g="left"}e.children(".jqx-validator-hint-arrow").remove();e.append(l);var c=l.outerHeight(),f=l.outerWidth(),h=e.outerHeight(),b=e.outerWidth();this._addImage(l);if(g.indexOf("top")>=0){i=h-c}else{if(g.indexOf("bottom")>=0){i=-c}else{i=(h-c)/2-c/2}}if(g.indexOf("center")>=0){d=(b-f)/2}else{if(g.indexOf("left")>=0){d=b-f/2-1}else{if(g.indexOf("right")>=0){d=-f/2}}}if(g.indexOf("topright")>=0||g.indexOf("bottomright")>=0){d=0}if(g.indexOf("topleft")>=0||g.indexOf("bottomleft")>=0){d=b-f}l.css({position:"absolute",left:d,top:i})},_addImage:function(b){var c=b.css("background-image");c=c.replace('url("',"");c=c.replace('")',"");c=c.replace("url(","");c=c.replace(")","");b.css("background-image","none");b.append('<img src="'+c+'" alt="Arrow" style="position: relative; top: 0px; left: 0px; width: '+b.width()+"px; height: "+b.height()+'px;" />')},_raiseEvent:function(b,d){var c=a.Event(this._events[b]);c.args=d;return this.host.trigger(c)},propertyChangedHandler:function(b,c,e,d){if(c==="rules"){this._configureInputs();this._removeEventListeners();this._addEventListeners()}}})})(jqxBaseFramework);
\ No newline at end of file
+*/
+!function(a){a.jqx.jqxWidget("jqxValidator","",{}),a.extend(a.jqx._jqxValidator.prototype,{defineInstance:function(){var b={rules:null,scroll:!0,focus:!0,scrollDuration:300,scrollCallback:null,position:"right",arrow:!0,animation:"fade",animationDuration:150,closeOnClick:!0,onError:null,onSuccess:null,ownerElement:null,_events:["validationError","validationSuccess"],hintPositionOffset:5,_inputHint:[],rtl:!1,hintType:"tooltip"};return this===a.jqx._jqxValidator.prototype?b:(a.extend(!0,this,b),b)},createInstance:function(){"label"==this.hintType&&150==this.animationDuration&&(this.animationDuration=0),this._configureInputs(),this._removeEventListeners(),this._addEventListeners()},destroy:function(){this._removeEventListeners(),this.hide()},validate:function(b){var c,d,e,f,g=!0,h=1/0,i=[];this.updatePosition();for(var j=this,k=0,l=0;l<this.rules.length;l+=1)"function"==typeof this.rules[l].rule&&k++;this.positions=new Array;for(var l=0;l<this.rules.length;l+=1){a(this.rules[l].input);if("function"==typeof this.rules[l].rule){var m=function(l,m){if(c=l,0==c){g=!1;a(m.input);f=a(m.input),i.push(f);var n=f.offset();n&&(d=n.top,h>d&&(h=d,e=f))}k--,0==k&&"function"==typeof b&&(j._handleValidation(g,h,e,i),b&&b(g))};this._validateRule(this.rules[l],m)}else c=this._validateRule(this.rules[l]);if(0==c){g=!1,f=a(this.rules[l].input),i.push(f);var n=f.offset();n&&(d=n.top,h>d&&(h=d,e=f))}}return 0==k?(this._handleValidation(g,h,e,i),g):void 0},validateInput:function(a){for(var b=this._getRulesForInput(a),c=!0,d=0;d<b.length;d+=1)this._validateRule(b[d])||(c=!1);return c},hideHint:function(a){for(var b=this._getRulesForInput(a),c=0;c<b.length;c+=1)this._hideHintByRule(b[c])},hide:function(){for(var a,b=0;b<this.rules.length;b+=1)a=this.rules[b],this._hideHintByRule(this.rules[b])},updatePosition:function(){var b;this.positions=new Array;for(var c=0;c<this.rules.length;c+=1)b=this.rules[c],b.hint&&this._hintLayout(b.hint,a(b.input),b.position,b)},_getRulesForInput:function(a){for(var b=[],c=0;c<this.rules.length;c+=1)this.rules[c].input===a&&b.push(this.rules[c]);return b},_validateRule:function(b,c){var d,e=a(b.input),f=!0,g=this,h=function(f){if(f)g._hideHintByRule(b),c&&c(!0,b);else{var h=g.animation;if(g.animation=null,b.hint&&g._hideHintByRule(b),"none"==a(e).css("display"))return void g._hideHintByRule(b);if(0==a(e).parents().length)return void g._hideHintByRule(b);d=b.hintRender.apply(g,[b.message,e]),g._hintLayout(d,e,b.position,b),g._showHint(d),b.hint=d,g._removeLowPriorityHints(b),c&&c(!1,b),g.animation=h}},i=!1;return"function"==typeof b.rule&&(i=b.rule.call(this,e,h),1==i&&c&&c(!0,b)),"function"==typeof b.rule&&0==i?("function"!=typeof b.hintRender||b.hint||this._higherPriorityActive(b)||!e.is(":visible")||(d=b.hintRender.apply(this,[b.message,e]),this._removeLowPriorityHints(b),this._hintLayout(d,e,b.position,b),this._showHint(d),b.hint=d),f=!1,c&&c(!1,b)):this._hideHintByRule(b),f},_hideHintByRule:function(b){var c,d=a(b.input),e=this,f=function(){if("label"==e.hintType){var a=e;if("top"==a.position||"left"==a.position){if(d.prev().hasClass(".jqx-validator-error-label"))return}else if(d.next().hasClass(".jqx-validator-error-label"))return;"input"!=d[0].nodeName.toLowerCase()?d.find("input").length>0&&(d.find(".jqx-input").length>0?d.find(".jqx-input").removeClass(a.toThemeProperty("jqx-validator-error-element")):d.find(".jqx-text-area").length>0?d.find(".jqx-text-area").removeClass(a.toThemeProperty("jqx-validator-error-element")):d.is(".jqx-checkbox")&&d.find(".jqx-checkbox-default").removeClass(a.toThemeProperty("jqx-validator-error-element")),d.is(".jqx-radiobutton")?d.find(".jqx-radiobutton-default").removeClass(a.toThemeProperty("jqx-validator-error-element")):d.removeClass(a.toThemeProperty("jqx-validator-error-element"))):d.removeClass(a.toThemeProperty("jqx-validator-error-element"))}};b&&(c=b.hint,c&&(this.positions&&this.positions[Math.round(c.offset().top)+"_"+Math.round(c.offset().left)]&&(this.positions[Math.round(c.offset().top)+"_"+Math.round(c.offset().left)]=null),"fade"===this.animation?c.fadeOut(this.animationDuration,function(){c.remove(),f()}):(c.remove(),f())),b.hint=null)},_handleValidation:function(a,b,c,d){a?(this._raiseEvent(1),"function"==typeof this.onSuccess&&this.onSuccess()):(this._scrollHandler(b),this.focus&&c.focus(),this._raiseEvent(0,{invalidInputs:d}),"function"==typeof this.onError&&this.onError(d))},_scrollHandler:function(b){if(this.scroll){var c=this;a("html,body").animate({scrollTop:b},this.scrollDuration,function(){"function"==typeof c.scrollCallback&&c.scrollCallback.call(c)})}},_higherPriorityActive:function(a){for(var b,c=!1,d=this.rules.length-1;d>=0;d-=1){if(b=this.rules[d],c&&b.input===a.input&&b.hint)return!0;b===a&&(c=!0)}return!1},_removeLowPriorityHints:function(a){for(var b,c=!1,d=0;d<this.rules.length;d+=1)b=this.rules[d],c&&b.input===a.input&&this._hideHintByRule(b),b===a&&(c=!0)},_getHintRuleByInput:function(b){for(var c,d=0;d<this.rules.length;d+=1)if(c=this.rules[d],a(c.input)[0]===b[0]&&c.hint)return c;return null},_removeEventListeners:function(){for(var b,c,d,e=0;e<this.rules.length;e+=1){b=this.rules[e],d=b.action.split(","),c=a(b.input);for(var f=0;f<d.length;f+=1)this.removeHandler(c,a.trim(d[f])+".jqx-validator")}},_addEventListeners:function(){var b,c;if(this.host.parents(".jqx-window").length>0){var d=this,e=function(){d.updatePosition()},f=this.host.parents(".jqx-window");this.addHandler(f,"closed",function(){d.hide()}),this.addHandler(f,"moved",e),this.addHandler(f,"moving",e),this.addHandler(f,"resized",e),this.addHandler(f,"resizing",e),this.addHandler(a(document.parentWindow),"scroll",function(){d.scroll&&e()})}for(var g=0;g<this.rules.length;g+=1)b=this.rules[g],c=a(b.input),this._addListenerTo(c,b)},_addListenerTo:function(b,c){var d=this,e=c.action.split(","),f=!1;this._isjQWidget(b)&&(f=!0);for(var g=0;g<e.length;g+=1){var h=a.trim(e[g]);!f||"blur"!=h&&"focus"!=h||b&&"input"!=b[0].nodeName.toLowerCase()&&(b=b.find("input")),this.addHandler(b,h+".jqx-validator",function(a){d._validateRule(c)})}},_configureInputs:function(){this.rules=this.rules||[];for(var a=0;a<this.rules.length;a+=1)this._handleInput(a)},_handleInput:function(a){var b=this.rules[a];b.position||(b.position=this.position),b.message||(b.message="Validation Failed!"),b.action||(b.action="blur"),b.hintRender||(b.hintRender=this._hintRender),b.rule?this._handleRule(b):b.rule=null},_handleRule:function(a){var b,c,d=a.rule,e=!1;if("string"==typeof d?(d.indexOf("=")>=0&&(d=d.split("="),c=d[1].split(","),d=d[0]),b=this["_"+d],b?a.rule=function(a,d){return b.apply(this,[a].concat(c))}:e=!0):"function"!=typeof d?e=!0:a.rule=d,e)throw new Error("Wrong parameter!")},_required:function(b){switch(this._getType(b)){case"jqx-input-inner":if(b.find("input").length>0)return""!==a.trim(b.find("input").val());break;case"textarea":case"password":case"jqx-input":case"jqx-text-area":case"text":var c=a.data(b[0]);if(c.jqxMaskedInput){var d=b.jqxMaskedInput("promptChar"),e=b.jqxMaskedInput("value");return e&&e.indexOf(d)<0}return c.jqxNumberInput?""!==b.jqxNumberInput("inputValue"):!!c.jqxDateTimeInput||""!==a.trim(b.val());case"checkbox":return b.is(":checked");case"radio":return b.is(":checked");case"jqx-check-box":case"jqx-radio-button":return b[0].val();case"div":return b.is(".jqx-checkbox")?b.jqxCheckBox("checked"):!!b.is(".jqx-radiobutton")&&b.jqxRadioButton("checked")}return!1},_notNumber:function(a){return this._validateText(a,function(a){if(""==a)return!0;var b=/\d/;return!b.test(a)})},_startWithLetter:function(a){return this._validateText(a,function(a){if(""==a)return!0;var b=/\d/;return!b.test(a.substring(0,1))})},_number:function(a){return this._validateText(a,function(a){if(""==a)return!0;var b=new Number(a);return!isNaN(b)&&isFinite(b)})},_phone:function(a){return this._validateText(a,function(a){if(""==a)return!0;var b=/^\(\d{3}\)(\d){3}-(\d){4}$/;return b.test(a)})},_length:function(a,b,c){return this._minLength(a,b)&&this._maxLength(a,c)},_maxLength:function(a,b){return b=parseInt(b,10),this._validateText(a,function(a){return a.length<=b})},_minLength:function(a,b){return b=parseInt(b,10),this._validateText(a,function(a){return a.length>=b})},_email:function(a){return this._validateText(a,function(a){if(""==a)return!0;var b=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;return b.test(a)})},_zipCode:function(a){return this._validateText(a,function(a){if(""==a)return!0;var b=/^(^\d{5}$)|(^\d{5}-\d{4}$)|(\d{3}-\d{2}-\d{4})$/;return b.test(a)})},_ssn:function(a){return this._validateText(a,function(a){if(""==a)return!0;var b=/\d{3}-\d{2}-\d{4}/;return b.test(a)})},_validateText:function(a,b){var c;return!!this._isTextInput(a)&&(c=this._isjQWidget(a)&&a.find("input").length>0?a.find("input").val():a.val(),b(c))},_isjQWidget:function(b){var c=a.data(b[0]);return!!(c.jqxMaskedInput||c.jqxNumberInput||c.jqxDateTimeInput)||(b[0].tagName.toLowerCase().indexOf("jqx-input")>=0||(b[0].tagName.toLowerCase().indexOf("jqx-password-input")>=0||(b[0].tagName.toLowerCase().indexOf("jqx-complex-input")>=0||(b[0].tagName.toLowerCase().indexOf("jqx-formatted-input")>=0||(b[0].tagName.toLowerCase().indexOf("jqx-masked-input")>=0||(b[0].tagName.toLowerCase().indexOf("jqx-date-time-input")>=0||(b[0].tagName.toLowerCase().indexOf("jqx-number-input")>=0||(b[0].tagName.toLowerCase().indexOf("jqx-check-box")>=0||(b[0].tagName.toLowerCase().indexOf("jqx-radio-button")>=0||b[0].tagName.toLowerCase().indexOf("angular")>=0)))))))))},_isTextInput:function(a){var b=this._getType(a);return"text"===b||"textarea"===b||"password"===b||"jqx-input-inner"===b||a.is(".jqx-input")||a.is(".jqx-text-area")},_getType:function(b){if(b[0]){var c,d=b[0].tagName.toLowerCase();return"textarea"===d?"textarea":b.is(".jqx-input")?"jqx-input":b.is(".jqx-text-area")?"jqx-text-area":b.find(".jqx-input").length>0?"jqx-input-inner":"input"===d?c=a(b).attr("type")?a(b).attr("type").toLowerCase():"text":"jqx-password-input"===d?"password":"jqx-check-box"===d?"jqx-check-box":"jqx-radio-button"===d?"jqx-radio-button":d}},_hintRender:function(b,c){if("label"==this.hintType){var d=a('<label class="'+this.toThemeProperty("jqx-validator-error-label")+'"></label>');d.html(b);var e=this;return this.closeOnClick&&d.click(function(){e.hideHint(c.selector)}),"left"==this.position||"top"==this.position?d.insertBefore(a(c)):d.insertAfter(a(c)),d}var d=a('<div class="'+this.toThemeProperty("jqx-validator-hint")+' jqx-rc-all"></div>'),f=this;return d.html(b),this.closeOnClick&&d.click(function(){f.hideHint(c.selector)}),null==this.ownerElement?d.appendTo(document.body):this.ownerElement.innerHTML?d.appendTo(a(this.ownerElement)):d.appendTo(this.ownerElement),d},_hintLayout:function(b,c,d,e){if(this._hintRender===e.hintRender){var f;if(f=this._getPosition(c,d,b,e),"label"==this.hintType){var g="2px";"left"!=this.position&&"top"!=this.position||(g="-2px"),"input"!=c[0].nodeName.toLowerCase()&&"textarea"!=c[0].nodeName.toLowerCase()?(c.find(".jqx-text-area").length>0&&c.find(".jqx-text-area").addClass(this.toThemeProperty("jqx-validator-error-element")),c.find("input").length>0&&(c.find(".jqx-input").length>0?c.find(".jqx-input").addClass(this.toThemeProperty("jqx-validator-error-element")):c.find(".jqx-text-area").length>0?c.find(".jqx-text-area").addClass(this.toThemeProperty("jqx-validator-error-element")):c.is(".jqx-checkbox")&&c.find(".jqx-checkbox-default").addClass(this.toThemeProperty("jqx-validator-error-element")),c.is(".jqx-radiobutton")?c.find(".jqx-radiobutton-default").addClass(this.toThemeProperty("jqx-validator-error-element")):c.addClass(this.toThemeProperty("jqx-validator-error-element")))):c.addClass(this.toThemeProperty("jqx-validator-error-element"));var h=a("<span></span>");h.addClass(this.toThemeProperty("jqx-validator-hint")),h.html(b.text()),h.appendTo(a(document.body));var i=h.outerWidth();return h.remove(),b.css({position:"relative",left:a(c).css("margin-left"),width:a(c).width(),top:g}),void("center"==d&&(b.css("width",i),b.css("left","0px"),b.css("margin-left","auto"),b.css("margin-right","auto")))}b.css({position:"absolute",left:f.left,top:f.top}),this.arrow&&this._addArrow(c,b,d,f)}},_showHint:function(a){a&&"fade"===this.animation&&(a.fadeOut(0),a.fadeIn(this.animationDuration))},_getPosition:function(b,c,d,e){var f,g,h=b.offset(),i=b.outerWidth(),j=b.outerHeight();if(this.rtl&&c.indexOf("left")>=0&&(c="right"),this.rtl&&c.indexOf("right")>=0&&(c="left"),null!=this.ownerElement&&(h={left:0,top:0},h.top=parseInt(h.top)+b.position().top,h.left=parseInt(h.left)+b.position().left),e&&e.hintPositionRelativeElement){var k=a(e.hintPositionRelativeElement);h=k.offset(),i=k.width(),j=k.height()}return f=c.indexOf("top")>=0?h.top-j:c.indexOf("bottom")>=0?h.top+d.outerHeight()+this.hintPositionOffset+5:h.top,g=c.indexOf("center")>=0?h.left+this.hintPositionOffset+(i-d.outerWidth())/2:c.indexOf("left")>=0?h.left-d.outerWidth()-this.hintPositionOffset:c.indexOf("right")>=0?h.left+i+this.hintPositionOffset:h.left+this.hintPositionOffset,c.indexOf(":")>=0&&(c=c.split(":")[1].split(","),g+=parseInt(c[0],10),f+=parseInt(c[1],10)),this.positions||(this.positions=new Array),this.positions[Math.round(f)+"_"+Math.round(g)]&&this.positions[Math.round(f)+"_"+Math.round(g)].top==f&&(f+=b.outerHeight()),this.positions[Math.round(f)+"_"+Math.round(g)]={left:g,top:f},{left:g,top:f}},_addArrow:function(b,c,d,e){var f,g,h=a('<div class="'+this.toThemeProperty("jqx-validator-hint-arrow")+'"></div>');this.rtl&&d.indexOf("left")>=0&&(d="right"),this.rtl&&d.indexOf("right")>=0&&(d="left"),c.children(".jqx-validator-hint-arrow").remove(),c.append(h);var i=h.outerHeight(),j=h.outerWidth(),k=c.outerHeight(),l=c.outerWidth();this._addImage(h),g=d.indexOf("top")>=0?k-i:d.indexOf("bottom")>=0?-i:(k-i)/2-i/2,d.indexOf("center")>=0?f=(l-j)/2:d.indexOf("left")>=0?f=l-j/2-1:d.indexOf("right")>=0&&(f=-j/2),(d.indexOf("topright")>=0||d.indexOf("bottomright")>=0)&&(f=0),(d.indexOf("topleft")>=0||d.indexOf("bottomleft")>=0)&&(f=l-j),h.css({position:"absolute",left:f,top:g})},_addImage:function(a){var b=a.css("background-image");b=b.replace('url("',""),b=b.replace('")',""),b=b.replace("url(",""),b=b.replace(")",""),a.css("background-image","none"),a.append('<img src="'+b+'" alt="Arrow" style="position: relative; top: 0px; left: 0px; width: '+a.width()+"px; height: "+a.height()+'px;" />')},_raiseEvent:function(b,c){var d=a.Event(this._events[b]);return d.args=c,this.host.trigger(d)},propertyChangedHandler:function(a,b,c,d){"rules"===b&&(this._configureInputs(),this._removeEventListeners(),this._addEventListeners())}})}(jqxBaseFramework);
+

mercurial