function showEl(id){
	var el = $(id);
	if (el){
		if (el.style.display=='none'){
			el.show();
		} else {
			el.hide();
		}
	}
}

var Gallery={
	ids : new Hash(),
	cont : new Hash(),
	addFoto:function(id, src){
		contpart = this.cont.get(id);
		if(!contpart){
			contpart = []; 
			this.ids.set(id, 0);
			this.cont.set(id,contpart);
		} 
		contpart.push(src);
	},
	openFoto:function(id){
		contpart = this.cont.get(id);
		if(!contpart) return;
		cnt = this.ids.get(id);
		finestra = window.open(contpart[cnt].big, '', 'status=0, toolbar=0, location=0, menubar=0');
		finestra.onload = function (){
			var img = new Image();
			img.onload = function (){
				finestra.resizeTo(img.width, img.height+70);
			};
			img.src = contpart[cnt].big;
		};
	},
	getFoto:function(id, ncnt){
		contpart = this.cont.get(id);
		if(!contpart) return;
		this.ids.set(id, ncnt);
		this.seleziona(id, ncnt, contpart[ncnt], contpart.length);
	},
	prevFoto:function(id){
		contpart = this.cont.get(id);
		if(!contpart) return;
		cnt = this.ids.get(id);
		ncnt = Math.max(cnt-1, 0);
		this.ids.set(id, ncnt);
		this.seleziona(id, ncnt, contpart[ncnt], contpart.length);
	},
	nextFoto:function(id){
		contpart = this.cont.get(id);
		if(!contpart) return;
		cnt = this.ids.get(id);
		ncnt = Math.min(contpart.length-1, cnt+1);
		this.ids.set(id, ncnt);
		this.seleziona(id, ncnt, contpart[ncnt], contpart.length);
	},
	seleziona:function(id, key, src, tot){
		el = $('stru_'+id);
		el.setAttribute("alt", src.alt);
		el.setAttribute("title", src.alt);

		oldeffect = new Effect.Opacity(el, { from: 1, to: 0, duration: 0.5 });

		var img = new Image();

		img.onload=function(){
			oldeffect.cancel();
			el.src = img.src;

			new Effect.Opacity(el, { from: el.getStyle('opacity'), to: 1, duration: 0.5 });
	    	dx = Math.min(key+2,tot-1);
	    	sx1 = Math.max(key-2, 0);
	    	sx2 = Math.max(dx-4, 0);
	    	sx = Math.min(sx1, sx2);
		};
		img.src = src.src;
	}
};
var SchedaDettagliata={
	apriTab:function(callback){
		$$('#breadcrumbhotel li').each(function(col){
			col.removeClassName("selezionato");
			col.select('a img').each(function(img){
				var s = img.src;
				img.src = s.replace('-sel.png', '.png');
			});
		});
		$$('#boxDatiHotel .tabs_scheda').each(function(tab){
			tab.setStyle('display:none; position:relative; z-index: 0');
		});
		this.up(0).addClassName("selezionato");
		this.select('img').each(function(img){
			var s = img.src;
			img.src = s.replace('.png', '-sel.png');
		});
		$($(this).getAttribute("rel")).setStyle('display:block; z-index:'+SchedaDettagliata.zin++);
		if(typeof(callback)=='function'){
			callback($($(this).getAttribute("rel")));
		}
	}
};

var RicercaAlberghi = {
	mostraCamere : function(massimoCamere, qta) {
		var nr_camere = parseInt($("nrCamere").value, 10);
		qta = parseInt(qta, 10);
		nr_camere += qta;
		if (nr_camere > massimoCamere || nr_camere < 1)
			return false;
		$("nrCamere").value = nr_camere;
		for (i = 1; i <= massimoCamere; i++) {
			if (i <= nr_camere){
				$("camera_" + i).show();
			} else {
				$("camera_" + i).hide();
			}
		}
		if (nr_camere == massimoCamere) {
			$("addCamera").hide();
		} else if (nr_camere == 1) {
			$("addCamera").show();
			$("delCamera").hide();
		} else {
			$("addCamera").show();
			$("delCamera").show();
		}
	},
	mostraEtaBambini : function(ncamera, numeroBambini, massimoBambini, prepend) {
		if (!prepend) prepend = '';
		for (i = 1; i <= massimoBambini; i++) {
			$(prepend+"bambino_" + i + "_" + ncamera).hide();
		}
		for (i = 1; i <= numeroBambini; i++) {
			$(prepend+"bambino_" + i + "_" + ncamera).show();
		}
		if (numeroBambini > 0) {
			$(prepend+"etabambini_" + ncamera).show();
		} else {
			$(prepend+"etabambini_" + ncamera).hide();
		}
	}
};
function aggiornaCampi() {
	dal = Calendar.intToDate(sel_dal.selection.get());
	al = Calendar.intToDate(sel_al.selection.get());
	$('notti_soggiorno_clone').update(dateDiff(dal, al).fullDays);
}
function onSelectDate(a, b) {
	date = Calendar.intToDate(this.selection.get());

	sel_al.args.min = new Date(date);
	sel_al.args.min.setDate(sel_al.args.min.getDate() + 1);

	date.setDate(date.getDate() + 3);

	sel_al.selection.set(date);

	$(sel_al.args.inputField).value = Calendar.printDate(date,
			sel_al.args.dateFormat);

	aggiornaCampi();
	this.hide();
}
function checkSelectedDate() {
	aggiornaCampi();
	this.hide();
}
function selectThis(el, id){
	$$('select#'+el+' option').each(function(o) {
		if (id == o.readAttribute('value')){
			o.selected = true;
			return;
		}
	});
}
