// JavaScript Document

function changeDest(objSelect) {				
	var propval = objSelect.options[objSelect.selectedIndex].getAttribute("opt:pkpropval");
	if (propval != null) {
		viewWApane('home_dest_2','/booking/ajax/home_dest_2.cfm?pkpropval='+ propval);
		viewWApane('home_dest_3','/booking/ajax/home_dest_3.cfm?disabled=true');
		document.getElementById('SRC_PRP_1').value =  objSelect.value;
		document.getElementById('PRP_1').value =  objSelect.value;
		viewWApane('home_tipoprodotto','/booking/ajax/home_tipiprodotto.cfm?lstPkPropval='+ objSelect.value + '&destName=' + objSelect.options[objSelect.selectedIndex].text);
		//changeHomeDept();
	} else {
		viewWApane('home_dest_2','/booking/ajax/home_dest_2.cfm?disabled=true');
		viewWApane('home_dest_3','/booking/ajax/home_dest_3.cfm?disabled=true');
		viewWApane('home_propdepartures','/booking/ajax/home_departures.cfm?disable=true');
		document.getElementById('SRC_PRP_1').value =  '';
		document.getElementById('PRP_1').value =  '';	
		viewWApane('home_tipoprodotto','/booking/ajax/home_tipiprodotto.cfm');
	}
	viewWApane('home_prodotti','/booking/ajax/selProdotto.cfm?disabled=true' , 'Caricamento prodotti...');
	setFixedDate(false);
	document.getElementById('divTlpEngine').style.display = 'none';
	var objDivSearch = document.getElementById('divSearchTlp');
	objDivSearch.style.background = 'url(/images/proseguispento.gif)';
	objDivSearch.style.backgroundPosition='bottom'; 
		objDivSearch.style.backgroundRepeat='no-repeat';
	document.getElementById('isSearchTlpEnabled').value = false;
	dijit.byId('divTlpTesto').setContent('');
	checkNextButton();
}

function changeDest2(objSelect) {	
	var propval = objSelect.options[objSelect.selectedIndex].getAttribute("opt:pkpropval");
	if (propval != null) {
		viewWApane('home_dest_3','/booking/ajax/home_dest_3.cfm?pkpropval='+ propval);				
	} else {
		objSelect = document.getElementById('prp1_liv_1');
		viewWApane('home_dest_3','/booking/ajax/home_dest_3.cfm?disabled=true');
	}	
	
	viewWApane('home_prodotti','/booking/ajax/selProdotto.cfm?disabled=true' , 'Caricamento prodotti...');
	setFixedDate(false);
	document.getElementById('SRC_PRP_1').value = objSelect.value;
	document.getElementById('PRP_1').value = objSelect.value;
	viewWApane('home_tipoprodotto','/booking/ajax/home_tipiprodotto.cfm?lstPkPropval='+ objSelect.value + '&destName=' + objSelect.options[objSelect.selectedIndex].text);
	//changeHomeDept();
	
	var objDivSearch = document.getElementById('divSearchTlp');
	objDivSearch.style.background = 'url(/images/proseguispento.gif)';
	objDivSearch.style.backgroundPosition='bottom'; 
	objDivSearch.style.backgroundRepeat='no-repeat';
	document.getElementById('isSearchTlpEnabled').value = false;
	dijit.byId('divTlpTesto').setContent('');
	checkNextButton();
}

function changeDest3(objSelect) {	
	if (objSelect.value == '')
		objSelect = document.getElementById('prp1_liv_2');
	
	viewWApane('home_prodotti','/booking/ajax/selProdotto.cfm?disabled=true' , 'Caricamento prodotti...');
	setFixedDate(false);	
	document.getElementById('SRC_PRP_1').value = objSelect.value;
	document.getElementById('PRP_1').value = objSelect.value;
	viewWApane('home_tipoprodotto','/booking/ajax/home_tipiprodotto.cfm?lstPkPropval='+ objSelect.value + '&destName=' + objSelect.options[objSelect.selectedIndex].text);
	//changeHomeDept();	
	
	var objDivSearch = document.getElementById('divSearchTlp');
	objDivSearch.style.background = 'url(/images/proseguispento.gif)';
	objDivSearch.style.backgroundPosition='bottom'; 
	objDivSearch.style.backgroundRepeat='no-repeat';
	document.getElementById('isSearchTlpEnabled').value = false;
	
	dijit.byId('divTlpTesto').setContent('');
	checkNextButton();
}

function setTlpEngine(objRadio) {
	var arIcons = getElementsByAttribute('name', 'ico_prod', 'img');
	var arLabels = getElementsByAttribute('name', 'lbl_prod','div');
	var arProd = getElementsByAttribute('name', 'SRC_PT','input');
	
	for (var ii=0; ii<arIcons.length; ii++) {
		var objLbl = arLabels[ii];
		if (arProd[ii].disabled) {
			arLabels[ii].style.classname = "labelprod_disabled";
			arIcons[ii].src = "/images/ico_" + arIcons[ii].alt + "S.gif";
		} else {
			arIcons[ii].src = "/images/ico_" + arIcons[ii].alt + ".gif";
			arLabels[ii].style.classname = "labelprod";
		}		
		arLabels[ii].style.fontWeight = 'normal';
	}
	document.getElementById('img_ico_' + objRadio.getAttribute('opt:ico')).src = "/images/ico_" + objRadio.getAttribute('opt:ico') + "A.gif";
	var objLblProd = document.getElementById('lbl_prod_' + objRadio.getAttribute('opt:ico'));
	objLblProd.style.color = "#003366";
	objLblProd.style.fontWeight = 'bold';
	
	document.getElementById('divTlpEngine').style.display = '';
	document.getElementById('lblProdotto').innerHTML = objRadio.getAttribute('opt:lableprod');
	
	var bSearchProds = false;
	if (objRadio.value.indexOf('HOTEL') >= 0 || objRadio.value.indexOf('MARE') >= 0) {
		var objDest2 = document.getElementById('prp1_liv_2');
		if (objDest2.disabled && objDest2.length < 2) {
			bSearchProds = true;
		} else {
			var objDest3 = document.getElementById('prp1_liv_3');
			if (objDest3.disabled && objDest3.length < 2) {
				if (objDest2.selectedIndex > 0) 
					bSearchProds = true;
			} else {
				if (objDest3.selectedIndex > 0)
					bSearchProds = true;
			}
		}
	} else {
		bSearchProds = true;
	}
	
	if (bSearchProds) {
	 	var objDestSel = document.getElementById('prp1_liv_3'); 
		if (objDestSel.selectedIndex < 1) {
			objDestSel = document.getElementById('prp1_liv_2'); 
			if (objDestSel.selectedIndex <1)
				objDestSel = document.getElementById('prp1_liv_1');
		}
		var lstDest = opt.core.trim(document.SRC.SRC_PRP_1.value);
		var sDest = objDestSel.options[objDestSel.selectedIndex].text;
		var sLink = "/booking/ajax/selProdotto.cfm?lstPkPropval=" + lstDest + "&tipoProd=" + objRadio.value + "&destName=" + sDest;
		viewWApane('home_prodotti', sLink , 'Caricamento prodotti...'); 	
	} else {
		dijit.byId('home_prodotti').setContent("Selezionare la citta'.");
	}
	
	var arTipoProdSel = objRadio.value.split(',');
	viewWApane('divTlpTesto', '/booking/help.cfm?helpkey=HP-'+arTipoProdSel[0]+'&iswindow=false&hastitle=false');
	
	var bHasFixedDate = eval(objRadio.getAttribute('opt:fixeddate')); 
	setFixedDate(bHasFixedDate);
	
	var objDivSearch = document.getElementById('divSearchTlp');
	if (bHasFixedDate) {
		objDivSearch.style.background = 'url(/images/proseguispento.gif)';
		objDivSearch.style.backgroundPosition='bottom'; 
		objDivSearch.style.backgroundRepeat='no-repeat';
		document.getElementById('isSearchTlpEnabled').value = false;
	} else {
		objDivSearch.style.background = 'url(/images/finetlp.gif)';
		objDivSearch.style.backgroundPosition='bottom'; 
		objDivSearch.style.backgroundRepeat='no-repeat';
		document.getElementById('isSearchTlpEnabled').value = true;
	}	
	checkNextButton();
}

function changeHomeDept() {		
	var lstPkPropVal = document.SRC.SRC_PRP_1.value;
	if (lstPkPropVal != '') {	
		var objDateBegin = dijit.byId("SRC_PERIOD_BEGIN");
		var objDateEnd = dijit.byId("SRC_PERIOD_END");					
		if (objDateBegin)
			dateBegin = dateFormat(objDateBegin.getValue(), 'MM/dd/yyyy');		
		if (objDateEnd)
			dateEnd = dateFormat(objDateEnd.getValue(), 'MM/dd/yyyy');	
				
		if (dateBegin != dateEnd)
			var periodToSearch = dateBegin + ";" + dateEnd;
		else
			var periodToSearch = dateBegin;
			
		var myPane = dijit.byId("home_propdepartures");
		if (myPane )
			viewWApane('home_propdepartures','/booking/ajax/home_departures.cfm?lstPkpropVal='+lstPkPropVal+'&period='+ periodToSearch);					
	} else
		viewWApane('home_propdepartures','/booking/ajax/home_departures.cfm?disable=true');
}

function countPax(){
	var numAdu = 0;
	var numChd = 0;	
	
	var arrayOptionPax = getElementsByAttribute('name','RoomType', 'select');				
	for (var i=0;i < arrayOptionPax.length;i++) {
		currentValore = arrayOptionPax[i].options[arrayOptionPax[i].selectedIndex].text;
		numAdu += (arrayOptionPax[i].options[arrayOptionPax[i].selectedIndex].getAttribute('opt_numAdults'))*currentValore;
		numChd += (arrayOptionPax[i].options[arrayOptionPax[i].selectedIndex].getAttribute('opt_numChilds'))*currentValore;
	}
	document.getElementById('tot_AD').innerHTML = numAdu;
	document.getElementById('tot_CH').innerHTML = numChd;
	document.getElementById('ADULTS').value = numAdu;
	document.getElementById('CHILDS').value = numChd;	
	
	checkNextButton();
}

function doSearch() {
	if (! eval(document.getElementById('isSearchTlpEnabled').value))
		return;
	
	var sTipoProd = opt.core.trim(opt.form.getCheckboxValues("SRC_PT"));
	if (sTipoProd == '') {
		alert("Attenzione:\nselezionare una tipologia di prodotto.");
		return;
	}	
	
	
	var bMaxLevelSelected = false;
	if (sTipoProd.indexOf('HOTEL') >= 0 || sTipoProd.indexOf('MARE') >= 0) {
		var objDest2 = document.getElementById('prp1_liv_2');
		if (objDest2.disabled && objDest2.length < 2) {
			bMaxLevelSelected = true;
		} else {
			var objDest3 = document.getElementById('prp1_liv_3');
			if (objDest3.disabled && objDest3.length < 2) {
				if (objDest2.selectedIndex > 0) 
					bMaxLevelSelected = true;
			} else {
				if (objDest3.selectedIndex > 0)
					bMaxLevelSelected = true;
			}
		}
	} else {
		bMaxLevelSelected = true;
	}
	
	if ( ! bMaxLevelSelected) {
		alert("Selezionare la citta'");
		return;
	}
	
	if ( ! dijit.byId('SRC_PERIOD_BEGIN').isValid() ||
		 ! dijit.byId('SRC_PERIOD_END').isValid()) {
		alert("Attenzione: data partenza non ammessa!\nVerificare.");
		return;
	}
		
	var objTotPax = document.getElementById('ADULTS');
	if (parseInt(objTotPax.value) == 0){
		alert("Attenzione: definire il numero di passeggeri");								
		return;
	}

	var bookpage = doBooking('/booking/booking.cfm');		
	document.getElementById('SRC').submit();	
	bookpage.focus();					
}

function setFixedDate(bIsFixedDate){
	if (bIsFixedDate) {
		document.getElementById('lblSoggPart').innerHTML = 'Data partenza Tour';
		document.getElementById('divDojoStartDate').style.display = 'none';
		document.getElementById('divFixedStartDate').style.display = '';
		var sUrl = "/booking/ajax/selDatePartenza.cfm?lstPkPropval="+document.getElementById('SRC_PRP_1').value + "&tipoProd=" + opt.form.getCheckboxValues("SRC_PT");	
		viewWApane('home_datedepartures',sUrl, '<center><img src="/booking/images/ajax-loader.gif">Caricamento date partenza...</center>');	
	} else {
		document.getElementById('lblSoggPart').innerHTML = 'Soggiorno';	
		document.getElementById('divDojoStartDate').style.display = '';
		document.getElementById('divFixedStartDate').style.display = 'none';
		viewWApane('home_datedepartures','/booking/ajax/selDatePartenza.cfm?disabled=true', 'Caricamento date partenza...');
		setDojoStartDate();
	}	
}	

function changeStartDate(){
	setDojoStartDate();	
} 

function changeEndDate(){
	var objDateEndSelected = dijit.byId("txt_date_to");
	var objEndDate = dijit.byId("SRC_PERIOD_END");
	objEndDate.setValue(objDateEndSelected.getValue());
	var step = document.getElementById('currentStepId');
	if (step && step.value == 'step1')
		checkNextButton();
}

function setDojoStartDate() {
	var objDateStartSelected = dijit.byId("txt_date_from");
	var objDateEndSelected = dijit.byId("txt_date_to");
	var objCartProd = document.getElementById('hasCartProd');
	if (objCartProd && eval(objCartProd.value))
		objDateEndSelected.setValue(dojo.date.add(objDateStartSelected.getValue(), 'day', parseInt(3)));
	else
		objDateEndSelected.setValue(dojo.date.add(objDateStartSelected.getValue(), 'day', parseInt(7)));
	
	var objStartDate = dijit.byId("SRC_PERIOD_BEGIN");
	var objEndDate = dijit.byId("SRC_PERIOD_END");
	
	objStartDate.setValue(objDateStartSelected.getValue());
	objEndDate.setValue(objDateEndSelected.getValue());
}

function selStartDate(objSelStartDate){
	var objOptionSelected = objSelStartDate.options[objSelStartDate.selectedIndex];
	var durata = objOptionSelected.getAttribute('opt:durata');
	var strStartDate = objSelStartDate.value;
	var arDate = strStartDate.split('-'); 
	var thisDate = new Date();			

	thisDate.setYear(arDate[0]);
	thisDate.setMonth(eval(arDate[1])-1,arDate[2]);
	
	var dateStart = dojo.date.add(thisDate,'day',parseInt(0));	
	var dateEnd = dojo.date.add(thisDate,'day',parseInt(durata));
	
	var objBeginDate = dijit.byId('SRC_PERIOD_BEGIN');
	var objEndDate = dijit.byId('SRC_PERIOD_END');
	
	objBeginDate.setValue(dateStart);
	objEndDate.setValue(dateEnd);
	
	var objDurata = document.getElementById('Durata');
	var objDivSearch = document.getElementById('divSearchTlp');
	if (objSelStartDate.selectedIndex > 0) {
		objDivSearch.style.background = 'url(/images/finetlp.gif)';
		objDivSearch.style.backgroundPosition='bottom'; 
		objDivSearch.style.backgroundRepeat='no-repeat';
		document.getElementById('isSearchTlpEnabled').value = true;
		objDurata.value = durata;
	} else {
		objDivSearch.style.background = 'url(/images/proseguispento.gif)';
		objDivSearch.style.backgroundPosition='bottom'; 
		objDivSearch.style.backgroundRepeat='no-repeat';
		document.getElementById('isSearchTlpEnabled').value = false;
		objDurata.value = '';
	}			 
	checkNextButton();
}

function setStartDateProd(objprod) {
	var sTipoProd =  opt.form.getCheckboxValues("SRC_PT");
	if (sTipoProd.indexOf('TGR') >= 0) {
		var sUrl = "/booking/ajax/selDatePartenza.cfm?lstPkPropval="+document.getElementById('SRC_PRP_1').value + "&tipoProd=" + sTipoProd + '&pkProd=' + objprod.options[objprod.selectedIndex].value;
		viewWApane('home_datedepartures',sUrl, '<center><img src="/booking/images/ajax-loader.gif">Caricamento date partenza...</center>');	
	} else {
		viewWApane('home_datedepartures','/booking/ajax/selDatePartenza.cfm?disabled=true', 'Caricamento date partenza...');
	}
}

function checkNextButton(){
	var sCurrentUrl = document.location.href;
	if (sCurrentUrl.indexOf('booking.cfm') < 0)
		return; 
	
	var sDest = opt.core.trim(document.getElementById('SRC_PRP_1').value);
	if (sDest == ''){
		dijit.byId('next').setDisabled(true);
		return;
	}		
	var sTipoProd = opt.core.trim(opt.form.getCheckboxValues("SRC_PT"));
	if (sTipoProd == ''){
		dijit.byId('next').setDisabled(true);
		return;
	} else {
		var objDest3 = document.getElementById('prp1_liv_3');
		if ((sTipoProd.indexOf('HOTEL') >= 0 || sTipoProd.indexOf('MARE') >= 0) && objDest3.selectedIndex == 0) {
			dijit.byId('next').setDisabled(true);
			return;
		}
		var bHasFixedDate = false;
		var arProd = getElementsByAttribute('name', 'SRC_PT','input');
		for (var ii=0; ii < arProd.length; ii++) {
			if (arProd[ii].checked) {
				bHasFixedDate = eval(arProd[ii].getAttribute('opt:fixeddate'));
				break;
			}		
		}
		if (bHasFixedDate) {
			var objStartDate = document.getElementById('selDataPartenza');
			if (objStartDate == null || objStartDate.selectedIndex < 1){
				dijit.byId('next').setDisabled(true);
				return;
			}
		} else {
			if ( ! dijit.byId('SRC_PERIOD_BEGIN').isValid() ||
				 ! dijit.byId('SRC_PERIOD_END').isValid()) {
				dijit.byId('next').setDisabled(true);
				return;
			}
		}
	}
	var numAdu = document.getElementById('ADULTS').value;
	if (parseInt(numAdu) == 0) {
		dijit.byId('next').setDisabled(true);
		return;
	}
	dijit.byId('next').setDisabled(false);		
}		
