//eventi osservati in generale e di caricamento della pagina
document.observe('click', parseId);
document.observe('mouseover', cssDisplayMouseOver);
document.observe('mouseout', cssDisplayMouseOut);

//caricamento immaginetta chiusura mappe/lastminute
var imgScrollUp = new Image(16, 16);
imgScrollUp.src = "http://www.ricercahotel.com/immagini/scroll_up.png";

function addOnloadEvent(fnc)
{
	if(typeof window.addEventListener != "undefined")
		window.addEventListener( "load", fnc, false );
	else if(typeof window.attachEvent != "undefined") 
	{
		window.attachEvent("onload", fnc);
	}
	else 
	{
		if(window.onload != null) 
		{
			var oldOnload = window.onload;
			window.onload = function(e) 
							{
								oldOnload( e );
								window[fnc]();
							};
		}
		else
			window.onload = fnc;
	}
}

function parseId(evt)
{
	var el = Event.element(evt);
	
	if(el.nodeName.toLowerCase() == 'span' && el.hasClassName('spanGrayMedium'))
	{		
		var linkRegExp = /link_(.*)/i;
		var linkText = el.id.match(linkRegExp)[1];
		javaLink(linkText);
	}
	
	if(el.nodeName.toLowerCase() == 'span' && el.hasClassName('spanGray'))
	{		
		var linkRegExp = /link_(.*)/i;
		var linkText = el.id.match(linkRegExp)[1];
		javaLink(linkText);
	}
}

function cssDisplayMouseOver(evt)
{
	var el = Event.element(evt);
	
	if(el.nodeName.toLowerCase() == 'span' && el.hasClassName('spanGray'))
	{		
		decSpan(el, 'display');
	}
}

function cssDisplayMouseOut(evt)
{
	var el = Event.element(evt);
	
	if(el.nodeName.toLowerCase() == 'span' && el.hasClassName('spanGray'))
	{		
		decSpan(el, 'remove');
	}
}

//caricamento dei dati relativi ad una singola fiera
function getSingolaFiera(elId)
{
	var url = pathHttp + 'web_services.php';
	
	var params = new Hash;
	params.set('action', 'get_singola_fiera');
	params.set('lang', lang);
	params.set('id_fiera', elId);
	new Ajax.Updater($('fiera_' + elId), url, {  
												method: 'post',
												contentType: 'application/x-www-form-urlencoded',
												parameters: params
											 });	
}

//attivazione javascript di un link
function javaLink(linkValue)
{
	var newLink = pathHttp + linkValue;
	location.href = newLink;
	return false;
}

//contaclick
function conta(id_attivita, tipologia)
{
	var jsel = document.createElement('SCRIPT');
	jsel.type = 'text/javascript';
	jsel.src = 'http://admin.abc.sm/register_visit.php?id_attivita=' + id_attivita + '&tipologia=' + tipologia + '&no_cache=' + (Math.random() * 1000);
	window.document.body.appendChild (jsel);
}

//validate form prenota online
function validate_form_rh(frm)
{
	var today = new Date();
	var arrivo = new Date(frm.elements['arrivo[Y]'].value, (frm.elements['arrivo[m]'].value - 1), frm.elements['arrivo[d]'].value);
	var partenza = new Date(frm.elements['partenza[Y]'].value, (frm.elements['partenza[m]'].value - 1), frm.elements['partenza[d]'].value);
	
	var errFlag = new Array();
	var _qfGroups = {};
	_qfMsg = '';
	
	if((today.getTime() > arrivo.getTime()) && !errFlag['arrivo_passato'])
	{
		errFlag['arrivo_passato'] = true;
		_qfMsg = _qfMsg + "\n " + $('arrivo_passato').value;
	}
	
	if((today.getTime() > partenza.getTime()) && !errFlag['partenza_passata'])
	{
		errFlag['partenza_passata'] = true;
		_qfMsg = _qfMsg + "\n " + $('partenza_passata').value;
	}	
	
	if((partenza.getTime() == arrivo.getTime()) && !errFlag['partenza_come_arrivo'])
	{
		errFlag['partenza_come_arrivo'] = true;
		_qfMsg = _qfMsg + "\n " + $('partenza_come_arrivo').value;
	}
	
	if((arrivo.getTime() > partenza.getTime()) && !errFlag['arrivo_maggiore_partenza'])
	{
		errFlag['arrivo_maggiore_partenza'] = true;
		_qfMsg = _qfMsg + "\n " + $('arrivo_maggiore_partenza').value;
	}

	if(_qfMsg != '') 
	{
		_qfMsg = $('attenzione').value + _qfMsg;
		_qfMsg = _qfMsg + "\n " + $('errore_form_testo_basso').value;
		alert(_qfMsg);
		return false;
	}
	
	return true;
}

//visualizzazione form contatti
function displayFormContatti(element, otherElement)
{
	Effect.toggle(element.relatedElement, 'blind');
	if($(otherElement).relatedElement.visible())
	{
		Effect.BlindUp($(otherElement).relatedElement.id);	
	}
}

//validate form contatti commerciali
function validateFormContattiCommerciali(element)
{
	var d = element
	var title_error = "ERRORE! Impossibile inviare la richiesta! \n\n"
	var error = ""

	if(d.email.value) 
	{ 
		if(!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(d.email.value))) 
		{
			error += "L'indirizzo e-mail inserito non è valido.\n"
		}
	}
	if(!d.referente.value)  
		error += "Inserire il nome del referente.\n"
	if(!d.nome_struttura.value)  
		error += "Inserire il nome della struttura.\n"
	if(!d.email.value)  
		error += "Inserire l'indirizzo e-mail.\n"
	if(!d.telefono.value)  
		error += "Inserire il numero di telefono.\n"

	if(error) 
	{
		alert(title_error + error); 
 		return false;
	}
  	return true;
}

//modifica data form prenota online
function incrementa_data_partenza_rh(theElement)
{
	if(theElement == 'arrivo')
	{
		var arr_d = parseFloat($('arrivo_d_rh').value) + 1;
		var arr_m = parseFloat($('arrivo_m_rh').value) - 1;
		var arr_Y = parseFloat($('arrivo_y_rh').value);
		
		var d = new Date();
		d.setFullYear(arr_Y, arr_m, arr_d);
		
		$('partenza_d_rh').value = d.getDate();
		$('partenza_m_rh').value = (d.getMonth() + 1);
		$('partenza_y_rh').value = d.getFullYear();
	}
}

//modifica data form prenota online
function cambia_giorni_mese_rh(listbox)
{
	var giorno;
	var mese;
	var anno;
	
	var selectDaAggiornare;
	
	switch(listbox)
	{
		case 'arrivo':
			giorno = parseFloat($('arrivo_d_rh').value);
			mese = parseFloat($('arrivo_m_rh').value) - 1;
			anno = parseFloat($('arrivo_y_rh').value);	
		break;
		
		case 'partenza':
			giorno = parseFloat($('partenza_d_rh').value);
			mese = parseFloat($('partenza_m_rh').value) - 1;
			anno = parseFloat($('partenza_y_rh').value);	
		break;
	}
	
	var numero_giorni;  
	
	switch(mese)
	{
		case 1: //febbraio 28/29
			if (anno % 4 != 0)
			{
				numero_giorni = 28;
			}
			else
			{
				numero_giorni = 29;
			}
		break;
		
		case 3: //aprile
		case 5: //giugno
		case 8: //settembre
		case 10://ottobre
			numero_giorni = 30;
		break;
		
		default:
			numero_giorni = 31;			
	}
	
	switch(listbox)
	{
		case 'arrivo':
			selectDaAggiornare = $('arrivo_d_rh');
		break;
		
		case 'partenza':
			selectDaAggiornare = $('partenza_d_rh');
		break;
	}

	num_options = selectDaAggiornare.options.length;
	for(a = num_options; a >= 0; a--)
	{
		selectDaAggiornare.options[a] = null;
	}
	
	for(i = 1, j = 0; i <= numero_giorni; i++, j++)
	{
		if(i == giorno)
		{
			selectDaAggiornare.options[j] = new Option(i, i, false, true);
		}
		else
		{
			selectDaAggiornare.options[j] = new Option(i, i, false, false);
		}
	}
}

//invio form prenota online
function submitFormPrenotaOnline()
{
	var form = document.form_prenota_online_rh;
	
	try 
	{ 
		var myValidator = validate_form_rh(form);
		
		if(myValidator)
		{
			if($('urlValue').value != 'none' && $('urlValue').value != '')
			{
				var params = new Hash;
				params.set('frazione', $F(form['frazione']));
				params.set('checkin', $F(form['arrivo[d]']) + '-' + $F(form['arrivo[m]']) + '-' + $F(form['arrivo[Y]']));
				params.set('checkout', $F(form['partenza[d]']) + '-' + $F(form['partenza[m]']) + '-' + $F(form['partenza[Y]']));
				
				var newForm = document.createElement('form');
				params.each( function(pair) {
									  			var field = document.createElement('input');
												field.type = 'hidden';
												field.name = pair.key;
												field.value = pair.value;
												newForm.appendChild(field);
											});
				var url = pathHttp + $('urlValue').value;
				newForm.method = 'get';
				newForm.action = url;
				window.document.body.appendChild(newForm);
				newForm.submit();
			}
			else
			{
				return false;	
			}
		}
	} 
	catch(e) 
	{ 
		alert('Errore nell\'invio del form! ' . e);
		return false; 
	}
}

//modifica lo stile del link in un box
function emphLink(idLink, action)
{
	if(action)
	{
		$(idLink).style.fontWeight = 'bold';	
	}
	else
	{
		$(idLink).style.fontWeight = 'normal';	
	}
}

//modifica lo stile del link realizzato con il tag span in un box
function decSpan(el, action)
{
	if(action == 'display')
	{
		el.style.textDecoration = 'underline';	
	}
	else
	{
		el.style.textDecoration = 'none';	
	}
}

//sottolinea regione in rosso
function displayRegione(img, action, container)
{
	switch(action)
	{
		case 'display':
			$(container).appendChild(img);
			return true;
		break;
		case 'remove':
			$(container).removeChild(img);
		break;
	}
}

//sottolinea regione large in rosso
function displayRegioneLarge(img, action)
{
	switch(action)
	{
		case 'display':
			$('container_mappa_regioni_large').appendChild(img);
			return true;
		break;
		case 'remove':
			$('container_mappa_regioni_large').removeChild(img);
		break;
	}
}

//sottolinea provincia in rosso
function displayProvincia(img, action)
{
	switch(action)
	{
		case 'display':
			$('container_mappa_province').appendChild(img);
			return true;
		break;
		case 'remove':
			$('container_mappa_province').removeChild(img);
		break;
	}
}

/*visualizza box area tematica*/
function displayBox(boxData, img, action)
{
	switch(action)
	{
		case 'display':
			var box = document.createElement('div');
			box.id = 'box_' + boxData.type;
			box.style.left = boxData.left;
			box.style.top = boxData.top;
			
			if(img != '')
			{
				var thumb = new Image(120, 90);
				thumb.src = pathHttp + 'immagini/link/' + img;
				box.appendChild(thumb);
			}
		
			$('container_mappa_regioni_large').appendChild(box);
		break;
		case 'remove':
			$('box_' + boxData.type).remove();
		break;
	}
}

function previewHotel(id_attivita, posizione, tipologia)
{
	if($$('.preview_banner').size() > 0)
	{
		return false;	
	}
	
	var banner = $('banner_' + id_attivita); 
	var banner_position = banner.viewportOffset();
	
	var ScrollTop = document.body.scrollTop;
	if (ScrollTop == 0)
	{
		if (window.pageYOffset)
			ScrollTop = window.pageYOffset;
		else
			ScrollTop = (document.body.parentElement) ? document.body.parentElement.scrollTop : 0;
	}
	
	var preview_position_top = parseInt(banner_position.top) + parseInt(ScrollTop);

	var type;
	var preview_position_left;
	
	switch(posizione)
	{
		case 1:
		case 2:
			preview_position_left = banner_position.left;
			type = 'left';
		break;
		
		case 3:
		case 4:
			preview_position_left = parseInt(banner_position.left) - 118;
			type = 'right';
		break;
	}
	
	var container; 
	container = document.createElement('div');
	container.setAttribute('id', 'preview_banner_' + id_attivita);
	container.className = 'preview_banner';
	container.style.left = preview_position_left + "px";
	container.style.top = preview_position_top + "px";
	
	if(navigator.userAgent.indexOf('MSIE 6.0') != -1 || navigator.userAgent.indexOf('MSIE 6.5') != -1)
	{
		var iframe = document.createElement('iframe');
		container.appendChild(iframe);
	}
	
	
	var darkLayer = createDarkLayerPreviewHotel();
	container.appendChild(darkLayer);
	
	var content = document.createElement('div');
	content.className = 'content';
	container.appendChild(content);
	
	window.document.body.appendChild(container);
	
	var params = new Hash();
	params.set('action', 'get_preview_banner');
	params.set('lang', lang);
	params.set('id_attivita', id_attivita);
	params.set('tipologia', tipologia);
	params.set('type', type);
	
	var url = pathHttp + 'web_services.php';
	
	var wait = document.createElement('img');
	wait.src = pathHttp + 'immagini/wait.gif';
	wait.style.width = '16px';
	wait.style.height = '16px';
	wait.style.paddingLeft = '116px';
	wait.style.paddingTop = '116px';
	content.appendChild(wait);
	
	new Ajax.Request(url, {
					 		method: 'post', 
							contentType: 'application/x-www-form-urlencoded',
							parameters: params,
							onSuccess: function(transport) { 
																wait.style.display = 'none';
																content.innerHTML = transport.responseText;
														   }
					 	  });
}

function destroyPreviewHotel(id_attivita)
{
	Element.remove('preview_banner_' + id_attivita);
}

function createDarkLayerPreviewHotel()
{	
	var opacity = 80;
	var opaque = (opacity / 100);
	
	darkLayer = document.createElement('div');
	darkLayer.className = 'dark_layer';
	
	return darkLayer;
}

function scrollDiv(divType, action)
{
	switch(action)
	{
		case 'init':
			var arrayDiv = $$('.' + divType);
			switch(divType)
			{
				case "lastminute":
					if(arrayDiv.size() > 10)
					{
						$$('.container')[0].style.height = '900px';	
						var button = '<div class="scroll"><a href="#" onclick="scrollDiv(\'' + divType + '\', \'scrollDown\'); return false;" title="' + testoApertura + '"><img src="' + pathHttp + 'immagini/scroll_down.png" alt="' + testoApertura + '" /></a><a href="#" onclick="scrollDiv(\'' + divType + '\', \'scrollDown\'); return false;" title="' + testoApertura + '">' + testoApertura + '</a></div>';
						Element.insert($$('.container')[0], {	after: button	});
					}
				break;
				case "fiere":
					if(arrayDiv.size() > 8)
					{
						$$('.container')[0].style.height = '720px';	
						var button = '<div class="scroll"><a href="#" onclick="scrollDiv(\'' + divType + '\', \'scrollDown\'); return false;" title="' + testoApertura + '"><img src="' + pathHttp + 'immagini/scroll_down.png" alt="' + testoApertura + '" /></a><a href="#" onclick="scrollDiv(\'' + divType + '\', \'scrollDown\'); return false;" title="' + testoApertura + '">' + testoApertura + '</a></div>';
						Element.insert($$('.container')[0], {	after: button	});
					}
				break;
				case "gallery_scheda":
					if(arrayDiv.size() > 3)
					{
						$$('.container')[0].style.height = '740px';	
						var button = '<div class="scroll"><a href="#" onclick="scrollDiv(\'' + divType + '\', \'scrollDown\'); return false;" title="' + testoApertura + '"><img src="' + pathHttp + 'immagini/scroll_down.png" alt="' + testoApertura + '" /></a><a href="#" onclick="scrollDiv(\'' + divType + '\', \'scrollDown\'); return false;" title="' + testoApertura + '">' + testoApertura + '</a></div>';
						Element.insert($$('.container')[0], {	after: button	});
					}
				break;
			}
			
		break;
		case 'scrollDown':
			var arrayDiv = $$('.' + divType);
			
			var divHeight = 0;
			switch(divType)
			{
				case "lastminute":
				case "fiere":
					for(i = 0; i < arrayDiv.length; i++)
					{
						divHeight += arrayDiv[i].getHeight(); 	
					}
					
				break;
				case "gallery_scheda":
					for(i = 0; i < arrayDiv.length; i++)
					{
						divHeight += arrayDiv[i].getHeight() + 16; 	
					}
				break;
			}
			$$('.container')[0].style.height = divHeight + 'px';
			
			var button = '<a href="#" onclick="scrollDiv(\'' + divType + '\', \'scrollUp\'); return false;" title="' + testoChiusura + '"><img src="' + pathHttp + 'immagini/scroll_up.png" alt="' + testoChiusura + '" /></a><a href="#" onclick="scrollDiv(\'' + divType + '\', \'scrollUp\'); return false;" title="' + testoChiusura + '">' + testoChiusura + '</a>';
			$$('.scroll')[0].innerHTML = button;
		break;
		case 'scrollUp':
			switch(divType)
			{
				case "lastminute":
					$$('.container')[0].style.height = '900px';	
				break;
				case "fiere":
					$$('.container')[0].style.height = '720px';	
				break;
				case "gallery_scheda":
					$$('.container')[0].style.height = '740px';	
				break;
			}
			
			var button = '<a href="#" onclick="scrollDiv(\'' + divType + '\', \'scrollDown\'); return false;" title="' + testoApertura + '"><img src="' + pathHttp + 'immagini/scroll_down.png" alt="' + testoApertura + '" /></a><a href="#" onclick="scrollDiv(\'' + divType + '\', \'scrollDown\'); return false;" title="' + testoApertura + '">' + testoApertura + '</a>';
			$$('.scroll')[0].innerHTML = button;
		break;
	}
}

var move = Class.create({
							initialize: function(numberBatch, numberHotel, numberVisible, itemHeight, scroller_hotelDiv, batchDiv, randomValue) {
											this.numberBatch = numberBatch;
											this.numberHotel = numberHotel;
											this.numberVisible = numberVisible;
											this.itemHeight = itemHeight;
											this.currentBatch = 0;
											this.scroller_hotelDiv = $('' + scroller_hotelDiv + '');
											this.batchDiv = $('' + batchDiv + '');
											this.scroller_hotelDivHeight = this.scroller_hotelDiv.getHeight();
											this.firstVisible = 0;
											this.lastVisible = 8;
											this.randomValue = randomValue;
										},
							moveAbsolute: function(batchDivNumber) {
											//se sono al primo o all'ultimo batch non faccio nulla
											if(((batchDivNumber) < 0) || ((batchDivNumber) > this.numberBatch))
											{
												return;
											}
											
											//scrolling batch hotel
											if(Math.floor(this.numberHotel / this.numberVisible) < (batchDivNumber + 1))
											{
												var numberRemainingHotel = this.numberHotel % this.numberVisible;
												this.scroller_hotelDiv.style.height = (this.itemHeight * numberRemainingHotel) + "px";
												
											}
											else
											{
												this.scroller_hotelDiv.style.height = this.scroller_hotelDivHeight + "px";	
											}
											this.batchDiv.style.top = '-' + (this.scroller_hotelDivHeight * (batchDivNumber)) + 'px';
											//fine scrolling batch hotel
											
											
											var arrayLi = $$('#navigationList' + this.randomValue + ' li');
											
											arrayLi[this.currentBatch].className = arrayLi[this.currentBatch].className.replace(/active/, '');
											arrayLi[batchDivNumber].className += ' active';
											
											//spostamento link numerici
											//se clicco verso destra
											if(batchDivNumber > this.currentBatch)
											{
												//se clicco sul link oltre la metà dell'inizio
												if(batchDivNumber > 4)
												{
													var spostamento = Math.abs(batchDivNumber - this.currentBatch);
													for(i = 1; i <= spostamento; i++)
													{
														//verifico se mi porto fuori del numero massimo di li
														if((this.lastVisible + 1) > this.numberBatch)
														{
															break;	
														}
														
														//verifico se mi sposto a destra di più di 4 link
														if(this.lastVisible > batchDivNumber + 3)
														{
															break;	
														}
														
														arrayLi[this.firstVisible].style.display = 'none';
														this.firstVisible += 1;
														this.lastVisible += 1;
														arrayLi[this.lastVisible].style.display = 'block';
													}
												}
											}
											
											//se clicco verso sinistra
											if(batchDivNumber < this.currentBatch)
											{
												//se clicco sul link prima della metà dall'inizio
												if(batchDivNumber < this.numberBatch - 4)
												{
													var spostamento = Math.abs(batchDivNumber - this.currentBatch);
													for(i = 1; i <= spostamento; i++)
													{
														//verifico se mi porto fuori del numero minimo di li
														if((this.firstVisible - 1) < 0)
														{
															break;	
														}
														
														//verifico se mi sposto a sinistra di più di 4 link
														if(this.firstVisible < batchDivNumber - 3)
														{
															break;	
														}
														
														arrayLi[this.lastVisible].style.display = 'none';
														this.lastVisible -= 1;
														this.firstVisible -= 1;
														arrayLi[this.firstVisible].style.display = 'block';
														
														//aggiungo il bordo al primo li
														arrayLi[this.firstVisible + 1].className += ' borderLeft';
													}
												}
											}
											//fine spostamento link numerici
											
											//modifica puntini
											$('dots_before' + this.randomValue).style.visibility = 'hidden';
											if(this.firstVisible > 0)
											{	
												$('dots_before' + this.randomValue).style.visibility = 'visible';
											}
											
											$('dots_after' + this.randomValue).style.visibility = 'visible';
											if(this.lastVisible == this.numberBatch)
											{
												$('dots_after' + this.randomValue).style.visibility = 'hidden';
											}
											//fine modifica puntini*/
											
											//elimino il bordo dal primo li
											arrayLi[this.firstVisible].className = arrayLi[this.firstVisible].className.replace(/borderLeft/, '');
											
											this.currentBatch = batchDivNumber;
											
											//colorazione link precedente/successivo
											if(this.currentBatch > 0)
											{
												$('divPrevious' + this.randomValue).className += ' active';
												$('linkPrevious' + this.randomValue).className += ' active';
											}
											else
											{
												$('divPrevious' + this.randomValue).className = 'divPrevious';
												$('linkPrevious' + this.randomValue).className = '';	
											}
											if(this.currentBatch == this.numberBatch)
											{
												$('divNext' + this.randomValue).className = 'divNext';
												$('linkNext' + this.randomValue).className = '';
											}
											else
											{
												$('divNext' + this.randomValue).className += ' active';
												$('linkNext' + this.randomValue).className += ' active';	
											}
											//fine colorazione link precedente/successivo
											
											//spostamento all'inizio del blocco icone
											window.location.hash='#scroller_hotel_anchor';
										},	
							movePrevious: function() {
											this.moveAbsolute(this.currentBatch - 1);
										},
							moveNext: function() {
											this.moveAbsolute(this.currentBatch + 1);
										}										
						});

//Preview dei video nella scheda hotel
function createDarkLayer()
{	
	var opacity = 60;
	var opaque = (opacity / 100);
	
	darkLayer = document.createElement("div");
	darkLayer.setAttribute("id", "darkLayer");
	darkLayer.style.position = "absolute";
	darkLayer.style.left = "0px";
	darkLayer.style.top = "0px";
	darkLayer.style.zIndex = "50";
	darkLayer.style.width = "100%";
	darkLayer.style.height = "" + ((document.height !== undefined) ? document.height : document.body.offsetHeight) + "px";	//"100%";
	darkLayer.style.backgroundColor = "#000000";
	darkLayer.style.opacity = opaque;                      
	darkLayer.style.MozOpacity = opaque;                   
	darkLayer.style.filter = 'alpha(opacity=' + opacity + ')'; 
	window.document.body.appendChild(darkLayer);
}

function destroyDarkLayer()
{
	$("darkLayer").remove();
}
	
function previewVideo(codice, descrizione, chiudi)
{	
	createDarkLayer();
	
	divElement = document.createElement("div");
	divElement.setAttribute("id", "div_preview_content");
	divElement.style.height = '800px';
	divElement.style.zIndex = '100';
	divElement.style.top = '0px';
	divElement.style.position = 'absolute';
	divElement.style.textAlign = 'center';
	
	divElementContent = '<table align="center" cellpadding="1" cellspacing="0" border="0">' + 
						'<tr>' + 
						'<td bgcolor="#FFFFFF" align="left" style="padding: 6px"><b>' + descrizione + '</b></td>' + 
						'<td bgcolor="#FFFFFF" align="right" style="padding: 6px"><a href="#chiudi" onclick="destroyDarkLayer(); destroyPreviewVideo(); return false;">' + chiudi + '</a></td>' + 
						'</tr>' + 
						'<tr><td bgcolor="#FFFFFF" colspan="2">' +
						'<object width="410" height="344" style="z-index:2000">' + 
						'<param name="movie" value="http://www.youtube.com/v/' + codice + '&hl=it&fs=1&rel=0&autoplay=1"></param>' + 
						'<param name="allowFullScreen" value="true"></param>' + 
						'<embed src="http://www.youtube.com/v/' + codice + '&hl=it&fs=1&rel=0&autoplay=1&fmt=6" style="z-index:2000" type="application/x-shockwave-flash" allowfullscreen="true" width="410" height="344"></embed>' + 
						'</object></td></tr>' + 
						'</table>';
	divElement.innerHTML = divElementContent;
	
	var windowWidth = 0;
	var windowHeight = 0;
	
	if(typeof( window.innerWidth ) == 'number' ) 
	{
    	//Non-IE
    	windowWidth = window.innerWidth;
    	windowHeight = window.innerHeight;
  	} 
	else if(document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) 
	{
		//IE 6+ in 'standards compliant mode'
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
  	} 
	else if(document.body && (document.body.clientWidth || document.body.clientHeight )) 
	{
		//IE 4 compatible
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
  	}
	
	var scrollOffsetY = 0;
	
	if(typeof(window.pageYOffset) == 'number') 
	{
    	//Netscape compliant
    	scrollOffsetY = window.pageYOffset;
	} 
	else if(document.body && document.body.scrollTop)
	{
    	//DOM compliant
    	scrollOffsetY = document.body.scrollTop;
	} 
	else if(document.documentElement && document.documentElement.scrollTop)
	{
    	//IE6 standards compliant mode
    	scrollOffsetY = document.documentElement.scrollTop;
  	}
	
	divElement.style.left = (Math.floor(windowWidth / 2) - 50) + 'px';
	divElement.style.top = (scrollOffsetY + 150) + 'px';
	
	window.document.body.appendChild(divElement);
}

function destroyPreviewVideo()
{
	$("div_preview_content").remove();	
}

function countredirect()
{
	if(currentsecond != 1)
	{
		currentsecond -= 1;
		document.redirect.redirect2.value = currentsecond;
	}
	else
	{
		window.location = targetURL;
		return;
	}
	
	setTimeout("countredirect()", 1000);
}

//Accordion
var accordion = function()
{
	var timer = sp = 5;
	var inAction = false;
	
	function slider(containerIdParam)
	{
		this.containerId = containerIdParam; 
		this.arrayData = new Array();
	}
	
	slider.prototype.init = function(definitionListParam, itemOpenedParam, itemOpenedClassParam)
	{
		var definitionList;
		var definitionTermArray;
		var definitionDataArray;
		var arrayLength;
		var i; 
		
		definitionList = document.getElementById(definitionListParam); 
		
		this.itemOpenedClass = itemOpenedClassParam? itemOpenedClassParam : '';
		
		definitionTermArray = definitionList.getElementsByTagName('dt'); 
		definitionDataArray = definitionList.getElementsByTagName('dd'); 
		
		this.arrayLength = definitionTermArray.length;
		for(i = 0; i < this.arrayLength; i++)
		{
			var definitionTerm = definitionTermArray[i]; 
			this.arrayData[i] = definitionTerm; 
			definitionTerm.onmouseover = new Function(this.containerId + '.behaviour(this)'); 
			if(itemOpenedParam == i)
			{
				definitionTerm.className = this.itemOpenedClass;
			}
		}
		
		arrayLength = definitionDataArray.length;
		for(i = 0; i < arrayLength; i++)
		{
			var definitionTerm = definitionDataArray[i]; 
			definitionTerm.definitionTermHeight = definitionTerm.offsetHeight; 
			if(itemOpenedParam != i)
			{
				definitionTerm.style.height = 0; 
				definitionTerm.style.display = 'none';
			}
		}
	}
	
	slider.prototype.behaviour = function(definitionTermParam)
	{
		if(definitionTermParam.className != this.itemOpenedClass && !inAction)
		{
			inAction = true;
			
			for(var i = 0; i < this.arrayLength; i++)
			{
				var definitionTerm = this.arrayData[i];
				var definitionTermSibling = definitionTerm.nextSibling; 
				
				definitionTermSibling = definitionTermSibling.nodeType != 1? definitionTermSibling.nextSibling : definitionTermSibling; 
				
				clearInterval(definitionTermSibling.timer);
				
				if(definitionTerm == definitionTermParam && definitionTermSibling.style.display == 'none')
				{	
					definitionTermSibling.style.display = ''; 
					setupTimer(definitionTermSibling, 1); 
					definitionTerm.className = this.itemOpenedClass;
				}
				else if(definitionTermSibling.style.display == '')
				{
					setupTimer(definitionTermSibling, -1); 
					definitionTerm.className = '';
				}
			}
		}
	}
	
	function setupTimer(definitionTermSibling, value)
	{
		definitionTermSibling.timer = setInterval(function() { slide(definitionTermSibling, value) }, timer);
	}
	
	function slide(definitionTermSibling, value)
	{
		var currentHeight = definitionTermSibling.offsetHeight;
		var finalHeight = definitionTermSibling.definitionTermHeight;
		var d = value == 1? finalHeight - currentHeight : currentHeight; 
		
		definitionTermSibling.style.height = currentHeight + (Math.ceil(d / sp) * value) + 'px';
		if(!isNaN(currentHeight / finalHeight))
		{
			definitionTermSibling.style.opacity = currentHeight / finalHeight; 
			definitionTermSibling.style.filter= 'alpha(opacity=' + currentHeight * 100 / finalHeight + ')';
		}
		
		if(value == 1 && currentHeight >= finalHeight)
		{
			clearInterval(definitionTermSibling.timer);
			
			inAction = false;
		}
		else if(value != 1 && currentHeight == 1)
		{
			definitionTermSibling.style.display = 'none'; 
			clearInterval(definitionTermSibling.timer);
			
			inAction = false;
		}
	}
	
	return{slider : slider}
}();

function openPopupMap(el)
{
	var idAttivita = el.rel;
	var flagBookingCom = el.rev;
	
	var pointer = pathHttp + lang + '/mappa-popup.php?id_attivita=' + idAttivita + '&booking_com=' + flagBookingCom;
	hs.src = pointer;
	return hs.htmlExpand(el, { 	objectType: 'iframe',
								preserveContent: false  });
}

//Scroller
//left e up aggiornati e funzionanti, right e down non aggiornati
function Scroller(param)
{ 
	var delayArray = new Array();
	delayArray[0] = 0;
	delayArray[1] = 90;
	delayArray[2] = 90;
	delayArray[3] = 90;
	delayArray[4] = 89;
	delayArray[5] = 88;
	delayArray[6] = 86;
	delayArray[7] = 86;
	delayArray[8] = 86;
	delayArray[9] = 86;
	delayArray[10] =85;
	
	var divname = param['divname'];//parameters['divname']; //nome del div che contiene il testo
	var containername = param['containername']; //parameters['containername']; //nome del div contenitore dello scroller
	var direction = param['direction']; //Specify direction of movement
	var scrollamount = param['speed']; //Specify marquee scroll speed (larger is faster 1-10)
	if(param['pauseScroll'] == 0)
	{
		var scrolldelay = delayArray[scrollamount]; //intervallo di tempo per l' aggiornamento della grafica
	}
	else
	{
		var scrolldelay = 10; //intervallo di tempo per l' aggiornamento della grafica
		//costruzione dell'array di valori dei div per il calcolo dello scarto
		var divnameWidth = document.getElementById(divname).offsetWidth;
		var divnameHeight = document.getElementById(divname).offsetHeight;
		var elementDivWidth = divnameWidth / param['pauseNumber'];
		var elementDivHeight = divnameHeight / param['pauseNumber'];
		switch(direction)
		{
			case 'up':
			case 'down':
				var divArraySeed = elementDivHeight;
			break;
			case 'left':
			case 'right':
				var divArraySeed = elementDivWidth;
			break;
		}
		
		var divArray = new Array();
		
		if(param['numScroll'] > 1)
		{			
			var scrollIndex = Math.round(param['pauseNumber'] / param['numScroll']);
			for(i = 0; i < (scrollIndex - 1); i++)
			{
				divArray[i] = ((divArraySeed * param['numScroll']) * (i + 1)); 
			}
			divArray[scrollIndex - 1] = 0;
		}
		else
		{
			var scrollIndex = param['pauseNumber'];
			for(i = 0; i < (scrollIndex - 1); i++)
			{
					divArray[i] = (divArraySeed * (i + 1)); 
			}
			divArray[(param['pauseNumber'] - 1)] = 0;
		}
		//fine costruzione dell'array di valori dei div per il calcolo dello scarto
		
		var currentDiv = divArray.shift();
		var pauseInterval = param['pauseInterval'];
	}
	
	var pause = param['pause']; //Pause marquee onMousever (0=no. 1=yes)?	
	
	var pauseScroll = param['pauseScroll'];	

	this.pauseFunction = function () 
	{
		copyspeed = pausespeed;
	}

	this.copyFunction = function ()
	{
		copyspeed = scrollamount;
	}

	var copyspeed = scrollamount;
	var pausespeed = (pause == 0) ? copyspeed : 0;
	var actualheight = '';
	var actualwidth = '';
	var cross_marquee;
	
	var marqueeheight;
	
	var interval;
	
	var firstCicle = true;
	
	function initializemarquee(self)
	{
		cross_marquee = document.getElementById(divname);
		if (direction == "up" || direction == "down")
		{
			cross_marquee.style.top = 0;
			marqueeheight = document.getElementById(containername).offsetHeight;
			actualheight = cross_marquee.offsetHeight;
			if (window.opera || navigator.userAgent.indexOf("Netscape/7") != -1) //if Opera or Netscape 7x, add scrollbars to scroll and exit
			{
				cross_marquee.style.height = marqueeheight + "px";
				cross_marquee.style.overflow = "scroll";
				return;
			}
		}
		else
		{
			cross_marquee.style.left = 0;
			marqueewidth = document.getElementById(containername).offsetWidth;
			actualwidth = cross_marquee.offsetWidth;
			if (window.opera || navigator.userAgent.indexOf("Netscape/7") != -1) //if Opera or Netscape 7x, add scrollbars to scroll and exit
			{
				cross_marquee.style.width = marqueewidth + "px";
				cross_marquee.style.overflow = "scroll";
				return;
			}
		}			
		this.scrollmarquee;
		interval = setInterval(scrollmarquee, scrolldelay);
	}
	
	this.initializemarquee = function()
	{
		initializemarquee(this);
	}
	
	
	function scrollmarquee()
	{
		if (direction == "up")
		{
			if (parseInt(cross_marquee.style.top) > (actualheight * (-1) - 8)) //scorrimento
			{
				if(pauseScroll == 1)
				{
					var posizione = parseInt(cross_marquee.style.top);
					var scarto = Math.abs(Math.abs(posizione) - currentDiv);
					//document.getElementById('debug').innerHTML = Math.abs(Math.abs(posizione) - currentDiv);
					if(!firstCicle && scarto <= 3)
					{
						cross_marquee.style.top = '-' + currentDiv + 'px';	
						clearInterval(interval);
						setTimeout(update, pauseInterval);
						divArray.push(currentDiv);
						currentDiv = divArray.shift();
					}
					else
					{
						firstCicle = false;
						cross_marquee.style.top = (parseInt(cross_marquee.style.top) - copyspeed) + "px";
					}
				}
				else
				{
					cross_marquee.style.top = (parseInt(cross_marquee.style.top) - copyspeed) + "px";	
				}
			}
			else //ricarica
			{	
				cross_marquee.style.top = (parseInt(marqueeheight) + 8) + "px";
			}					
		}
		else if (direction == "down")
		{
			if (parseInt(cross_marquee.style.top) < (marqueeheight + 8)) //scorrimento
			{
				if(pauseScroll == 1)
				{
					var posizione = parseInt(cross_marquee.style.top);
					
					if(!firstCicle && (posizione <= 0) && (posizione > -1 * divnameHeight) && ((posizione % pauseHeight) == 0))
					{
						clearInterval(interval);
						setTimeout(update, pauseInterval);
					}
					else
					{
						firstCicle = false;
						cross_marquee.style.top = (parseInt(cross_marquee.style.top) + copyspeed) + "px";
					}
				}
				else
				{
					cross_marquee.style.top = (parseInt(cross_marquee.style.top) + copyspeed) + "px";	
				}
			}
			else //ricarica
			{
				cross_marquee.style.top = (actualheight * (-1) + 8) + "px";
			}
		}
		else if (direction == "left") //scorrimento
		{
			if (parseInt(cross_marquee.style.left) > (actualwidth * (-1) - 8))
			{
				if(pauseScroll == 1)
				{
					var posizione = parseInt(cross_marquee.style.left);
					var scarto = Math.abs(Math.abs(posizione) - currentDiv);
					//document.getElementById('debug').innerHTML = Math.abs(Math.abs(posizione) - currentDiv);
					if(!firstCicle && scarto <= 3)
					{
						cross_marquee.style.left = '-' + currentDiv + 'px';	
						clearInterval(interval);
						setTimeout(update, pauseInterval);
						divArray.push(currentDiv);
						currentDiv = divArray.shift();
					}
					else
					{
						firstCicle = false;
						cross_marquee.style.left = (parseInt(cross_marquee.style.left) - copyspeed) + "px";
					}
				}
				else
				{
					cross_marquee.style.left = (parseInt(cross_marquee.style.left) - copyspeed) + "px";	
				}
			}
			else //ricarica
			{
				//cross_marquee.style.left = (parseInt(marqueewidth) + 8) + "px";
				cross_marquee.style.left = parseInt(marqueewidth) + "px";
			}
		}
		else 
		{
			if (parseInt(cross_marquee.style.left) < (marqueewidth)) //scorrimento
			{
				if(pauseScroll == 1)
				{
					var posizione = parseInt(cross_marquee.style.left);
					if(!firstCicle && (posizione <= 0) && (posizione > -1 * divnameWidth) && ((posizione % pauseWidth) == 0))
					{
						clearInterval(interval);
						setTimeout(update, pauseInterval);
					}
					else
					{
						firstCicle = false;
						cross_marquee.style.left = (parseInt(cross_marquee.style.left) + copyspeed) + "px";
					}
				}
				else
				{
					cross_marquee.style.left = (parseInt(cross_marquee.style.left) + copyspeed) + "px";
				}
			}
			else //ricarica
			{
				cross_marquee.style.left = (actualwidth * (-1) - 8) + "px";
			}
		}		
	}
	
	function update()
	{
		switch(direction)
		{
			case 'up':
				cross_marquee.style.top = (parseInt(cross_marquee.style.top) - copyspeed) + "px";
				interval = setInterval(scrollmarquee, scrolldelay);	
			break;
			
			case 'down':
				cross_marquee.style.top = (parseInt(cross_marquee.style.top) + copyspeed) + "px";
				interval = setInterval(scrollmarquee, scrolldelay);	
			break;
			
			case 'left':
				cross_marquee.style.left = (parseInt(cross_marquee.style.left) - copyspeed) + "px";
				interval = setInterval(scrollmarquee, scrolldelay);
			break;
			
			case 'right':
				cross_marquee.style.left = (parseInt(cross_marquee.style.left) + copyspeed) + "px";
				interval = setInterval(scrollmarquee, scrolldelay);
			break;
		}
	}
}