function register(f) {
	formRegister=f;
	register_mail=formRegister.elements["register_mail"].value;	
	register_password=formRegister.elements["register_password"].value;
	formRegister.elements["Register"].value="Wait...";
	formRegister.elements["Register"].disabled=true;
	new Ajax.Request('/ajax/register.php',{
					 method:'post',
					 postBody:'register_mail='+register_mail+'&register_password='+register_password,
					 onSuccess: function(t) {
						formRegister.elements["Register"].value="Register";
						formRegister.elements["Register"].disabled=false;
						
						var risposta=eval("(" + t.responseText + ")");
						
						if (risposta['noMail']) {
							if (!$('regerr1')) new Insertion.After($('id_register_mail'), "<p class=\"error\" id=\"regerr1\">"+risposta['noMail']+"</p>");
							new Effect.Highlight('regerr1',{duration:TIMEANIM,startcolor:COLORFROM, endcolor:COLORTO, restorecolor:COLORORIG, keepBackgroundImage:true});
							if ($('regerr2')) $('regerr2').remove();
						} else {
							if ($('regerr1')) $('regerr1').remove();
						}
						
						if (risposta['invalidMail']) {
							if (!$('regerr2')) new Insertion.After($('id_register_mail'), "<p class=\"error\" id=\"regerr2\">"+risposta['invalidMail']+"</p>");
							new Effect.Highlight('regerr2',{duration:TIMEANIM,startcolor:COLORFROM, endcolor:COLORTO, restorecolor:COLORORIG, keepBackgroundImage:true});
							if ($('regerr1')) $('regerr1').remove();
						} else {
							if ($('regerr2')) $('regerr2').remove();	
						}
						
						if (risposta['noPassword']) {
							if (!$('regerr3')) new Insertion.After($('id_register_password'), "<p class=\"error\" id=\"regerr3\">"+risposta['noPassword']+"</p>");
							new Effect.Highlight('regerr3',{duration:TIMEANIM,startcolor:COLORFROM, endcolor:COLORTO, restorecolor:COLORORIG, keepBackgroundImage:true});
							if ($('regerr4')) $('regerr4').remove();
						} else {
							if ($('regerr3')) $('regerr3').remove();
						}
						
						if (risposta['invalidPassword']) {
							if (!$('regerr4')) new Insertion.After($('id_register_password'), "<p class=\"error\" id=\"regerr4\">"+risposta['invalidPassword']+"</p>");
							new Effect.Highlight('regerr4',{duration:TIMEANIM,startcolor:COLORFROM, endcolor:COLORTO, restorecolor:COLORORIG, keepBackgroundImage:true});
							if ($('regerr3')) $('regerr3').remove();
						} else {
							if ($('regerr4')) $('regerr4').remove();	
						}
						
						if (risposta['existUser']) {
							if (!$('logerr5')) new Insertion.Bottom(formRegister, "<br/><p class=\"error\" id=\"logerr5\">"+risposta['existUser']+"</p>");
							new Effect.Highlight('logerr5',{duration:TIMEANIM,startcolor:COLORFROM, endcolor:COLORTO, restorecolor:COLORORIG, keepBackgroundImage:true});
						}
						
						if (risposta['noActivationMail']) {
							new Effect.BlindUp($('registerMsg'));
							$('registerData').innerHTML=risposta['noActivationMail'];
						}
						
						if (risposta['yesActivationMail']) {
							new Effect.BlindUp($('registerMsg'));
							$('registerData').innerHTML=risposta['yesActivationMail'];
						}						 
					 },
					 onFailure: function(t) {
						formRegister.elements["Register"].value="Register";
						formRegister.elements["Register"].disabled=false;
						if (!$('regerr6')) new Insertion.Bottom(formRegister, "<br/><p class=\"error\" id=\"regerr6\">Error "+t.status+". Try again...</p>");
						new Effect.Highlight('regerr6',{duration:TIMEANIM,startcolor:COLORFROM, endcolor:COLORTO, restorecolor:COLORORIG, keepBackgroundImage:true});	 
					 }
					 }
	);
}