function controlUsernameAjax(asy){
	var risultato = false;
	new Ajax.Request( 'user_control.php',
	{
		asynchronous: asy,
		method: 'get',
		parameters: $H({'action': 'username', 'username': $F('username_Req_Username')}).toQueryString(),
		onComplete: function(requester){
			if(asy){
				ok = requester.responseText=='1' ? true : false;
				controlUsernameAfter(ok);
			}else{
				if(requester.responseText=='1'){
					risultato = true;
				}
			}
		}
	}
	);
	return risultato;
}//controlUsernameAjax

function controlUsernameBefore(ok){
	if($F('username_Req_Username')){
		$('username_feedback').update('<img src="img/spinner_small.gif" />');
		controlUsernameAjax(true);
	}
}//controlUsernameBefore

function controlUsernameAfter(ok){
	if(ok){
		$('username_feedback').update('');
	}else{
		$('username_feedback').update('Questo username è già associato ad un altro utente o non è corretto.');
	}
}//controlUsernameAfter

function controlEmailAjax(asy){
	var risultato = false;
	new Ajax.Request( 'user_control.php',
	{
		asynchronous: asy,
		method: 'get',
		parameters: $H({'action': 'email', 'email': $F('email_Req_Email')}).toQueryString(),
		onComplete: function(requester){
			if(asy){
				ok = requester.responseText=='1' ? true : false;
				controlEmailAfter(ok);
			}else{
				if(requester.responseText=='1'){
					risultato = true;
				}
			}
		}
	}
	);
	return risultato;
}//controlEmailAjax

function controlEmailBefore(ok){
	if($F('email_Req_Email')){
		$('email_feedback').update('<img src="img/spinner_small.gif" />');
		controlEmailAjax(true);
	}
}//controlEmailBefore

function controlEmailAfter(ok){
	if(ok){
		$('email_feedback').update('');
	}else{
		$('email_feedback').update('Questa email è già associata ad un altro utente o non è corretta.');
	}
}//controlEmailAfter

function altriControlli(field, value, formId) {
	if(field!='' && value!=''){
		avvisi="";
		
		//username
		if(field.id == 'username_Req_Username'){
			controllo = controlUsernameAjax(false);
			if(!controllo){avvisi+=" già associato ad un altro utente.";}
		}

		//email
		if(field.id == 'email_Req_Email'){
			controllo = controlEmailAjax(false);
			if(!controllo){avvisi+=" già associata ad un altro utente.";}
		}

		return avvisi;
		
	}else{//controlli finali fuori dal for
		if(formId=='registration_form'){
			avvisi="";
			
			//password
			if($F('password_Req_Password')!=$F('rePassword_Req_Password')){
				avvisi+="Le due password che hai inserito sono diverse.\n";
			}
	
			return avvisi;
		}
	}
	
}//altriControlli

function inizio(){
	baseInit();
	if($('registration_form')){
		Event.observe('registration_form', 'submit', checkFormFeedback);
		Event.observe('username_Req_Username', 'blur', controlUsernameBefore);
		Event.observe('email_Req_Email', 'blur', controlEmailBefore);
	}
}//inizio

Event.observe(window, 'load', inizio);
