	//scrivo la funzione per l'hander che quando riceve la richiesta, lancia un alert
function myHandler() {
			if (myRequest.readyState == 4 && myRequest.status == 200) {
				  var e = document.getElementById("resultMsg");
				  e.innerHTML = myRequest.responseText;
	
			 
			}
		}
	
function controllIsSet(resource, id, textError){
	if (resource.length < 1) {
		$(id).removeClassName('invisible');
		$(id).innerHTML = "<span class=\"error\">Inserisci il campo: <em>\"" + textError + "\"</em></span>";
		Effect.Appear(id);
		Effect.Fade(id, {
			delay: 10.1
		});
		return (1);
	}else{return (0); }
}
function controllIsMailValid(email, id){
	var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
	if (!email_reg_exp.test(email) || (email == "") || (email == "undefined")) {
		$(id).removeClassName('invisible');
		$(id).innerHTML = "<span class=\"error\">Inserisci un indirizzo email corretto: <em>esempio@esempio.it</em></span>";
		Effect.Appear(id);
		Effect.Fade(id, {
			delay: 10.1
		});
		return (1);
	}
	else {
		return (0);
	}
}

function controllIsNumberValid(number, id){
	var tel_reg_exp = /^([0-9_\.\-])+$/;
	if (!tel_reg_exp.test(number) || (number == "") || (number == "undefined")) {
		$(id).removeClassName('invisible');
		$(id).innerHTML = "<span class=\"error\">Inserisci un numero corretto: <em>solo numeri</em> senza lettere, spazi, caratteri speciali.</span>";
		Effect.Appear(id);
		Effect.Fade(id, {
			delay: 10.1
		});
		return (1);
	}
	else {
		return (0);
	}
}

function dateCompare(date1, date2, id){
	date1A=date1.split("-");
	date2A=date2.split("-");
	//trasformo le date nel formato aaaammgg (es. 20081103)
	date1str = date1A[0]+date1A[1]+date1A[2];
	date2str = date2A[0]+date2A[1]+date2A[2];
	if (date2str-date1str<0) {
		$(id).removeClassName('invisible');
		$(id).innerHTML = "<span class=\"error\">La data di partenza, è <em>precedente</em> alla data di arrivo.</span>";
		Effect.Appear(id);
		Effect.Fade(id, {
			delay: 10.1
		});
          return(1);
	}else{
		Effect.Fade(id);
		return(0);
    }
}

function arraySum(myArray){
	var i;
	var mySum=0;
	for(i=0; i < myArray.length; i++ ){
		mySum= mySum + Number(myArray[i]);
	}
	return mySum; 
}

function controlService(audio, video, graphics, night, id ){
	
	
	if(audio == 0|| video == 0|| graphics == 0|| night == 0){	

		$(id).removeClassName('invisible');
		$(id).innerHTML = "<span class=\"error\">Seleziona almeno un servizio!</span>";
		Effect.Appear(id);
		Effect.Fade(id, {
			delay: 10.1
		});
          return(1);
	}else{
		Effect.Fade(id);
		return(0);
    }
}

function valueFishContacts(){
	error=new Array();
	var error_trans;
		
	//errori
	//Nome
	var nome= $('nome').value;
	error_trans=controllIsSet(nome, 'nome_error', 'Nome');
	error.push(error_trans);
	//Cognome
	var cognome = $('cognome').value;	
	error_trans=	controllIsSet(cognome, 'cognome_error', 'Cognome');
	error.push(error_trans);
	//Email
	var email = $('email').value;
	error_trans=	controllIsSet(email, 'email_error', 'Email');
	error.push(error_trans);
	var last= error.length - 1; 
	if(error[last]==0){
		error_trans=controllIsMailValid(email, 'email_error');
		error.push(error_trans);
	}
	
	//Telefono
	var tel = $('tel').value;
	error_trans=	controllIsSet(tel, 'tel_error', 'Telefono');
	error.push(error_trans);
	var last= error.length - 1; 
	if(error[last]==0){
		error_trans=controllIsNumberValid(tel, 'tel_error');
		error.push(error_trans);
	}
	
	//ore
	var ore = $('ore').value;
	error_trans=	controllIsSet(ore, 'ore_error', 'Numero di ore');
	error.push(error_trans);
	var last= error.length - 1; 
	if(error[last]==0){
		error_trans=controllIsNumberValid(ore, 'ore_error');
		error.push(error_trans);
	}
	//date
	var data_inizio = $('data_inizio').value;
	var data_fine   = $('data_fine').value;
	error_trans =dateCompare(data_inizio, data_fine, 'date_error');
	error.push(error_trans);
	//termini e condizioni

	
	//calcolo del servizio
	var audio= $('audio').checked;
	var video= $('audio').checked;
	var graphics= $('audio').checked;
	var night= $('audio').checked;

	error_trans =controlService(audio, video, graphics, night, 'service_error');
	error.push(error_trans);
	
	
	
	
	var controllo= $('controllo').checked;
	if(controllo==false) {
      	$('controllo_error').removeClassName('invisible');
		$('controllo_error').innerHTML = "<span class=\"error\">E' necesasario accettare i <em>Termini e le Condizioni</em></span>";
		Effect.Appear('controllo_error');
		Effect.Fade('controllo_error', {
				delay: 10.1
		});
		error.push(1);
   	}  error.push(0);
	

	//valore note
	var testo =$('testo').value;
		
/*LISTA VALORI
 *
 * nome 		[varchar]
 * cognome		[varchar]
 * mail 		[varcar]
 * tel 			[varchar]
 * ospiti		[int]
 * data_inizio	[date]
 * data_fine	[date]
 * camera		[s, d]
 * testo		[text]
 */
		
	//controllo che non ci sia nemmeno un errore nell'array error!
	if(arraySum(error)==0){
		//disabilito il bottone invia
		$('invia_button').innerHTML = '<img src="img/loader.gif" alt="sto inviando la mail" title="Invio prenotazione in corso"/>';
		//Updater per l'invio della mail
		new Ajax.Updater('resultMsgOk', 'contatti_modulo_tr.php', {
							method: 'post', 
							parameters: { 	nome	: 	nome,
											cognome : 	cognome,
											email	:	email,
											tel		: 	tel,
											ore 	: 	ore,
											data_inizio : 	data_inizio,
											data_fine 	: 	data_fine,
											audio	: 	audio,
											audio	: 	audio,
											video	: 	video,
											graphics	: 	graphics,
											testo 	:	 testo}, 
							onComplete: function() {
								//riabilito il bottone invia
								$('invia_button').innerHTML = '<input type="button" value="Invia" class="invia" onclick="valueFishContacts();"/>';
							}
			});		
		//messaggio di risposta
			
	}
	else{
		$('resultMsg').innerHTML = "<span class=\"error\">Il modulo di compilazione contiene errori. Correggili clicca su <em>Invia</em></span>";
		Effect.Appear('resultMsg');
		Effect.Fade('resultMsg', {
				delay: 10.1
		});
	}
}


function valueFishContactsGuida(){
	error=new Array();
	var error_trans;
		
	//errori
	//Nome
	var nome= $('nome').value;
	error_trans=controllIsSet(nome, 'nome_error', 'Nome');
	error.push(error_trans);
	//Cognome
	var cognome = $('cognome').value;	
	error_trans=	controllIsSet(cognome, 'cognome_error', 'Cognome');
	error.push(error_trans);
	//Azienda
	var azienda = $('azienda').value;
	error_trans=	controllIsSet(azienda, 'azienda_error', 'Azienda');
	error.push(error_trans);
	//Email
	var email = $('email').value;
	error_trans=	controllIsSet(email, 'email_error', 'Email');
	error.push(error_trans);
	var last= error.length - 1; 
	if(error[last]==0){
		error_trans=controllIsMailValid(email, 'email_error');
		error.push(error_trans);
	}
	
	
	
	
	var controllo= $('controllo').checked;
	if(controllo==false) {
      	$('controllo_error').removeClassName('invisible');
		$('controllo_error').innerHTML = "<span class=\"error\">Per inviare la prenotazione devi accettare i <em>Termini e le Condizioni</em></span>";
		Effect.Appear('controllo_error');
		Effect.Fade('controllo_error', {
				delay: 10.1
		});
		error.push(1);
   	}  error.push(0);
	

		
/*LISTA VALORI
 *
 * nome 		[varchar]
 * cognome		[varchar]
 * azienda 		[varcar]
 * email		[varchar]
 */
		
	//controllo che non ci sia nemmeno un errore nell'array error!
	if(arraySum(error)==0){
		//disabilito il bottone invia
		$('invia_button').innerHTML = '<img src="img/loader.gif" alt="sto inviando la mail" title="Invio prenotazione in corso"/>';
		//Updater per l'invio della mail
		new Ajax.Updater('resultMsgOkGuida', 'contatti_modulo_guida.php', {
							method: 'post', 
							parameters: { 	nome	: 	nome,
											cognome : 	cognome,
											email	:	email,
											azienda		: 	azienda
										}, 
							onComplete: function() {
								//riabilito il bottone invia
								$('invia_button').innerHTML = '<input type="button" value="" class="scarica" onclick="valueFishContactsGuida();"/>';
								//apro il popup
								url = "http://www.acqualiofilizzata.eu/download/Comunicazione_e_marketing_PMI.pdf"; 
								location.href =url;
							}
			});		
		//messaggio di risposta
			
	}
	else{
		$('resultMsg').innerHTML = "<span class=\"error\">Il modulo di compilazione contiene errori. Correggili clicca su <em>Invia</em></span>";
		Effect.Appear('resultMsg');
		Effect.Fade('resultMsg', {
				delay: 10.1
		});
	}
}

