// JavaScript Document

function changeStartDate(){
	var objDateStartSelected = dijit.byId("txt_date_from");
	var objStartDate = dijit.byId("SRC_PERIOD_BEGIN");
	objStartDate.setValue(objDateStartSelected.getValue());
	
	var objDateEndSelected = dijit.byId("txt_date_to");
	objDateEndSelected.setValue(dojo.date.add(objDateStartSelected.getValue(), 'day', parseInt(7)));
	var objEndDate = dijit.byId("SRC_PERIOD_END");
	objEndDate.setValue(objDateEndSelected.getValue());
} 

function changeEndDate(){
	var objStartDate = dijit.byId("SRC_PERIOD_BEGIN");

	var objDateEndSelected = dijit.byId("txt_date_to");
	var objEndDate = dijit.byId("SRC_PERIOD_END");
	objEndDate.setValue(objDateEndSelected.getValue());
	
	var sDtDal = dateFormat(objStartDate.getValue(), 'MM/dd/yyyy');
	var sDtAl = dateFormat(objEndDate.getValue(), 'MM/dd/yyyy');
	callXhr('/booking/ajax/setSessionDatePart.cfm?dataPartDal='+sDtDal + '&dataPartAl='+sDtAl);
	resetAllFields();
	viewWApane('home_dest_liv1','/booking/ajax/home_dest_liv1.cfm');
}

function resetAllFields() {
	document.getElementById('SRC_PRP_1').value =  '';
	document.getElementById('PRP_1').value =  '';
	
	viewWApane('home_dest_liv2','/booking/ajax/home_dest_liv2.cfm?disabled=true');
	//viewWApane('home_dest_liv3','/booking/ajax/home_dest_liv3.cfm?disabled=true');
	viewWApane('home_tipoprodotto','/booking/ajax/home_tipiprodotto.cfm');
	viewWApane('home_prodotti','/booking/ajax/selProdotto.cfm?disabled=true' , 'Caricamento prodotti...');
	viewWApane('home_datedepartures','/booking/ajax/selDatePartenza.cfm?disabled=true', 'Caricamento date partenza...');
	viewWApane('home_propdepartures','/booking/ajax/home_departures.cfm?disabled=true');
	viewWApane('home_roomSettings','/booking/ajax/roomSettings.cfm?disabled=true');
	
	dijit.byId('next').setDisabled(true);
}

function changeDest(objSelect) {	
	var propval = objSelect.options[objSelect.selectedIndex].getAttribute("opt:pkpropval");
	if (propval != null) {
		var objStartDate = dijit.byId("SRC_PERIOD_BEGIN");
		var objEndDate = dijit.byId("SRC_PERIOD_END");
		var sDtDal = dateFormat(objStartDate.getValue(), 'MM/dd/yyyy');
		var sDtAl = dateFormat(objEndDate.getValue(), 'MM/dd/yyyy');
		viewWApane('home_dest_liv2','/booking/ajax/home_dest_liv2.cfm?pkpropval='+ propval);
		viewWApane('home_tipoprodotto','/booking/ajax/home_tipiprodotto.cfm?lstPkPropval='+ objSelect.value);	
	} else {
		viewWApane('home_dest_liv2','/booking/ajax/home_dest_liv2.cfm?disabled=true');
		viewWApane('home_tipoprodotto','/booking/ajax/home_tipiprodotto.cfm');
		viewWApane('home_roomSettings','/booking/ajax/roomSettings.cfm?disabled=true');
	}	
	
	document.getElementById('SRC_PRP_1').value =  objSelect.value;
	document.getElementById('PRP_1').value =  objSelect.value;
	
	//viewWApane('home_dest_liv3','/booking/ajax/home_dest_liv3.cfm?disabled=true'); 	
	viewWApane('home_prodotti','/booking/ajax/selProdotto.cfm?disabled=true' , 'Caricamento prodotti...');
	viewWApane('home_propdepartures','/booking/ajax/home_departures.cfm?disabled=true');
	viewWApane('home_datedepartures','/booking/ajax/selDatePartenza.cfm?disabled=true', 'Caricamento date partenza...');
	
	checkNextButton();
}

function changeDest2(objSelect) {	
	var propval = objSelect.options[objSelect.selectedIndex].getAttribute("opt:pkpropval");
	if (propval == null)  {
		objSelect = document.getElementById('prp1_liv_1');
		 propval = objSelect.options[objSelect.selectedIndex].getAttribute("opt:pkpropval");
	}	
	document.getElementById('SRC_PRP_1').value = objSelect.value;
	document.getElementById('PRP_1').value = objSelect.value;

	//viewWApane('home_dest_liv3','/booking/ajax/home_dest_liv3.cfm?pkpropval='+ propval);
	viewWApane('home_prodotti','/booking/ajax/selProdotto.cfm?disabled=true' , 'Caricamento prodotti...');
	viewWApane('home_propdepartures','/booking/ajax/home_departures.cfm?disabled=true');
	viewWApane('home_datedepartures','/booking/ajax/selDatePartenza.cfm?disabled=true', 'Caricamento date partenza...');
	viewWApane('home_roomSettings','/booking/ajax/roomSettings.cfm?disabled=true');
	viewWApane('home_tipoprodotto','/booking/ajax/home_tipiprodotto.cfm?lstPkPropval='+ objSelect.value);
		
	checkNextButton();
}

function changeDest3(objSelect) {	
	var propval = objSelect.options[objSelect.selectedIndex].getAttribute("opt:pkpropval");
	if (propval == null) 
		objSelect = document.getElementById('prp1_liv_2');
		
	document.getElementById('SRC_PRP_1').value = objSelect.value;
	document.getElementById('PRP_1').value = objSelect.value;

	viewWApane('home_prodotti','/booking/ajax/selProdotto.cfm?disabled=true' , 'Caricamento prodotti...');
	viewWApane('home_propdepartures','/booking/ajax/home_departures.cfm?disabled=true');
	viewWApane('home_datedepartures','/booking/ajax/selDatePartenza.cfm?disabled=true', 'Caricamento date partenza...');
	viewWApane('home_roomSettings','/booking/ajax/roomSettings.cfm?disabled=true');
	viewWApane('home_tipoprodotto','/booking/ajax/home_tipiprodotto.cfm?lstPkPropval='+ objSelect.value);
		
	checkNextButton();
}

function setTlpEngine(objRadio) {
	var arIcons = getElementsByAttribute('name', 'ico_prod', 'img');
	var arLabels = getElementsByAttribute('name', 'lbl_prod','span');
	var arProd = getElementsByAttribute('name', 'SRC_PT','input');	
	
	for (var ii=0; ii<arLabels.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') + ".gif";
	var objLblProd = document.getElementById('lbl_prod_' + objRadio.getAttribute('opt:ico'));
	objLblProd.style.color = "#333333";
	objLblProd.style.fontWeight = 'bold';
	objLblProd.style.fontSize = '11px';
			
	var sLink = '/booking/ajax/selProdotto.cfm?lstPkPropval='+document.getElementById('SRC_PRP_1').value + '&tipoProd='+objRadio.value; 	
	viewWApane('home_prodotti', sLink, 'Caricamento prodotti...');
	
	if (objRadio.value == 'PACKAGE')
		sLink = 'lstPkpropVal=' + document.getElementById('SRC_PRP_1').value + '&tipoProd='+objRadio.value;
	else
		sLink = 'disabled=true';
		
	viewWApane('home_propdepartures', '/booking/ajax/home_departures.cfm?' + sLink);					
	viewWApane('home_datedepartures','/booking/ajax/selDatePartenza.cfm?lstPkPropval=' + document.getElementById('SRC_PRP_1').value + '&tipoProd=' + objRadio.value, '<center><img src="/booking/images/ajax-loader.gif">Caricamento date partenza...</center>');	

	changeRoomSettings();
	checkNextButton();
}

function selStartDate(objSelStartDate) {
	if (objSelStartDate.selectedIndex > 0) {
		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)-1);
		
		var objBeginDate = dijit.byId('SRC_PERIOD_BEGIN');
		var objEndDate = dijit.byId('SRC_PERIOD_END');
		
		objBeginDate.setValue(dateStart);
		objEndDate.setValue(dateEnd);
		
		document.getElementById('DURATA').value = durata;
	} else {
		var objDateStartSelected = dijit.byId("txt_date_from");
		var objStartDate = dijit.byId("SRC_PERIOD_BEGIN");
		objStartDate.setValue(objDateStartSelected.getValue());
	
		var objDateEndSelected = dijit.byId("txt_date_to");
		var objEndDate = dijit.byId("SRC_PERIOD_END");
		objEndDate.setValue(objDateEndSelected.getValue());
		
		document.getElementById('DURATA').value = '';
	}	
	changeRoomSettings();
	checkNextButton();	 
}

function setStartDateProd(objProd){
	var sUrl = '/booking/ajax/home_departures.cfm?';
	if (opt.form.getCheckboxValues("SRC_PT")  == 'PACKAGE')
		sUrl += 'lstPkpropVal=' + document.getElementById('SRC_PRP_1').value + '&tipoProd=' + opt.form.getCheckboxValues("SRC_PT") + '&pkprod=' + objProd.value
	else
		sUrl += 'disabled=true';
	viewWApane('home_propdepartures',sUrl);
	
	sUrl = "/booking/ajax/selDatePartenza.cfm?";
	sUrl += "lstPkPropval="+document.getElementById('SRC_PRP_1').value;
	sUrl += '&pkprod=' + objProd.value;
	sUrl += '&tipoProd=' + opt.form.getCheckboxValues("SRC_PT");

	viewWApane('home_datedepartures',sUrl, '<center><img src="/booking/images/ajax-loader.gif">Caricamento date partenza...</center>');
	
	changeRoomSettings();
	checkNextButton();
}

function setStartDateApt(aptCode){
	var objProd = document.getElementById('SRC_PKPROD');
	sUrl = "/booking/ajax/selDatePartenza.cfm?";
	sUrl += "lstPkPropval="+document.getElementById('SRC_PRP_1').value;
	sUrl += '&pkprod=' + objProd.value;
	sUrl += '&tipoProd=' + opt.form.getCheckboxValues("SRC_PT");
	sUrl += '&prp_4=' + aptCode;

	viewWApane('home_datedepartures',sUrl, '<center><img src="/booking/images/ajax-loader.gif">Caricamento date partenza...</center>');
	
	changeRoomSettings();
	checkNextButton();
}

function checkNextButton(){
	var sDest = opt.core.trim(document.getElementById('SRC_PRP_1').value);
	if (sDest == ''){
		dijit.byId('next').setDisabled(true);
		return;
	}		
	if (opt.form.getCheckboxValues("SRC_PT") == ''){
		dijit.byId('next').setDisabled(true);
		return;
	}
	var objAssRooms = document.getElementById('room_allocation_corretced');
	if (objAssRooms == null || eval(objAssRooms.value) == false) {
		dijit.byId('next').setDisabled(true);
		return;
	}
	dijit.byId('next').setDisabled(false);
}	

function setTotPax(idPax,sValue){
	document.getElementById(idPax).value=sValue;
	var totPax = parseInt(document.getElementById('ADULTS').value) + parseInt(document.getElementById('CHILDS').value);
	document.getElementById('lblTotPax').innerHTML = totPax;	
}
function setMaxChild(numAdults){
	var objChilds = document.getElementById('sel_childs');
	for (var ii=objChilds.length-1; ii>=0; ii--)
		objChilds.options[ii] = null;
	var max = 6 - parseInt(numAdults);
	for (ii=0; ii <= max; ii++) 
 	   objChilds.options[ii] = new Option(ii,ii);	
 	
 	document.getElementById('CHILDS').value = "0";   
} 

function changeRoomSettings() {
	var objRooms = document.getElementById('selTotRooms');
	var totRooms = objRooms.options[objRooms.selectedIndex].value;		
	var totAdu = document.getElementById('ADULTS').value;
	var totChd = document.getElementById('CHILDS').value;
	var totInf = document.getElementById('INFANTS').value;
	var totPax = parseInt(totAdu) + parseInt(totChd) + parseInt(totInf);
	var tipoProd = opt.form.getCheckboxValues("SRC_PT");
	var pkDest = document.getElementById('PRP_1').value; 
	
	var intprodto = '';
	var objProd = document.getElementById('SRC_PKPROD');
	if (objProd && objProd.selectedIndex > 0) 
		intprodto = objProd.options[objProd.selectedIndex].getAttribute('opt:intprodto');
	
	var aptDept = '';	 
	var objAptDept = document.getElementById('SRC_PRP_4');
	if (objAptDept)
		aptDept = objAptDept.value;
		
	var dataPar = ''; 
	var durata = '';	
	var objDataPar = document.getElementById('selDataPartenza');
	if (objDataPar && objDataPar.selectedIndex > 0) {
		dataPar = objDataPar.value; 
		durata = objDataPar.options[objDataPar.selectedIndex].getAttribute('opt:durata');
	}
	
	var sLink = '/booking/ajax/roomSettings.cfm?totRooms=' + totRooms; 
	sLink += '&totAdu=' + totAdu + '&totChd=' + totChd + '&totInf=' + totInf + '&totPax=' + totPax + '&tipoprod='+ tipoProd + '&pkdest=' + pkDest;
	sLink += '&intprodto=' + intprodto + '&aptdept=' + aptDept + '&datapar=' + dataPar + '&durata=' + durata;
	viewWApane('home_roomSettings',sLink);	
}	

function setMaxRooms(max) {
	var objRooms = document.getElementById('selTotRooms');
	for (var ii=objRooms.length-1; ii>=0; ii--)
		objRooms.options[ii] = null;
	
	if (max > 0) {
		for (ii=0; ii < max; ii++) 
	 	   objRooms.options[ii] = new Option(ii+1,ii+1);
	} else
		  objRooms.options[0] = new Option(0,0);         
} 

function setRoomType() {
	var arRoomTypeNumber = new Array();
	var arRooms = document.getElementsByName('selRooms');
	var totPaxRooms = 0;
	var totChildRooms = 0;
	var childRoomList = '';
	var totInfantRooms = 0;
	var infantRoomList = '';
	
	//******* loop sull'array delle camere create **********
	for (var ii=0; ii < arRooms.length; ii++) {
		var objRoom = arRooms[ii].options[arRooms[ii].selectedIndex];		
		var sRoom = objRoom.value;
		
		totPaxRooms = totPaxRooms + parseInt(objRoom.getAttribute('opt:occupancy'));
		
		var objSelChd = document.getElementById('selChilds_' + (parseInt(ii) + 1));
		if (objSelChd) {
			currChildSelected = objSelChd.options[objSelChd.selectedIndex].value;
			totChildRooms = totChildRooms + parseInt(currChildSelected);
			childRoomList += objRoom.value +"|" + currChildSelected + ",";
		} else {
			childRoomList += objRoom.value +"|0,";
		}
		var objSelInf = document.getElementById('selInfant_' + (parseInt(ii) + 1));
		if (objSelInf) {
			currInfantSelected = objSelInf.options[objSelInf.selectedIndex].value;
			totInfantRooms = totInfantRooms + parseInt(currInfantSelected);
			infantRoomList += objRoom.value +"|" + currInfantSelected + ",";
		} else {
			infantRoomList += objRoom.value +"|0,";
		}
		
		var idxFound = arRoomTypeNumber.length;
		var bFound = false;
		for (var kk=0; kk < arRoomTypeNumber.length; kk++) {
			if (sRoom == arRoomTypeNumber[kk][0]) {
				idxFound = kk;
				bFound = true;	
				break;
			}		
		}
		if (! bFound) {
			arRoomTypeNumber[idxFound] = new Array(2);
			arRoomTypeNumber[idxFound][0] = sRoom;
			arRoomTypeNumber[idxFound][1] = 1;
		} else {
			arRoomTypeNumber[idxFound][0] = sRoom;
			arRoomTypeNumber[idxFound][1] = parseInt(arRoomTypeNumber[idxFound][1]) + 1;
		}
						 
	}
	var sRoomType = '';
	for (var ii=0; ii < arRoomTypeNumber.length; ii++) 
		sRoomType += arRoomTypeNumber[ii][0] + arRoomTypeNumber[ii][1] + ","; 
	
	var objRoomType = document.getElementById('RoomType');
	objRoomType.value = sRoomType.substr(0,sRoomType.length-1);
	
	document.getElementById('childRoomList').value = childRoomList.substr(0,childRoomList.length-1);
	document.getElementById('infantRoomList').value = infantRoomList.substr(0,infantRoomList.length-1);
	
	// ******************** controlli per abilitazione next button ***********************
	var totPax  = parseInt(document.getElementById('ADULTS').value) + parseInt(document.getElementById('CHILDS').value);
	if (totPax != totPaxRooms || totPax == 0 ) {
		document.getElementById('lbl_ass_ok').style.display = 'none';
		document.getElementById('lbl_ass_ko').style.display = '';
		document.getElementById('room_allocation_corretced').value = 'false';
	} else {
		var totChild = parseInt(document.getElementById('CHILDS').value);
		if (totChildRooms != totChild) {
			document.getElementById('lbl_ass_ok').style.display = 'none';
			document.getElementById('lbl_ass_ko').style.display = '';
			document.getElementById('room_allocation_corretced').value = 'false';
		} else { 
			var totInfant = parseInt(document.getElementById('INFANTS').value);
			if (totInfantRooms != totInfant) {
				document.getElementById('lbl_ass_ok').style.display = 'none';
				document.getElementById('lbl_ass_ko').style.display = '';
				document.getElementById('room_allocation_corretced').value = 'false';
			} else { 
				document.getElementById('lbl_ass_ok').style.display = '';
				document.getElementById('lbl_ass_ko').style.display = 'none';
				document.getElementById('room_allocation_corretced').value = 'true';
			}
		}		
	}
	document.getElementById('tot_pax_selected').innerHTML = totPax;
	document.getElementById('tot_pax_rooms').innerHTML = totPaxRooms;
	checkNextButton();
}	
function setChildNumber(idx,objSelect) {
	var objSelChd = document.getElementById('selChilds_' + idx);
	if (objSelChd == null) 
		return;
	
	for (var ii=objSelChd.length-1; ii>=0; ii--)
		objSelChd.options[ii] = null;
	
	var objLabel = document.getElementById('lblNumChilds_' + idx);
	var objOption = objSelect.options[objSelect.selectedIndex];		
	
	objLabel.style.display = '';	
	objSelChd.style.display = '';
	
	var totOccupancy = parseInt(objOption.getAttribute('opt:occupancy'));
	var totChd = parseInt(document.getElementById('CHILDS').value);
	
	if (totOccupancy <= totChd)
		var totCnt = totOccupancy;
	else
		var totCnt = totChd;
	
	for (ii=0; ii <= totCnt; ii++) 
    	objSelChd.options[ii] = new Option(ii,ii);
}
