	function MM_findObj(n, d) { //v4.01
	  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
		d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
	  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
	  if(!x && d.getElementById) x=d.getElementById(n); return x;
	}
	
	function xmlhttpPost(strURL,query_string) {
		
		var xmlHttpReq = false;
		var self = this;
		// Mozilla/Safari
		if (window.XMLHttpRequest) {
			self.xmlHttpReq = new XMLHttpRequest();
		}
		// IE
		else if (window.ActiveXObject) {
			self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
		}
		self.xmlHttpReq.open('POST', strURL, true);
		self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		
		self.xmlHttpReq.onreadystatechange = function() {
			
			if (self.xmlHttpReq.readyState == 4) {
	
					updatepage(self.xmlHttpReq.responseText);
	
			}
		}
		self.xmlHttpReq.send(query_string);
	}
	
	
	function xmlhttpPost_method(strURL,query_string,metodo,divname) {
		
		var xmlHttpReq2 = false;
		var self2 = this;
		// Mozilla/Safari
		if (window.XMLHttpRequest) {
			self2.xmlHttpReq2 = new XMLHttpRequest();
		}
		// IE
		else if (window.ActiveXObject) {
			self2.xmlHttpReq2 = new ActiveXObject("Microsoft.XMLHTTP");
		}
		self2.xmlHttpReq2.open('POST', strURL, true);
		self2.xmlHttpReq2.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		
		self2.xmlHttpReq2.onreadystatechange = function() {
			
			if (self2.xmlHttpReq2.readyState == 4) {
				
				var response =  self2.xmlHttpReq2.responseText;
				
				if(metodo=='view_button_login'){
					var result2 = parseFloat(response) ;
					if(result2==1){
						document.getElementById("bottone_login").style.display = 'block';
						document.getElementById("bt_verifica").style.display = 'none';
						document.getElementById("result_verifica").innerHTML = 'Utente riconosciuto!';
						xmlhttpPost('booking_engine.php',setquerystring(document.form2)); 
						loading();
					}else{
						document.getElementById("bottone_login").style.display = 'none';
						document.getElementById("bt_verifica").style.display = 'block';
						document.getElementById("result_verifica").innerHTML = '<b>Dati non validi!</b>';
					}
					
				}
				
				if(metodo=='spedisci_password'){
					var result2 = parseFloat(response) ;
					if(result2==1){
						document.getElementById("bt_sped_password").style.display = 'none';
						document.getElementById("result_spedizione_password").innerHTML = 'Utente riconosciuto!<br><b>La password e\' stata spedita!</b>';
					}else{
						document.getElementById("bt_sped_password").style.display = 'block';
						document.getElementById("result_spedizione_password").innerHTML = '<b>Indirizzo email non valido!</b>';
					}
				}
				
				
				if(metodo=='view_result_pagamento'){
					var result2 = parseFloat(response) ;
					
					if(document.dati_riepilogo){
						var id_att = document.dati_riepilogo.id_attivita_scelta.value;
						var num_pren = document.dati_riepilogo.num_ordine.value;
						var lingua = document.dati_riepilogo.lang.value;
					}
					
					document.getElementById('messaggio_stato_prenotazione').style.display = 'block';
					
					if(response==0){ // se ancora non è stata pagata
						
						// non faccio nulla ...
						
						var currentTime = new Date();
						var tempo = roundNumber(currentTime.getHours(),2)+':'+roundNumber(currentTime.getMinutes(),2)+':'+roundNumber(currentTime.getSeconds(),2);
						//window.document.title= tempo + ' la prenotazione non risulta ancora confermata!!'; 
						document.getElementById('messaggio_stato_prenotazione').innerHTML = '  <div onclick="check_pagamento(\''+ id_att +'\',\''+ num_pren +'\'); return false;">'+ tempo +' in attesa del responso.</div>';
						//window.status = tempo +' la prenotazione non risulta ancora confermata.';
						
					}else{

						window.clearInterval(x);
						
						if(result2>=99999999999999){ // se è stata cancellata dal sistema
							//alert('prenotazione cancellata!!');
							document.location.reload();
							 
							//xmlhttpPost('booking_engine.php','riparti_da_fase=1&pg=form_cerca&id_attivita='+id_attivita );
							var currentTime = new Date();
							var tempo = currentTime.getHours()+':'+currentTime.getMinutes()+':'+currentTime.getSeconds();
							//window.document.title= tempo + ' la prenotazione è stata cancellata dal sistema!!'; 
							document.getElementById('messaggio_stato_prenotazione').innerHTML = tempo + ' prenotazione è stata cancellata dal sistema!!'; 
							//window.status = tempo + ' la prenotazione è stata cancellata dal sistema!!'; 
							document.getElementById('messaggio_stato_prenotazione').style.display = 'none';
							
						}else{ // se è stata pagata
						
							xmlhttpPost('booking_engine.php','pg=dettaglio_prenotazione&lang='+lingua+'&id_prenotazione='+result2+'&id_attivita='+id_attivita );
							
							var currentTime = new Date();
							var tempo = currentTime.getHours()+':'+currentTime.getMinutes()+':'+currentTime.getSeconds();
							//window.document.title= tempo + ' cod. '+ result2 +': la prenotazione è stata confermata!!'; 
							document.getElementById('messaggio_stato_prenotazione').innerHTML = tempo + ' prenotazione è stata confermata!!'; 
							//window.status = tempo + ' la prenotazione è stata confermata!!'; 
							//document.getElementById('messaggio_stato_prenotazione').style.display = 'none';
	
						}
					}
					
					return true;
					
				}
				
				
				
				
				if(metodo=='view_result_pagamento_popup'){
					var result2 = parseFloat(response) ;

					if(response==0){ // se ancora non è stata pagata
						
					}else{

						if(result2>=99999999999999){ // se è stata cancellata dal sistema
							
						}else{ // se è stata pagata

							window.close();
	
						}
					}
					
				}
				
				
				
				
				
				if(metodo=='situazione_disponibilita'){
	
					document.getElementById("situazione_dispo").innerHTML = response;
	
				}
				

				
				
				
				if(metodo=='verifica_email_gia_iscritta'){
					
					var result2 = parseFloat(response) ;
					if(result2==1){
						alert('Attenzione indirizzo email gia registrato..');
						document.form2.email.value=document.form1.email.value;
						document.form1.email.value='';
						document.form2.email.style.backgroundColor='#FFFF00';
					}
					
					
	
				}
				
				if(metodo=='get_info_attivita'){
					
					var html_div = '<div style="text-align:right"><a href="#" onclick="document.getElementById(\''+divname+'\').style.display=\'none\';document.getElementById(\''+divname+'\').innerHTML=\'\';return false;"><img src="http://www.abc.sm/business_booking/engine/img/close.gif" border="0"  hspace="2"  vspace="2"></a></div><div>'+ response +'</div>';  
						
					document.getElementById(""+divname+"").innerHTML = html_div;   
	
					 //centradiv(""+divname+"");
					
				}
				
				if(metodo=='get_mappa_attivita'){
					
					var html_div = '<div style="text-align:right"><a href="#" onclick="hide_dropdowns();document.getElementById(\''+divname+'\').style.display=\'none\';document.getElementById(\''+divname+'\').innerHTML=\'\';return false;"><img src="http://www.abc.sm/business_booking/engine/img/close.gif" border="0"  hspace="2"  vspace="2"></a></div><div>'+ response +'</div>';  
						
					document.getElementById(""+divname+"").innerHTML = html_div;   
	
					 //centradiv(""+divname+"");
					
				}
				
				
				if(metodo=='aggiorna_dati_utente'){
					
					var result2 = parseFloat(response) ;
					if(result2=='1'){
						document.getElementById("message_dati_utente").innerHTML = '<b>dati modificati!</b>';
						
					}
					
				}
				
				if(metodo=='set_data_partenza'){
					
					var datan = response.split("-");
					//alert(datan[0]);
					//alert(datan[1]);
					//alert(datan[2]);
					//imposta_data_partenza(datan[0],datan[1],datan[2]);
					MM_findObj('partenza[d]').value=datan[0];
					MM_findObj('partenza[m]').value=datan[1];
					MM_findObj('partenza[Y]').value=datan[2];
					
					
				
				}
				
				if(metodo=='cambia_lingua'){
					
					alert(response);
				
				}
				
				if(metodo=='carica_form_cerca_pers'){
					
					document.getElementById("business_booking_form_cerca").innerHTML = response;
				}
				
				
				if(metodo=='autocomplete_destinazione'){
					if(response!='0'){
						document.getElementById("div_autocomp_dest").style.display = 'block';
						document.getElementById("div_autocomp_dest").innerHTML =  response;
					}else{
						document.getElementById("div_autocomp_dest").style.display = 'none';
						document.getElementById("div_autocomp_dest").innerHTML =  '';
					}
				}
				
				
				
				
				
				
				
				
				
			}
		}
		self2.xmlHttpReq2.send(query_string);
	}
	
	
	function autocomplete_destinazione(obj,id_portale){
		var valore_dig = obj.value;
		
		xmlhttpPost_method('booking_engine.php','pg=search_return_id_attivita&search=' + valore_dig +'&id_portale='+id_portale, 'autocomplete_destinazione','div_autocomp_dest');
		
	}
	
	 function roundNumber(num, dec) {
		var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
		return result;
	}
	
	function trim(stringa){
		while (stringa.substring(0,1) == ' '){
			stringa = stringa.substring(1, stringa.length);
		}
		while (stringa.substring(stringa.length-1, stringa.length) == ' '){
			stringa = stringa.substring(0,stringa.length-1);
		}
		return stringa;
	}
	
	
	function setquerystring(form) {
	   
	   var querystring = 'sessid='+seed+'&';
	   var numberElement = form.elements.length;
	
		for(var i=0; i<numberElement; i++){
			if(i<numberElement-1){ 
			   querystring+= form.elements[i].name+"="+encodeURIComponent(form.elements[i].value)+"&";
			}else{
				querystring+= form.elements[i].name+"="+encodeURIComponent(form.elements[i].value);
			}
		}
		
		return querystring;
	   
	}
	

	function eval_script_into_text(testo){
			
		var tmp = testo;
		var chk = tmp.indexOf('<script type="text/javascript">');
		
		if(chk!='-1'){
			var trimmedData = tmp.slice( tmp.indexOf('<script type="text/javascript">') + 31 ,tmp.indexOf('</script>'));
			//alert('-'+trimmedData+'-');
			if(trimmedData) eval(trimmedData);	
		}
		
	}
	
	
	function updatepage(str){
		
		document.getElementById("booking").innerHTML = str;
		
		

		/*
		// Ripristina l'opacità
		var b = document.getElementById("booking");
		var opacity = 100;
		var opaque = (opacity / 100);
		b.style.opacity=opaque;                      
		b.style.MozOpacity=opaque;                   
		b.style.filter='alpha(opacity='+opacity+')'; 
		*/
		
		document.getElementById("div_loading").style.display = 'none';
		
		eval_script_into_text(str);
		
		hide_dropdowns('*');

	}
	
	function get_browser(){
		var ie  = (document.all && document.getElementById);
		var mozilla = (!document.all && document.getElementById);
		var opera = (document.all && document.getElementById);
		
		if(ie) return('ie');
		if(mozilla) return('mozilla');
		if(opera) return('opera');
	}
	
	function loading(){
		
		var b = document.getElementById("booking");
		var txt_loading = '<br><br><div style="text-align:center"><img src="http://www.abc.sm/business_booking/engine/img/loading16.gif"><br>Caricamento in corso, se la pagina non compare <a href="#" onclick="document.location.reload();">clicca qui</a></div><br><br>'; 
		
		document.getElementById("div_loading").style.display = 'block';
		document.getElementById("div_loading").innerHTML = txt_loading;
		
		hide_dropdowns('in');
		
		//centradiv2('div_loading');
		maximize_div('div_loading');
		
		/*
		// Imposta l'opacità
		var opacity = 40;
		var opaque = (opacity / 100);
		b.style.opacity=opaque;                      
		b.style.MozOpacity=opaque;                   
		b.style.filter='alpha(opacity='+opacity+')';   
		*/
		
	}
	
	
	function loading_todiv(divname,messaggio){
		document.getElementById(''+divname+'').innerHTML = '<div style="padding:6px">'+messaggio + '<br><img src="http://www.abc.sm/business_booking/engine/img/loading11.gif"></div>'; 
	}
	
	function start_engine(codatt,lang,id_portale,checkin,checkout, frazione_link_ritorno_ricercahotel){
		
		//loading();
		var b = document.getElementById("booking");
		switch(lang){
			
			case "ita":
				var txt_loading = '<br><br><div style="text-align:center">Caricamento in corso piattaforma di booking...</div><br>'; 
			break;
			case "eng":
				var txt_loading = '<br><br><div style="text-align:center">Booking platform updating in progress...</div><br>'; 
			break;
			case "fra":
				var txt_loading = '<br><br><div style="text-align:center">Chargement de la plate-forme booking en cour...</div><br>'; 
			break;
			case "deu":
				var txt_loading = '<br><br><div style="text-align:center">Downloading der Booking-Plattform im Gange...</div><br>'; 
			break;
			default:
				var txt_loading = '<br><br><div style="text-align:center">Caricamento in corso piattaforma di booking...</div><br>'; 
		}
		
		b.innerHTML = txt_loading;
		
		if(checkin!='' && checkout!='')
		{ // passo direttamente alla maschera di scelta camere
			var tmp_ci = checkin.split("-");
			var tmp_co = checkout.split("-");
			
			xmlhttpPost("booking_engine.php?sessid="+seed+"&id_attivita=" + codatt ,"pg=cerca_camere&cancella_da_fase=2&lang=" + lang + "&id_portale=" + id_portale + "&action=verifica&arrivo[d]="+tmp_ci[0]+"&arrivo[m]="+tmp_ci[1]+"&arrivo[Y]="+tmp_ci[2]+"&partenza[d]="+tmp_co[0]+"&partenza[m]="+tmp_co[1]+"&partenza[Y]="+tmp_co[2]+"&frazione_link_ritorno_ricercahotel=" + frazione_link_ritorno_ricercahotel);  
		}
		else
		{// faccio vedere il form con la scalta delle date
			xmlhttpPost("booking_engine.php?sessid="+seed+"&id_attivita=" + codatt ,"pg=form_cerca&start=1&lang=" + lang + "&id_portale=" + id_portale);  
		}
		
	}
	
	function load_form_attivita(codatt,lang,checkin,checkout){
		
		//loading();
		/*
		var b = document.getElementById("business_booking_form_cerca");
		var txt_loading = '<br><br><div style="text-align:center">Caricamento calendario...</div><br>'; 
		b.innerHTML = txt_loading;
		*/
		
		xmlhttpPost_method('booking_engine.php','id_attivita=' + codatt +'&pg=form_cerca_personalizzato&lang=' + lang+'&checkin='+checkin+'&checkout='+checkout ,'carica_form_cerca_pers','business_booking_form_cerca');
		
	}
	
	


	function cron_verifica_pagamento(){
			
			var id_att = document.dati_riepilogo.id_attivita_scelta.value;
			var num_pren = document.dati_riepilogo.num_ordine.value;
			// verifica ogni 3 secondi se la prenotazione è stata pagata
			x = window.setInterval("check_pagamento('"+ id_att +"','"+ num_pren +"')", 3000);
			
			document.getElementById('div_result_pagamemnto').style.display = 'block';
	}

	function check_pagamento(id_attivita,num_prenotazione){
		
		xmlhttpPost_method('booking_engine.php','pg=verifica_pagamento_effettuato&id_attivita=' + id_attivita + '&num_prenotazione=' + num_prenotazione, 'view_result_pagamento');
		
	}
	
	
	
	function get_location(){
		return (document.location);
	}
	

	
	
	
	
	function imposta_data_arrivo(d,m,Y){
		
			MM_findObj('arrivo[d]').value=d;
			MM_findObj('arrivo[m]').value=m;
			MM_findObj('arrivo[Y]').value=Y;
			//MM_findObj('div_arrivo').visualEffect('pulsate',{duration:1})  
			new Effect.Pulsate(MM_findObj('div_arrivo'),{duration:1}); 
			
	}
	
	function imposta_data_partenza(d,m,Y){
		
			MM_findObj('partenza[d]').value=d;
			MM_findObj('partenza[m]').value=m;
			MM_findObj('partenza[Y]').value=Y;
			//MM_findObj('div_partenza').visualEffect('Highlight',{duration:1}) 
			//new Effect.Pulsate(MM_findObj('div_partenza'),{duration:1}); 
			
	}
	
	function incrementa_data_partenza(theElement)
	{
		if(theElement == 'arrivo')
		{
			var arr_d = parseFloat(MM_findObj('arrivo[d]').value) + 1;
			var arr_m = parseFloat(MM_findObj('arrivo[m]').value) - 1;
			var arr_Y = parseFloat(MM_findObj('arrivo[Y]').value);
			
			var d=new Date();
			d.setFullYear(arr_Y,arr_m,arr_d);
			
			MM_findObj('partenza[d]').value=d.getDate();
			MM_findObj('partenza[m]').value=(d.getMonth() + 1);
			MM_findObj('partenza[Y]').value=d.getFullYear();
		}
		
		// Questo if serve per il form personalizzato sui vari siti degli hotel
		if(theElement == 'arrivo_personalizzato')
		{
			var arr_d2 = parseFloat(document.getElementById('arrivo_d_p').value) + 1;
			var arr_m2 = parseFloat(document.getElementById('arrivo_m_p').value) - 1;
			var arr_Y2 = parseFloat(document.getElementById('arrivo_y_p').value);
			
			var d2=new Date();
			d2.setFullYear(arr_Y2,arr_m2,arr_d2);
			
			document.getElementById('partenza_d_p').value=d2.getDate();
			document.getElementById('partenza_m_p').value=(d2.getMonth() + 1);
			document.getElementById('partenza_y_p').value=d2.getFullYear();
		}
	}
	
	function cambia_giorni_mese(listbox)
	{
		var giorno;
		var mese;
		var anno;
		
		var selectDaAggiornare;
		
		switch(listbox)
		{
			case 'arrivo':
				giorno = parseFloat(MM_findObj('arrivo[d]').value);
				mese = parseFloat(MM_findObj('arrivo[m]').value) - 1;
				anno = parseFloat(MM_findObj('arrivo[Y]').value);	
			break;
			
			case 'arrivo_personalizzato':
				giorno = parseFloat(document.getElementById('arrivo_d_p').value);
				mese = parseFloat(document.getElementById('arrivo_m_p').value) - 1;
				anno = parseFloat(document.getElementById('arrivo_y_p').value);
			break;
			
			case 'partenza':
				giorno = parseFloat(MM_findObj('partenza[d]').value);
				mese = parseFloat(MM_findObj('partenza[m]').value) - 1;
				anno = parseFloat(MM_findObj('partenza[Y]').value);	
			break;
			
			case 'partenza_personalizzata':
				giorno = parseFloat(document.getElementById('partenza_d_p').value);
				mese = parseFloat(document.getElementById('partenza_m_p').value) - 1;
				anno = parseFloat(document.getElementById('partenza_y_p').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 = MM_findObj('arrivo[d]');
			break;
			
			case 'arrivo_personalizzato':
				selectDaAggiornare = document.getElementById('arrivo_d_p');
			break;
			
			case 'partenza':
				selectDaAggiornare = MM_findObj('partenza[d]');
			break;
			
			case 'partenza_personalizzata':
				selectDaAggiornare = document.getElementById('partenza_d_p');
			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);
			}
		}
	}
	
	function gotourl_compose_form_cerca(id_attivita,url){ 
		
		var arr_d2 = document.getElementById('arrivo_d_p').value;
		var arr_m2 = document.getElementById('arrivo_m_p').value;
		var arr_Y2 = document.getElementById('arrivo_y_p').value;
		var day_in = arr_d2+'-'+ arr_m2 +'-'+ arr_Y2;
		
		var part_d2 = document.getElementById('partenza_d_p').value;
		var part_m2 = document.getElementById('partenza_m_p').value;
		var part_Y2 = document.getElementById('partenza_y_p').value;
		var day_out = part_d2+'-'+ part_m2 +'-'+ part_Y2;
		
		var goto_url = url+'?id_attivita='+id_attivita+'&checkin='+day_in+'&checkout='+day_out+'&lang='+document.getElementById('lang_booking').value;  

		document.location.href = goto_url;
	}
	
	function controlla_disponibilita_gruppo(obj_listbox,id_cam_gest,form){
		
		var ml = form; 
		var len = ml.elements.length; 
		var tot_cam_selez_gruppo = 0;
		var lista_camere = '';
		for (var i = 0; i < len; i++) 
		{ 
			var e = ml.elements[i];
			var id = e.id
		
			if(id.indexOf('id_gest_'+id_cam_gest) == 0 )
			{		
				tot_cam_selez_gruppo = tot_cam_selez_gruppo + parseFloat(e.value);
			}
			
			if(id.indexOf('nome_camera_gestionale_'+id_cam_gest) == 0 )
			{		
				lista_camere += '- ' + e.value+'\n'; 
			}
			
		}
		
		
		var num_cam_selez = obj_listbox[obj_listbox.selectedIndex].value;
		if(document.getElementById('id_camera_gestionale_'+id_cam_gest)){
			var max_val = document.getElementById('id_camera_gestionale_'+id_cam_gest).value;
		}
		
		if(tot_cam_selez_gruppo > max_val){
			var nuovoval = parseFloat(max_val) - (parseFloat(tot_cam_selez_gruppo) - parseFloat(num_cam_selez));
			
			if(nuovoval>=0) {
				obj_listbox.selectedIndex = nuovoval;
			}else{
				obj_listbox.selectedIndex = 0;
			}
			var alertText = document.getElementById('qty_max_camera').value;
			alertText = alertText.replace('[LISTA_CAMERE]', lista_camere);
			alertText = alertText.replace('[MAX_VAL]', max_val);
			alert(alertText);
		}
	}
	
	function check_selected_room(obj_listbox, form, id_obj, id_row_totale, prezzo, div_servizi_extra)
	{
		var ml = form; 
		var len = ml.elements.length; 
		var tot_cm_selected = 0;
		var num_cam_sel_this = obj_listbox[obj_listbox.selectedIndex].value;
		var servizi_aperti = ml.servizi_aperti.value;
		
		for (var i = 0; i < len; i++) 
		{ 
			var e = ml.elements[i];
			var nome = e.name
		
			if(nome.indexOf('dispo[') == 0 )
			{		
				tot_cm_selected = tot_cm_selected + parseFloat(e.value);
			}
		}
		
		if(tot_cm_selected >= 1)
		{	
			//document.getElementById("" + id_obj + "").style.display = 'block';
			
			document.getElementById("campo_" + id_row_totale + "").value = (parseFloat(prezzo) * obj_listbox[obj_listbox.selectedIndex].value);
			
			if(servizi_aperti == 0)
			{
				hideshow_control(id_row_totale,'show');
			}
		}
		else
		{	
			for (var i = 0; i < len; i++) 
			{ 
				var e = ml.elements[i];
				var nome = e.name
				var id = e.id
				
				if( nome.indexOf('sel_serv_extra[') == 0 )
				{	
					if( id.indexOf('obbligatorio_') == 0 )
					{
						e.checked=true;
					}
					else
					{
						e.checked=false;
					}
				}
				
				if( nome.indexOf('prezzo_serv_extra[') == 0 )
				{
					e.disabled=true;
				}
			}
			
			//document.getElementById("" + id_obj + "").style.display = 'none';
			
			document.getElementById("campo_"+id_row_totale+"").value = '';
			
			if(servizi_aperti == 0)
			{
				hideshow_control(id_row_totale,'hide');
			}
		}
		
		if(num_cam_sel_this == 0)
		{
			document.getElementById("campo_" + id_row_totale + "").value = '';
			if(servizi_aperti == 0)
			{
				hideshow_control(id_row_totale,'hide');
			}
		}
	}
	
	function verifyRoomsAndGoOn(form)
	{
		var ml = form; 
		var len = ml.elements.length; 
		var tot_cm_selected = 0;
		
		for (var i = 0; i < len; i++) 
		{ 
			var e = ml.elements[i];
			var nome = e.name
		
			if(nome.indexOf('dispo[') == 0 )
			{		
				tot_cm_selected = tot_cm_selected + parseFloat(e.value);
			}
		}
		
		if(tot_cm_selected >= 1)
		{	
			xmlhttpPost('booking_engine.php', setquerystring(form)); 
			loading();
		}
		else
		{
			var alertText = document.getElementById('select_one_room').value;
			alert(alertText);
			return false;
		}
	}
	
	// aggiungi_servizio_extra(this,\''.$id_serv_extra.'\',\''.$id_camera.'\',\''.$id_attivita.'\')
	
	function aggiungi_servizio_extra(obj_check,id_serv_extra,id_camera,id_attivita)
	{	
		if(document.getElementById("campo_totale_camera_" + id_camera + "").value == 0)
		{	
			var alertText = document.getElementById('select_qty').value;
			alert(alertText);
			obj_check.checked = false;
			return false;
		}
		
		if(obj_check.checked)
		{	
			MM_findObj('prezzo_serv_extra['+id_camera+']['+id_serv_extra+']').disabled=false;
			MM_findObj('sel_serv_extra['+id_camera+']['+id_serv_extra+']').value = '1';
		}
		else
		{
			MM_findObj('prezzo_serv_extra['+id_camera+']['+id_serv_extra+']').value='';
			MM_findObj('prezzo_serv_extra['+id_camera+']['+id_serv_extra+']').disabled=true;
			MM_findObj('sel_serv_extra['+id_camera+']['+id_serv_extra+']').value = '0';
			document.getElementById('div_prezzo_serv_extra['+id_camera+']['+id_serv_extra+']').innerHTML = '';
		}
		return true;
	}
	
	function update_totale(form, prezzo, id_camera)
	{	
		var ml = form; 
		var len = ml.elements.length; 
		var totale = 0;
		
		var num_camere = MM_findObj('dispo[' + id_camera + ']').value;
		
		for (var i = 0; i < len; i++) 
		{
			var e = ml.elements[i];
			var nome = e.name;

			if( nome.indexOf('sel_serv_extra[' + id_camera + ']') == 0 )
			{	
				
				var id_cam_id_serv = e.name.replace('sel_serv_extra','');

				if(e.checked == true) // se è selezionato
				{ 
					e.value = MM_findObj('unit_prezzo_serv_extra'+id_cam_id_serv).value * num_camere; 
					// scrivo nel div
					//MM_findObj('div_'+e.name).innerHTML = '&euro; ' + e.value;
					MM_findObj('prezzo_serv_extra' + id_cam_id_serv).value = number_format(roundNumber(parseFloat(e.value), 2));
					document.getElementById('div_prezzo_serv_extra'+id_cam_id_serv+'').innerHTML = '&euro; ' + number_format(roundNumber(parseFloat(e.value), 2));
					
					totale = totale + parseFloat(e.value);
				}
				if(num_camere == 0)
				{
					MM_findObj('prezzo_serv_extra' + id_cam_id_serv).value = 0;
					document.getElementById('div_prezzo_serv_extra'+id_cam_id_serv+'').innerHTML = '';
				}
			}
		}
		
		var totale_preventivo = (parseFloat(num_camere) * parseFloat(prezzo)) + parseFloat(totale);
		
		document.getElementById("campo_totale_camera_"+id_camera+"").value = roundNumber(parseFloat(totale_preventivo), 2);
		document.getElementById("div_campo_totale_camera_"+id_camera+"").innerHTML = '&euro; ' + number_format( roundNumber(parseFloat(totale_preventivo), 2) )+'';
	}
	
	function number_format(numero)
	{		
		if(numero)
		{
			return(numero.toFixed(2));
		}
		else
		{
			return(0);	
		}
	}
	
	
	
	
	function centradiv(nome_div,space) { //Centers a div element on the page
		
		var divobj = document.getElementById(''+ nome_div +''); 
		
		if(space=='') var space = 60;
		
		
		 
		var ie=document.all && !window.opera
		var dom=document.getElementById
		
		var standardbody=(document.compatMode=="CSS1Compat")? document.documentElement : document.body 
		
		var scroll_top=(ie)?  standardbody.scrollTop : window.pageYOffset
		var scroll_left=(ie)?  standardbody.scrollLeft : window.pageXOffset
		var docwidth=(ie)?  standardbody.clientWidth : window.innerWidth
		var docwidth2 = document.body.clientWidth;
		var docheight=(ie)?  standardbody.clientHeight: window.innerHeight
		var docheightcomplete=( standardbody.offsetHeight> standardbody.scrollHeight)?  standardbody.offsetHeight :  standardbody.scrollHeight //Full scroll height of document
		var objwidth=divobj.offsetWidth //width of div element
		var objheight=divobj.offsetHeight //height of div element
		var topposition=(docheight>objheight)? scroll_top+docheight/2-objheight/2+"px" : scroll_top+10+"px" //Vertical position of div element: Either centered, or if element height larger than viewpoint height, 10px from top of viewpoint
		
		divobj.style.display = 'block'; 
		divobj.style.width = (docwidth2 - space) + 'px'; //100px or 100%
		divobj.style.height = ((docheight - scroll_top) - space) + 'px'; //100px or 100% 
		divobj.style.top = (scroll_top + (space/2)) + 'px'; //100px or 100%  
		divobj.style.left = ( (docwidth/2) - (divobj.offsetWidth/2) ) +"px"; //100px or 100%  
		
		
 
		
	}
	
	function maximize_div(nome_div) { //Centers a div element on the page
		
		var divobj3 = document.getElementById(''+ nome_div +''); 
		var ie=document.all && !window.opera
		var dom=document.getElementById
		var standardbody=(document.compatMode=="CSS1Compat")? document.documentElement : document.body 
		
		var scroll_top=(ie)?  standardbody.scrollTop : window.pageYOffset
		var scroll_left=(ie)?  standardbody.scrollLeft : window.pageXOffset
		var docwidth=(ie)?  standardbody.clientWidth : window.innerWidth
		var docwidth2 = document.body.clientWidth;
		var docheight=(ie)?  standardbody.clientHeight: window.innerHeight
		var docheightcomplete=( standardbody.offsetHeight> standardbody.scrollHeight)?  standardbody.offsetHeight :  standardbody.scrollHeight //Full scroll height of document
		var objwidth=divobj3.offsetWidth //width of div element
		var objheight=divobj3.offsetHeight //height of div element
		var topposition=(docheight>objheight)? scroll_top+docheight/2-objheight/2+"px" : scroll_top+10+"px" //Vertical position of div element: Either centered, or if element height larger than viewpoint height, 10px from top of viewpoint
		
		divobj3.style.display = 'block'; 
		//divobj3.style.width = docwidth + 'px'; //100px or 100%
		if(ie){
			divobj3.style.width = docwidth + 'px'; //100px or 100%
		}else{
			divobj3.style.width = '100%'; //100px or 100%	
		}
		divobj3.style.height = docheight + 'px'; //100px or 100% 
		divobj3.style.top = scroll_top + 'px'; //100px or 100%  
		divobj3.style.left = '0px'; //100px or 100%    
		
		//alert(divobj3.style.top);
 
		
	}


	function centradiv2(nome_div) { //Centers a div element on the page
		
		var divobj2 = document.getElementById(''+ nome_div +''); 
		
		var ie=document.all && !window.opera
		var dom=document.getElementById
		var posleft = '';
		
		var standardbody=(document.compatMode=="CSS1Compat")? document.documentElement : document.body 
		
		var scroll_top=(ie)?  standardbody.scrollTop : window.pageYOffset 
		var scroll_left=(ie)?  standardbody.scrollLeft : window.pageXOffset
		var docwidth=(ie)?  standardbody.clientWidth : window.innerWidth
		var docwidth2 = document.body.clientWidth;
		var docheight=(ie)?  standardbody.clientHeight: window.innerHeight
		var docheightcomplete=( standardbody.offsetHeight> standardbody.scrollHeight)?  standardbody.offsetHeight :  standardbody.scrollHeight //Full scroll height of document
		var objwidth=divobj2.offsetWidth //width of div element
		var objheight=divobj2.offsetHeight //height of div element
		var topposition=(docheight>objheight)? scroll_top+docheight/2-objheight/2+"px" : scroll_top+10+"px" //Vertical position of div element: Either centered, or if element height larger than viewpoint height, 10px from top of viewpoint
	
		divobj2.style.top = (scroll_top + 60) + 'px'; //100px or 100% 
		divobj2.style.left = ( (docwidth2/2) - (divobj2.offsetWidth/2) ) +"px"; //100px or 100%
		
		
	}
	
	function hide_dropdowns(what){
		//alert(window.navigator.userAgent.indexOf('MSIE 6.0'))
		//if (window.navigator.userAgent.indexOf('MSIE 6.0') != -1)
	
		
		if (what=="in") {
		  var anchors = document.getElementsByTagName("select");
		  for (var i=0; i<anchors.length; i++) {
			var anchor = anchors[i];
			//if (anchor.getAttribute("rel")=="dropdown") {
				
			  anchor.style.position="relative";
			  anchor.style.top="0px";
			  anchor.style.left="-2000px";
			//}
		  }
		} else {
		  var anchors = document.getElementsByTagName("select");
		  for (var i=0; i<anchors.length; i++) {
			var anchor = anchors[i];
	
			//if (anchor.getAttribute("rel")=="dropdown") {
				
			  anchor.style.position="relative";
			  anchor.style.top="0px";
			  anchor.style.left="0px";
			//}
		  }
		}
		
				
	  }

	function controlla_form_registrazione()
	{	
		var error = 0;
		var message = '';
		var d = document.form_dati_anag;
		
		document.form_dati_anag.pg.value='riepilogo_dati';
		document.form_dati_anag.action.value='insert_prenotazione';

		if(d.nome.value == '')
		{
			error++;
			message += document.getElementById('error_nome').value + "\n ";
		}
		
		if(d.cognome.value == '')
		{
			error++;
			message += document.getElementById('error_cognome').value + "\n ";
		}
		
		if(d.indirizzo.value == '')
		{
			error++;
			message += document.getElementById('error_indirizzo').value + "\n ";
		}
		
		if(d.citta.value == '')
		{
			error++;
			message += document.getElementById('error_citta').value + "\n ";
		}
		
		if(d.nazione.value == '')
		{
			error++;
			message += document.getElementById('error_nazione').value + "\n ";
		}
		
		if(d.telefono.value == '')
		{
			error++;
			message += document.getElementById('error_telefono').value + "\n ";
		}
		
		if(d.email.value == '')
		{
			error++;
			message += document.getElementById('error_email').value + "\n ";
		}
		
		if(d.email.value != d.email2.value)
		{
			error++;
			message += document.getElementById('error_conferma_email').value + "\n ";
		}

		if(d.privacy)
		{
			if(!d.privacy.checked)
			{
				error++;
				message += document.getElementById('error_privacy').value + "\n ";
			}
		}

		if(error == 0)
		{
			xmlhttpPost('booking_engine.php',setquerystring(document.form_dati_anag)); 
			loading();
		}
		else
		{
			message = document.getElementById('attenzione').value + "\n" + message;
			message = message + "\n " + document.getElementById('errore_form_testo_basso').value;
			alert(message);
		}
	
	
	}
	
	function mostra_nascondi_provincia(){
		
		var error = 0;
		var message = '';
		var d = document.form_dati_anag
		var valore = d.nazione.options[d.nazione.selectedIndex].value;
		
		if(valore!='Italia'){
			document.getElementById('val_provincia').style.display = 'none';	
		}else{
			document.getElementById('val_provincia').style.display = 'block';
		}
		
	}
	
	
	function hideshow(id) { //Centers a div element on the page 
		
		var obj = document.getElementById(''+ id +''); 
		
		if ( document.all ) { // se ie
				
				if(obj.style.display=='none'){
					obj.style.display="block";
				}else{
					obj.style.display="none";
				}
		
			
		}else{ // se firefox
			
				if(obj.style.display=='none'){
					obj.style.display="table-row";
				}else{
					obj.style.display="none";
				}
			
		}
	
	}
	
	function hideshow_control(id, comando) { //Centers a div element on the page 
		
		var obj2 = document.getElementById(''+ id +''); 
		
		if ( document.all ) { // se ie
				
				if(comando=='hide'){
					obj2.style.display="none";
				}
				
				if(comando=='show'){
					obj2.style.display="block";
				}
				

		
			
		}else{ // se firefox
				
				if(comando=='hide'){
					obj2.style.display="none";
				}
				
				if(comando=='show'){
					obj2.style.display="table-row";
				}
			
			
		}
	
	}
	
	
	function message_payment_gateway(d,div) { 
		
		var tipologia = d.options[d.selectedIndex].value;
		var mostra_div = document.getElementById(''+ div +''); 
		
		
		
		if(tipologia=='cc_garanzia'){
			
			document.getElementById('testo_pagamento_cc_garanzia').style.display = 'block'; 
			mostra_div.style.display = 'none';
			document.form_dati_anag.tipo_pagamento.value='cc_garanzia';
			document.getElementById('testo_pagamento_cc_garanzia_title').innerHTML = '<b>'+d.options[d.selectedIndex].text+'</b>';
			
		}else{
			
			document.getElementById('testo_pagamento_cc_garanzia').style.display = 'none'; 
			mostra_div.style.display = 'block';
			
			if(div=='testo_pagamento_caparra'){
				document.form_dati_anag.tipo_pagamento.value='caparra';	
				document.getElementById('testo_pagamento_caparra_title').innerHTML = '<b>'+d.options[d.selectedIndex].text+'</b>';
			}
			
			if(div=='testo_pagamento_importo_totale'){
				document.form_dati_anag.tipo_pagamento.value='importo_totale';	
				document.getElementById('testo_pagamento_importo_totale_title').innerHTML = '<b>'+d.options[d.selectedIndex].text+'</b>';
			}
		
		}
		
		if(tipologia==''){
			document.getElementById('testo_pagamento_cc_garanzia').style.display = 'none'; 
			mostra_div.style.display = 'none';
			document.form_dati_anag.tipo_pagamento.value='';	
		}
		
		
		
		
		
	}
	
	
	function submit_popupform(myform, windowname){  
		
		window.open('', windowname, 'scrollbars=yes,resizable=yes,status=no,location=no,toolbar=no,menubar=no,fullscreen=yes');
		myform.target=windowname;
		myform.submit();
		
		return true; 
	}
	
function validate_form(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 " + document.getElementById('arrivo_passato').value;
	}
	
	if((today.getTime() > partenza.getTime()) && !errFlag['partenza_passata'])
	{
		errFlag['partenza_passata'] = true;
		_qfMsg = _qfMsg + "\n " + document.getElementById('partenza_passata').value;
	}	
	
	if((partenza.getTime() == arrivo.getTime()) && !errFlag['partenza_come_arrivo'])
	{
		errFlag['partenza_come_arrivo'] = true;
		_qfMsg = _qfMsg + "\n " + document.getElementById('partenza_come_arrivo').value;
	}
	
	if((arrivo.getTime() > partenza.getTime()) && !errFlag['arrivo_maggiore_partenza'])
	{
		errFlag['arrivo_maggiore_partenza'] = true;
		_qfMsg = _qfMsg + "\n " + document.getElementById('arrivo_maggiore_partenza').value;
	}

	if(_qfMsg != '') 
	{
		_qfMsg = document.getElementById('attenzione').value + "\n" + _qfMsg;
		_qfMsg = _qfMsg + "\n " + document.getElementById('errore_form_testo_basso').value;
		alert(_qfMsg);
		return false;
	}
	
	xmlhttpPost('booking_engine.php',setquerystring(frm)); loading();
	return false;
}