var richiestaInCorso = false;

function doLogin() {
  var ajax; 
  
   if( isblank(prendiElementoDaId("w2enomeutente").value ) || isblank(prendiElementoDaId("w2epassword").value ))   {
     alert( "Inserire nome utente e password");
     return false;
   }
   
   // sto ancora in attesa della risposta, quindi non rifaccio la chiamata
   if ( richiestaInCorso  ) return false;
  
    ajax = assegnaXMLHttpRequest();
 
  // se tutti gli elementi appena assegnati sono validi
  if(ajax) {
  
    richiestaInCorso = true;
       
    // inizializziamo l'oggetto per la richiesta richiamando il file
    // server desiderato ed aggiungendo alla url la querystring
    valore=hex_md5(prendiElementoDaId('w2epassword').value);

    ajax.open("get", "checkUtente.asp" + "?w2enomeutente=" + prendiElementoDaId('w2enomeutente').value + "&w2epassword="+valore+"&tmstmp="+getTmpstmp());
    ajax.setRequestHeader("connection", "close");
    
    // funzione assegnata ad onreadystatechange
    ajax.onreadystatechange = function() {

		      // se le operazioni sono state effettuate
		      if(ajax.readyState === readyState.COMPLETATO) {
		      	//alert("tornato");
		   	richiestaInCorso = false;
		        // ... ed il server non ha dato errori
		        if(statusText[ajax.status]  === "OK") {
		          // stampiamo il risultato
		          if( ajax.responseText.substring(0,2) == "OK" ) {
		              prendiElementoDaId('area_utenti').style.display = "none";		
		              prendiElementoDaId('area_utenti_reg').style.display = "block";		
		              prendiElementoDaId('area_newsletter').style.display = "none";		
		              prendiElementoDaId('divnome').innerHTML = ajax.responseText.substring(2);
		             } else {	
		              alert (ajax.responseText.substring(2));
		      	     }
		      	}
		        // ... altrimenti mandiamo un avviso
		        else {
		          alert("Impossibile effettuare l'operazione di login. Errore riscontrato: " + statusText[ajax.status]);
			}
					     
		        // riabiliamo il bottone per permettere un'altra richiesta
		      	}
    		};	
    // invio richiesta
    ajax.send(null);
    return( false );
  }
}

function doLogout() {
  var ajax; 

   // sto ancora in attesa della risposta, quindi non rifaccio la chiamata
   if ( richiestaInCorso  ) return(false);
  
    ajax = assegnaXMLHttpRequest();
 
  // se tutti gli elementi appena assegnati sono validi
  if(ajax) {
  
    richiestaInCorso = true;
    
    ajax.open("get", "logout.asp?tmstmp="+getTmpstmp());
    ajax.setRequestHeader("connection", "close");
    
    // funzione assegnata ad onreadystatechange
    ajax.onreadystatechange = function() {
  
		      // se le operazioni sono state effettuate
		      if(ajax.readyState === readyState.COMPLETATO) {
		      	//alert("tornato");
		   	richiestaInCorso = false;
		        // ... ed il server non ha dato errori
		        if(statusText[ajax.status]  === "OK") {
		          // stampiamo il risultato
		          if( ajax.responseText.substring(0,2) == "OK" ) {
		              prendiElementoDaId('area_utenti').style.display = "block";		
		              prendiElementoDaId('area_utenti_reg').style.display = "none";	
		              prendiElementoDaId('area_newsletter').style.display = "block";	
		              prendiElementoDaId('divnome').innerHTML = "";
		              prendiElementoDaId('w2enomeutente').value = "";
		              prendiElementoDaId('w2epassword').value = "";
		              location.replace("index.asp")
		             } else {	
		              alert (ajax.responseText);
		      	     }
		      	}
		        // ... altrimenti mandiamo un avviso
		        else {
		          alert("Impossibile effettuare l'operazione di login. Errore riscontrato: " + statusText[ajax.status]);
			}
					     
		        // riabiliamo il bottone per permettere un'altra richiesta
		      	}
    		};	
    // invio richiesta
    ajax.send(null);
    return( false );
  }
}


function checkEsistenzaEmail() {
  var ajax; 
  
   if( isblank(prendiElementoDaId("emailnl").value)) 
   {  
     location.replace( "registrazione_newsletter.asp?email=");
     return true;
   }
   //var expressione = "(([\w]+:)?//)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?";
   //<input type=hidden id="expreg" value="(([\w]+:)?//)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?">
   var re = new RegExp(prendiElementoDaId("expreg").value);
   var valoremail=prendiElementoDaId("emailnl").value;
   valoremail = valoremail.replace(" ", "");
   prendiElementoDaId("emailnl").value=valoremail;
   if (!valoremail.match(re)) 
   {
   	alert("L'indirizzo e-mail inserito non è corretto");
   	return false;
   }

   // sto ancora in attesa della risposta, quindi non rifaccio la chiamata
   if ( richiestaInCorso  ) return false;
 
    ajax = assegnaXMLHttpRequest();
 
  // se tutti gli elementi appena assegnati sono validi
  if(ajax) {
  
    richiestaInCorso = true;
    ajax.open("get", "checkEmail.asp" + "?w2eemail=" + prendiElementoDaId("emailnl").value+"&tmstmp="+getTmpstmp());
    ajax.setRequestHeader("connection", "close");
    
    // funzione assegnata ad onreadystatechange
    ajax.onreadystatechange = function() {
  
		      // se le operazioni sono state effettuate
		      if(ajax.readyState === readyState.COMPLETATO) {
		      	//alert("tornato");
		   	richiestaInCorso = false;
		        // ... ed il server non ha dato errori
		        if(statusText[ajax.status]  === "OK") {
		          // stampiamo il risultato
		         // alert(ajax.responseText);
		          if( ajax.responseText.substring(0,2) == "YE" ) {
		              alert("L'indirizzo e-mail specificato è gia presente nel sistema");
			      return;		             
		             } 
		          if( ajax.responseText.substring(0,2) == "NO" ) {
		              location.replace( "registrazione_newsletter.asp?email="+prendiElementoDaId("emailnl").value);
			      return;		             
		             }
		          if( ajax.responseText.substring(0,2) == "ER" ) {
		              alert("In questo momento non è possibile completare l'operazione");
			      return;		             
		             }
		      	}
		        // ... altrimenti mandiamo un avviso
		        else {
		          alert("In questo momento non è possibile completare l'operazione");
			}
					     
		        // riabiliamo il bottone per permettere un'altra richiesta
		      	}
    		};	
    // invio richiesta
    ajax.send(null);
    return( false );
  }
   
}



function doVerificaEsistenzaEmailRC() {
  var ajax; 
  
   if( isblank(prendiElementoDaId("email").value)) 
     return false;

   var re = new RegExp(prendiElementoDaId("expreg").value);
   var valoremail=prendiElementoDaId("email").value;
   valoremail = valoremail.replace(" ", "");
   prendiElementoDaId("email").value=valoremail;
   if (!valoremail.match(re)) 
   {
   	alert("L'indirizzo e-mail inserito non è corretto");
   	return false;
   }
   
   // sto ancora in attesa della risposta, quindi non rifaccio la chiamata
   if ( richiestaInCorso  ) return false;
 
    ajax = assegnaXMLHttpRequest();
 
  // se tutti gli elementi appena assegnati sono validi
  if(ajax) {
  
    richiestaInCorso = true;
    ajax.open("get", "checkEmail.asp" + "?w2eemail=" + prendiElementoDaId("email").value + "&sendmail=1");
    ajax.setRequestHeader("connection", "close");
    
    // funzione assegnata ad onreadystatechange
    ajax.onreadystatechange = function() {
  
		      // se le operazioni sono state effettuate
		      if(ajax.readyState === readyState.COMPLETATO) {
		      	//alert("tornato");
		   	richiestaInCorso = false;
		        // ... ed il server non ha dato errori
		        if(statusText[ajax.status]  === "OK") {
		          // stampiamo il risultato
		         //alert(ajax.responseText);
		          if( ajax.responseText.substring(0,2) == "YE" ) {
		              alert(ajax.responseText.substring(2));
			      return;		             
		             } 
		          if( ajax.responseText.substring(0,2) == "NO" ) {
		              alert("L'e-mail indicata non è stata trovata nel sistema");
			      return;		             
		             }
		          if( ajax.responseText.substring(0,2) == "ER" ) {
		              alert("In questo momento non è possibile completare l'operazione");
			      return;		             
		             }
		      	}
		        // ... altrimenti mandiamo un avviso
		        else {
		          alert("In questo momento non è possibile completare l'operazione");
			}
					     
		        // riabiliamo il bottone per permettere un'altra richiesta
		      	}
    		};	
    // invio richiesta
    ajax.send(null);
    return( false );
  }
 }
  


