
function loginInit(user,password,bottone){
toeval = 'user = document.getElementById(user);'
+ 'password = g(password);'
+ 'button = g(bottone);';
eval(toeval);
// disabilito l'autocomplete degli input
//user.setAttribute('autocomplete', 'off');
password.setAttribute('autocomplete', 'off');
// codifica utf-8 - verifica lato server
user_encode = encodeURIComponent((trim(user.value)));

var buttonvalue = button.value;
button.value = '...Attendi...';
button.disabled = true;

if(!user.value.match(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})$/)){
  alert('Inserisci la tua email');
  button.value = buttonvalue;
  button.disabled = false;
  return false;
}else{
	// risposta al login
	function dblogin(oXML){
		var resp = oXML.responseText;
    var values = resp.split(';');
		if(values[0]=='1'){
			window.location = values[1];
		} else {
			alert(values[1]);
      button.value = buttonvalue;
      button.disabled = false;
		}
	}
  // Login inviando al server md5( sfida + md5( password) )
  function sendCryptPass(oXML){
  	var sfida = oXML.responseText;
  	if(sfida && sfida !=''){
  		// login con user e sfida + password
  		var myConn = new XHConn();
  		var fnLogin = function(oXML){ dblogin(oXML); }
  		var fnErrLogin = function (oXML) { alert("HTTP error: "+oXML.status); }
  		var md5_password = hex_md5(trim(password.value));
  		// codifica utf-8
  		var sfida_pass = encodeURIComponent(hex_md5(sfida+md5_password));
  		var sfida_utf8 = encodeURIComponent(sfida);
  		user.value = password.value = '';
  		myConn.connect(_index+"p_resp/pp_loginresp", "POST", "act=login&user="+user_encode+"&passw="+sfida_pass+"&sfida="+sfida_utf8,fnLogin,fnErrLogin);
  	}
  }
  // richiesta  sfida al server
  var myConn = new XHConn();
  if(myConn){
    var fnSfida = function (oXML) { sendCryptPass(oXML); }
    var fnErrSfida = function (oXML) { alert("HTTP error: "+oXML.status); }
    myConn.connect(_index+"p_resp/pp_loginresp", "POST", "act=insert_sfida&user="+user_encode,fnSfida,fnErrSfida);
    return false;
  }else{
    alert("XMLHTTP not available. Try a newer/better browser.");
  }
}
}
