var xmlHttp = getXmlHttpObject();

function loadList(){
 id=document.forms["curform"].elements["tx_EventRegister_pi1[DATA][prov]"].value; 
 tb="citta";
 url="typo3conf/ext/EventRegister/script/request.php";
 xmlHttp.open("GET", url+"?table="+tb+"&id="+id, true);
 xmlHttp.onreadystatechange = stateChanged;
 xmlHttp.send(null);
}



function addOption(select, value, text) {
 //Aggiunge un elemento ad una select
 var option = document.createElement("option");
 option.value = value,
 option.text = text;
 try {
 select.add(option, null);
 } catch(e) {
 //Per Internet Explorer
 select.add(option);
 }
}


 function getSelected(select) {
 //ritorna il valore dell'elemento selezionato
 return select.options[select.selectedIndex].value;
 }


function stateChanged() {
 if(xmlHttp.readyState == 4) {
 //Stato OK
 if (xmlHttp.status == 200) {
 var resp = xmlHttp.responseText;

if(resp) {
 var values = resp.split(';');
 var listId = values.shift();
 //var select = document.getElementById(listId);
 var select = document.forms["curform"].elements["tx_EventRegister_pi1[DATA][town]"];
 //svuota elementi precedenti
   while (select.options.length) {
      select.remove(0);
   }

if(listId == 'province') {
 addOption (select, 0, '– Selezionare la provincia –');
 }

 var limit = values.length;
 var pair = "";
for(i=0; i < limit; i++) {
 addOption(select, values[i], values[i]);
 }
 }
 } else {
 alert(xmlHttp.responseText);
 }
 }
 }

function hider(ntext, nsel, msg){

 var val = document.forms["curform"].elements[nsel].value;

 document.forms["curform"].elements[ntext].value = val;

 if ( val == "Altro"){

 document.forms["curform"].elements[ntext].type = "text";
 document.forms["curform"].elements[ntext].value = msg; 

 }else{

 document.forms["curform"].elements[ntext].type = "hidden";

}

}

function hideProfessione(){

 nsel = "profsel";
 ntext="tx_EventRegister_pi1[DATA][work]";
 msg = "indicare una professione";
 hider(ntext, nsel, msg);

}

//funzione per abilitare Ajax, la chiamata è diversa a seconda del browser
 function getXmlHttpObject()
 {
 var xmlHttp=null;
 try
 {
 //Firefox e Opera
 xmlHttp=new XMLHttpRequest();
 }
 catch(e)
 {
 //Internet Explorer
 try
 {
 xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
 }
 catch(e)
 {
 xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
 }
 }
 return xmlHttp;
 
}






function keyCheck(eventObj, obj)
{
var keyCode;

if (document.all){
keyCode=eventObj.keyCode;
}
else{
keyCode=eventObj.which;
}

var str=obj.value;

if((keyCode<48 || keyCode >58) && (keyCode != 46) && (keyCode != 8) && (keyCode != 24) && (keyCode != 148)){ 
return false;
}

return true;
}


function limit(field, chars) {
	if (field.value.length > chars) field.value = field.value.substr(0, chars);
}

function startLoad(){

var soption = document.getElementById("radio_1");

soption.checked = true;

}

function controllomail(email)
   {

   Filtro = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
   if (Filtro.test(email)){
			return "";
    }else{
			return "errato";
      }
   }


function controllodata(stringa){
	var espressione = /^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/;
	if (!espressione.test(stringa))
	{
	    return "errato";
	}else{
		anno = parseInt(stringa.substr(6),10);
		mese = parseInt(stringa.substr(3, 2),10);
		giorno = parseInt(stringa.substr(0, 2),10);
		
		var data=new Date(anno, mese-1, giorno);
		if(data.getFullYear()==anno && data.getMonth()+1==mese && data.getDate()==giorno){
			return "";
		}else{
			return "errato";
		}
	}
}




function validmsg(){

if(validate()==false){
	alert("Attenzione sono presenti campi obbligatori non compilati !!");
	return false;
}

return true;

}

function validate(){


var i=0;


var tgd = new Array(
   "tx_EventRegister_pi1_DATA_name",
   "tx_EventRegister_pi1_DATA_lastname",
   "tx_EventRegister_pi1_DATA_address",
   "tx_EventRegister_pi1_DATA_town",
   "tx_EventRegister_pi1_DATA_prov",
   "tx_EventRegister_pi1_DATA_cap",
   "tx_EventRegister_pi1_DATA_email",
   "tx_EventRegister_pi1_DATA_work",
   "tx_EventRegister_pi1_DATA_privacycheck"
   );

var tgc = new Array(
   "tx_EventRegister_pi1[DATA][name]",
   "tx_EventRegister_pi1[DATA][lastname]",
   "tx_EventRegister_pi1[DATA][address]",
   "tx_EventRegister_pi1[DATA][town]",
   "tx_EventRegister_pi1[DATA][prov]",
   "tx_EventRegister_pi1[DATA][cap]",
   "tx_EventRegister_pi1[DATA][email]",
   "tx_EventRegister_pi1[DATA][work]",
   "tx_EventRegister_pi1[DATA][privacycheck]"
    );

for (i=0;i<=8;i++)
{

	res = ResetValidateField(tgd[i]);
	
}


for (i=0;i<=8;i++)
{


	if (validateField(tgd[i],tgc[i]) == "NO"){

		return false;


	}else if(i == 6) {

		if( controllomail(document.forms["curform"].elements[tgc[i]].value) != "" ){

			alert("Il campo email risulta errato o incompleto");
			return false;

		}

	}
}



if (document.forms["curform"].elements["tx_EventRegister_pi1[DATA][privacycheck]"].checked == false) {

	document.getElementById("errtx_EventRegister_pi1_DATA_privacycheck").className = "error";
	
	return false;

}else{

	return true;

}



}

function validateField(tgd, tgc){

var valField = document.forms["curform"].elements[tgc]; 



	if (valField.value==null || valField.value.length==0 || valField.value=="undefined" || valField.value==""){
		document.getElementById("err"+tgd).className = "error";
	
		return "NO";
	}else{
		
		return "YES";
	}

}

function ResetValidateField(tgd){


	document.getElementById("err"+tgd).className = "noerror";
	

}





