

/*
 * Controllo Campi Obbligatori nel Form di Registrazione
 */

function checkForm() {
	
	var emailRegEx = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;
	var password = document.registerForm.pass.value;
	
	if (document.registerForm.nome.value == '' || document.registerForm.cognome.value == '' || document.registerForm.cap.value == '' || 
			(document.registerForm.provincia.value == '' || document.registerForm.provincia.value == '- Seleziona -') ||
			(document.registerForm.luogo.value == '' || document.registerForm.luogo.value == '- Seleziona -') ||
			document.registerForm.email.value == '' || document.registerForm.pass.value == '' || document.registerForm.confPass.value == '' || document.registerForm.preferenza.value == '') {
		
		alert ("I campi con l'asterisco (*) sono obbligatori!");
		return false;
		
	} else {

		if (document.registerForm.email.value.search(emailRegEx) == -1) {
			alert ("Verifica il formato dell'Email!");
			return false;
			
		} else if (document.registerForm.pass.value != document.registerForm.confPass.value) {
			alert ("Password e Conferma Password devono avere lo stesso valore!");
			return false;
		
		} else if (password.length < 8){
		   alert("La Password deve essere lunga almeno 8 caratteri!")
		   return false;

		} else if (document.registerForm.privacy.checked == false) {
			alert ("E' necessario autorizzare il trattamento dei dati personali!");
			return false;
			
		} else {
			return true;
		}
		
	}
	
}

function checkeditForm() {
	
	var emailRegEx = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;
	var password = document.registerForm.pass.value;
	
	if (document.registerForm.nome.value == '' || document.registerForm.cognome.value == '' || document.registerForm.cap.value == '' || 
			(document.registerForm.provincia.value == '' || document.registerForm.provincia.value == '- Seleziona -') ||
			(document.registerForm.luogo.value == '' || document.registerForm.luogo.value == '- Seleziona -') ||
			document.registerForm.email.value == '' || document.registerForm.preferenza.value == '') {
		
		alert ("I campi con l'asterisco (*) sono obbligatori!");
		return false;
		
	} else {

		if (document.registerForm.email.value.search(emailRegEx) == -1) {
			alert ("Verifica il formato dell'Email!");
			return false;
			
		} else if (document.registerForm.pass.value != document.registerForm.confPass.value) {
			alert ("Password e Conferma Password devono avere lo stesso valore!");
			return false;
		
		} else if (document.registerForm.pass.value != 0 && password.length < 8){
		   alert("La Password deve essere lunga almeno 8 caratteri!")
		   return false;

		} else if (document.registerForm.privacy.checked == false) {
			alert ("E' necessario autorizzare il trattamento dei dati personali!");
			return false;
			
		} else {
			return true;
		}
		
	}
	
}

/*
 * AJAX
 */
function GetXmlHttpObject(handler)
{
   var objXMLHttp=null
   if (window.XMLHttpRequest)
   {
       objXMLHttp=new XMLHttpRequest()
   }
   else if (window.ActiveXObject)
   {
       objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
   }
   return objXMLHttp
}

//Funzioni per riempimento automatico della select del Luogo (Cittˆ -> Provincia --> Paese) 
function stateChangedProvPaese()
{
   if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
   {
           document.getElementById("cittaPaese").innerHTML= xmlHttp.responseText;
   }
   else {
           //alert(xmlHttp.status);
   }
}

function htmlData(url, qStr)
{
   if (url.length==0)
   {
       document.getElementById("cittaPaese").innerHTML="";
       return;
   }
   xmlHttp=GetXmlHttpObject()
   if (xmlHttp==null)
   {
       alert ("Browser does not support HTTP Request");
       return;
   }

   url=url+"?"+qStr;
   url=url+"&sid="+Math.random();
   xmlHttp.onreadystatechange=stateChangedProvPaese;
   xmlHttp.open("GET",url,true) ;
   xmlHttp.send(null);
}

//Funzioni per controllo esistenza email durante la Registrazione
function stateChangedEmail()
{
   
   if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
   {
           document.getElementById("checkEmail").innerHTML= xmlHttp.responseText;
   }
   else {
           //alert(xmlHttp.status);
   }
}

function mailExist(url, qStr)
{
	
   if (url.length==0)
   {
       document.getElementById("checkEmail").innerHTML="";
       return;
   }
   xmlHttp=GetXmlHttpObject()
   if (xmlHttp==null)
   {
       alert ("Browser does not support HTTP Request");
       return;
   }

   url=url+"?"+qStr;
   url=url+"&sid="+Math.random();
   xmlHttp.onreadystatechange=stateChangedEmail;
   xmlHttp.open("GET",url,true) ;
   xmlHttp.send(null);
}

//Funzioni per controllo dati durante il LOGIN
function booleanLogin() {
	
	var idError = document.getElementById("errorLog");
	var msg = document.getElementById("msg");
	
	var email = document.formLogin.email.value;
	var pwd = document.formLogin.password.value;
	
	if (email == '' && pwd == '') {
		msg.innerHTML = "Devi inserire Email e Password per accedere!";
		return false;
	}
	
	if (idError.innerHTML == 1) { //'Email e Password corretti!'
		msg.style.color = "green";
		return true;
	} else {
		msg.style.color = "red";
		return false;
	}
	
}

function stateChangedLogin() {

   if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
   {
	   document.getElementById("errorLog").innerHTML=xmlHttp.responseText;
	   if (xmlHttp.responseText == 1) {
		   document.getElementById("msg").innerHTML = "Email e Password corretti!";
	   } else {
		   document.getElementById("msg").innerHTML = "Verifica Email e Password!";
	   }
	   return booleanLogin();
   }
   else {
       //alert(xmlHttp.status);
   }
}
function datiLogin(url, qStr)
{
   
   if (url.length==0)
   {
       document.getElementById("errorLog").innerHTML="";
       return;
   } 
   
   xmlHttp=GetXmlHttpObject()
   if (xmlHttp==null)
   {
       alert ("Browser does not support HTTP Request");
       return;
   }

   url=url+"?"+qStr;
   url=url+"&sid="+Math.random();
   
   xmlHttp.onreadystatechange=stateChangedLogin;
   xmlHttp.open("GET",url,true);
   xmlHttp.send(null);
   
}

//Funzioni per controllo correttezza ed esistenza email durante il Recupero della password
function booleanRecPass() {
	
	var idError = document.getElementById("emailRecPass");
	var msg = document.getElementById("msg");
	var email = document.formRecPass.email.value;
	
	if (email == '') {
		return false;
	} else {
		emailRecPass('http://www.monge.it/ajax/emailRecPass.php', 'email='+email);
	}

	if (idError.innerHTML == 1) {
	//if (idError.innerHTML == "Email corretta!") {
		msg.style.color = "green";
		return true;
	} else {
		msg.style.color = "red";
		return false;
	}
	
}
function stateChangedEmailRecPass()
{
   
   if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
   {
      document.getElementById("emailRecPass").innerHTML=xmlHttp.responseText;
       if (xmlHttp.responseText == 1) {
		   document.getElementById("msg").innerHTML = "Email corretta!";
	   } else {
		   document.getElementById("msg").innerHTML = "Verifica indirizzo Email!";
	   }
      return booleanRecPass();
   }
   else {
      //alert(xmlHttp.status);
   }
}
function emailRecPass(url, qStr)
{
	
   if (url.length==0)
   {
       document.getElementById("emailRecPass").innerHTML="";
       return;
   }
   xmlHttp=GetXmlHttpObject()
   if (xmlHttp==null)
   {
       alert ("Browser does not support HTTP Request");
       return;
   }

   url=url+"?"+qStr;
   url=url+"&sid="+Math.random();
   xmlHttp.onreadystatechange=stateChangedEmailRecPass;
   xmlHttp.open("GET",url,true) ;
   xmlHttp.send(null);
 
}


