
function change_visibility(id){
	if (document.getElementById)
    if (document.getElementById(id).style.display=='none')
		  document.getElementById(id).style.display='block'; // cambiare block con inline a seconda dell'elemento da mostrare
		else
      document.getElementById(id).style.display='none';
	else if (document.all)
	  if (document.all[id].style.display=='none')
		  document.all[id].style.display='block';
		else
		  document.all[id].style.display='none';
	else if (document.layers)
	  if (document.layers[id].display=='none')
		  document.layers[id].display='block';
		else
      document.layers[id].display='none';
	else
		alert("Browser incompatibile!");
}

function show(id){
	if (document.getElementById)
		document.getElementById(id).style.display='block';
	else if (document.all)
		document.all[id].style.display='block';
	else if (document.layers)
		document.layers[id].display='block';
	else
		alert("Browser incompatibile!");
}
function reset(id){
	if (document.getElementById)
		document.getElementById(id).style.display='none';
	else if (document.all)
		document.all[id].style.display='none';
	else if (document.layers)
		document.layers[id].display='none';
	else
		alert("Browser incompatibile!");
}


/*
function popupInformativa(info) {
	window.open(info,"informative","width=600,height=260,scrollbars=yes,resizable=yes");
	return false;
}
*/
function indietro(){
  history.back();
	return false;
}


function restituisciElemento(id) {
	if (document.getElementById)
		elemento = document.getElementById(id);
	else if (document.all)
		elemento = document.all[id];
	else if (document.layers)
		elemento =  document.layers[id];
	else
		alert("Browser incompatibile!");
	return elemento;
}

function indirizzoEmailValido(indirizzo) {
  if (window.RegExp) {
    var nonvalido = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)";
    var valido = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$";
    var regnv = new RegExp(nonvalido);
    var regv = new RegExp(valido);
    if (!regnv.test(indirizzo) && regv.test(indirizzo))
      return true;
    return false;
	}else {
    if(indirizzo.indexOf("@") >= 0)
      return true;
    return false;
  }
}
/*
function isEmail(strEmail){
  validRegExp = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
  if (strEmail.search(validRegExp) == -1) {
    alert('Check the email address!');
    return false;
  }
  return true;
}
*/
//Controllo data, si ringrazia: http://dailywars.altervista.org/blog/controllare-le-date-con-javascript/

// la funzione si basa sull'utilizzo del metodo parseInt
// di cui si riporta di seguito un esempio:

// esempio : ParseInt(11) = 11
// esempio : ParseInt(11ss) = 11
// esempio : ParseInt(aaa) = NaN

// Se il dato in input � un numero avremo lo stesso output da parseInt
// mentre in caso di contenuto alfanumerico avremo NaN oppure la parte
// numerica della stringa. L'esito della funzione sar� true se
// input = output
// per una maggiore precisione nel controllo ho preferito effettuare un
// ciclo in modo da controllare ogni songolo carattere piuttosto che la stringa
// intera
function numerico(stringain){
	var stringaout;
	var carattere;

	for (i=0;i<stringain.length;i++){
		carattere=stringain.charAt(i);
		if (parseInt(carattere)!=carattere)
			return false;
	}
	return true;

}

function verificadata(dataFieldName){

   var dataverifica;
   var dataoutput;

   var gginput;
   var mminput;
   var aaaainput;

   var ggoutput;
   var mmoutput;
   var aaaaoutput;

//var datainput=document.getElementById("txtdata").value;
var datainput=document.getElementById(dataFieldName).value;


// la prima cosa che si controlla � che la data sia stata effettivamente
// immessa e che sia di 10 caratteri

   if (datainput=="")
    {
     return false;
    }

   if (datainput.length!=10)
    {
//     alert ('Date format must be DD/MM/YYYY');
     return false;
    }


// vengono ricavati il l'anno, il mese ed il giorno dalla data in input


   gginput=datainput.substr(0,2);
   mminput=datainput.substr(3,2);
   aaaainput=datainput.substr(6,4);


// tramite la funzione numerico viene verificato che il giorno, il mese
// e l'anno immessi siano effettivamente in formato numerico


   if(!(numerico(gginput)))
    {
//     alert ('Il giorno inserito non � in formato numerico');
     return false;
    }

   if(!(numerico(mminput)))
    {
//     alert ('Il mese inserito non � in formato numerico');
     return false;
    }

   if(!(numerico(aaaainput)))
    {
//     alert ('L`anno inserito non � in formato numerico');
     return false;
    }


// viene utilizzato un oggetto data per la verifica costruendola in base
// ai parametri ricavati in input (l'anno � sottratto di 1 perch� la funzione data
// considera i mesi partendo da zero)


   dataverifica =new Date(aaaainput,mminput-1,gginput)


// dalla data creata viene ricavato l'anno, il mese ed il giorno (il mese � incrementato
// di 1 per restituire il mese nel formato standard)


   aaaaoutput=dataverifica.getFullYear().toString();
   mmoutput=(dataverifica.getMonth()+1).toString();
   ggoutput=dataverifica.getDate().toString();


// poich� le funzioni getMonth e getDate restituiscono valori numerici
// occorre aggiungere lo zero per i mesi e gli anni unitari (es "1/1/2005")
// il controllo � effettuato sulla lunghezza della stringa (se < 2 aggiungi lo zero)


   if (mmoutput.length<2)
     mmoutput="0"+mmoutput;

   if (ggoutput.length<2)
     ggoutput="0"+ggoutput;


// La data in output � costituita dai dati ricavati precedentemente separati
// dal carattere "/" dopo aver aggiunto


   dataoutput=ggoutput+"/"+mmoutput+"/"+aaaaoutput;


// viene confrontata la data in input con quella in output
// se non coincidono vuol dire che la data non � corretta


   if (datainput!=dataoutput)
//     alert('La data inserita non � corretta');
return false;
   else
//     alert('La data inserita � corretta');
return true;

 }





//Controlli form varie, da personalizzare a seconda delle form

function controllaForm(strLang) {
//  nome = restituisciElemento('nome');
//  cognome = restituisciElemento('cognome');
//  ruolo = restituisciElemento('ruolo');
//  citta = restituisciElemento('citta');
//  email = restituisciElemento('email');
//  note = restituisciElemento('note');
  strAccetto = restituisciElemento('strAccetto');
  strEmail =  restituisciElemento('strEmail');
  strNome =  restituisciElemento('strNome');
  strMessaggio =  restituisciElemento('strMessaggio');

  switch(strLang){
  	case 'it':
  	default:
  		accettoAlert='Per inviare il messaggio è necessario accettare le condizioni sul trattamento dei dati personali';
  		emailAlert='L\'indirizzo email inserito non è valido';
  		nomeAlert='Ha dimenticato di inserire il Nome';
  		messaggioAlert='Ha dimenticato di inserire il Messaggio';
  		break;
  	case 'en':
  		accettoAlert='To send the message you have to accept the privacy law';
  		emailAlert='Email address is not valid';
  		nomeAlert='Please write your name';
  		messaggioAlert='Please write your message';
  		break;
  		/*
  	case 'fr':
  		accettoAlert='';
  		emailAlert='';
  		nomeAlert='';
  		messaggioAlert='';
  		break;
  	case 'de':
  		accettoAlert='';
  		emailAlert='';
  		nomeAlert='';
  		messaggioAlert='';
  		break;
  	case 'es':
  		accettoAlert='';
  		emailAlert='';
  		nomeAlert='';
  		messaggioAlert='';
  		break;
  	case 'ru':
  		accettoAlert='Для того, чтобы продолжить, необходимо прочитать и принять соглашение об обработке личных данных';
  		emailAlert='';
  		nomeAlert='';
  		messaggioAlert='';
  		break;
  	case 'ar':
  		accettoAlert='للإستمرار يجب قراءة وإعطاء الموافقة على البيانات المتعلقة بقانون التصرف بالمعطيات الشخصية';
  		emailAlert='';
  		nomeAlert='';
  		messaggioAlert='';
  		break;
  */
  }

	if 	(strNome.value=="") {
		alert(nomeAlert);
		return false;
	}else if(indirizzoEmailValido(strEmail.value)==false){
	 alert(emailAlert);
	 return false;
  }else if 	(strMessaggio.value=="") {
		alert(messaggioAlert);
		return false;
	}/*else if 	(ruolo.value=="") {
		alert("Ha dimenticato di inserire la Funzione aziendale");
		return false;
	} else if 	(citta.value=="") {
		alert("Ha dimenticato di inserire la Citt�");
		return false;
	} else if 	(note.value=="") {
		alert("Ha dimenticato di inserire il Messaggio");
		return false;
	} else if (validaEmail(email)) {*/
	else{
		if (strAccetto.checked) {
			return true;
		} else {
			alert(accettoAlert);
			return false;
		}
  }
}



function controllaFormPren(strLang) {
  strAccetto = restituisciElemento('strAccetto');
  strEmail =  restituisciElemento('strEmail');
  strNome =  restituisciElemento('strNome');
  strCognome =  restituisciElemento('strCognome');
  strCel =  restituisciElemento('strCel');
  strLuogoRitiro =  restituisciElemento('strLuogoRitiro');
  strLuogoConsegna =  restituisciElemento('strLuogoConsegna');

  //traduzioni
  switch(strLang){
  	case 'it':
  	default:
  		accettoAlert='Per inviare il messaggio è necessario accettare le condizioni sul trattamento dei dati personali';
  		emailAlert='L\'indirizzo email inserito non è valido';
  		nomeAlert='Ha dimenticato di inserire il Nome';
  		cognomeAlert='Ha dimenticato di inserire il Cognome';
  		celAlert='Ha dimenticato di inserire il numero di telefono';
  		luogoRitiroAlert='Ha dimenticato di indicare il luogo del ritiro';
  		luogoConsegnaAlert='Ha dimenticato di inserire il luogo della consegna';
  		dataRitiroAlert='La data di ritiro non e\' valida';
  		dataConsegnaAlert='La data di consegna non e\' valida';
  		break;
  	case 'en':
  		accettoAlert='To send the message you have to accept the privacy law';
  		nomeAlert='Please write your name';
  		emailAlert='L\'indirizzo email inserito non è valido';
  		cognomeAlert='Ha dimenticato di inserire il Cognome';
  		celAlert='Ha dimenticato di inserire il telefono';
  		luogoRitiroAlert='Ha dimenticato di indicare il luogo del ritiro';
  		luogoConsegnaAlert='Ha dimenticato di inserire il luogo della consegna';
  		dataRitiroAlert='La data di ritiro non e\' valida';
  		dataConsegnaAlert='La data di consegna non e\' valida';
  		break;
  		/*
  	case 'fr':
  		accettoAlert='';
  		nomeAlert='';
  		emailAlert='';
  		cognomeAlert='';
  		celAlert='';
  		luogoRitiroAlert='';
  		luogoConsegnaAlert='';
  		dataRitiroAlert='';
  		dataConsegnaAlert='';
  		break;
  	case 'de':
  		accettoAlert='Um fortfahren zu können, müssen Sie das Informationsblatt zur Bearbeitung der Personendaten lesen und ihm zustimmen';
  		nomeAlert='';
  		emailAlert='';
  		cognomeAlert='';
  		celAlert='';
  		luogoRitiroAlert='';
  		luogoConsegnaAlert='';
  		dataRitiroAlert='';
  		dataConsegnaAlert='';
  		break;
  	case 'es':
  		accettoAlert='';
  		nomeAlert='';
  		emailAlert='';
  		cognomeAlert='';
  		celAlert='';
  		luogoRitiroAlert='';
  		luogoConsegnaAlert='';
  		dataRitiroAlert='';
  		dataConsegnaAlert='';
  		break;
  	case 'ru':
  		accettoAlert='Для того, чтобы продолжить, необходимо прочитать и принять соглашение об обработке личных данных';
  		nomeAlert='';
  		emailAlert='';
  		cognomeAlert='';
  		celAlert='';
  		luogoRitiroAlert='';
  		luogoConsegnaAlert='';
  		dataRitiroAlert='';
  		dataConsegnaAlert='';
  		break;
  	case 'ar':
  		accettoAlert='للإستمرار يجب قراءة وإعطاء الموافقة على البيانات المتعلقة بقانون التصرف بالمعطيات الشخصية';
  		nomeAlert='';
  		emailAlert='';
  		cognomeAlert='';
  		celAlert='';
  		luogoRitiroAlert='';
  		luogoConsegnaAlert='';
  		dataRitiroAlert='';
  		dataConsegnaAlert='';
  		break;
  		*/
  }


	if(strNome.value=="") {
		alert(nomeAlert);
		return false;
	}else if(strCognome.value=="") {
		alert(cognomeAlert);
		return false;
	}else if(strCel.value=="") {
		alert(celAlert);
		return false;
	}else if(indirizzoEmailValido(strEmail.value)==false){
	 alert(emailAlert);
	 return false;
  }else if(!verificadata('strDataRitiro')) {
		alert(dataRitiroAlert);
		return false;
	}else if(!verificadata('strDataConsegna')) {
		alert(dataConsegnaAlert);
		return false;
	}else if(strLuogoConsegna.value=="") {
		alert(luogoConsegnaAlert);
		return false;
	} else if(strLuogoRitiro.value=="") {
		alert(luogoRitiroAlert);
		return false;
	} else{
		if (strAccetto.checked) {
			return true;
		} else {
			alert(accettoAlert);
			return false;
		}
  }
}

function controllaFormNewsletter(strLang) {

  /*nome = restituisciElemento('nome');
  cognome = restituisciElemento('cognome');
  ruolo = restituisciElemento('ruolo');
  citta = restituisciElemento('citta');
  email = restituisciElemento('email');
  note = restituisciElemento('note');*/
  strAccetto = restituisciElemento('privacy');
  strEmail =  restituisciElemento('email');
  /*strNome =  restituisciElemento('strNome');
  strMessaggio =  restituisciElemento('strMessaggio');
	if 	(strNome.value=="") {
		alert("Please write your name");
		return false;
	}else */

  //traduzioni
  switch(strLang){
  	case 'it':
  	default:
  		accettoAlert='Per inviare il messaggio è necessario accettare le condizioni sul trattamento dei dati personali';
  		emailAlert='L\'indirizzo email inserito non è valido';
  		break;
  	case 'en':
  		accettoAlert='To send the message you have to accept the privacy law';
  		emailAlert='';
  		break;
  	/*case 'fr':
  		accettoAlert='';
  		emailAlert='';
  		break;
  	case 'de':
  		accettoAlert='';
  		emailAlert='';
  		break;
  	case 'es':
  		accettoAlert='';
  		emailAlert='';
  		break;
  	case 'ru':
  		accettoAlert='';
  		emailAlert='';
  		break;
  	case 'ar':
  		accettoAlert='للإستمرار يجب قراءة وإعطاء الموافقة على البيانات المتعلقة بقانون التصرف بالمعطيات الشخصية';
  		emailAlert='';
  		break;*/
  }

  if(indirizzoEmailValido(strEmail.value)==false){
	 alert(emailAlert);
	 return false;
  }/*else if 	(strMessaggio.value=="") {
		alert("Please write your message");
		return false;
	}else if 	(ruolo.value=="") {
		alert("Ha dimenticato di inserire la Funzione aziendale");
		return false;
	} else if 	(citta.value=="") {
		alert("Ha dimenticato di inserire la Citt�");
		return false;
	} else if 	(note.value=="") {
		alert("Ha dimenticato di inserire il Messaggio");
		return false;
	} else if (validaEmail(email)) {*/
	else{
		if (strAccetto.checked) {
			return true;
		} else {
			alert(accettoAlert);
			return false;
		}
  }
}