

function loadHolidayTypes() {
	var resort_id = getSelectValue('where_country');
	var url = "/index.php?ajax=1&func=getHolidayTypes&resort_id="+resort_id;
	$.getJSON(url, function(data){
		clearSelect('what');
		addSelectOption('what', '', '- Please Select -');
			$.each(data,  function(i,item){
				addSelectOption('what', item.id, item.holiday_type_name + " (" +item.id + ")");
			});
	});
}

function loadResorts(default_country) {
	var country_id = getSelectValue('where_country');
	var what_id = getSelectValue('what');
	var default_country = document.getElementById('default_where_country').value;
	var default_resort = document.getElementById('default_where_resorts').value;
	if(default_country) {
		country_id = default_country;
		document.getElementById('default_where_country').value = "";
	}
	if(country_id) { 
		var url = "/index.php?ajax=1&func=getResorts&country_id="+country_id+"&what="+what_id;
		getSyncJSON(url, function(data){
			clearSelect('where_resorts');
			addSelectOption('where_resorts', '', 'Destination...');
				$.each(data,  function(i,item){
					var selected = false;
					if(item.id == default_resort) selected = true;
					addSelectOption('where_resorts', item.id, item.name, selected );
				});  
		});
	}
}

function loadCountries() {
	var what_id = getSelectValue('what');
	if(what_id == "SKI_2009") {
		window.location.href='http://bulgaria.balkanholidays.co.uk/bulgaria_winter_ski/w09/index.htm';
		return;
	}
	var default_country = document.getElementById('default_where_country').value;
	var url = "/index.php?ajax=1&func=getCountries&what="+what_id;
	getSyncJSON(url, function(data){
		clearSelect('where_country');
		clearSelect('where_resorts');
		addSelectOption('where_country', '', 'Destination...');
		addSelectOption('where_resorts', '', 'Resort / Area');
			$.each(data,  function(i,item){
				var selected = false;
				if(item.id == default_country) {
						selected = true;
					document.getElementById('default_where_country').value = "";
				}
				addSelectOption('where_country', item.id, item.name, selected );
			});  
	});
}

function loadDates(default_date) {
	var what_id = getSelectValue('what');
	var url = "/index.php?ajax=1&func=loadPackageDateRanges&what="+what_id;
	getSyncJSON(url, function(data){
		clearSelect('dep_date');
		clearSelect('duration');
			$.each(data.dates,  function(i,item){
				var selected = false;
				if(default_date == item.id) { selected = true;	}
				addSelectOption('dep_date', item.id, item.name, selected );
			});  
			$.each(data.durations,  function(i,item){
				var selected = false;
				addSelectOption('duration', item.id, item.name, false );
			});  
	});
	calculateReturnDate();
}


function loadAirports(from_where) {
//	return;
	if(document.getElementById('airport')) {
		var obj = document.getElementById(from_where);
		var what_id = getSelectValue('what');
		var resort = obj.options[obj.selectedIndex].value;
		var default_airport = document.getElementById('airport_default').value;
		if(resort && resort != '-') { 
			var url = "/index.php?ajax=1&func=getAirports&where="+resort+"&what="+what_id;
			getSyncJSON(url, function(data){
			clearSelect('airport');
			addSelectOption('airport', '', 'Departure Airport...');
				$.each(data,  function(i,item){
					var selected = false;
					if(item.code == default_airport) {
							selected = true;
						document.getElementById('airport_default').value = "";
					}
									   
					addSelectOption('airport', item.code, item.name, selected);
				});  
			});
		}
	}

	if(document.getElementById('airport_to')) {
		var obj = document.getElementById(from_where);
		var default_airport = document.getElementById('airport_default').value;
		var what_id = getSelectValue('airport_from');
			var url = "/index.php?ajax=1&func=getAirportsFO&where="+resort+"&what="+what_id;
			getSyncJSON(url, function(data){
			clearSelect('airport_to');
			addSelectOption('airport_to', '', 'Arrive Airport...');
				$.each(data,  function(i,item){
					var selected = false;
					if(item.code == default_airport) {
							selected = true;
						document.getElementById('airport_default').value = "";
					}
									   
					addSelectOption('airport_to', item.code, item.name, selected);
				});  
			});
	}

	
}


function loadAirportsEx(from_where) {
	if(document.getElementById('airport')) {
		var obj = document.getElementById(from_where);
		var what_id = getSelectValue('what');
		var resort = obj.options[obj.selectedIndex].value;
		var default_airport = document.getElementById('airport_default').value;
		if(resort && resort != '-') { 
			var url = "/index.php?ajax=1&func=getAirportsEx&where="+resort+"&what="+what_id;
			getSyncJSON(url, function(data){
			clearSelect('airport');
			addSelectOption('airport', '', 'Departure Airport...');
				$.each(data,  function(i,item){
					var selected = false;
					if(item.code == default_airport) {
							selected = true;
						document.getElementById('airport_default').value = "";
					}
									   
					addSelectOption('airport', item.code, item.name, selected);
				});  
			});
		}
	}

	
}


function calculateReturnDate() {
	var day = getSelectValue('day');
	var dep_date = getSelectValue('dep_date');
	var duration = getSelectValue('duration');
	
	var url = "/index.php?ajax=1&func=calculateReturnDate&day="+day+"&dep_date="+dep_date+"&duration="+duration;
	$.get(url, function(data){
		$$('holiday_return').innerHTML = data;
	});

}


function addChildren(cbselect) {
	tbl = getTable('TBL_ROOMS');
	tbl.border=0;
	try {

		tbl.deleteRow($$('children_row_' + cbselect.id).rowIndex);
	} catch(e) {}
	row = addRowAfter(tbl, $$('room_row_' + cbselect.id).rowIndex, 'children_row_' + cbselect.id);
	cell = addCell(row);
	cell.colSpan = 4;
	
	var cnt = parseInt(cbselect.options[cbselect.selectedIndex].value);
	if(cnt > 0 ) { 
		var new_tbl = document.createElement('TABLE');
		cell.appendChild(new_tbl);
		new_tbl.border = 0;
		new_row = addRow(new_tbl, '', '');
		cell = addCell(new_row);
		cell.appendChild(addText("Chd. age:"));
		for(z =0; z < cnt; z++) {
			cell = addCell(new_row); 
			cell.appendChild( addCountSelectBox('child['+cbselect.id+'_'+z+']', z,  2, 17, null, true));
			if((z+1)%3 == 0) { 
				new_row = addRow(new_tbl, '', '');
				cell = addCell(new_row); 
				cell.appendChild(addText(" "));
			}
	//		document.getElementById('child['+cbselect.id+'_'+z+']').className = "selectNum";
	//		if((z+1) %3 == 0)	row = addRowAfter(tbl, $$('room_row_' + cbselect.id).rowIndex, 'children_row_' + cbselect.id);
		}
	}
}


function addChildrenFlights(cbselect) {
	tbl = getTable('TBL_ROOMS');
	tbl.border=0;
	try {

		tbl.deleteRow($$('children_row').rowIndex);
	} catch(e) {}
	row = addRowAfter(tbl, $$('room_row').rowIndex, 'children_row');
	cell = addCell(row);
	cell.colSpan = 4;
	
	var cnt = parseInt(cbselect.options[cbselect.selectedIndex].value);
	if(cnt > 0 ) { 
		var new_tbl = document.createElement('TABLE');
		cell.appendChild(new_tbl);
		new_tbl.border = 0;
		new_row = addRow(new_tbl, '', '');
		cell = addCell(new_row);
		cell.appendChild(addText("Chd. age:"));
		for(z =0; z < cnt; z++) {
			cell = addCell(new_row); 
			cell.appendChild( addCountSelectBox('child['+z+']', z,  2, 12, null, true));
			if((z+1)%3 == 0) { 
				new_row = addRow(new_tbl, '', '');
				cell = addCell(new_row); 
				cell.appendChild(addText(" "));
			}
	//		document.getElementById('child['+cbselect.id+'_'+z+']').className = "selectNum";
	//		if((z+1) %3 == 0)	row = addRowAfter(tbl, $$('room_row_' + cbselect.id).rowIndex, 'children_row_' + cbselect.id);
		}
	}
}

function addInfants(cbselect) {
	tbl = getTable('TBL_ROOMS');
	try {
		tbl.deleteRow($$('infants_row_' + cbselect.id).rowIndex);
	} catch(e) {}
	row = addRowAfter(tbl, $$('room_row_' + cbselect.id).rowIndex, 'infants_row_' + cbselect.id);
	cell = addCell(row);
	cell.colSpan = 4;
	var cnt = parseInt(cbselect.options[cbselect.selectedIndex].value);
	if(cnt > 0 ) { 
		var new_tbl = document.createElement('TABLE');
		cell.appendChild(new_tbl);
		new_tbl.border = 0;
		new_row = addRow(new_tbl, '', '');
		cell = addCell(new_row);
		cell.appendChild( addText("Inf. age:") );
		for(z =0; z < cnt; z++) {
			cell = addCell(new_row);
//			cell.appendChild( addCountSelectBox('infant['+cbselect.id+'_'+z+']', z,  0, 2, null));
			var infants_selects = addSelectBox('infant['+cbselect.id+'_'+z+']', null) ;
			addSelectOptionEx(infants_selects, "-", "-");
			addSelectOptionEx(infants_selects, 1, "0-1");
			addSelectOptionEx(infants_selects, 1, "1-2");
			cell.appendChild( infants_selects );
			if((z+1)%3 == 0) { 
				new_row = addRow(new_tbl, '', '');
				cell = addCell(new_row); 
				cell.appendChild(addText(" "));
			}
	//		document.getElementById('infant['+cbselect.id+'_'+z+']').className = "selectNum";
		}
	}
}
function addInfantsFlights(cbselect) {
	tbl = getTable('TBL_ROOMS');
	try {
		tbl.deleteRow($$('infants_row').rowIndex);
	} catch(e) {}
	row = addRowAfter(tbl, $$('room_row').rowIndex, 'infants_row');
	cell = addCell(row);
	cell.colSpan = 4;
	var cnt = parseInt(cbselect.options[cbselect.selectedIndex].value);
	if(cnt > 0 ) { 
		var new_tbl = document.createElement('TABLE');
		cell.appendChild(new_tbl);
		new_tbl.border = 0;
		new_row = addRow(new_tbl, '', '');
		cell = addCell(new_row);
		cell.appendChild( addText("Inf. age:") );
		for(z =0; z < cnt; z++) {
			cell = addCell(new_row);
//			cell.appendChild( addCountSelectBox('infant['+cbselect.id+'_'+z+']', z,  0, 2, null));
			var infants_selects = addSelectBox('infant['+z+']', null) ;
			addSelectOptionEx(infants_selects, 0, "-");
			addSelectOptionEx(infants_selects, 1, "0-1");
			addSelectOptionEx(infants_selects, 1, "1-2");
			cell.appendChild( infants_selects );
			if((z+1)%3 == 0) { 
				new_row = addRow(new_tbl, '', '');
				cell = addCell(new_row); 
				cell.appendChild(addText(" "));
			}
	//		document.getElementById('infant['+cbselect.id+'_'+z+']').className = "selectNum";
		}
	}
}

function addRooms(cbselect) {
	var rooms = parseInt( cbselect.options[cbselect.selectedIndex].value );
	tbl = getTable('TBL_ROOMS');
	var rows = tbl.rows;
	for(i = 1; i < 5; i++) { try { tbl.deleteRow($$('room_row_'+i).rowIndex); } catch(e) { } }
	for(b=1;b<=4;b++) {
		try { tbl.deleteRow($$('children_row_'+b).rowIndex); } catch(e) {}
		try { tbl.deleteRow($$('infants_row_'+b).rowIndex); } catch(e) {}
		try { tbl.deleteRow($$('children_row_children_'+b).rowIndex); } catch(e) {}
		try { tbl.deleteRow($$('infants_row_infants'+b).rowIndex); } catch(e) {}
	}
	for(a = 1; a <= rooms; a++) {
		var room_row = addRow(tbl, '', 'room_row_' + a);
		var cells = addCells(room_row, 5);
		cells[0].innerHTML = "Room " + a;
		cells[1].appendChild(addCountSelectBox('adults['+a+']', a,  1, 9, null, false));
		cells[2].appendChild(addCountSelectBox('children['+a+']', a, 0, 4, function(event){ addChildren(this); }, false));
		cells[3].appendChild(addCountSelectBox('infants['+a+']', a,0, 4, function(event){ addInfants(this); }, false));
	}
}

function searchAccommodations() {
 var post_data = $("#frm").serialize();
 div = $$('SEARCH_RESULT');
 $.post('/index.php?ajax=1&func=searchAccommodations', post_data, function(data){
	 div.innerHTML = data;
 });
}


function evalSearch() {
	var oWhere_c = document.getElementById("where_country");
	var oWhere_r = document.getElementById("where_resorts");
	var oType = document.getElementById("what");
	var oAirport = document.getElementById("airport");
	var oDay = document.getElementById("day");
	var oDate = document.getElementById("dep_date");
	var oCode = document.getElementById("search_code");
	var okay = true;
	var today = new Date();
	if (oWhere_c.options.selectedIndex == 0 && oWhere_r.options.selectedIndex == 0 && (oCode.value == "Code..." || oCode.value == "") ) { alert("Please provide a destination..."); okay = false; }
	if(oAirport) {
		if (oAirport.options.selectedIndex == 0) { alert("Please provide departure airport..."); okay = false; }
	}
	var oDates = oDate.options[oDate.options.selectedIndex].value.split("|");
	var departDate = new Date();
	departDate.setDate(parseInt(oDay.options[oDay.options.selectedIndex].value));
	departDate.setMonth(parseInt(oDates[0]));
	departDate.setFullYear(parseInt(oDates[1]));
	/*
	if (today.getTime() > departDate.getTime()) { alert("You can not book today, please choose a different date..."); okay = false; }
	*/
	var elements = document.frm.elements;
	var msg = " Please, provide age for all children travelling...";
	for(i = 0; i < elements.length; i++) {
		el = elements[i];
		if(okay && el.name.indexOf('child') > -1 ){
			t_str = el.options[el.selectedIndex].value;	if(t_str == "" || t_str == "-") { alert(msg); okay = false;	}
		}
	}
	var msg = " Please, provide age for all infants travelling...";
	for(i = 0; i < elements.length; i++) {
		el = elements[i];
		if(okay && el.name.indexOf('infant') > -1 ){
			t_str = el.options[el.selectedIndex].value;	if(t_str == "" || t_str == "-") { alert(msg); okay = false;	}
		}
	}
	

if(okay){ 
	var msg = "Unfortunately we are unable to process searches of 10 passengers or more on our website.\r\nPlease call our reservations team on 0845 130 1114 and they will be happy to help!";
	var elem = document.getElementById('frm').elements; var numAdu = 0; var numChi = 0; var numInf = 0;
		for(var i = 0; i < elem.length; i++){ 
			myTempInt = parseInt(elem[i].value);
				if(elem[i].name.indexOf('adults') > -1){ numAdu =numAdu+myTempInt; }
				if(elem[i].name.indexOf('children') > -1){ numChi =numChi+myTempInt; }
				if(elem[i].name.indexOf('infants') > -1){ numInf =numInf+myTempInt; }
		}
	var allPaxNum=numAdu+numChi+numInf;
		// alert("Number of Adults:"+numAdu+", Children: "+numChi+", Infants: "+numInf+"\r\n Total Pax: "+allPaxNum);
	if(allPaxNum > 9){ alert(msg); okay = false; }
}
	
		if (okay) {
			dimSearch('hs');
			document.frm.action="/index.php";
			document.frm.submit(); 
		}
	}

function evalSearchFlight() {
	var oAirportFrom = document.getElementById("airport_from");
	var oAirportTo = document.getElementById("airport_to");
	var oDay = document.getElementById("day");
	var oDate = document.getElementById("dep_date");
	var okay = true;
	var today = new Date();
	if (oAirportFrom.options.selectedIndex == 0) { alert("Please provide departure airport..."); okay = false; }
	if (oAirportTo.options.selectedIndex == 0) { alert("Please provide arrival airport..."); okay = false; }
	
	var oDates = oDate.options[oDate.options.selectedIndex].value.split("|");
	var departDate = new Date();
	departDate.setDate(parseInt(oDay.options[oDay.options.selectedIndex].value));
	departDate.setMonth(parseInt(oDates[0]));
	departDate.setFullYear(parseInt(oDates[1]));
	/*
	if (today.getTime() > departDate.getTime()) { alert("You can not book today, please choose a different date..."); okay = false; }
	*/
	
		if (okay) {
			document.frm.action="/flight_only/index.html";
			document.frm.submit(); 
		}
	}


function loadFlightDates() {

	var oAirportFrom = document.getElementById("airport_from");
	var oAirportTo = document.getElementById("airport_to");
	var from = oAirportFrom.options[oAirportFrom.selectedIndex].value;
	var to = oAirportTo.options[oAirportTo.selectedIndex].value;
	if(from != '-' && to  != '-' ) {
		var url = "/index.php?ajax=1&func=loadFlightDates&from="+from+"&to="+to;
		$.getJSON(url, function(data){
			clearSelect('dep_date');
				$.each(data,  function(i,item){
					addSelectOption('dep_date', item.code, item.name, false);
				});  
				
		});
		
	}
}


function loadDatesPackages(default_date) {
	var airport_obj = document.getElementById('airport');
	var what_id = getSelectValue('what');
	airport = airport_obj.options[airport_obj.selectedIndex].value;
	var url = "/index.php?ajax=1&func=loadDatesPackages&airport="+airport+"&what="+what_id;
		$.getJSON(url, function(data){
			clearSelect('dep_date');
			$.each(data, function(i, item){
				var selected = false;				  
				if(default_date == item.key) selected = true;
				addSelectOption('dep_date', item.key, item.value, selected);
			} );
								
		});
	
}





