
new function() {
    $.fn.validate = {
        init: function(o) {
          if(o.className.indexOf('required')){ 
			this.required(o) 
		  };
		  if(o.className.indexOf('minlength')){ 
			this.minlength(o) 
		  };
		  if(o.className.indexOf('email')){ 
			this.email(o) 
		  };
		  if(o.className.indexOf('alphanumeric')){ 
			this.alphanumeric(o) 
		  };
		 },
        required: function(o) {
			if (o.value=='') {doError('required',o,'Bitte dieses Feld ausf&uuml;llen.');}
			else {doSuccess('required',o);};
		},
		minlength: function(o){
			if (o.value.length<3 && o.value.length>0) {doError('minlength',o,'Bitte mindestens 3 Zeichen eingeben.');}
			else {doSuccess('minlength',o);};
		},
		email: function(o){
			var regexp_email=/^((\"[^\"\f\n\r\t\v\b]+\")|([\w\!\#\$\%\&\'\*\+\-\~\/\^\`\|\{\}]+(\.[\w\!\#\$\%\&\'\*\+\-\~\/\^\`\|\{\}]+)*))@((\[(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))\])|(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))|((([A-Za-z0-9\-])+\.)+[A-Za-z\-]+))$/;
			if (!regexp_email.test(o.value) && o.value.length>0){doError('email',o,'Bitte eine Email-Adresse eingeben.');}
			else {doSuccess('email',o);};
		},
		alphanumeric: function(o){
			var regexp_an=/^[a-zä-üßA-ZÄ-Ü0-9]+$/;
			if (!regexp_an.test(o.value) && o.value.length>0){doError('alphanumeric',o,'Bitte nur Buchstaben bzw. Zahlen eingeben.');}
			else {doSuccess('alphanumeric',o);};
		}
		
     };

 
    function doError(t,o,m) {
    	 $(o).removeClass("err");
		 $(o).addClass("err");
	     $('#error_'+t+'_'+o.name).remove();
		 $(o).before('<span id="error_'+t+'_'+o.name+'" class="error">'+m+'&nbsp;&nbsp;&nbsp;</span>');
	};
	function doSuccess(t,o) {
		$(o).removeClass("err");
		$('#error_'+t+'_'+o.name).remove();
	};
     
};

