$(function(){var input_selector='[data-validate]';var form_selector='[data-validate-submit]';var functions={checked:function(input,$input){return $input.prop('checked');},password:function(input,$input){var $password_input=$input.closest('form').find('input[data-validate="passwordRepeat"]');if(input&&String(input).length>=6){validate.call($password_input);return true;}return false;},passwordRepeat:function(input,$input){var $password_input=$input.closest('form').find('input[data-validate="password"]');if($password_input.val()===input){return true;}return false;},string:function(input){if(input&&String(input).length>0){return true;}return false;},number:function(input){if(/^[\d]+(\.\d)?$/gi.test(String(input))){return true;}return false;},zipcode:function(input){if(/^[\d]{2}-[\d]{3}$/.test(input)){return true;}return false;},phone:function(input){if(String(input).replace(/[^\d]+/gi,'').length>=9){return true;}return false;},email:function(input){if(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(input)){return true;}return false;},nip:function(input){var nip_clear=input.replace(/-/g,"");var reg=/^[0-9]{10}$/;var dig;var control;if(reg.test(nip_clear)){dig=(""+nip_clear).split("");control=(6*parseInt(dig[0])+5*parseInt(dig[1])+7*parseInt(dig[2])+2*parseInt(dig[3])+3*parseInt(dig[4])+4*parseInt(dig[5])+5*parseInt(dig[6])+6*parseInt(dig[7])+7*parseInt(dig[8]))%11;if(parseInt(dig[9])==control){return true;}}return false;},regon:function(input){var reg=/^[0-9]{9}$/;var dig;var kontrola;if(reg.test(input)){dig=(""+input).split("");kontrola=(8*parseInt(dig[0])+9*parseInt(dig[1])+2*parseInt(dig[2])+3*parseInt(dig[3])+4*parseInt(dig[4])+5*parseInt(dig[5])+6*parseInt(dig[6])+7*parseInt(dig[7]))%11;if(kontrola==10){kontrola=0;};if(parseInt(dig[8])==kontrola){return true;}}return false;},};var validate=function(){var func=$(this).data('validate');var val=$(this).val();var required=$(this).data('validate-required');if(required===undefined){required=1;}if(functions[func]){if(functions[func](val,$(this))||(!required&&!val)){$(this).removeClass('error');return true;}else{$(this).addClass('error');return false;}}return true;};$.fn.validateInputs=function(){var good=true;$(this).find('[data-validate]').each(function(){if(!validate.call($(this))){good=false;}});return good;};$(document).on('change',input_selector,validate);$(form_selector).on('submit',function(evt){if(!$(this).validateInputs()){evt.preventDefault();return false;}});});