/* Matteo 30/09/2008 */

/* funzioni di login */
var externalSourceFile_login="jsp/bridge/login.jsp"; //jsp per la login
function Login() {
	//validiamo i campi iseriti
	if (!LoginValidate()) return false;
	
	//modifichiamo l'aspetto della login form
	document.getElementById("login_errormsg").innerHTML='';
	document.getElementById("loginsubmit").value='Accesso in corso...';
	document.getElementById("loginsubmit").attributes.getNamedItem('class').value='buttondisabled';
	document.getElementById("loginsubmit").disabled=true;
	
	//chiamiamo via AJAX la jsp che si occupa di fare la login
	var loginObject = new sack();
	loginObject.requestFile = externalSourceFile_login  +
		'?login_email=' + $("#login_email").val() +
		'&login_passwd=' + $("#login_passwd").val();	// Specifying which file to get
	loginObject.onCompletion = function(){ chkLoginFromServer(loginObject); };	// Specify function that will be executed after file has been found
	loginObject.runAJAX();		// Execute AJAX function
}

function LoginValidate() {

	if ($("#login_email").val() == "") {
		alert('E-mail obbligatorio');
		$("#login_email").focus();
		return (false);
	}
	else {
		Filtro = /^[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/;
		if (!Filtro.test($("#login_email").val())) {
			alert('Formato E-mail non valido');
			$("#login_email").focus();
			return false;
		}
	}

	if ($("#login_passwd").val() == "") {
		alert('Password obbligatoria');
		$("#login_passwd").focus();
		return (false);
	}
	return (true);
}

function trimString(sInString) {
  sInString = sInString.replace( /^\s+/g, "" );
  return sInString.replace( /\s+$/g, "" );
}

function chkLoginFromServer(reqObject) {
	//controlliamo il risultato della ricerca viaggi
	var res=reqObject.response;
	var items = res.split(/<item>/g);
	reqObject=false;
	ret = new Array();
	
	for(var no=1;no<items.length;no++){
		var lines = items[no].split(/\n/g);
		ret[no] = new Array();
		for(var no2=0;no2<lines.length;no2++){
			var key = lines[no2].replace(/<([^>]+)>.*/g,'$1');
			if (key) key = trimString(key);
			var pattern = new RegExp("<\/?" + key + ">","g");
			var value = lines[no2].replace(pattern,'');
			value = trimString(value);
			ret[no][key] = value;
		}
	}
	
	//controlliamo i valori di ritorno
	if (ret[1]['error_msg']!='') {
		//se siamo qui significa che c'è stato un errore e dobbiamo scrivere il messaggio all'utente
		//rimanendo nella medesima pagina
		document.getElementById("login_errormsg").innerHTML=ret[1]['error_msg'];
		document.getElementById("loginsubmit").value='Accedi';
		document.getElementById("loginsubmit").attributes.getNamedItem('class').value='button';
		document.getElementById("loginsubmit").disabled=false;
	} else {
		//se siam qui significa che tutto è andato ok e dobbiamo redirigere dove ci viene detto
		window.location.replace(ret[1]['href']);
	}
}

/* funzioni di send password */
var externalSourceFile_sendpassword="jsp/bridge/sendpassword.jsp";
function SendPassword() {
	//modifichiamo l'aspetto della login form
	document.getElementById("forgotpassword_errormsg").innerHTML='';
	document.getElementById("forgotpasswordsubmit").value='Invio in corso...';
	document.getElementById("forgotpasswordsubmit").attributes.getNamedItem('class').value='buttondisabled';
	document.getElementById("forgotpasswordsubmit").disabled=true;
	
	//chiamiamo via AJAX la jsp che si occupa di spedire per email la password
	var loginObject = new sack();
	loginObject.requestFile = externalSourceFile_sendpassword  +
		'?email=' + $("#forgotpassword_email").val();	// Specifying which file to get
	loginObject.onCompletion = function(){ chkSendPasswordFromServer(loginObject); };	// Specify function that will be executed after file has been found
	loginObject.runAJAX();		// Execute AJAX function
}
function chkSendPasswordFromServer(reqObject) {
	//controlliamo il risultato della ricerca viaggi
	var res=reqObject.response;
	var items = res.split(/<item>/g);
	reqObject=false;
	ret = new Array();
	
	for(var no=1;no<items.length;no++){
		var lines = items[no].split(/\n/g);
		ret[no] = new Array();
		for(var no2=0;no2<lines.length;no2++){
			var key = lines[no2].replace(/<([^>]+)>.*/g,'$1');
			if (key) key = trimString(key);
			var pattern = new RegExp("<\/?" + key + ">","g");
			var value = lines[no2].replace(pattern,'');
			value = trimString(value);
			ret[no][key] = value;
		}
	}
	
	//controlliamo i valori di ritorno
	if (ret[1]['error_msg']!='') {
		//se siamo qui significa che c'è stato un errore o un messaggio e dobbiamo scrivere il messaggio all'utente
		//rimanendo nella medesima pagina
		document.getElementById("forgotpassword_errormsg").innerHTML=ret[1]['error_msg'];
		document.getElementById("forgotpasswordsubmit").value='Invia password';
		document.getElementById("forgotpasswordsubmit").attributes.getNamedItem('class').value='button';
		document.getElementById("forgotpasswordsubmit").disabled=false;
	} else {
		//se siam qui significa che tutto è andato ok e dobbiamo redirigere dove ci viene detto
		window.location.replace(ret[1]['href']);
	}
}