var xmlHttp = creaXmlHttpRequestObject();

function cancella_campi()
{

	document.getElementById("cognome").value=""; 
	s="";
	so_applyStyleString(document.getElementById('cognome'),s);
	
	document.getElementById("nome").value="";
	s="";
	so_applyStyleString(document.getElementById('nome'),s);
	
	document.getElementById("Date_Day").value="";
	s="";
	so_applyStyleString(document.getElementById('Date_Day'),s);

	document.getElementById("Date_Month").value="";
	s="";
	so_applyStyleString(document.getElementById('Date_Month'),s);

	document.getElementById("Date_Year").value="";
	s="";
	so_applyStyleString(document.getElementById('Date_Year'),s);
	
	document.getElementById("via").value="";
	s="";
	so_applyStyleString(document.getElementById('via'),s);
	
	document.getElementById("numero").value="";
	s="";
	so_applyStyleString(document.getElementById('numero'),s);
	
	document.getElementById("cap").value="";
	s="";
	so_applyStyleString(document.getElementById('cap'),s);
	
	document.getElementById("comune").value="";
	s="";
	so_applyStyleString(document.getElementById('comune'),s);
	
	document.getElementById("provincia").value="";
	s="";
	so_applyStyleString(document.getElementById('provincia'),s);
	
	document.getElementById("mail").value="";
	s="";
	so_applyStyleString(document.getElementById('mail'),s);
	
	document.getElementById("tel").value="";
	s="";
	so_applyStyleString(document.getElementById('tel'),s);
	
	document.getElementById("fax").value="";
	s="";
	so_applyStyleString(document.getElementById('fax'),s);
	
	document.getElementById("cell").value="";
	s="";
	so_applyStyleString(document.getElementById('cell'),s);
	
	document.getElementById("occupazione").value="";
	s="";
	so_applyStyleString(document.getElementById('occupazione'),s);
	
	document.getElementById("periodoPreferito").value="";
	s="";
	so_applyStyleString(document.getElementById('periodoPreferito'),s);
	
	document.getElementById("periodoPreferito2").value="";
	s="";
	so_applyStyleString(document.getElementById('periodoPreferito2'),s);
	
	document.getElementById("compagniaVacanza").value="";
	s="";
	so_applyStyleString(document.getElementById('compagniaVacanza'),s);
	
	document.getElementById("figli").checked="0";
	
	document.getElementById("nascitaPrimoFiglio").value="";
	s="";
	so_applyStyleString(document.getElementById('nascitaPrimoFiglio'),s);
	
	document.getElementById("nascitaUltimoFiglio").value="";
	s="";
	so_applyStyleString(document.getElementById('nascitaUltimoFiglio'),s);
	
	document.getElementById("destinazione_1").value="";
	s="";
	so_applyStyleString(document.getElementById('destinazione_1'),s);
	
	document.getElementById("destinazione_2").value="";
	s="";
	so_applyStyleString(document.getElementById('destinazione_2'),s);
	
	document.getElementById("destinazione_3").value="";
	s="";
	so_applyStyleString(document.getElementById('destinazione_3'),s);
	
	document.getElementById("destinazione_4").value="";
	s="";
	so_applyStyleString(document.getElementById('destinazione_4'),s);
	
	document.getElementById("tourOperator_1").value="";
	s="";
	so_applyStyleString(document.getElementById('tourOperator_1'),s);
	
	document.getElementById("tourOperator_2").value="";
	s="";
	so_applyStyleString(document.getElementById('tourOperator_2'),s);
	
	document.getElementById("tourOperator_3").value="";
	s="";
	so_applyStyleString(document.getElementById('tourOperator_3'),s);
	
	document.getElementById("tourOperator_4").value="";
	s="";
	so_applyStyleString(document.getElementById('tourOperator_4'),s);
	
	document.getElementById("periodo_1").value="";
	s="";
	so_applyStyleString(document.getElementById('periodo_1'),s);
	
	document.getElementById("periodo_2").value="";
	s="";
	so_applyStyleString(document.getElementById('periodo_2'),s);
	
	document.getElementById("periodo_3").value="";
	s="";
	so_applyStyleString(document.getElementById('periodo_3'),s);
	
	document.getElementById("periodo_4").value="";
	s="";
	so_applyStyleString(document.getElementById('periodo_4'),s);
	
	document.getElementById("spesa_1").value="";
	s="";
	so_applyStyleString(document.getElementById('spesa_1'),s);
	
	document.getElementById("spesa_2").value="";
	s="";
	so_applyStyleString(document.getElementById('spesa_2'),s);
	
	document.getElementById("spesa_3").value="";
	s="";
	so_applyStyleString(document.getElementById('spesa_3'),s);
	
	document.getElementById("spesa_4").value="";
	s="";
	so_applyStyleString(document.getElementById('spesa_4'),s);
	
	document.getElementById("soddisfazione_1").value="";
	s="";
	so_applyStyleString(document.getElementById('soddisfazione_1'),s);
	
	document.getElementById("soddisfazione_2").value="";
	s="";
	so_applyStyleString(document.getElementById('soddisfazione_2'),s);
	
	document.getElementById("soddisfazione_3").value="";
	s="";
	so_applyStyleString(document.getElementById('soddisfazione_3'),s);
	
	document.getElementById("soddisfazione_4").value="";
	s="";
	so_applyStyleString(document.getElementById('soddisfazione_4'),s);
	
	document.getElementById("esigenzaPrimaria").value="";
	s="";
	so_applyStyleString(document.getElementById('esigenzaPrimaria'),s);
	
	document.getElementById("esigenzaAltro").value="";
	s="";
	so_applyStyleString(document.getElementById('esigenzaAltro'),s);
	
	document.getElementById("fidelizzato").checked="0";
	
	document.getElementById("tourOperator").value="";
	s="";
	so_applyStyleString(document.getElementById('tourOperator'),s);
	
	document.getElementById("viaggiProssimi").value="";
	s="";
	so_applyStyleString(document.getElementById('viaggiProssimi'),s);
	
	document.getElementById("commento").value="";
	s="";
	so_applyStyleString(document.getElementById('commento'),s);
	
	document.getElementById("tipoConoscenza").value="";
	s="";
	so_applyStyleString(document.getElementById('tipoConoscenza'),s);
	
	document.getElementById("tipoConoscenza").value="";
	s="";
	so_applyStyleString(document.getElementById('tipoConoscenza'),s);
	
	document.getElementById("autorizzazione").checked="checked";
}

function creaXmlHttpRequestObject()
{

    var xmlHttp; 

    try
    {
        xmlHttp = new XMLHttpRequest();
    }
    catch(e)
    {
        // solo per Explorer
        var versioni = new Array("MSXML2.XMLHTTP.6.0",
        "MSXML2.XMLHTTP.5.0 ",
        "MSXML2.XMLHTTP.4.0",
        "MSXML2.XMLHTTP.3.0",
        "MSXML2.XMLHTTP",
        "Microsoft.XMLHTTP");
        for (var i=0; i<versioni.length && !xmlHttp; i++)
        {
            try
            {
                xmlHttp = new ActiveXObject(versioni[i]);
            }
            catch (e) {}
        }
    }

    if (!xmlHttp) 
    alert("Impossibile istanziare l'oggetto XmlHttpRequest");
    else
    return xmlHttp;
}

function valida()
{

    if (xmlHttp)
    {
	   if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
	   {
	    	var TM= new Array();
			cognome		=	encodeURIComponent(document.getElementById("cognome").value);
			nome		=	encodeURIComponent(document.getElementById("nome").value);
			
			giorno		=	encodeURIComponent(document.getElementById("Date_Day").value);
			mese		=	encodeURIComponent(document.getElementById("Date_Month").value);
			anno		=	encodeURIComponent(document.getElementById("Date_Year").value);

			via			=	encodeURIComponent(document.getElementById("via").value);
			numero		=	encodeURIComponent(document.getElementById("numero").value);
			cap			=	encodeURIComponent(document.getElementById("cap").value);
			comune		=	encodeURIComponent(document.getElementById("comune").value);
			provincia	=	encodeURIComponent(document.getElementById("provincia").value);
			
			mail		=	encodeURIComponent(document.getElementById("mail").value);
			cell		=	encodeURIComponent(document.getElementById("cell").value);
			tel			=	encodeURIComponent(document.getElementById("tel").value);
			fax			=	encodeURIComponent(document.getElementById("fax").value);
			
			confMail	=	encodeURIComponent(document.getElementById("confMail").checked);
			confCell	=	encodeURIComponent(document.getElementById("confCell").checked);
			confTel 	=	encodeURIComponent(document.getElementById("confTel").checked);
			confFax 	=	encodeURIComponent(document.getElementById("confFax").checked);
			
			occupazione			=	encodeURIComponent(document.getElementById("occupazione").value);
			periodoPreferito	=	encodeURIComponent(document.getElementById("periodoPreferito").value);
			periodoPreferito2	=	encodeURIComponent(document.getElementById("periodoPreferito2").value);
			compagniaVacanza	=	encodeURIComponent(document.getElementById("compagniaVacanza").value);
			figli				=	getCheckedValue(document.forms['frmSpogliati'].elements['figli']);
			nascitaPrimoFiglio	=	encodeURIComponent(document.getElementById("nascitaPrimoFiglio").value);
			nascitaUltimoFiglio	=	encodeURIComponent(document.getElementById("nascitaUltimoFiglio").value);
			
			esigenzaPrimaria	=	encodeURIComponent(document.getElementById("esigenzaPrimaria").value);
			esigenzaAltro		=	encodeURIComponent(document.getElementById("esigenzaAltro").value);
			fidelizzato			=	getCheckedValue(document.forms['frmSpogliati'].elements['fidelizzato']);
			tourOperator		=	encodeURIComponent(document.getElementById("tourOperator").value);
			viaggiProssimi		=	encodeURIComponent(document.getElementById("viaggiProssimi").value);
			commento			=	encodeURIComponent(document.getElementById("commento").value);
			autorizzazione 		=	encodeURIComponent(document.getElementById("autorizzazione").checked);
			tipoConoscenza		=	encodeURIComponent(document.getElementById("tipoConoscenza").value);
			
			password		=	encodeURIComponent(document.getElementById("password").value);
			confPassword	=	encodeURIComponent(document.getElementById("confPassword").value);
			
			var esperienza = new Array();
			for (i=0;i<=3;i++)
			{
				esperienza[i]=	encodeURIComponent(document.getElementById('destinazione_'+(i+1)).value)+'[@]'+
								encodeURIComponent(document.getElementById('tourOperator_'+(i+1)).value)+'[@]'+
								encodeURIComponent(document.getElementById('spesa_'+(i+1)).value)+'[@]'+
								encodeURIComponent(document.getElementById('periodo_'+(i+1)).value)+'[@]'+
								encodeURIComponent(document.getElementById('soddisfazione_'+(i+1)).value);	
			}
			
			try
	        {		
                //document.getElementById("loading").style.visibility="visible";

                xmlHttp.open("POST", "validate.php", true);
                xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 	
                xmlHttp.onreadystatechange = risposta_validazione;
				xmlHttp.send("cognome=" + cognome + "&nome=" + nome + "&giorno=" + giorno + "&mese=" + mese + "&anno=" + anno + "&via=" + via + 
							 "&numero=" + numero +"&cap=" + cap + "&comune=" + comune + "&provincia=" + provincia + "&mail=" + mail + "&cell=" + cell + 
							 "&tel=" + tel + "&fax=" + fax + "&confMail=" + confMail + "&confCell=" + confCell + "&confTel=" + confTel + "&confFax=" + confFax +
							 "&occupazione=" + occupazione + "&periodoPreferito=" + periodoPreferito + "&periodoPreferito2=" + periodoPreferito2 +
							 "&compagniaVacanza=" + compagniaVacanza + "&figli=" + figli + "&nascitaPrimoFiglio=" + nascitaPrimoFiglio +"&nascitaUltimoFiglio=" +
							 nascitaUltimoFiglio + "&esigenzaPrimaria=" + esigenzaPrimaria + "&esigenzaAltro=" + esigenzaAltro +"&fidelizzato=" + fidelizzato +
							 "&tourOperator=" + tourOperator + "&viaggiProssimi=" + viaggiProssimi + "&commento=" + commento +"&autorizzazione=" + autorizzazione +
							 "&tipoConoscenza=" + tipoConoscenza + "&esperienza_1=" + esperienza[0] + "&esperienza_2=" + esperienza[1] + 
							 "&esperienza_3=" + esperienza[2] + "&esperienza_4=" + esperienza[3]+ "&password=" + password + "&confPassword=" + confPassword);
			}
	        catch (e)
	        {
	            alert ("Errore nella validazione dei campi... Riprova tra qualche secondo ...");
	            setTimeout("valida();", 5000); 
	        }
	    }
	}
}

function risposta_validazione()
{
    if(xmlHttp.readyState == 4){
     
	    if (xmlHttp.status == 200) 
	    {
	     
	        try
	        {
	         /* 
			 	in questo caso, per semplice dimostrazione, utilizzerò
	            responseText in luogo di responseXml: la risposta ritornata
	            al client sarà una stringa di testo costituita da coppie
	            nome_del_div/valore, separate tra di loro dalla stringa
	            [|]
	         */
	            var response = xmlHttp.responseText; 

	            var update = new Array(); 			 
	            var counter = 1;
	         	var index;
				
	
	
	            if(response.indexOf('[|]' != -1)) 
				{
	                update = response.split('[|]');
					
					ctrl=false;
					while (update[counter])	   
	                {   
						//alert(update[counter]);
						document.getElementById(update[counter]).innerHTML = update[counter+1];
	                    //alert(update[counter] + '---' + update[counter+1]+ '---' + update[counter+2]);
						
						if (update[counter+1]=="")
						{ 	document.getElementById(update[counter]).style.display="none";
							s= "";
							so_applyStyleString(document.getElementById(update[counter+2]),s);
						}
						else
						{	
							ctrl=true;
							if (update[counter+2]=="messaggio_ok")
							{
								
								document.getElementById(update[counter]).style.display="block";
								s="color:#ffffff;font-weight:bold;";
								so_applyStyleString(document.getElementById(update[counter+2]),s);
								if (update[counter+1]=="ok_ins"){
									location.href = "register_ok.php";
								}
							}
							else
							{
								if (update[counter]=='errorAutorizzazione')
								{
									document.getElementById('msgAutorizzazione').style.display="block";
									s="color: #ff0000;";
									so_applyStyleString(document.getElementById(update[counter+2]),s);
								}
								else
								{
									document.getElementById(update[counter]).style.display="block";
									s="border:1px solid #ff0000;" + document.getElementById(update[counter+2]).getAttribute("style");
									so_applyStyleString(document.getElementById(update[counter+2]),s);
								}
							}
							
							
						}     
	                    counter=counter+3;
	                }
	                
	              //  document.getElementById("loading").style.visibility = "hidden"; 
				  if (ctrl==false)
				  {
						
						//return cancella_campi();  
				  }
	            }
	
	        }	
	        catch(e)
	        {
				alert(e);
	        }
	        
		}
		
    }
    
}

function so_applyStyleString(obj,str){
if(document.all && !window.opera)
    obj.style.setAttribute("cssText",str);
else
    obj.setAttribute("style",str);
} 

function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	/*if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";*/
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}
