$(document).ready(function(){

	// popAlpi HELP
	jQuery('.popAlpiSearch').popAlpiSearch();
	jQuery('#poaltoSearch').livequery(function(){
		jQuery(this).bgiframe();
	});	

	
	//	variabili utilizzate nel parsing dell'xml
	var messaggi	= [];

    var numRequestHotel = $('#numRequestHotel').val();
    
	$('#hotel_notti').attr("autocomplete","off");
	
    if(numRequestHotel != null && numRequestHotel !='2'){
	    $('#destinazione').attr("autocomplete","off");
	    var chiamaWs = function(){
			var $sb = $('#searchBox');
			var offset = $sb.offset();
			var w = $sb.innerWidth();
			var h = $sb.outerHeight();
			//h -= $('#hotel_ricerca_avanzata').outerHeight();
			$('<div id="blocker" style="background-color:#a6cfe8; position:absolute; top:' + offset.top + 'px; left:' + (offset.left + 3) + 'px; height:' + h + 'px; width:' + (w - 6) + 'px;"></div>')
				.css('opacity', '0.5')
				.bgiframe()
				.appendTo('body');
			$('<div id="loader" style="position:absolute; top:' + (offset.top + 121) + 'px; left:' + (offset.left + 80) + 'px; background:url(/ResEBook/img/pb/ajax-loader.gif) 3px center no-repeat #a6cfe8; width:80px; color:#fff; padding:2px 0 0 23px; text-align:left;">Attendere caricamento...</div>')
				.bgiframe()
				.appendTo('body');
			
			$.ajax({
				url: '/EBookingWeb/SEASOHO',
				type: 'get',
				dataType: 'xml',
				success: function(xmlData){
				
					$('#blocker, #loader').remove();
					data = xmlData;
					// msg-list
					$(data).find('msg-list > msg').each(function(i){
						messaggi[i] = {};
						messaggi[i]['code'] = $(this).find('code').text();
						messaggi[i]['text'] = $(this).find('text').text();
					});
					
					if (messaggi[0].code == '0' && messaggi[0].text == 'Completed.') {
						$('RELATIONS', data).each(function(i){
							xmlDoc=this;
							loadColl(this);
							a0 = new actb($('#destinazione'),$('#keyd'),collection,false);
							loadDest('liv1','','1','');
							setComboDest('form_hotel')						
						});
												
					}	//	fine if (messaggi.code && messaggi.text)
					
						//	se si ricevono messaggi diversi da "0" e "Completed." dalla servlet
					else alert("Errore nella ricezione dei dati.");
				},	// fine success
				error: function(){
					alert("ERRORE: Impossibile contattare il server. Provare a ricaricare la pagina.");
				}	// fine error
			});
		};

}




	/** FUNZIONI COMUNI **/
	
	//	datepicker
	//	inizializzo le variabili per il calcolo delle date
	var laData = new Date();
	var gg = laData.getDate();
	var mm = laData.getMonth();
	var aaaa = laData.getFullYear();
	var oggi = gg + '/' + mm + '/' + aaaa;
	var annoprossimo = (+ aaaa) + 1;

	var fraUnAnno = new Date();
	fraUnAnno.setDate(laData.getDate() + 365);

	var ggP = $('#h_g_p').val(); 
	var mmP = $('#hotel_m_p').val(); 
	var aaP = $('#hotel_a_p').val(); 
	var ggA = $('#h_g_a').val(); 
	var mmA = $('#hotel_m_a').val(); 
	var aaA = $('#hotel_a_a').val(); 
	
	var domani = new Date();
	domani.setDate(laData.getDate() + 1);
	
	var dopodomani = new Date();
	dopodomani.setDate(laData.getDate() + 2);
	
	var ggDomani = domani.getDate();
	var mmDomani = domani.getMonth()+1;
	var aaaaDomani = domani.getFullYear();

	var ggDomaniStr = ggDomani.toString();
	var mmDomaniStr = mmDomani.toString();

	if (ggDomaniStr.length==1) 
		ggDomaniStr = '0' + ggDomaniStr;
	if (mmDomaniStr.length==1) 
		mmDomaniStr = '0' + mmDomaniStr;
	
	var maDomani = mmDomaniStr  + '/' + aaaaDomani;
	
	//	popolo le select per giorno e mese/anno
	//	gg
	for (var t = 1; t < 32; t++) {
		
		var day, valday;
		if (t < 10) day = valday = '0' + t;
		else day = valday = t;
		var optA = '<option value="' + valday + '">' + day + '</option>';
		var optP = '<option value="' + valday + '">' + day + '</option>';

		if (ggA=='' && ggDomaniStr==day) {
			$(optA).attr('selected','selected').appendTo('#hotel_g_a');
			$('#h_g_a').val(day); 
		}
		else if(valday==ggA)
			$(optA).attr('selected','selected').appendTo('#hotel_g_a');
		else
			$(optA).appendTo('#hotel_g_a');
		
		if(valday==ggP)
			$(optP).attr('selected','selected').appendTo('#hotel_g_p');
		else
			$(optP).appendTo('#hotel_g_p');
	}
	//	mm/aaaa
	for (var t = 1; t < 14; t++) {
		var mese = mm;
		var anno = ((mese + t) > 12) ? (aaaa + 1) : (aaaa);
		mese = ((mese + t) > 12) ? (mese + t - 12) : (mese + t);
		if (mese < 10) mese = '0' + mese;
		var ma = mese  + '/' + anno;

		var optA = '<option value="' + anno + mese + '">' + ma + '</option>';
		var optP = '<option value="' + anno + mese + '">' + ma + '</option>';
		
		if (aaA=='' && mmA=='' && maDomani==ma) {
			$(optA).attr('selected','selected').appendTo('#hotel_ma_a');
			$('#hotel_m_a').val(mese); 
			$('#hotel_a_a').val(anno); 
		}
		
		else if (anno==aaA && mese==mmA)
			$(optA).attr('selected','selected').appendTo('#hotel_ma_a');
		else
			$(optA).appendTo('#hotel_ma_a');
		
		if (anno==aaP && mese==mmP)
			$(optP).attr('selected','selected').appendTo('#hotel_ma_p');
		else
			$(optP).appendTo('#hotel_ma_p');
	}
	
	//Se la data di arrivo in Hotel è vuota
	if (ggA=='' && aaA=='' && mmA=='')
		$('#hotel_h_data_a').val(ggDomani + "/" + mmDomani + "/" + aaaaDomani);

	// Prevent selection of invalid dates through the select controls 
	function checkLinkedDays() {
		var mese = jQuery(this).val().substring(4);
		var anno = jQuery(this).val().substring(0,4);
		var daysInMonth = 32 - new Date(anno, mese - 1, 32).getDate(); 
		$(this).prev('select').find('option').attr('disabled', ''); 
		$(this).prev('select').find('option:gt(' + (daysInMonth) +')').attr('disabled', 'disabled'); 
		if ($(this).prev('select').val() > daysInMonth) { 
			$(this).prev('select').val(daysInMonth); 
		} 
		
	};
	
	$('#hotel_ma_a, #hotel_ma_p').change(checkLinkedDays);
	
	function readLinked() { 
		var _temp_id = this.id.split('_');
		var ma = jQuery('#' + _temp_id[0] + '_ma_' + _temp_id[3]).val();
		var g = jQuery('#' + _temp_id[0] + '_g_' + _temp_id[3]).val();
		jQuery('#' + this.id).val( 
			g + '/' + ma.substr(4) + '/' + ma.substr(0,4)  
		); 
		return {}; 
	};
	
	function updateLinkedNotti(date) {
		var _temp_id = this.id.split('_');
		var _anno = + date.substring(6, 10);
		var _mese = date.substring(3, 5);
		var _giorno = date.substring(0, 2);
		var sel = 'a';
		jQuery('#' + _temp_id[0] + '_ma_' + _temp_id[3]).val(_mese + '/' + _anno).change(); 
		jQuery('#' + _temp_id[0] + '_g_' + _temp_id[3]).val(_giorno);
		if (this.id == 'hotel_h_data_a') {
			$('#hotel_m_a').val(_mese);
			$('#hotel_a_a').val(_anno)
		}
		if (this.id == 'hotel_h_data_p') {
			$('#hotel_m_p').val(_mese);
			$('#hotel_a_p').val(_anno)
		}
		_mese = + _mese;
		if (_temp_id[3] == 'a') {
			sel = 'p';
		}
		else if (_temp_id[3] == 'p') {
			sel = 'a';
		}
		var _$_sel = $('#hotel_h_data_' + sel);
		if ( (_$_sel.val() != '' && _$_sel.val() != undefined) && (this.value != '' && this.value != undefined) ) {
			var _mese_p = $('#hotel_ma_' + sel).val().substr(4, 6);
			var _anno_p = $('#hotel_ma_' + sel).val().substr(0, 4);
			var _giorno_p = $('#hotel_g_' + sel).val();
			var temp = Date.parse(_mese + '/' + _giorno + '/' + _anno);
			var temp2 = Date.parse(_mese_p + '/' + _giorno_p + '/' + _anno_p);
			$('#hotel_notti').val(parseInt((Math.max(temp2, temp) - Math.min(temp2, temp)) / 86400000));
		} 
		//else if (this.value == '' || _$_sel.val() == '') {
		//	$('#hotel_notti').val('');
		//}

		//Aggiornamento il secondo DTPicker
		if (this.id == 'hotel_h_data_a') {
			if (($('#hotel_h_data_p').getDatepickerDate() == null) && $('#hotel_notti').attr('value') == '')
			{
				var newDate = $('#hotel_h_data_a').getDatepickerDate();
				newDate.setDate(newDate.getDate() + 1);
				$('#hotel_h_data_p').changeDatepicker({minDate: newDate});				
			}
			if (($('#hotel_h_data_p').getDatepickerDate() == null) && $('#hotel_notti').attr('value') != '')
			{
				var newDate = $('#hotel_h_data_a').getDatepickerDate();
				newDate.setDate(newDate.getDate() + 1);
				$('#hotel_h_data_p').changeDatepicker({minDate: newDate});
				var newSelectedDate = $('#hotel_h_data_a').getDatepickerDate();
				newSelectedDate.setDate(newSelectedDate.getDate() + parseInt($('#hotel_notti').attr('value')));
				$('#hotel_h_data_p').setDatepickerDate(newSelectedDate);
				if (newSelectedDate.getDate().toString().length == 1)
					var day = '0' + newSelectedDate.getDate();
				else
					var day = newSelectedDate.getDate();
				$('#hotel_g_p').val(day);
				var actualMonth = parseInt(newSelectedDate.getMonth()) + 1;
				if (actualMonth.toString().length == 1)
					var month = '0' + actualMonth;
				else
					var month = actualMonth;
				$('#hotel_ma_p').val(month + '/' + newSelectedDate.getFullYear());
			}
			if (($('#hotel_h_data_p').getDatepickerDate() != null) && $('#hotel_notti').attr('value') != '')
			{
				if ($('#hotel_h_data_a').getDatepickerDate() >= $('#hotel_h_data_p').getDatepickerDate())
				{
					var newDate = $('#hotel_h_data_a').getDatepickerDate();
					newDate.setDate(newDate.getDate() + 1);
					$('#hotel_h_data_p').changeDatepicker({minDate: newDate});
					var newSelectedDate = $('#hotel_h_data_a').getDatepickerDate();
					newSelectedDate.setDate(newSelectedDate.getDate() + parseInt($('#hotel_notti').attr('value')));
					$('#hotel_h_data_p').setDatepickerDate(newSelectedDate);
					if (newSelectedDate.getDate().toString().length == 1)
						var day = '0' + newSelectedDate.getDate();
					else
						var day = newSelectedDate.getDate();
					$('#hotel_g_p').val(day);
					var actualMonth = parseInt(newSelectedDate.getMonth()) + 1;
					if (actualMonth.toString().length == 1)
						var month = '0' + actualMonth;
					else
						var month = actualMonth;
					$('#hotel_ma_p').val(month + '/' + newSelectedDate.getFullYear());										
				}					
			}
		}		
	};
	
	try {
		$('#hotel_h_data_a').attachDatepicker({
			minDate: oggi,
			maxDate: fraUnAnno,
			buttonImage: '/ResEBook/img/sf/calendario.gif',
			beforeShow: readLinked,
			onSelect: updateLinkedNotti
		});
		
		var minDateP;
		if ($('#hotel_h_data_p').val() == '')
			minDateP = dopodomani;
		else {
			var _mese = $('#hotel_ma_a').val().substr(4, 6);
			var _anno = $('#hotel_ma_a').val().substr(0, 4);
			var _giorno = $('#hotel_g_a').val();
			minDateP = new Date(_anno, _mese, _giorno);
			minDateP.setDate(minDateP.getDate()+1);
		}
		
		$('#hotel_h_data_p').attachDatepicker({
			minDate: minDateP,
			maxDate: fraUnAnno,
			buttonImage: '/ResEBook/img/sf/calendario.gif',
			beforeShow: readLinked,
			onSelect: updateLinkedNotti
		});

		//	fine sezione datepicker
	}
	catch(e) {
		// non fare nulla
	}
	

    if(numRequestHotel != null && numRequestHotel !='2'){
	   chiamaWs();
	}   

	var $this = $('#eng_hotel');

	$('#hotel_sel_ricerca').click(function(){
		$('#hotel_ricerca_avanzata').toggle();
		if ($(this).text() == 'Ricerca base')
			//$(this).html('<u>Ricerca avanzata</u>');
			$(this).html('&nbsp;');
		else
			$(this).html('<u>Ricerca base</u>');
		return false;
	});

	/*$('#hotel_sel_ricerca').toggle(function(){
		$('#hotel_ricerca_avanzata').show();
		$(this).html('<u>Ricerca base</u>');
		return false;
	}, function(){
		$('#hotel_ricerca_avanzata').hide();
		$(this).html('<u>Ricerca avanzata</u>');
		return false;
	});*/
	
	$('#hotel_numero_camere').change(function(){
		var n = + $(this).val();
		$('div:gt(' + (n - 1) + ')', '.hotel_camera').each(function(){
			var $this = $(this);
			$('select:first', $this).val('0');
			$('select:last', $this).val('0');
			$this.hide();
		});
		$('div:lt(' + (n+1) + ')', '.hotel_camera').show();
//		$('div[id^=hotel_ebc_]:gt(' + (n - 1) + ')').hide();
		$('div[id^=hotel_ebc_]:gt(' + (n - 1) + ')').each(function(){
			var $this = $(this);
			$this.hide();
			$('select', $this).val('0');
		});
	});
	
	$('#hotel_camera_1_bambini, #hotel_camera_2_bambini, #hotel_camera_3_bambini').change(function(){
		var $this = $(this);
		var n = + $this.val();
		var camera = $this.attr('id').split('_')[2];
		var $div = $('#hotel_ebc_' + camera)
		if (n > 0) $div.show();
			else $div.hide();
		$('div:gt(' + n + ')', $div).hide();
		$('div:lt(' + (n + 1) + ')', $div).show();
	});
	
	function isDate(dateStr) {
		var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
		var matchArray = dateStr.match(datePat);
		if (matchArray == null)
			return false;
	
		month = matchArray[1];
		day = matchArray[3];
		year = matchArray[5];
	
		if (month < 1 || month > 12)
			return false;
	
		if (day < 1 || day > 31)
			return false;
	
		if ((month==4 || month==6 || month==9 || month==11) && day==31)
			return false;
	
		if (month == 2) {
			var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
			if (day > 29 || (day==29 && !isleap))
				return false;
		}
		
		return true;
	};
		
	$('#form_hotel').submit(function(){
	
		$('#form_check').remove();
		var messaggio = '<p>Errori nella compilazione del form:</p>';
		var g_a = + $('#hotel_g_a').val();
		var ma_a = + $('#hotel_ma_a').val();
		var g_p = + $('#hotel_g_p').val();
		var ma_p = + $('#hotel_ma_p').val();
		var strDateA = $('#hotel_ma_a').val().substr(4,6) + '/' + $('#hotel_g_a').val() + '/' + $('#hotel_ma_a').val().substr(0, 4);
		var strDateP = $('#hotel_ma_p').val().substr(4,6) + '/' + $('#hotel_g_p').val() + '/' + $('#hotel_ma_p').val().substr(0, 4);
		var dataA = new Date(strDateA);
		var dataP = new Date(strDateP);
		var today = new Date();

		if (!isDate(strDateA))
			messaggio += '</BR> - Data hotel di arrivo errata.';
		if (!isDate(strDateP))
			messaggio += '</BR> - Data hotel di partenza errata.';		
		if (dataA < today)
			messaggio += '</BR> - Data hotel di arrivo antecedente a quella odierna.';
		if (dataP < today)
			messaggio += '</BR> - Data hotel di partenza antecedente a quella odierna.';
							
		if ($('#hotel_numero_camere').val() > 1)
		{
			if ($('#hotel_numero_camere').val() == 2 && $('#hotel_camera_2_adulti').val() == 0)
				messaggio += '</BR> - Inserire almeno 1 adulto per la camera 2.';
			if ($('#hotel_numero_camere').val() == 3 && ($('#hotel_camera_2_adulti').val() == 0 || $('#hotel_camera_3_adulti').val() == 0))	
				messaggio += '</BR> - Inserire almeno 1 adulto per la camera 2 o 3.';
		}
		if (ma_a == ma_p && ma_a != '0' && ma_p != '0') {
			if (g_p <= g_a && g_p != '0' && g_a != '0') messaggio += '</BR> - La data di partenza deve essere successiva a quella di arrivo in Hotel.';
		} else if (ma_p < ma_a && g_p != '0' && g_a != '0') messaggio += '</BR> - La data di partenza deve essere successiva a quella di arrivo in Hotel.';

		if (messaggio == '<p>Errori nella compilazione del form:</p>') {
			messaggio = '<p>Form incompleto:</p>';

			if ($('#destinazione').val() == '') messaggio += '</BR> - Devi selezionare la localit&agrave; di destinazione.';
			if ($('#hotel_g_a').val() == '' || $('#hotel_ma_a').val() == '') messaggio += '</BR> - Devi scegliere la data di arrivo in Hotel.';
			if ($('#hotel_g_p').val() == '' || $('#hotel_ma_p').val() == '') messaggio += '</BR> - Devi scegliere la data di partenza.';
		}

		if (messaggio == '<p>Form incompleto:</p>') {
			messaggio = '<p>Form incompleto:</p>';

			var descLiv = document.form_hotel.descliv1.value;
			if (descLiv.charAt(0) != '.' && descLiv != '' && descLiv != null) {
				messaggio += '</BR> - Devi selezionare uno Stato di destinazione.';
			}
		}
		if (messaggio == '<p>Form incompleto:</p>') {
			messaggio = '<p>Form incompleto:</p>';

			if (document.form_hotel.liv2 != undefined) {
				var numOptLiv2 = document.form_hotel.liv2.options.length;
				if (numOptLiv2 > 0 && document.form_hotel.liv2.selectedIndex == 0)
					messaggio += '</BR> - Devi selezionare una Zona di destinazione.';
			}
		}

		if (messaggio == '<p>Form incompleto:</p>'){
		
		    var nDivTrovaLayer = $("#trova_layer").length;
		
		    if(nDivTrovaLayer > 0){
		    	HideDIV('alpitourPAGEcontent'); DisplayDIV('trova_layer');
		    }else{
				if (document.form_hotel.liv2 != undefined) {
				    viewPaginaAttesa();
				}
			}  
			return true;
		}
		else {

			$('<div id="form_check" class="formBox"></div>')
			.html(messaggio)
			.insertAfter('#form_hotel');
			return false;
		}
	});
	
	$('#startProgress').click(function(){
	  var obj = $('#divContDXSearch');
	
	  if ($('#divContentDX').attr('id') !=undefined)
	   jQuery($('#divContentDX')).attr('style','display: none;'); 
	 
	  if ($('#footer').attr('moveFooter') != undefined){
	   var offset = obj.offset();
	   var h = obj.outerHeight();
	   
	   jQuery($('#footer')).attr('style','position: absolute; top:'+ (220 + h) +'px;');    
	  }
	  jQuery(obj).attr('style','display: "";'); 
	  //jQuery(obj).attr('style','display: ;');
	  document.body.scrollTop=0;
	 });	
	
	//Gestione press numero notti
	$('#hotel_notti').keyup(function(e){
		if (e.which == 8 || e.which == 46)
		{
			var Range = window.document.selection.createRange();			
			var SelText = Range.text;
			var len = parseInt(SelText.length);

			if (len == $('#hotel_notti').val().length)
				var write = '';
			else if (len == 0)
			{
				var write = $('#hotel_notti').val();	
			}				
			else
			{
				var pos = parseInt($('#hotel_notti').val().indexOf(SelText));
				var write = $('#hotel_notti').val().substring(0, pos) + $('#hotel_notti').val().substring(pos + len, $('#hotel_notti').val().length);
			}
			if (write == '' || write == '0')
			{
				if ($('#hotel_h_data_a').getDatepickerDate() == null) {
		  			var strDate = $('#hotel_ma_a').val().substr(4,6) + '/' + $('#hotel_g_a').val() + '/' + $('#hotel_ma_a').val().substr(0, 4);
		  			$('#hotel_h_data_a').setDatepickerDate(new Date(strDate));
				}

				var newDate = $('#hotel_h_data_a').getDatepickerDate();
				newDate.setDate(newDate.getDate() + 1);
				$('#hotel_h_data_p').changeDatepicker({minDate: newDate});
				$('#hotel_g_p').val('gg');
				$('#hotel_ma_p').val('mm/aaaa');
			}
			else
			{
				if ($('#hotel_h_data_a').getDatepickerDate() == null) {
		  			var strDate = $('#hotel_ma_a').val().substr(4,6) + '/' + $('#hotel_g_a').val() + '/' + $('#hotel_ma_a').val().substr(0, 4);
		  			$('#hotel_h_data_a').setDatepickerDate(new Date(strDate));
				}

				var newDate = $('#hotel_h_data_a').getDatepickerDate();
				newDate.setDate(newDate.getDate() + 1);
				$('#hotel_h_data_p').changeDatepicker({minDate: newDate});
				var newSelectedDate = $('#hotel_h_data_a').getDatepickerDate();
				newSelectedDate.setDate(newSelectedDate.getDate() + parseInt(write));
				$('#hotel_h_data_p').setDatepickerDate(newSelectedDate);
				if (newSelectedDate.getDate().toString().length == 1)
					var day = '0' + newSelectedDate.getDate();
				else
					var day = newSelectedDate.getDate();
				$('#hotel_g_p').val(day);
				var actualMonth = parseInt(newSelectedDate.getMonth()) + 1;
				if (actualMonth.toString().length == 1)
					var month = '0' + actualMonth;
				else
					var month = actualMonth;
				$('#hotel_ma_p').val(month + '/' + newSelectedDate.getFullYear());	
			}
		}
		else if ((e.which >= 48 && e.which <= 57) || (e.which >= 97 && e.which <= 105))
		{
		  	if ($('#hotel_g_a').val() != 'gg' && $('#hotel_ma_a').val() != 'mm/aaaa')
		  	{
		  		var strDate = $('#hotel_ma_a').val().substr(4,6) + '/' + $('#hotel_g_a').val() + '/' + $('#hotel_ma_a').val().substr(0, 4);
		  		$('#hotel_h_data_a').setDatepickerDate(new Date(strDate));
				var newDate = $('#hotel_h_data_a').getDatepickerDate();
				newDate.setDate(newDate.getDate() + 1);
				$('#hotel_h_data_p').changeDatepicker({minDate: newDate});
				var newSelectedDate = $('#hotel_h_data_a').getDatepickerDate();
				newSelectedDate.setDate(newSelectedDate.getDate() + parseInt($('#hotel_notti').val()));
				$('#hotel_h_data_p').setDatepickerDate(newSelectedDate);
				if (newSelectedDate.getDate().toString().length == 1)
					var day = '0' + newSelectedDate.getDate();
				else
					var day = newSelectedDate.getDate();
				$('#hotel_g_p').val(day);
				var actualMonth = parseInt(newSelectedDate.getMonth()) + 1;
				if (actualMonth.toString().length == 1)
					var month = '0' + actualMonth;
				else
					var month = actualMonth;
				$('#hotel_ma_p').val(month + '/' + newSelectedDate.getFullYear());
				$('#hotel_m_p').val(month);
				$('#hotel_a_p').val(newSelectedDate.getFullYear());
		  	}
		}
	});
	
	$('#hotel_notti').keydown(function(e){
		if (!(e.which >= 48 && e.which <= 57) && !(e.which >= 97 && e.which <= 105) && (e.which != 8) && (e.which != 46) && (e.which != 37) && (e.which != 39) && (e.which != 16))
		{
		  	var keychar = String.fromCharCode(e.which);
		  	var numcheck = /\d/;
		  	return numcheck.test(keychar);
		}				
	});
	
	$('#hotel_g_p').change(function(){
		if (($('#hotel_ma_p').val() != '') && ($('#hotel_g_a').val() != '') && ($('#hotel_ma_a').val() != '') && ($('#hotel_g_p').val() != ''))
		{
			var strDateA = $('#hotel_ma_a').val().substr(4,6) + '/' + $('#hotel_g_a').val() + '/' + $('#hotel_ma_a').val().substr(0, 4);
			var strDateP = $('#hotel_ma_p').val().substr(4,6) + '/' + $('#hotel_g_p').val() + '/' + $('#hotel_ma_p').val().substr(0, 4);
			var dataA = new Date(strDateA);
			var dataP = new Date(strDateP);
			$('#hotel_notti').val(parseInt((Math.max(dataP, dataA) - Math.min(dataP, dataA)) / 86400000));
		} else {
			$('#hotel_notti').val('');
		}

		if (($('#hotel_g_p').val() != '') && ($('#hotel_ma_p').val() != ''))
		{
			var strDateA = $('#hotel_ma_p').val().substr(4,6) + '/' + $('#hotel_g_p').val() + '/' + $('#hotel_ma_p').val().substr(0, 4);
			var dataA = new Date(strDateA);
			dataA.setDate(dataA.getDate() + 1);
			$('#hotel_h_data_p').changeDatepicker({minDate: dataA});
		}
		$('#hotel_m_p').val($('#hotel_ma_p').val().substr(4,6));
		$('#hotel_a_p').val($('#hotel_ma_p').val().substr(0,4));
	});
	
	$('#hotel_g_a').change(function(){
		if (($('#hotel_ma_p').val() != '') && ($('#hotel_g_p').val() != '') && ($('#hotel_ma_a').val() != '') && ($('#hotel_g_a').val() != ''))
		{
			var strDateA = $('#hotel_ma_a').val().substr(4,6) + '/' + $('#hotel_g_a').val() + '/' + $('#hotel_ma_a').val().substr(0, 4);
			var strDateP = $('#hotel_ma_p').val().substr(4,6) + '/' + $('#hotel_g_p').val() + '/' + $('#hotel_ma_p').val().substr(0, 4);
			var dataA = new Date(strDateA);
			var dataP = new Date(strDateP);
			$('#hotel_notti').val(parseInt((Math.max(dataP, dataA) - Math.min(dataP, dataA)) / 86400000));
		} else {
			$('#hotel_notti').val('');
		}

		if (($('#hotel_g_a').val() != '') && ($('#hotel_ma_a').val() != ''))
		{
			var strDateA = $('#hotel_ma_a').val().substr(4,6) + '/' + $('#hotel_g_a').val() + '/' + $('#hotel_ma_a').val().substr(0, 4);
			var dataA = new Date(strDateA);
			dataA.setDate(dataA.getDate() + 1);
			$('#hotel_h_data_p').changeDatepicker({minDate: dataA});
		}
		$('#hotel_m_a').val($('#hotel_ma_a').val().substr(4,6));
		$('#hotel_a_a').val($('#hotel_ma_a').val().substr(0,4));
	});
	
	$('#hotel_ma_p').change(function(){
		if (($('#hotel_g_p').val() != '') && ($('#hotel_g_a').val() != '') && ($('#hotel_ma_a').val() != '') && ($('#hotel_ma_p').val() != ''))
		{
			var strDateA = $('#hotel_ma_a').val().substr(4,6) + '/' + $('#hotel_g_a').val() + '/' + $('#hotel_ma_a').val().substr(0, 4);
			var strDateP = $('#hotel_ma_p').val().substr(4,6) + '/' + $('#hotel_g_p').val() + '/' + $('#hotel_ma_p').val().substr(0, 4);
			var dataA = new Date(strDateA);
			var dataP = new Date(strDateP);
			$('#hotel_notti').val(parseInt((Math.max(dataP, dataA) - Math.min(dataP, dataA)) / 86400000));
		} else {
			$('#hotel_notti').val('');
		}

		if (($('#hotel_g_p').val() != '') && ($('#hotel_ma_p').val() != ''))
		{
			var strDateA = $('#hotel_ma_p').val().substr(4,6) + '/' + $('#hotel_g_p').val() + '/' + $('#hotel_ma_p').val().substr(0, 4);
			var dataA = new Date(strDateA);
			dataA.setDate(dataA.getDate() + 1);
			$('#hotel_h_data_p').changeDatepicker({minDate: dataA});
		}
		$('#hotel_m_p').val($('#hotel_ma_p').val().substr(4,6));
		$('#hotel_a_p').val($('#hotel_ma_p').val().substr(0,4));
	});
	
	$('#hotel_ma_a').change(function(){
		if (($('#hotel_g_p').val() != '') && ($('#hotel_g_a').val() != '') && ($('#hotel_ma_p').val() != '')  && ($('#hotel_ma_a').val() != ''))
		{
			var strDateA = $('#hotel_ma_a').val().substr(4,6) + '/' + $('#hotel_g_a').val() + '/' + $('#hotel_ma_a').val().substr(0, 4);
			var strDateP = $('#hotel_ma_p').val().substr(4,6) + '/' + $('#hotel_g_p').val() + '/' + $('#hotel_ma_p').val().substr(0, 4);
			var dataA = new Date(strDateA);
			var dataP = new Date(strDateP);
			$('#hotel_notti').val(parseInt((Math.max(dataP, dataA) - Math.min(dataP, dataA)) / 86400000));
		} else {
			$('#hotel_notti').val('');
		}
		
		if (($('#hotel_g_a').val() != '') && ($('#hotel_ma_a').val() != ''))
		{
			var strDateA = $('#hotel_ma_a').val().substr(4,6) + '/' + $('#hotel_g_a').val() + '/' + $('#hotel_ma_a').val().substr(0, 4);
			var dataA = new Date(strDateA);
			dataA.setDate(dataA.getDate() + 1);
			$('#hotel_h_data_p').changeDatepicker({minDate: dataA});
		}
		$('#hotel_m_a').val($('#hotel_ma_a').val().substr(4,6));
		$('#hotel_a_a').val($('#hotel_ma_a').val().substr(0,4));
	});
	
	
	// Visualizzo Pagina di Attesa dopo aver premuto il tasto TROVA 
	function viewPaginaAttesa() {
	
	    var coordinate = jQuery('#searchBox').offset();

        if ($('#divContentDX').attr('id') !=undefined){
	        jQuery($('#divContentDX')).attr('style','display: none;');
	    }     

	    if ($('#footer').attr('moveFooter') != undefined){
	         var obj = $('#divContDXSearch');
	         var offset = obj.offset();
	         var h = obj.outerHeight();
	         jQuery($('#footer')).attr('style','position: absolute; top:'+ (220 + h) +'px;');    
	    }

        var style_params = null;
        var other_params = null;

		var styleBar = {
			'position': 'absolute',
			'top': coordinate.top + 'px',
			'left': coordinate.left + 300 + 'px',
			'border': '0',
			'padding': '10px',
			'width': '611px',
			'height': '10px',
			'cursor': 'pointer',
			'background-position': 'center',
			'background-image': 'url(/ResEBook/img/pb/progress_bar.gif)',
			'background-repeat': 'no-repeat'
		}
		
		var configBar = {
			'closeOnClick': false,
			'id': '#progressBarSOHO'
		}
		
		jQuery.extend(styleBar, style_params);
		jQuery.extend(configBar, other_params);
		jQuery('#' + configBar.id).remove();
		
		jQuery('<div id="' + configBar.id + '"></div>')
			.css(styleBar)
			.appendTo('body')
			.click(function(){
				if (configBar.closeOnClick) {
					jQuery(this).remove();
				}
			});
		
        document.body.scrollTop=0;
		return;
	}  

	/*$('#hotel_notti').keypress(function(e){
		  //alert('keypress');
		  if ((e.which >= 48 && e.which <= 57) || (e.which >= 97 && e.which <= 105))
		  {
		  	if ($('#hotel_g_a').val() != 'gg' && $('#hotel_ma_a').val() != 'mm/aaaa')
		  	{
		  		var strDate = $('#hotel_ma_a').val().substr(4,6) + '/' + $('#hotel_g_a').val() + '/' + $('#hotel_ma_a').val().substr(0, 4);
		  		$('#hotel_h_data_a').setDatepickerDate(new Date(strDate));
				var newDate = $('#hotel_h_data_a').getDatepickerDate();
				newDate.setDate(newDate.getDate() + 1);
				$('#hotel_h_data_p').changeDatepicker({minDate: newDate});
				var newSelectedDate = $('#hotel_h_data_a').getDatepickerDate();
				var Range = window.document.selection.createRange();			
				var SelText = Range.text;
				var len = parseInt(SelText.length);
				//Selezione di tutto il testo
				if (len == $('#hotel_notti').val().length)
					newSelectedDate.setDate(newSelectedDate.getDate() + parseInt(String.fromCharCode(e.which)));
				//Selezione nulla
				else if (len == 0)
					newSelectedDate.setDate(newSelectedDate.getDate() + parseInt($('#hotel_notti').val() + String.fromCharCode(e.which)));
				//Selezione parziale
				else
				{
					var indice = $('#hotel_notti').val().indexOf(SelText);
					alert('indice ' + indice);
					if (indice == 0)
					{
						var val = $('#hotel_notti').val().substring(indice + len, $('#hotel_notti').val().length);
						alert('val ' + parseInt(String.fromCharCode(e.which) + val));
						newSelectedDate.setDate(newSelectedDate.getDate() + parseInt(String.fromCharCode(e.which) + val));
					}
					else if (indice > 0 && indice < $('#hotel_notti').val().length)
					{
						var val = $('#hotel_notti').val().substring(0, indice);
						var val1 = $('#hotel_notti').val().substring(indice + len, $('#hotel_notti').val().length);
						alert('val ' + parseInt(val + String.fromCharCode(e.which) + val1));
						newSelectedDate.setDate(newSelectedDate.getDate() + parseInt(val + String.fromCharCode(e.which) + val1));
					}
					else
					{
						var val = $('#hotel_notti').val().substring(0, indice);
						alert('val ' + parseInt(val + String.fromCharCode(e.which)));
						newSelectedDate.setDate(newSelectedDate.getDate() + parseInt(val + String.fromCharCode(e.which)));
					}
				}
				$('#hotel_h_data_p').setDatepickerDate(newSelectedDate);
				if (newSelectedDate.getDate().toString().length == 1)
					var day = '0' + newSelectedDate.getDate();
				else
					var day = newSelectedDate.getDate();
				$('#hotel_g_p').val(day);
				var actualMonth = parseInt(newSelectedDate.getMonth()) + 1;
				if (actualMonth.toString().length == 1)
					var month = '0' + actualMonth;
				else
					var month = actualMonth;
				$('#hotel_ma_p').val(month + '/' + newSelectedDate.getFullYear());
		  	}
		  }
	});*/				
});