var nette=nette||{};nette.getValue=function(f){if(!f){return null}else{if(!f.nodeName){for(var e=0,a=f.length;e<a;e++){if(f[e].checked){return f[e].value}}return null}else{if(f.nodeName.toLowerCase()==="select"){var d=f.selectedIndex,c=f.options;if(d<0){return null}else{if(f.type==="select-one"){return c[d].value}}for(var e=0,b=[],a=c.length;e<a;e++){if(c[e].selected){b.push(c[e].value)}}return b}else{if(f.type==="checkbox"){return f.checked}else{if(f.type==="radio"){return nette.getValue(f.form.elements[f.name])}else{return f.value.replace(/^\s+|\s+$/g,"")}}}}}};nette.validateControl=function(elem,rules,onlyCheck){rules=rules||eval("["+(elem.getAttribute("data-nette-rules")||"")+"]");for(var id in rules){var rule=rules[id],op=rule.op.match(/(~)?([^?]+)/);rule.neg=op[1];rule.op=op[2];rule.condition=!!rule.rules;var el=rule.control?elem.form.elements[rule.control]:elem;var success=nette.validateRule(el,rule.op,rule.arg);if(success===null){continue}if(rule.neg){success=!success}if(rule.condition&&success){if(!nette.validateControl(elem,rule.rules,onlyCheck)){return false}}else{if(!rule.condition&&!success){if(el.disabled){continue}if(!onlyCheck){nette.addError(el,rule.msg.replace("%value",nette.getValue(el)))}return false}}}return true};nette.validateForm=function(b){var d=b.form||b;if(d["nette-submittedBy"]&&d.elements[d["nette-submittedBy"]]&&d.elements[d["nette-submittedBy"]].getAttribute("formnovalidate")!==null){return true}for(var a=0;a<d.elements.length;a++){var c=d.elements[a];if(!(c.nodeName.toLowerCase() in {input:1,select:1,textarea:1})||(c.type in {hidden:1,submit:1,image:1,reset:1})||c.disabled||c.readonly){continue}if(!nette.validateControl(c)){return false}}return true};nette.addError=function(b,a){if(b.focus){b.focus()}if(a){alert(a)}};nette.validateRule=function(c,h,a){var g=nette.getValue(c);if(c.getAttribute){if(g===c.getAttribute("data-nette-empty-value")){g=null}}switch(h){case":filled":return g!==""&&g!==false&&g!==null;case":valid":return nette.validateControl(c,null,true);case":equal":a=a instanceof Array?a:[a];for(var b in a){if(g==(a[b].control?nette.getValue(c.form.elements[a[b].control]):a[b])){return true}}return false;case":minLength":return g.length>=a;case":maxLength":return g.length<=a;case":length":if(typeof a!=="object"){a=[a,a]}return(a[0]===null||g.length>=a[0])&&(a[1]===null||g.length<=a[1]);case":email":return/^[^@\s]+@[^@\s]+\.[a-z]{2,10}$/i.test(g);case":url":return/^.+\.[a-z]{2,6}(\/.*)?$/i.test(g);case":regexp":var f=a.match(/^\/(.*)\/([imu]*)$/);if(f){try{return(new RegExp(f[1],f[2].replace("u",""))).test(g)}catch(d){}}return;case":integer":return/^-?[0-9]+$/.test(g);case":float":return/^-?[0-9]*[.,]?[0-9]+$/.test(g);case":range":return(a[0]===null||parseFloat(g)>=a[0])&&(a[1]===null||parseFloat(g)<=a[1]);case":submitted":return c.form["nette-submittedBy"]===c.name}return null};nette.toggleForm=function(b){for(var a=0;a<b.elements.length;a++){if(b.elements[a].nodeName.toLowerCase() in {input:1,select:1,textarea:1,button:1}){nette.toggleControl(b.elements[a])}}};nette.toggleControl=function(elem,rules,firsttime){rules=rules||eval("["+(elem.getAttribute("data-nette-rules")||"")+"]");var has=false;for(var id in rules){var rule=rules[id],op=rule.op.match(/(~)?([^?]+)/);rule.neg=op[1];rule.op=op[2];rule.condition=!!rule.rules;if(!rule.condition){continue}var el=rule.control?elem.form.elements[rule.control]:elem;var success=nette.validateRule(el,rule.op,rule.arg);if(success===null){continue}if(rule.neg){success=!success}if(nette.toggleControl(elem,rule.rules,firsttime)||rule.toggle){has=true;if(firsttime){if(!el.nodeName){for(var i in el){el[i].onclick=function(){nette.toggleForm(elem.form)}}}else{if(el.nodeName.toLowerCase()==="select"){el.onchange=function(){nette.toggleForm(elem.form)}}else{el.onclick=function(){nette.toggleForm(elem.form)}}}}for(var id in rule.toggle||[]){nette.toggle(id,success?rule.toggle[id]:!rule.toggle[id])}}}return has};nette.toggle=function(c,b){var a=document.getElementById(c);if(a){a.style.display=b?"":"none"}};nette.initForm=function(b){b.onsubmit=function(){return nette.validateForm(b)};b.onclick=function(f){f=f||event;var d=f.target||f.srcElement;b["nette-submittedBy"]=(d.type in {submit:1,image:1})?d.name:null};for(var a=0;a<b.elements.length;a++){nette.toggleControl(b.elements[a],null,true)}if(/MSIE/.exec(navigator.userAgent)){var c={};for(a=0,elms=b.getElementsByTagName("label");a<elms.length;a++){c[elms[a].htmlFor]=elms[a]}for(a=0,elms=b.getElementsByTagName("select");a<elms.length;a++){elms[a].onmousewheel=function(){return false};if(c[elms[a].htmlId]){c[elms[a].htmlId].onclick=function(){document.getElementById(this.htmlFor).focus();return false}}}}};(function(){var a=function(){for(var b=0;b<document.forms.length;b++){nette.initForm(document.forms[b])}};typeof jQuery==="function"?jQuery(a):window.onload=a})();
