var user, domain, regex, _match;
var validMail=false, validTel=false, validnome=false, validPassw=false, validIVA=false, validPrivacy=false, validProvincia=false, validRegione=false, validComune=false; 
var validPrivacy=true; // di default la checkbox è sputanta
var request;
var queryString;

function isValid(){
	if(validMail && validTel && validnome && validPrivacy && validProvincia && validComune){
		return true;
	}else{
		checkInvalidValue();
		return (validMail && validTel && validnome && validPrivacy && validProvincia && validComune);
	}
}

function checkInvalidValue(){

		
		
/* controllo email vuota */
	var textEmail= document.getElementById("email");
   	if(!textEmail.value){
		doSomething_email("email");
		validMail=false;
	}
	else{
		doSomethingElse_email("email");
		checkAddress(textEmail.value);	
	}


/* controllo telefono vuoto*/
	var textTelefono= document.getElementById("telefono");
   	if(!textTelefono.value){
		doSomething_telefono("telefono");
		validTel=false;
	}
	else{
		doSomethingElse_telefono("telefono");
		checkTelefono(textTelefono);
	}


/* nome nome vuoto*/
	var textnome= document.getElementById("nome");
   	if(!textnome.value){
		doSomething_nome("nome");
		validnome=false;
	}
	else{
		doSomethingElse_nome("nome");
		validnome=true;
	}




/*acconsentire vuoto*/
	var privacyCeckBox= document.getElementById("privacyBox");
   	if(!privacyCeckBox.checked){
		document.getElementById("messaggi_errore_si").innerHTML = "Acconsentire al trattamento dei dati personali";
		validPrivacy=false;
	}
	else{
		document.getElementById("messaggi_errore_si").innerHTML = "<br />";
		validPrivacy=true;
	}



/*provincia vuoto*/
	var textProvincia= document.getElementById("provincia");
   	if(!textProvincia.value){
		doSomething_provincia("provincia");
		validProvincia=false;
	}
	else{
		doSomethingElse_provincia("provincia");
		validProvincia=true;
	}



/*regione vuoto*//*
	var textRegione= document.getElementById("regione");
   	if(!textRegione.value){
		doSomething_regione("regione");
		validRegione=false;
	}
	else{
		doSomethingElse_regione("regione");
		validRegione=true;
	}*/


/*comune vuoto*/
	var textComune= document.getElementById("comune");
   	if(!textComune.value){
		doSomething_comune("comune");
		validComune=false;
	}
	else{
		doSomethingElse_comune("comune");
		validComune=true;
	}

}






// Invio dati form 
function setQueryString(){
	queryString="";
	var frm = document.myform;
	//forms[0];
	var numberElements = frm.elements.length;
	for(var i = 0; i < numberElements; i++){
		if(i< numberElements-1){
			queryString += frm.elements[i].name+"="+encodeURIComponent(frm.elements[i].value)+"&";
		}else{
			queryString += frm.elements[i].name+"="+encodeURIComponent(frm.elements[i].value);

		}
	}
}


function sendData(pathDomain){
	setQueryString();
	var rispostaXMLTasto = zXmlHttp.createRequest();
		rispostaXMLTasto.onreadystatechange = function() {
			if(rispostaXMLTasto.readyState==4){
				if(rispostaXMLTasto.status==200){
					
					setTimeout(Redirect("/grazie_affiliazione.php"),15000);
					
				}
			}
		};
		var _url = "/gestionale/confirm/confirm_dentisti.php";
		rispostaXMLTasto.open("post", _url, true);
		rispostaXMLTasto.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
		rispostaXMLTasto.send(queryString);
}


function Redirect(dest)
{
  location.href = dest;
}

// Costruttore email
function Email(e){
	this.emailAddr=e;
	this.message="";
	this.valid=false;
	validMail=false;
}



function validate(){
	// verifica stringa vuota, "." e "@"
	if(this.emailAddr == null || this.emailAddr.length==0 || this.emailAddr.indexOf(".")==-1 || this.emailAddr.indexOf("@")==-1 || this.emailAddr.indexOf(" ")!=-1){
		this.message="Indirizzo Email non valido";
		this.valid=false;
		validMail=false;
		return;
	}
	
	//prima di @ deve essere almeno 2 caratteri e dopo eventuale punto altri 2 caratteri
//	regex = /(^\w{1,}\.?-?\w{1,})@/;//controllare
   	regex = /(^\w{1,}\.?-?\w{1,}\.?-?\w{1,})@/;//controllare
	_match = regex.exec(this.emailAddr);
	if(_match){
		user= RegExp.$1;
	}
	else{
		this.message = "Indirizzo Email non valido";
		this.valid=false;
		validMail=false;
		return;
	}
	
	//Controlla il dominio
	regex = /@(\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\])$/;
	_match = regex.exec(this.emailAddr);
	if(_match){
		domanin= RegExp.$1;
		this.valid=true;
		validMail=true;
	}
	else{
		// @ seguito da 2 caratteri senza punto seguito poi da un punto con regolare espressione
		regex = /@[a-zA-Z]+(\.?[a-zA-Z0-9\-\_]+)*\.[a-zA-Z]{2,4}$/;
		_match = regex.exec(this.emailAddr);
		if(_match){
			domanin= RegExp.$1;
		}else{
			this.message="Dominio Email non corretto";
			this.valid=false;
			validMail=false;
			return;
		}
	}
	this.valid=true;
	validMail=true;
}


//Prototype email
Email.prototype.validate=validate;

function eMsg(msg){
	document.getElementById("messaggi_errore_si").innerHTML = msg;
	document.getElementById("messaggi_errore_email").innerHTML = "<img src='/images/ko.png' style=\"margin-left:5px;\" />";
	selDiv = document.getElementById("email");
	selDiv.style.backgroundColor = "#FFFFFF";
	selDiv.style.border = "2px solid";
	selDiv.style.borderColor = "#A92926";		
}


// funzione di controlli
function checkAddress(val, pathDomain){
	var eml= new Email(val);
	eml.validate();
	if(!eml.valid){
		eMsg(eml.message);
	}
}



Telefono.prototype.validate=validate;

// Costruttore telefono
function Telefono(en){
	this.telefono=en.value;
	this.message="";
	this.valid=false;
	validTel=false;
}

function eMsgTel(msg){
	document.getElementById("messaggi_errore_si").innerHTML = msg;
	document.getElementById("messaggi_errore_telefono").innerHTML = "<img src='/images/ko.png' style=\"margin-left:5px;\" />";
	selDiv = document.getElementById("telefono");
	selDiv.style.backgroundColor = "#FFFFFF";
	selDiv.style.border = "2px solid";
	selDiv.style.borderColor = "#A92926";		
}

function checkTelefono(val){
	var tel= new Telefono(val);
	if(tel.telefono==null || tel.telefono.length==0){
		tel.message="telefono non corretto";
		eMsgTel(tel.message);
		return;
	}

	var lengthTel = tel.telefono.length;
	var subTel = tel.telefono.slice(1, lengthTel);
	var firstTel = tel.telefono.slice(0,1);
	var secondTel = tel.telefono.slice(1,2);
	regex = /[0-9\.\-]+/;
	if ((firstTel!="+" && firstTel!="3" && firstTel!="0") || regex.exec(subTel)!=subTel || secondTel=="0"){
		tel.message="Inserire un numero telefonico valido";
		tel.valid=false;
		validTel=false;
		eMsgTel(tel.message);
		return;
	}
	
	if(lengthTel<6 || lengthTel>14){
		tel.message="Inserire un numero telefonico valido";
		tel.valid=false;
		validTel=false;
		eMsgTel(tel.message);
		return;
	}
	
	if(firstTel=="3"){
		
		if((subTel.indexOf("-")== 2 || subTel.indexOf(".")== 2 || subTel.indexOf("/")== 2)&&(lengthTel<10 || lengthTel>11)){
				tel.message="Inserire un numero telefonico valido";
				tel.valid=false;
				validTel=false;
				eMsgTel(tel.message);
				return;
			}
		if((subTel.indexOf("-")!= 2 && subTel.indexOf(".")!= 2 && subTel.indexOf("/")!= 2) && (lengthTel<9 || lengthTel>10)){
			tel.message="Inserire un numero telefonico valido";
			tel.valid=false;
			validTel=false;
			eMsgTel(tel.message);
			return;
			}
	}
	
	var i;
	var splitTel;
	var firstSplitTel;
	for(i=0;i<=lengthTel-5;i++){
		
		firstSplitTel = tel.telefono.slice(i,i+1);
		splitTel = tel.telefono.slice(i,i+5);
		if(i==0){
			if((splitTel==firstSplitTel + firstSplitTel + firstSplitTel + firstSplitTel + firstSplitTel) && firstSplitTel!="3"){
				tel.message="Inserire un numero telefonico valido";
				tel.valid=false;
				validTel=false;
				eMsgTel(tel.message);
				return;
			}
			if(firstSplitTel=="3" && i==0 && tel.telefono.slice(5,6)=="3" && (splitTel==firstSplitTel + firstSplitTel + firstSplitTel + firstSplitTel + firstSplitTel)){
				tel.message="Inserire un numero telefonico valido";
				tel.valid=false;
				validTel=false;
				eMsgTel(tel.message);
				return;
			}
		}else{
			if((splitTel==firstSplitTel + firstSplitTel + firstSplitTel + firstSplitTel + firstSplitTel)){
				tel.message="Inserire un numero telefonico valido";
				tel.valid=false;
				validTel=false;
				eMsgTel(tel.message);
				return;
			}
		}
	}
	tel.valid=true;
	validTel=true;
}








/* input nome nome */
function doSomething_nome(id){
	document.getElementById("messaggi_errore_nome").innerHTML = "<img src='/images/ko.png' style=\"margin-left:5px;\" />";
	document.getElementById("messaggi_errore_si").innerHTML = "Inserire nome e cognome";
	selDiv = document.getElementById(id);
	selDiv.style.backgroundColor = "#FFFFFF";
	selDiv.style.border = "2px solid";
	selDiv.style.borderColor = "#A92926";		
	
}

function doSomethingElse_nome(id){
	document.getElementById("messaggi_errore_nome").innerHTML = "<img src='/images/ok.png' style=\"margin-left:5px;\" />";
	selDiv = document.getElementById(id);
	selDiv.style.backgroundColor = "#FFFFFF";
	selDiv.style.border = "2px solid";
	selDiv.style.borderColor = "#008B3D";
		
}
/* input email nome */
function doSomething_email(id){
	document.getElementById("messaggi_errore_email").innerHTML = "<img src='/images/ko.png' style=\"margin-left:5px;\" />";
	document.getElementById("messaggi_errore_si").innerHTML = "Email non valida";
	selDiv = document.getElementById(id);
	selDiv.style.backgroundColor = "#FFFFFF";
	selDiv.style.border = "2px solid";
	selDiv.style.borderColor = "#A92926";		
	
}

function doSomethingElse_email(id){
	document.getElementById("messaggi_errore_email").innerHTML = "<img src='/images/ok.png' style=\"margin-left:5px;\" />";
	selDiv = document.getElementById(id);
	selDiv.style.backgroundColor = "#FFFFFF";
	selDiv.style.border = "2px solid";
	selDiv.style.borderColor = "#008B3D";
		
}

/* input telefono */
function doSomething_telefono(id){
	document.getElementById("messaggi_errore_telefono").innerHTML = "<img src='/images/ko.png' style=\"margin-left:5px;\" />";
	document.getElementById("messaggi_errore_si").innerHTML = "Telefono non valido";
	selDiv = document.getElementById(id);
	selDiv.style.backgroundColor = "#FFFFFF";
	selDiv.style.border = "2px solid";
	selDiv.style.borderColor = "#A92926";		
	
}

function doSomethingElse_telefono(id){
	document.getElementById("messaggi_errore_telefono").innerHTML = "<img src='/images/ok.png' style=\"margin-left:5px;\" />";
	selDiv = document.getElementById(id);
	selDiv.style.backgroundColor = "#FFFFFF";
	selDiv.style.border = "2px solid";
	selDiv.style.borderColor = "#008B3D";
		
}




/* input regione *//*
function doSomething_regione(id){
	document.getElementById("messaggi_errore_regione").innerHTML = "<img src='/images/ko.png' style=\"margin-left:5px;\" /> Seleziona la regione";
	selDiv = document.getElementById(id);
	selDiv.style.backgroundColor = "#FFFFFF";
	selDiv.style.border = "2px solid";
	selDiv.style.borderColor = "#A92926";		
	
}

function doSomethingElse_regione(id){
	document.getElementById("messaggi_errore_regione").innerHTML = "<img src='/images/ok.png' style=\"margin-left:5px;\" />";
	selDiv = document.getElementById(id);
	selDiv.style.backgroundColor = "#FFFFFF";
	selDiv.style.border = "2px solid";
	selDiv.style.borderColor = "#008B3D";
		
}*/

/* input provincia */
function doSomething_provincia(id){
	document.getElementById("messaggi_errore_provincia").innerHTML = "<img src='/images/ko.png' style=\"margin-left:5px;\" />";
	document.getElementById("messaggi_errore_si").innerHTML = "Seleziona la provincia";
	selDiv = document.getElementById(id);
	selDiv.style.backgroundColor = "#FFFFFF";
	selDiv.style.border = "2px solid";
	selDiv.style.borderColor = "#A92926";		
	
}

function doSomethingElse_provincia(id){
	document.getElementById("messaggi_errore_provincia").innerHTML = "<img src='/images/ok.png' style=\"margin-left:5px;\" />";
	selDiv = document.getElementById(id);
	selDiv.style.backgroundColor = "#FFFFFF";
	selDiv.style.border = "2px solid";
	selDiv.style.borderColor = "#008B3D";
		
}

/* input comune */
function doSomething_comune(id){
	document.getElementById("messaggi_errore_comune").innerHTML = "<img src='/images/ko.png' style=\"margin-left:5px;\" />";
	document.getElementById("messaggi_errore_si").innerHTML = "Seleziona il comune";
	selDiv = document.getElementById(id);
	selDiv.style.backgroundColor = "#FFFFFF";
	selDiv.style.border = "2px solid";
	selDiv.style.borderColor = "#A92926";		
	
}

function doSomethingElse_comune(id){
	document.getElementById("messaggi_errore_comune").innerHTML = "<img src='/images/ok.png' style=\"margin-left:5px;\" />";
	selDiv = document.getElementById(id);
	selDiv.style.backgroundColor = "#FFFFFF";
	selDiv.style.border = "2px solid";
	selDiv.style.borderColor = "#008B3D";
		
}

