/*
 * Metis WebDev Form Validation
 * jQuery JavaScript Library v1.4.2
 * http://jquery.com/
*/
(function(o,a,h){var i=a.extend({},i|{},{fn:{}});i.fn=a.extend({},i.fn,{validateForm:function(){function d(e){a(e).hasClass("fieldWithError")||a(e).addClass("fieldWithError")}function b(e,j){e.size()>0&&a(e).html(j).fadeIn()}function g(e){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(e)}var k=this,f=true,c=a(k).find("div.message");c.removeClass("notice").addClass("alert").html("").hide();a(k).find(":input[type='submit']").hide(); a(k).find(".fieldWithError").removeClass("fieldWithError");a(k).find(":input").each(function(){try{a(this).val()!=null&&a(this).val(a(this).val().replace(/^\s+|\s+$/,""));var e=a(this).attr("name");if(a(this).attr("label")&&a(this).attr("label")!="")e=a(this).attr("label");else a(k).find("label[for='"+a(this).attr("name")+"']").each(function(){e=a(this).html()});if(!isNaN(a(this).attr("minlength")))if(a(this).val().length<parseInt(a(this).attr("minlength"))){d(this);a(this).attr("message")!=h?b(c, a(this).attr("message")):b(c,"Il campo \u201c"+e+"\u201d deve essere lungo almeno "+parseInt(a(this).attr("minlength"))+" caratteri");f=false;a(this).focus();return false}if(a(this).attr("validate")&&a(this).attr("validate").search(/\bemail\b/i)>=0&&a(this).val()!=null&&a(this).val()!="")if(!g(a(this).val())){d(this);a(this).attr("message")!=h?b(c,a(this).attr("message")):b(c,"Devi fornire un'email valida");f=false;a(this).focus();return false}if(a(this).attr("validate")&&a(this).attr("validate").search(/\beurodate\b/i)>= 0&&a(this).val()!=null&&a(this).val()!="")if(/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/.test(a(this).val())==false){d(this);a(this).attr("message")!=h?b(c,a(this).attr("message")):b(c,"Devi fornire una data nel formato yyyy-mm-dd");f=false;a(this).focus();return false}if(a(this).attr("validate")&&a(this).attr("validate").search(/\binteger\b/i)>=0&&a(this).val()!=null&&a(this).val()!=""){var j=parseInt(a(this).val().replace(/,/gi,"."));if(isNaN(j)){d(this);a(this).attr("message")!=h?b(c,a(this).attr("message")): b(c,"Devi fornire un valore numerico valido per "+e);f=false;a(this).focus();return false}}if(a(this).attr("validate")&&a(this).attr("validate").search(/\bfloat\b/i)>=0&&a(this).val()!=null&&a(this).val()!=""){j=parseFloat(a(this).val().replace(/,/gi,"."));if(isNaN(j)){d(this);a(this).attr("message")!=h?b(c,a(this).attr("message")):b(c,"Devi fornire un valore numerico valido per "+e);f=false;a(this).focus();return false}else a(this).val(j.toFixed(2))}if(a(this).attr("validate")&&a(this).attr("validate").search(/\bhh:mm\b/i)>= 0&&a(this).val()!=null&&a(this).val()!=""){/^[0-9]{2}$/.test(a(this).val())&&a(this).val(a(this).val()+":00");if(/^[0-9]{2}:[0-9]{2}$/.test(a(this).val())==false){d(this);a(this).attr("message")!=h?b(c,a(this).attr("message")):b(c,"Devi fornire un valore nel formato HH:mm");f=false;a(this).focus();return false}}if(a(this).attr("type")=="password"){var l=a(":input[name='"+a(this).attr("name")+"-confirm']",k);if(l.length>0&&l.val()!=a(this).val()){d(this);d(l);b(c,"Le due password non coincidono"); f=false;a(this).focus();return false}}if(a(this).attr("required")&&(a(this).attr("required").toString().toLowerCase()=="true"||a(this).attr("required").toLowerCase()=="yes"||a(this).attr("required")=="1"))if(a(this).attr("type")=="checkbox"&&a(this).attr("checked")==false){d(this);a(this).attr("message")!=h?b(c,a(this).attr("message")):b(c,"\u00c8 necessario selezionare il campo "+e);f=false;a(this).focus();return false}else if(a(this).attr("type")=="radio"){var m=a(":input[name='"+a(this).attr("name")+ "']");if(m.length>0&&a(m).filter(":checked").length==0){d(m);b(c,"\u00c8 necessario selezionare un'opzione");f=false;a(this).focus();return false}}else if(a(this).val()==null||/^[\t ]*$/.test(a(this).val())==true){d(this);a(this).attr("message")!=h?b(c,a(this).attr("message")):b(c,"Il campo "+e+" non pu\u00f2 essere vuoto");f=false;a(this).focus();return false}}catch(n){b(c,n.toString());return f=false}});f==false&&a(this).find(":input[type='submit']").show();return f},initForm:function(d){var b= this;d=a.extend({bind:true,message:true},d);if(d.message){var g=a(b).find("div.message");if(g.length==0){a(b).prepend(a("<div/>").addClass("message"));g=a(b).find("div.message")}if(g.length>0){g.hide();g.html().length>0&&g.fadeIn("slow")}}d.bind&&a(b).submit(i.fn.validateForm);a(b).find("input[type='submit']").click(function(){return a(b).validateForm()});a(b).find(".submit").click(function(){a(b).submit()});return this},serializeObj:function(){var d={};a.each(a(this).serializeArray(),function(b, g){d[g.name]=g.value});return d}});a.fn.initForm=i.fn.initForm;a.fn.validateForm=i.fn.validateForm;a.fn.serializeObj=i.fn.serializeObj})(window,jQuery);
