/**
 * Funzione che consente l'inserimento di un oggetto falash all'interno di un
 * div per evitare problemi con Internet Explorer o altri browser
 * 
 * @param DivEmbedder -
 *            il div che conterrą l'immagine
 * @param ObjectName -
 *            il nome dell'oggetto flash all'interno della pagina
 * @param Width
 *            la larghezza dell'oggetto
 * @param Height
 *            l'altezza dell'oggetto
 * @param URLname
 *            il riferimento all'oggetto Flash
 * @param Alignment
 *            l'allineamento all'interno del div
 * @param Color
 *            il colore di sfondo
 */
function InsertFlashControl(DivEmbedder, ObjectName, Width, Height, URLname,
		Alignment, Color) {
	var embeddiv = document.getElementById(DivEmbedder);
	var dateRld = new Date();
	if (Color == undefined)
		Color = "#ffffff";
	embeddiv.innerHTML = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"'
			+ 'codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width='
			+ Width
			+ ' height='
			+ Height
			+ '  align='
			+ Alignment
			+ ' VIEWASTEXT >'
			+ '<param name="allowScriptAccess" value="sameDomain" />'
			+ '<param name="movie" value="'
			+ URLname + '?rld=' + dateRld.getTime()
			+ '" />'
			+ '<param name="quality" value="high" /><param name="wmode" value="transparent" /><param name="menu" value="false" />'
			+ '<param name="bgcolor" value='
			+ Color
			+ ' />'
			+ '<param name="align" value='
			+ Alignment
			+ ' />'
			+ '<embed src="'
			+ URLname + '?rld=' + dateRld.getTime()
			+ '" quality="high" bgcolor='
			+ Color
			+ ' width='
			+ Width
			+ ' height='
			+ Height
			+ ' name='
			+ ObjectName
			+ ' align='
			+ Alignment
			+ ' allowScriptAccess="sameDomain"'
			+ ' wmode= "transparent" type="application/x-shockwave-flash"'
			+ ' menu="false" pluginspage="http://www.macromedia.com/go/getflashplayer" />'
			+ '</object>';
}

/**
 * Funzione di attivazione dell'immagine rollover sull'evento onMouseUp
 * 
 * @param owner
 *            il controllo su cui si vuole intercettare l'evento
 * @param name
 *            il nome dell'immagine da visulizzare
 */
function mouseUpImage(owner, name) {
	owner.src = "/img/" + name + "Up.jpg";
}

/**
 * Funzione di attivazione dell'immagine rollover sull'evento onMouseOut
 * 
 * @param owner
 *            il controllo su cui si vuole intercettare l'evento
 * @param name
 *            il nome dell'immagine da visulizzare
 */
function mouseDownImage(owner, name) {
	owner.src = "/img/" + name + ".jpg";
}

/**
 * Apre una popup contenente il file indicato
 * 
 * @param immagine
 *            il file da visualizzare nella popup
 */
function openView(immagine) {
	window
			.open(
					immagine,
					null,
					"width=700,height=500,toolbar=no,resizable=no,menubar=no,locations=no,scrollbars=no");
}

/**
 * Funzione che convalida la compilazione della form di richiesta della
 * prenotazione. Se la convalida ha successo la form viene inviata al server per
 * elaborazione della richiesta di prenotazione.
 */
function doSubmitReservationMail() {
	var form = document.getElementById("reserve_form");
	var erroreMes = document.getElementById("err_msg");
	var messaggio = '<ul style="color:#FF0000;text-align:left;">';
	var correct = true;

	var cognome = document.getElementById("cog");
	var nome = document.getElementById("nom");
	var arrivo = document.getElementById("arrivo");
	var partenza = document.getElementById("partenza");
	var stanze = document.getElementById("stanze");
	var persone = document.getElementById("persone");
	var giorni = document.getElementById("giorni");
	var mail = document.getElementById("mail");
	var telefono = document.getElementById("telefono");
	var cellulare = document.getElementById("cellulare");

	if (cognome.value == null || cognome.value == "") {
		messaggio += "<li>Cognome mancante</li>";
		correct = false;
	}
	if (nome.value == null || nome.value == "") {
		messaggio += "<li>Nome mancante</li>";
		correct = false;
	}
	if (arrivo.value == null || arrivo.value == "") {
		messaggio += "<li>Data d&acute;arrivo mancante</li>";
		correct = false;
	} else {
		arrivopat = /^(0[1-9]|[12][0-9]|3[01])[- \.\/](0[1-9]|1[012])[-\.\/](19|20)\d\d$/;
		if (!arrivopat.test(arrivo.value)) {
			messaggio += "<li>Data d&acute;arrivo errata (formato corretto:GG/MM/AAAA)</li>";
			correct = false;
		}

	}
	if (partenza.value == null || partenza.value == "") {
		messaggio += "<li>Data di partenza mancante</li>";
		correct = false;
	} else {
		partenzapat = /^(0[1-9]|[12][0-9]|3[01])[- \.\/](0[1-9]|1[012])[-\.\/](19|20)\d\d$/;
		if (!partenzapat.test(partenza.value)) {
			messaggio += "<li>Data di partenza errata (formato corretto:GG/MM/AAAA)</li>";
			correct = false;
		}
	}
	if (persone.value == null || persone.value == "" || persone.value == "0") {
		messaggio += "<li>Numero di persone da prenotare mancante</li>";
		correct = false;
	} else {
		personepat = /^([0-9])*$/;
		if (!personepat.test(persone.value)) {
			messaggio += "<li>Numero di persone da prenotare errato</li>";
			correct = false;
		}
	}
	if (mail.value == null || mail.value == "") {
		messaggio += "<li>E-Mail mancante</li>";
		correct = false;
	} else {
		emailpat = /^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9])+(\.[a-zA-Z0-9_-]+)+$/;
		if (!emailpat.test(mail.value)) {
			messaggio += "<li>E-Mail errata</li>";
			correct = false;
		}
	}
	if ((telefono.value == null || telefono.value == "")
			&& (cellulare.value == null || cellulare.value == "")) {
		messaggio += "<li>Telefono o cellulare mancante</li>";
		correct = false;
	}
	if (correct) {
		form.submit();
	} else {
		messaggio += "</ul>";
		erroreMes.innerHTML = messaggio;
	}
}

/**
 * Funzione che consente l'inserimento di un oggetto falash all'interno di un
 * div per evitare problemi con Internet Explorer o altri browser
 * 
 * @param DivEmbedder -
 *            il div che conterrą l'immagine
 * @param ObjectName -
 *            il nome dell'oggetto flash all'interno della pagina
 * @param Width
 *            la larghezza dell'oggetto
 * @param Height
 *            l'altezza dell'oggetto
 * @param URLname
 *            il riferimento all'oggetto Flash
 * @param Alignment
 *            l'allineamento all'interno del div
 * @param Color
 *            il colore di sfondo
 */
function InsertFlashWindow(ObjectName, Width, Height, URLname, Alignment, Color) {
	if (Color == undefined)
		Color = "#ffffff";
	var text = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"'
			+ 'codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width='
			+ Width
			+ ' height='
			+ Height
			+ '  align='
			+ Alignment
			+ ' VIEWASTEXT >'
			+ '<param name="allowScriptAccess" value="sameDomain" />'
			+ '<param name="movie" value="'
			+ URLname
			+ '" />'
			+ '<param name="quality" value="high" /><param name="wmode" value="transparent" /><param name="menu" value="false" />'
			+ '<param name="bgcolor" value='
			+ Color
			+ ' />'
			+ '<param name="align" value='
			+ Alignment
			+ ' />'
			+ '<embed src="'
			+ URLname
			+ '" quality="high" bgcolor='
			+ Color
			+ ' width='
			+ Width
			+ ' height='
			+ Height
			+ ' name='
			+ ObjectName
			+ ' align='
			+ Alignment
			+ ' allowScriptAccess="sameDomain"'
			+ ' wmode= "transparent" type="application/x-shockwave-flash"'
			+ ' menu="false" pluginspage="http://www.macromedia.com/go/getflashplayer" />'
			+ '</object>';

	var l = Math.floor((screen.width - Width) / 2);
	var t = Math.floor((screen.height - Height) / 2);
	var wind = open("", "", "width=" + (Width + 5) + ",height=" + (Height + 5)
			+ ",top=" + t + ",left=" + l
			+ ",toolbar=no,location=no,status=no,scrollbars=no");
	wind.document.write(text);
	wind.document.close();

}
