/*****************************************************************
SEZIONE FUNZIONI DI CONTROLLO SINGOLI CAMPI PER FORM GENERICO
******************************************************************/

// CONTROLLO CAMPI

function ctrl_textFields(nome,id,id2,tipo){
	switch(tipo){
		case "_":       // controlla se il campo e' vuoto
		  if(document.getElementById(id).value == false){
				alert(nome+": campo mancante");
				document.getElementById(id).focus();
				//document.getElementById(id).style.border = "1px solid #ff6600";
				return false;
		  }else{
				return true;
		  }
		break;
		case "__":      // controlla se il campo e' vuoto con ""
		  if(document.getElementById(id).value == ""){
				alert(nome+": campo mancante");
				document.getElementById(id).focus();
				//document.getElementById(id).style.border = "1px solid #ff6600";
				return false;
		  }else{
				return true;
		  }
		break;
		case "@":       // controlla la validità del campo mail
			if(!vm_isEmail(document.getElementById(id).value)){
				alert(nome+": campo non valido");
				//document.getElementById(id).style.border = "1px solid #ff6600";
				document.getElementById(id).focus();
				return false;
			}else{
				return true;
			}
		break;
		case "=":       // confronta due campi
			if(document.getElementById(id).value != document.getElementById(id2).value){
				alert("Le password non coincidono");
				document.getElementById(id).focus();
				//document.getElementById(id).style.border = "1px solid #ff6600";
				document.getElementById(id2).value = "";
				return false;
			}else{
				return true;
			}
		break;
		case "h":       // controlla se il campo e' vuoto
			if(document.getElementById(id2).value == false){
				alert(nome+": campo mancante");
				document.getElementById(id).focus();
				//document.getElementById(id).style.border = "1px solid #ff6600";
				return false;
			}else{
				return true;
			}
			break;
  
		case "name":   // controlla la validita' dei campi tipo nome, cognome
			if(!vm_isName(document.getElementById(id).value)){
				alert(nome+": campo non valido");
				//document.getElementById(id).style.border = "1px solid #ff6600";
				document.getElementById(id).focus();
				return false;
			}else{
				//alert('si');
				return true;
			}
		break;

		case "num":   // controlla la validita' dei campi numerici
			if(!vm_isNum(document.getElementById(id).value)){
				alert(nome+": campo non valido");
				//document.getElementById(id).style.border = "1px solid #ff6600";
				document.getElementById(id).focus();
				return false;
			}else{
				//alert('si');
				return true;
			}
		break;

		case "date": 
			if(!vm_isDate(document.getElementById(id).value)){
				alert(nome+": campo non valido");
				//document.getElementById(id).style.border = "1px solid #ff6600";
				document.getElementById(id).focus();
				return false;
			}else{
				//alert('si');
				return true;
			}
		break;

		case "date": 
			if(!vm_isDate(document.getElementById(id).value)){
				alert(nome+": campo non valido");
				//document.getElementById(id).style.border = "1px solid #ff6600";
				document.getElementById(id).focus();
				return false;
			}else{
				//alert('si');
				return true;
			}
		break;

		case "address":    // controlla la validita' dei campi tipo tel, cell, fax
			if(!vm_isAddress(document.getElementById(id).value)){
				alert(nome+": campo non valido");
				//document.getElementById(id).style.border = "1px solid #ff6600";
				document.getElementById(id).focus();
				return false;
			}else{
				//alert('si');
				return true;
			}
		break;
		
		case "cf":       // controlla la validita' del campo codice fiscale
		  if(!vm_isCF(document.getElementById(id).value)){
			alert(nome+": campo non valido");
			//document.getElementById(id).style.border = "1px solid #ff6600";
			document.getElementById(id).focus();
			return false;
		  }else{
			return true;
		  }
		break;
	  
		case "cf2":       // controlla la validita' del campo codice fiscale
			if(!vm_isCF2(document.getElementById(id).value)){
				alert(nome+": i dati anagrafici inseriti non coincidono con il valore digitato.");
				//document.getElementById(id).style.border = "1px solid #ff6600";
				document.getElementById(id).focus();
				return false;
			}else{
				return true;
			}
		break;
  
		case "pi":       // controlla la validita' del campo partita iva
			if(!vm_isPartitaIva(document.getElementById(id).value)){
				alert(nome+": campo non valido");
				//document.getElementById(id).style.border = "1px solid #ff6600";
				document.getElementById(id).focus();
				return false;
			}else{
				return true;
			}
		break;
 
		case "cap":       // controlla la validita' del campo partita iva
			if(!vm_isCap(document.getElementById(id).value)){
				alert(nome+": campo non valido");
				//document.getElementById(id).style.border = "1px solid #ff6600";
				document.getElementById(id).focus();
				return false;
			}else{
				return true;
			}
		break; 

		case "p":       // controlla la validita' del campo USER
			if(!vm_isUser(document.getElementById(id).value)){
				alert(nome+": campo non valido. "+nome+" deve avere un minimo di 6 caratteri e accetta solo lettere, numeri e il simbolo di underscore _");
				//document.getElementById(id).style.border = "1px solid #ff6600";
				document.getElementById(id).focus();
				return false;
			}else{
				return true;
			}
		break;

		case "textarea":
			if(!vm_isTextarea(document.getElementById(id).value)){
				alert(nome+": campo non valido. Il testo può contenere solo caratteri standard: lettere, numeri e i caratteri .,:?+-_");
				//document.getElementById(id).style.border = "1px solid #ff6600";
				document.getElementById(id).focus();
				return false;
			}else{
				return true;
			}
		break;

		default:
		alert("tipo non riconosciuto");
		
		return false;
	}
}

function ctrl_radioFields(elementName, elementLabel){
  elements=document.getElementsByName(elementName);
	flag=false;
  for(i=0; i<elements.length; i++)
    if(elements[i].checked==true) flag = true || flag;
	if(flag==false)
		alert("CAMPO "+elementLabel+" NULLO");
	else
			return true;
}


// IDENTIFICAZIONE E VALIDAZIONE TIPO DI DATO IN INPUT

function vm_isName(parameter) {	
	if (parameter.length<2) {
		return false;
	}
	else{
		//var myRegex = /[:alpha:]+/gi; // Ogni carattere non di parola
		var myRegex = /[^a-z\'\ \Uffffffff\Uffffffff\Uffffffff\Uffffffff\Uffffffff]/i;
		if (myRegex.test(parameter)) {
		    return false;
		} else {
			//alert('si');
			return true;
		}
	}
}

function vm_isNum(parameter) {
	var myRegex = /[0-9]/;
	if (myRegex.test(parameter)) {
			return true;
	} else {
			//alert("Caratteri non ammessi");
			return false;
	}
	
}

function vm_isDate(parameter) {
	//alert("ciao");
	var myRegex = /^[0-3]{1}[0-9]{1}-[0-1]{1}[0-9]{1}-2[0-9]{3}$/;
	if (myRegex.test(parameter)) {
	    return true;
	} else {
	    return false;
	}
}

function vm_isPhone(parameter) {	
	var myRegex = /[^0-9\+\-\ ]/;
	if (myRegex.test(parameter)) {
	    return false;
	} else {
	    return true;
	}
}

function vm_isAddress(parameter) {	
	if (parameter.length<2) {
		return false;
	}
	else{
		var myRegex = /[^a-z0-9\'\ \,\.\-\'\Uffffffff\Uffffffff\Uffffffff\Uffffffff\Uffffffff]/i;
		if (myRegex.test(parameter)) {
			return false;
		} else {
			return true;
		}
	}
}

function vm_isTextarea(parameter) {	
	if (parameter.length<2) {
		return false;
	}
	else{
		var myRegex = /[^a-z0-9\'\ \,\.\-\'\?\.\;\:\Uffffffff\Uffffffff\Uffffffff\Uffffffff\Uffffffff]/i;
		if (myRegex.test(parameter)) {
			return false;
		} else {
			return true;
		}
	}
}

function vm_isCF(cf)	{
	var validi, i, s, set1, set2, setpari, setdisp;
	if( cf == "" )  return "";
	cf = cf.toUpperCase();
	if( cf.length != 16 )
		return false;
	validi = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
	for( i = 0; i < 16; i++ ){
		if( validi.indexOf( cf.charAt(i) ) == -1 )
			return false;
	}
	set1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	set2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ";
	setpari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	setdisp = "BAKPLCQDREVOSFTGUHMINJWZYX";
	s = 0;
	for( i = 1; i <= 13; i += 2 )
		s += setpari.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
	for( i = 0; i <= 14; i += 2 )
		s += setdisp.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
	if( s%26 != cf.charCodeAt(15)-"A".charCodeAt(0) )
		return false;
	return true;
}
function vm_isCF2(cf)	{
	if( cf==CalcolaCodiceFiscale() ){
		//alert('si');
		return true;
	}
	else{
		//alert('no');
		//alert('BIS '+CalcolaCodiceFiscale());
		return false;
	}
}

function vm_isPartitaIva(piva) {
	if (piva.length!=11) {
		return false;
	}
	validi = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
	var somma = 0;
	for (i=0;i<5;i++) {
		if (i%2==0) {
			somma += parseInt(piva.charAt(i));
		} else {
			var cifra = parseInt(piva.charAt(i));
			somma += contributo[cifra];
		}
	}
	if (somma%10==0) return true;
	else return false;
}

function vm_isCap(cap) {	
	if (cap.length!=5) {
		return false;
	}
	else{
		var myRegex = /\d{5}/; //5 cifre 
		if (myRegex.test(cap)) {
		    return true;
		} else {
		    return false;
		}		
	}
}

function vm_isUser(cap) {	
	if (cap.length<6) {
		return false;
	}
	else{
		var myRegex = /\W/i; // Ogni carattere non di parola
		if (myRegex.test(cap)) {
		    return false;
		} else {
		    return true;
		}
	}
}

function vm_isEmail(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 CalcolaCodiceFiscale() {
	
	//var aa = document.subordinato;
	document.getElementById('nome').value = document.getElementById('nome').value.toUpperCase();
	document.getElementById('cognome').value = document.getElementById('cognome').value.toUpperCase();
	document.getElementById('comuneNascita').value = document.getElementById('comuneNascita').value.toUpperCase();
	//alert(document.getElementById('comuneNascita').value);
	var gs=0;
	var i=0;
	var somma=0;
	
	strCodFis="";
	strcognome="";
	strnome="";
	strgiornosex="";
	chrcontrollo='';
	
	 
	Giorno=parseInt(document.getElementById('giornonascita').value,10); 
	AnnoCento=19;
	AnnoDieci=document.getElementById('annonascitaDec').value;
	AnnoZero=document.getElementById('annonascitaUn').value;
	Mese=document.getElementById('mesenascita').value;
	Comune=document.getElementById('comuneNascita').value.toUpperCase();
	Sesso=parseInt(document.getElementById('sesso').value,10);



	// Processa il cognome
	//---------------------------------------------------------------- //
	for (i=0; i<document.getElementById('cognome').value.length; i++) {
		switch (document.getElementById('cognome').value.charAt(i)) {
	    case 'A':
	    case 'E':
	    case 'I':
	    case 'O':
	    case 'U': break;            
	    default : 
	    if((document.getElementById('cognome').value.charAt(i)<='Z')&& (document.getElementById('cognome').value.charAt(i)>'A'))
	     strcognome = strcognome + document.getElementById('cognome').value.charAt(i);
	  }
	}
	
	if (strcognome.length < 3) {
		for (i=0; i<document.getElementById('cognome').value.length; i++) {
			switch (document.getElementById('cognome').value.charAt(i)) {
				case 'A':
				case 'E':
				case 'I':
				case 'O':
				case 'U': strcognome = strcognome + document.getElementById('cognome').value.charAt(i);
			}
		}
		if (strcognome.length < 3) {
			for (i=strcognome.length; i<=3; i++) { strcognome = strcognome + 'X'; }
		}
	}
	strcognome = strcognome.substring(0,3);
	//------------------------------------------------------------ 



	// processa il nome
	//----------------------------------------------------------------
	for (i=0; i<document.getElementById('nome').value.length; i++) {
		switch (document.getElementById('nome').value.charAt(i)) {
			case 'A':
			case 'E':
			case 'I':
			case 'O':
			case 'U': break;
			default:
				if((document.getElementById('nome').value.charAt(i)<='Z')&& (document.getElementById('nome').value.charAt(i)>'A'))
			  	strnome = strnome + document.getElementById('nome').value.charAt(i);
		}
	}
	if (strnome.length > 3) {
		strnome = strnome.substring(0,1) + strnome.substring(2,4);
	}
	else {
	  if (strnome.length < 3) {
			for (i=0; i<document.getElementById('nome').value.length; i++) {
				switch (document.getElementById('nome').value.charAt(i)) {
					case 'A':
					case 'E':
					case 'I':
					case 'O':
					case 'U': strnome = strnome + document.getElementById('nome').value.charAt(i);
				}
			}
			if (strnome.length < 3) {
				for (i=strnome.length; i<=3; i++) { strnome = strnome + 'X'; }
			}
	  }
  	strnome = strnome.substring(0,3);
	}
 //--------------------------------------- Fine processa nome




 	// processa giorno e sesso
 	//--------------------------------------------
  gs = Giorno + (40 * Sesso);
  if(gs<10) strgiornosex = "0" + gs;
  else strgiornosex =  gs;
 	//--------------------------------------------

 	strCodFis = strcognome + strnome + AnnoDieci + AnnoZero + Mese + strgiornosex + Comune;
 
	// calcola la cifra di controllo     
	//--------------------------------------------
	for (i=0; i<15; i++) {
    if (((i+1) % 2) != 0) {
    	//caratteri dispari
			switch (strCodFis.charAt(i)) {
				case '0':{ somma += 1; break;}
				case 'A':{ somma += 1; break;}
				case '1':{ somma += 0; break;}
				case 'B':{ somma += 0; break;}
				case '2':{ somma += 5; break;}
				case 'C':{ somma += 5; break;}
				case '3':{ somma += 7; break;}
				case 'D':{ somma += 7; break;}
				case '4':{ somma += 9; break;}
				case 'E':{ somma += 9; break;}
				case '5':{ somma += 13; break;}
				case 'F':{ somma += 13; break;}
				case '6':{ somma += 15; break;}
				case 'G':{ somma += 15; break;}
				case '7':{ somma += 17; break;}
				case 'H':{ somma += 17; break;}
				case '8':{ somma += 19; break;}
				case 'I':{ somma += 19; break;}
				case '9':{ somma += 21; break;}
				case 'J':{ somma += 21; break;}
				case 'K':{ somma += 2; break;}
				case 'L':{ somma += 4; break;}
				case 'M':{ somma += 18; break;}
				case 'N':{ somma += 20; break;}
				case 'O':{ somma += 11; break;}
				case 'P':{ somma += 3; break;}
				case 'Q':{ somma += 6; break;}
				case 'R':{ somma += 8; break;}
				case 'S':{ somma += 12; break;}
				case 'T':{ somma += 14; break;}
				case 'U':{ somma += 16; break;}
				case 'V':{ somma += 10; break;}
				case 'W':{ somma += 22; break;}
				case 'X':{ somma += 25; break;}
				case 'Y':{ somma += 24; break;}
				case 'Z':{ somma += 23; break;}
    	}
    } 
		else {
			//caratteri pari
      switch (strCodFis.charAt(i)) {
        case '0':{ somma += 0; break;}
        case 'A':{ somma += 0; break;}
        case '1':{ somma += 1; break;}
        case 'B':{ somma += 1; break;}
        case '2':{ somma += 2; break;}
        case 'C':{ somma += 2; break;}
        case '3':{ somma += 3; break;}
        case 'D':{ somma += 3; break;}
        case '4':{ somma += 4; break;}
        case 'E':{ somma += 4; break;}
        case '5':{ somma += 5; break;}
        case 'F':{ somma += 5; break;}
        case '6':{ somma += 6; break;}
        case 'G':{ somma += 6; break;}
        case '7':{ somma += 7; break;}
        case 'H':{ somma += 7; break;}
        case '8':{ somma += 8; break;}
        case 'I':{ somma += 8; break;}
        case '9':{ somma += 9; break;}
        case 'J':{ somma += 9; break;}
        case 'K':{ somma += 10; break;}
        case 'L':{ somma += 11; break;}
        case 'M':{ somma += 12; break;}
        case 'N':{ somma += 13; break;}
        case 'O':{ somma += 14; break;}
        case 'P':{ somma += 15; break;}
        case 'Q':{ somma += 16; break;}
        case 'R':{ somma += 17; break;}
        case 'S':{ somma += 18; break;}
        case 'T':{ somma += 19; break;}
        case 'U':{ somma += 20; break;}
        case 'V':{ somma += 21; break;}
        case 'W':{ somma += 22; break;}
        case 'X':{ somma += 23; break;}
        case 'Y':{ somma += 24; break;}
        case 'Z':{ somma += 25; break;}
    	}
		}
  }
  somma1=somma;
  somma = somma % 26;
	switch (somma) {
	  case 0: {chrcontrollo='A'; break;}
	  case 1: {chrcontrollo='B'; break;}
	  case 2: {chrcontrollo='C'; break;}
	  case 3: {chrcontrollo='D'; break;}
	  case 4: {chrcontrollo='E'; break;}
	  case 5: {chrcontrollo='F'; break;}
	  case 6: {chrcontrollo='G'; break;}
	  case 7: {chrcontrollo='H'; break;}
	  case 8: {chrcontrollo='I'; break;}
	  case 9: {chrcontrollo='J'; break;}
	  case 10: {chrcontrollo='K'; break;}
	  case 11: {chrcontrollo='L'; break;}
	  case 12: {chrcontrollo='M'; break;}
	  case 13: {chrcontrollo='N'; break;}
	  case 14: {chrcontrollo='O'; break;}
	  case 15: {chrcontrollo='P'; break;}
	  case 16: {chrcontrollo='Q'; break;}
	  case 17: {chrcontrollo='R'; break;}
	  case 18: {chrcontrollo='S'; break;}
	  case 19: {chrcontrollo='T'; break;}
	  case 20: {chrcontrollo='U'; break;}
	  case 21: {chrcontrollo='V'; break;}
	  case 22: {chrcontrollo='W'; break;}
	  case 23: {chrcontrollo='X'; break;}
	  case 24: {chrcontrollo='Y'; break;}
	  case 25: {chrcontrollo='Z'; break;}
	}       
  //--------------------------------------------

	codiceFiscaleCalcolato = strCodFis.toUpperCase() + chrcontrollo;
	//document.getElementById('codiceFiscale').value = codiceFiscaleCalcolato;
	//alert(codiceFiscaleCalcolato);	
	return codiceFiscaleCalcolato;
}

/*****************************************************************
SEZIONE FUNZIONI DI CONTROLLO FORM SPECIFICI
******************************************************************/

// Funzione controllo e invio form REGISTRAZIONE
function ctrl_subscription1(obj){
	
	flag = true;
	
	flag = flag && ctrl_textFields('NOME','nome','','_');
	flag = flag && ctrl_textFields('NOME','nome','','name');
	flag = flag && ctrl_textFields('COGNOME','cognome','','_');
	flag = flag && ctrl_textFields('COGNOME','cognome','','name');
	
	/*
	flag = flag && ctrl_textFields('SESSO','sesso','','_0');
	flag = flag && ctrl_textFields('PROVINCIA DI NASCITA','provinciaNascita','','_');
	flag = flag && ctrl_textFields('COMUNE DI NASCITA','comuneNascita','','_');
	flag = flag && ctrl_textFields('CODICE FISCALE','cod_fisc','','cf2');
	flag = flag && ctrl_textFields('INDIRIZZO','indirizzo','','_');
	flag = flag && ctrl_textFields('INDIRIZZO','indirizzo','','address');
	flag = flag && ctrl_textFields('PROVINCIA','provinciaDomicilio','','_');
	flag = flag && ctrl_textFields('CITTA\'','comuneDomicilio','','_');
	flag = flag && ctrl_textFields('CAP','cap','','cap');
	flag = flag && ctrl_textFields('STATO','stato','','_');
	*/
	/*
	flag = flag && ctrl_textFields('TELEFONO CELLULARE','tel_cell','','_');
	flag = flag && ctrl_textFields('TELEFONO CELLULARE','tel_cell','','phone');
	*/
	flag = flag && ctrl_textFields('EMAIL','email','','_');
	flag = flag && ctrl_textFields('EMAIL','email','','@');
	
	/*
	flag = flag && ctrl_textFields('USER','user','','p');
	
	flag = flag && ctrl_textFields('PASSWORD','pass','','_');
	flag = flag && ctrl_textFields('RISCRIVI PASSWORD','pass2','','_');
	flag = flag && ctrl_textFields('PASSWORD NON COINCIDE','pass','pass2','=');
	*/
	
	if(flag){
		if(document.getElementById('privacySi').checked==false) alert("Per proseguire è necessario fornire il consenso.");
		flag = document.getElementById('privacySi').checked;
	}
	if(flag){
		valAreaRegistrazione = document.getElementById('areaRegistrazione').value;
		strUri = "&cmd_reg_type="+valAreaRegistrazione+buildUri(obj);
		myajax.post("?cmd=registraUtente",strUri);
	}
	myajax.echoFunction=function(aa){
		//alert(aa);
		if(aa=="emailExists"){
			alert("Email già presente nel database. Se hai già provato a registrarti ma hai dimenticato il codice di attivazione richiedi lo sblocco scrivendo a info@ladanaide.it");
		}
		else if(aa=="cellExists"){
			alert("Numero di cellulare già presente nel database. Se hai già provato a registrarti ma hai dimenticato il codice di attivazione richiedi lo sblocco scrivendo a info@ladanaide.it");
		}
		else{
			location.href=aa;
		}
	}
}
function ctrl_subscription2(obj){

	flag = true;

	flag = flag && ctrl_textFields('NOME','nome','','_');
	flag = flag && ctrl_textFields('NOME','nome','','name');
	flag = flag && ctrl_textFields('COGNOME','cognome','','_');
	flag = flag && ctrl_textFields('COGNOME','cognome','','name');

	/*
	flag = flag && ctrl_textFields('SESSO','sesso','','_0');
	flag = flag && ctrl_textFields('PROVINCIA DI NASCITA','provinciaNascita','','_');
	flag = flag && ctrl_textFields('COMUNE DI NASCITA','comuneNascita','','_');
	flag = flag && ctrl_textFields('CODICE FISCALE','cod_fisc','','cf2');
	flag = flag && ctrl_textFields('INDIRIZZO','indirizzo','','_');
	flag = flag && ctrl_textFields('INDIRIZZO','indirizzo','','address');
	flag = flag && ctrl_textFields('PROVINCIA','provinciaDomicilio','','_');
	flag = flag && ctrl_textFields('CITTA\'','comuneDomicilio','','_');
	flag = flag && ctrl_textFields('CAP','cap','','cap');
	flag = flag && ctrl_textFields('STATO','stato','','_');
	

	flag = flag && ctrl_textFields('TELEFONO CELLULARE','tel_cell','','_');
	flag = flag && ctrl_textFields('TELEFONO CELLULARE','tel_cell','','phone');
	*/
 
	flag = flag && ctrl_textFields('EMAIL','email','','_');
	flag = flag && ctrl_textFields('EMAIL','email','','@');


	flag = flag && ctrl_textFields('PASSWORD','pass','','_');
	flag = flag && ctrl_textFields('RISCRIVI PASSWORD','pass2','','_');
	flag = flag && ctrl_textFields('PASSWORD NON COINCIDE','pass','pass2','=');

	if(flag){
		if(document.getElementById('privacySi').checked==false) alert("Per proseguire è necessario fornire il consenso.");
		flag = document.getElementById('privacySi').checked;
	}
	if(flag){
		valAreaRegistrazione = document.getElementById('areaRegistrazione').value;
		strUri = "&cmd_reg_type="+valAreaRegistrazione+buildUri4AllType(obj);
		myajax.post("?cmd=registraUtente",strUri);
	}
	myajax.echoFunction=function(aa){
		alert(aa);
		if(aa=="emailExists"){
			alert("Email già presente nel database. Se hai già provato a registrarti ma hai dimenticato il codice di attivazione richiedi lo sblocco scrivendo a info@eternitypub.it");
		}
		else if(aa=="cellExists"){
			alert("Numero di cellulare già presente nel database. Se hai già provato a registrarti ma hai dimenticato il codice di attivazione richiedi lo sblocco scrivendo a info@eternitypub.it");
		}
		else{
			location.href=aa;
		}
	}
}
// Funzione controllo form CONFERMA
function ctrl_subscriptionConfirm(obj) {
	//alert(document.getElementById('email').value);
	flag = true;

	/*
	flag = flag && ctrl_textFields('TELEFONO CELLULARE','tel_cell','','_');
	flag = flag && ctrl_textFields('TELEFONO CELLULARE','tel_cell','','phone');
	*/
	flag = flag && ctrl_textFields('EMAIL','email','','_');
	flag = flag && ctrl_textFields('EMAIL','email','','@');

	flag = flag && ctrl_textFields('CODICE DI VERIFICA','password','','_');

	if(flag){
		strUri = buildUri4AllType(obj);
		myajax.post("?cmd=verificaRegistrazione",strUri);
	}
	myajax.echoFunction=function(aa){
		location.href=aa;
	}
}
// Funzione controllo form ELIMINA REGISTRAZIONE
function ctrl_delSubscription(obj){

	flag = true;

	flag = flag && ctrl_textFields('EMAIL','email','','_');
	flag = flag && ctrl_textFields('EMAIL','email','','@');

	if(flag){
		if((document.getElementById('flag_news').checked==false) && (document.getElementById('flag_cliente').checked==false))
			alert("Segnare almeno una casella.");
		flag = (document.getElementById('flag_news').checked || document.getElementById('flag_cliente').checked);
	}
	if(flag) {
		alert('si');
	}
	else {
		alert('no');
		/*
		valAreaRegistrazione = document.getElementById('areaRegistrazione').value;
		strUri = "&cmd_reg_type="+valAreaRegistrazione+buildUri4AllType(obj);
		myajax.post("?cmd=registraUtente",strUri);
		*/
	}
	/*
	myajax.echoFunction=function(aa){
		alert(aa);
		if(aa=="emailExists"){
			alert("Email già presente nel database. Se hai già provato a registrarti ma hai dimenticato il codice di attivazione richiedi lo sblocco scrivendo a info@eternitypub.it");
		}
		else if(aa=="cellExists"){
			alert("Numero di cellulare già presente nel database. Se hai già provato a registrarti ma hai dimenticato il codice di attivazione richiedi lo sblocco scrivendo a info@eternitypub.it");
		}
		else{
			location.href=aa;
		}
	}
	*/
}

// Funzione controllo form CONTATTI
function ctrl_contacts(obj) {
	flag = true;
	flag = flag && ctrl_textFields('NOME','nome','','_');
	flag = flag && ctrl_textFields('NOME','nome','','name');
	flag = flag && ctrl_textFields('EMAIL','indirizzoEmail','','_');
	flag = flag && ctrl_textFields('EMAIL','indirizzoEmail','','@');
  /*
	flag = flag && ctrl_textFields('TELEFONO','telefono','','_');
	flag = flag && ctrl_textFields('TELEFONO','telefono','','phone');
  */
	flag = flag && ctrl_textFields('OGGETTO','oggetto','','_');
	flag = flag && ctrl_textFields('TESTO','messaggio','','_');
	return flag;
}
function ctrlAndGo_contacts(obj) { 
	flag = true;
  /*
	flag = flag && ctrl_textFields('NOME','nome','','_');
	flag = flag && ctrl_textFields('NOME','nome','','name');
	flag = flag && ctrl_textFields('COGNOME','cognome','','_');
	flag = flag && ctrl_textFields('COGNOME','cognome','','name');
  */
	flag = flag && ctrl_textFields('EMAIL','email','','_');
	flag = flag && ctrl_textFields('EMAIL','email','','@');
  /*
	flag = flag && ctrl_textFields('TELEFONO','telefono','','_');
	flag = flag && ctrl_textFields('TELEFONO','telefono','','phone');
	flag = flag && ctrl_textFields('OGGETTO','oggetto','','_');
  */
	flag = flag && ctrl_textFields('MESSAGGIO','messaggio','','_');

	if(flag){
		strUri = buildUri4AllType(obj) + '&type=contacts';
		myajax.post("/?cmd=sendMessage",strUri);
		//alert("si");
	}
	myajax.echoFunction=function(aa){
		location.href=aa;
		//alert("no");
	}
}

// Funzione controllo form BOOKING
function ctrl_booking(obj) {
	flag = true;

  flag = flag && ctrl_textFields('DATA INIZIO','arr_date','','_');
	flag = flag && ctrl_textFields('DATA INIZIO','arr_date','','date');

	flag = flag && ctrl_textFields('DATA FINE','dep_date','','_');
	flag = flag && ctrl_textFields('DATA FINE','dep_date','','date');

  flag = flag && ctrl_textFields('NUMERO PERSONE','no_adults','','_');
	flag = flag && ctrl_textFields('NUMERO PERSONE','no_adults','','num');

  flag = flag && ctrl_textFields('NUMERO CAMERE','no_rooms','','_');
	flag = flag && ctrl_textFields('NUMERO CAMERE','no_rooms','','num');

	if(flag){
		
		strUri = buildUri4AllType(obj);
    location.href='/it/booking.html'+strUri;
    /*
		myajax.post("?cmd=conferma_prenotazione",strUri);
		alert("si");
    */
	}

}
// Funzione controllo e invio form BOOKING (2)
function ctrlAndGo_booking(obj) {
	flag = true;

  flag = flag && ctrl_textFields('DATA INIZIO','arr_date','','_');
	flag = flag && ctrl_textFields('DATA INIZIO','arr_date','','date');

	flag = flag && ctrl_textFields('DATA FINE','dep_date','','_');
	flag = flag && ctrl_textFields('DATA FINE','dep_date','','date');

  flag = flag && ctrl_textFields('NUMERO PERSONE','no_adults','','_');
	flag = flag && ctrl_textFields('NUMERO PERSONE','no_adults','','num');

  flag = flag && ctrl_textFields('NUMERO CAMERE','no_rooms','','_');
	flag = flag && ctrl_textFields('NUMERO CAMERE','no_rooms','','num');

	flag = flag && ctrl_textFields('EMAIL','email','','_');
	flag = flag && ctrl_textFields('EMAIL','email','','@');

	if(flag){
		strUri = buildUri4AllType(obj) + '&type=booking';
		myajax.post("/?cmd=sendMessage",strUri);
		//alert("si");
	}
	myajax.echoFunction=function(aa){
		location.href=aa;
		//alert(aa);
	}
}

function ctrl_selCal(id1,id2,opz) {
	data1 = document.getElementById(id1);
	data2 = document.getElementById(id2);
	opzione = document.getElementById(opz);

	myajax.echoFunction=function(aa){
		/*
		location.href=aa;
		*/
		alert("no");
	}
}

function login() { 
  var loginForm = document.getElementById("loginForm");
  if (loginForm.username.value == "") {
    alert("Inserisci il tuo user ID.");
    return false;
  }
  if (loginForm.password.value == "") {
    alert("Inserisci la password.");
    return false;
  }
  var submitForm = document.getElementById("submitForm");
  submitForm.username.value = loginForm.username.value;
  md5Password = hex_md5(loginForm.password.value);
  submitForm.response.value = hex_md5(loginForm.challenge.value+md5Password);
  submitForm.submit();
}


/*****************************************************************
SEZIONE FUNZIONI BASE AJAX
******************************************************************/
function buildUri(obj){
  var strUri = "";
  for(var n=0; n<obj.elements.length; n++){
    if((obj.elements[n].name!="") && ( (obj.elements[n].type=="text") || (obj.elements[n].type=="textarea")  || (obj.elements[n].type=="hidden") )) {
			strUri += "&"+obj.elements[n].name+"="+escape(obj.elements[n].value);
			//alert(obj.elements[n].id);
    }
  }
  return strUri;
}

// Variante per tutti i tipi di campi
function buildUri4AllType(obj){
  var strUri = "";
  for(var n=0; n<obj.elements.length; n++){
    if(obj.elements[n].name!=""){
			strUri += "&"+obj.elements[n].name+"="+escape(obj.elements[n].value);
    }
  }
  return strUri;
}

/*****************************************************************
SEZIONE FUNZIONI BASE DOM
******************************************************************/

function getPosX(obj) {
	var curleft = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
	curleft += obj.x;
	return curleft;
}

function getPosY(obj) {
	var curtop = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
	curtop += obj.y;
	return curtop;
}

function viewMex(mex){
	dTop = document.body.scrollTop+200;
	document.getElementById('loader').innerHTML = mex;
	document.getElementById('loader').style.top = dTop+"px";
	document.getElementById('loader').style.display = "block";
}

function hideMex(cont,dbg){
	if(dbg){
		document.getElementById('loader').innerHTML = cont;
	}else{
		document.getElementById('loader').style.display = "none";
		//document.getElementById('loader').innerHTML = "";
	}
}

function closeDiv(){
	document.body.style.background = "#A88B7D";
  document.getElementById("container").style.opacity = "1";
	document.getElementById("container").style.filter = "alpha(opacity=100)";
	document.getElementById("container").mozOpacity = "1";
	document.getElementById("win").style.display="none";
}

function normalizeField(obj){
  obj.style.border = "1px solid #999";
  obj.style.borderBottom = "1px solid #ccc";
  obj.style.borderRight = "1px solid #ccc";
}

/*****************************************************************
SEZIONE FUNZIONI VARIE DOM
******************************************************************/

function hideAllTagsButThis(id,tagName){
  elements=document.getElementsByTagName(tagName);
  //count=elements.length;
  for(i=0; i<elements.length; i++){
    if(elements[i].id!=id){
    	//alert(elements[i].id);
			document.getElementById(elements[i].id).style.display='none';
    }
    else{
    	document.getElementById(elements[i].id).style.display='block';
    }
  }
}

/*****************************************************************
SEZIONE GALLERY (DOM)
******************************************************************/

function openGalleryDiv(w,idOpen,idPhotoset,idFoto,corrX,corrY){
	createPlayer(idPhotoset,idFoto);
	//dTop = document.body.scrollTop;
	dTop = document.documentElement.scrollTop;
	this.win = document.getElementById('win');
	xx = getPosX(document.getElementById(idOpen))+corrX;
	yy = getPosY(document.getElementById(idOpen))+corrY+dTop;
	win.style.width = w+"px";
	win.style.overflow = "visible";
	//alert(dTop);
	win.style.top=yy+"px";
	win.style.left=xx+"px";
	win.style.display="block";
}

function caricaFotoSlideshow(){
	document.getElementById('gallery').style.display='none';
	document.getElementById('slideshow').style.display='block';
}

/*****************************************************************
SEZIONE FUNZIONI VARIE AJAX
******************************************************************/

function sendMessage(obj){
	if (ctrl_contacts(obj)){
		myUri = buildUri(obj);
		myajax.post("?cmd=sendMessage",myUri);
	}
	myajax.echoFunction=function(aa){
		location.href=aa;
	}
}

function selCal(anno,mese,campo){
	this.win = document.getElementById("select");
	myajax.post('?cmd=selCal&mese='+mese+'&anno='+anno+'&campo='+campo,'');
  myajax.echoFunction=function(aa){
  	xx = getPosX(document.getElementById(campo));
		yy = getPosY(document.getElementById(campo))-175;
		win.style.width = "";
		win.style.height = "";
		win.style.left = xx+"px";
		win.style.top = yy+"px";
		win.innerHTML = aa;
		win.style.display = "block";
  }
}
