/*
 * jquery.nevma.formValidation 1.0 - Form validation plugin.
 * 
 * Copyright (c) 2010 Nevma.Gr
 * http://www.nevma.gr
 *
 * All right reserved!
 */

jQuery.fn.formValidation=function(d){var c={errorClass:"error",errorMessage:"Error!",trimFields:!0,callback:null,useJQueryUI:!0,jQueryUIDialogOptions:{modal:!0,buttons:{OK:function(){jQuery(this).dialog("destroy").remove()}}}};d&&(jQuery.extend(d.jQueryUIDialogOptions,c.jQueryUIDialogOptions),jQuery.extend(c,d));this.each(function(){jQuery(this).submit(function(){$_elements=jQuery(":text, :password, textarea, select",this);for(var e=!1,d=[],f=0;f<$_elements.size();f++){var b=jQuery($_elements.get(f)); c.trimFields&&b.is(":text, :password, textarea")&&b.val(jQuery.trim(b.val()));var a;if(!(a=b.hasClass("non-empty")&&b.val()==""?!0:!1))a=b,a=a.hasClass("email")&&a.val().length>0?!/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/.test(a.val()):!1,a||(a=b,a=a.hasClass("subdomain")&&a.val().length>0?!/^[a-zA-Z0-9_-]+$/.test(a.val()):!1,a||(a=b,a.hasClass("number")?(a=new Number(a.val()),a=isNaN(a)):a=!1,a||(a=b,a=a.hasClass("integer")?!/^[0-9]*$/.test(a.val()):!1)));a?(d.push(b),b.addClass(c.errorClass)): b.removeClass(c.errorClass);e=e||a}return c.callback?e?c.callback(d):c.callback():e?(c.useJQueryUI&&jQuery.fn.dialog?(e=c.errorMessage,f=c.jQueryUIDialogOptions,b="formValidation-"+(new Date).getTime(),jQuery(document.body).append('<div id = "'+b+'" style = "display: none;">'+e+"</div>"),jQuery("#"+b).dialog(f)):alert(c.errorMessage),d[0].focus(),!1):!0})})};

