(function(window,$,undefined){var d=$.extend({},d|NaN,{fn:{}});d.fn=$.extend({},d.fn,{validateForm:function(){function c(a){$(a).hasClass("fieldWithError")||$(a).addClass("fieldWithError")}function a(a,b){a!=null&&a.length>0&&$(a).html(b).fadeIn()}function f(a){return/[a-z0-9!#$%&'*+=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/i.test(a)}var d=this,e=!0,b=$(d).find("div.message");b.removeClass("notice").addClass("alert").html("");$(d).find(":input[type='submit']").hide();
$("div.message").hide();$(d).find(".fieldWithError").removeClass("fieldWithError");$(d).find(":input").each(function(){try{$(this).val()!=null&&$(this).val($(this).val().replace(/^\s+|\s+$/,""));var g=$(this).attr("name");$(this).attr("label")&&$(this).attr("label")!=""?g=$(this).attr("label"):$(d).find("label[for='"+$(this).attr("name")+"']").each(function(){g=$(this).html()});if(!isNaN($(this).attr("minlength"))&&$(this).val().length<parseInt($(this).attr("minlength")))return c(this),$(this).attr("message")!=
void 0?a(b,$(this).attr("message")):a(b,"Il campo \u201c"+g+"\u201d deve essere lungo almeno "+parseInt($(this).attr("minlength"))+" caratteri"),e=!1,$(this).focus(),!1;if($(this).attr("validate")&&$(this).attr("validate").search(/\bemail\b/i)>=0&&$(this).val()!=null&&$(this).val()!=""&&!f($(this).val()))return c(this),$(this).attr("message")!=void 0?a(b,$(this).attr("message")):a(b,"Devi fornire un'email valida"),e=!1,$(this).focus(),!1;if($(this).attr("validate")&&$(this).attr("validate").search(/\bvar\b/i)>=
0&&$(this).val()!=null&&$(this).val()!=""&&/^[a-z]+[a-z0-9-]*$/i.test($(this).val())==!1)return c(this),$(this).attr("message")!=void 0?a(b,$(this).attr("message")):a(b,"La stringa contiene caratteri non validi"),e=!1,$(this).focus(),!1;if($(this).attr("validate")&&$(this).attr("validate").search(/\beurodate\b/i)>=0&&$(this).val()!=null&&$(this).val()!=""&&/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/.test($(this).val())==!1)return c(this),$(this).attr("message")!=void 0?a(b,$(this).attr("message")):a(b,"Devi fornire una data nel formato yyyy-mm-dd"),
e=!1,$(this).focus(),!1;if($(this).attr("validate")&&$(this).attr("validate").search(/\binteger\b/i)>=0&&$(this).val()!=null&&$(this).val()!=""){var h=parseInt($(this).val().replace(/,/gi,"."));if(isNaN(h))return c(this),$(this).attr("message")!=void 0?a(b,$(this).attr("message")):a(b,"Devi fornire un valore numerico valido per "+g),e=!1,$(this).focus(),!1}if($(this).attr("validate")&&$(this).attr("validate").search(/\bfloat\b/i)>=0&&$(this).val()!=null&&$(this).val()!="")if(h=parseFloat($(this).val().replace(/,/gi,
".")),isNaN(h))return c(this),$(this).attr("message")!=void 0?a(b,$(this).attr("message")):a(b,"Devi fornire un valore numerico valido per "+g),e=!1,$(this).focus(),!1;else $(this).val(h.toFixed(2));if($(this).attr("validate")&&$(this).attr("validate").search(/\bhh:mm\b/i)>=0&&$(this).val()!=null&&$(this).val()!=""&&(/^[0-9]{2}$/.test($(this).val())&&$(this).val($(this).val()+":00"),/^[0-9]{2}:[0-9]{2}$/.test($(this).val())==!1))return c(this),$(this).attr("message")!=void 0?a(b,$(this).attr("message")):
a(b,"Devi fornire un valore nel formato HH:mm"),e=!1,$(this).focus(),!1;if($(this).attr("type")=="password"){var i=$(":input[name='"+$(this).attr("name")+"-confirm']",d);if(i.length>0&&i.val()!=$(this).val())return c(this),c(i),a(b,"Le due password non coincidono"),e=!1,$(this).focus(),!1}if($(this).attr("required")&&($(this).attr("required").toString().toLowerCase()=="true"||$(this).attr("required").toLowerCase()=="yes"||$(this).attr("required")=="1"))if($(this).attr("type")=="checkbox"&&$(this).attr("checked")==
!1)return c(this),$(this).attr("message")!=void 0?a(b,$(this).attr("message")):a(b,"\u00c8 necessario selezionare il campo "+g),e=!1,$(this).focus(),!1;else if($(this).attr("type")=="radio"){var j=$(":input[name='"+$(this).attr("name")+"']");if(j.length>0&&$(j).filter(":checked").length==0)return c(j),a(b,"\u00c8 necessario selezionare un'opzione"),e=!1,$(this).focus(),!1}else if($(this).val()==null||/^[\t ]*$/.test($(this).val())==!0)return c(this),$(this).attr("message")!=void 0?a(b,$(this).attr("message")):
a(b,"Il campo "+g+" non pu\u00f2 essere vuoto"),e=!1,$(this).focus(),!1}catch(k){return a(b,k.toString()),e=!1}});e==!1&&$(this).find(":input[type='submit']").show();return e},initForm:function(c){var a=this;c=$.extend({bind:!0},c);var f=$(a).find("div.message");f.length==0&&($(a).prepend($("<div/>").addClass("message")),f=$(a).find("div.message"));f.length>0&&(f.hide(),f.html().length>0&&f.fadeIn("slow"));c.bind&&$(a).submit(d.fn.validateForm);$(a).find("input[type='submit']").click(function(){return $(a).validateForm()});
$(a).find(".submit").click(function(){$(a).submit()});return this},serializeObj:function(){var c={};$.each($(this).serializeArray(),function(a,d){c[d.name]=d.value});return c}});$.fn.initForm=d.fn.initForm;$.fn.validateForm=d.fn.validateForm;$.fn.serializeObj=d.fn.serializeObj;$(function(){$("form.mr-form").each(function(){$(this).initForm()})})})(window,jQuery);
