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

