var urlWait = '/images/ajax-validate/wait.png';
var urlLoading = '/images/ajax-validate/ajax-loader.gif';
var urlOk = '/images/ajax-validate/ok.png';
var urlError = '/images/ajax-validate/error.png';
var urlNothing = '/images/ajax-validate/nothing.gif';

var idUsername = '#username-validator';
var idUsernameText = '#errore_validazione_username';
var messageUsernameError = 'Lo username che hai scelto è già utilizzato! Provane un altro';
var idEmail = '#email-validator';
var idEmailText = '#errore_validazione_email';
var messageEmailError = 'L\' e-mail scelta è già nel nostro database! Scegline un\'altra';

$(document).ready( function() {
	$('#sf_guard_user_username').focus( function() {
		changeState(idUsername, idUsernameText, urlWait, '')
	});
	$('#sf_guard_user_username').blur( function() {
		if ($(this).val() == '') {
			changeState(idUsername, idUsernameText, urlNothing, '');
		} else if ($(this).val().length <= 5) {
			changeState(idUsername, idUsernameText, urlError, 'Username troppo corto, minimo 6 caratteri.');
		} else {
			changeState(idUsername, idUsernameText, urlLoading);
			$.get('/registrazione/ajax_check_username?u=' + $(this).val(), getResponseUsername);
		}
	});
	
	$('#sf_guard_user_e_mail').focus( function() {
		changeState(idEmail, idEmailText, urlWait, '')
	});
	$('#sf_guard_user_e_mail').blur( function() {
		if ($(this).val() == '') {
			changeState(idEmail, idEmailText, urlNothing, '');
		} else if (!checkEmail($(this).val())) {
			changeState(idEmail, idEmailText, urlError, 'Inserisci un\'indirizzo e-mail valido.');
		} else {
			changeState(idEmail, idEmailText, urlLoading);
			$.get('/registrazione/ajax_check_email?e=' + $(this).val(), getResponseEmail);
		}
	});
});
function getResponseUsername(data) {
	if (data == 'ok') {
		changeState(idUsername, idUsernameText, urlOk, '');
	} else {
		changeState(idUsername, idUsernameText, urlError, messageUsernameError);
	}
}
function getResponseEmail(data) {
	if (data == 'ok') {
		changeState(idEmail, idEmailText, urlOk, '');
	} else {
		changeState(idEmail, idEmailText, urlError, messageEmailError);
	}
}


function changeState(id, idText, url, message) {
	if (url != urlNothing) {
		$(id).hide();
		$(id).attr('src', url);
		$(id).fadeIn('fast');
	} else {
		$(id).attr('src', url);
	}
	
	$(idText).hide();
	$(idText).html(message);
	$(idText).fadeIn('fast');
}

function checkEmail(email)
{
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	return reg.test(email);
}

function echeck(str) {

	var at="@";
	var dot=".";
	var lat=str.indexOf(at);
	var lstr=str.length;
	var ldot=str.indexOf(dot);
	if (str.indexOf(at)==-1){
	   return false;
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	   return false;
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
	    return false;
	}

	 if (str.indexOf(at,(lat+1))!=-1){
	    return false;
	 }

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
	    return false;
	 }

	 if (str.indexOf(dot,(lat+2))==-1){
	    return false;
	 }
	
	 if (str.indexOf(" ")!=-1){
	    return false;
	 }

     return true;					
}

function ValidateForm(){
var emailID=document.frmSample.txtEmail

if ((emailID.value==null)||(emailID.value=="")){
	alert("Please Enter your Email ID")
	emailID.focus()
	return false
}
if (echeck(emailID.value)==false){
	emailID.value=""
	emailID.focus()
	return false
}
return true
}


