function setUpDepartureDestinationResort(departure,destination,resort) {
	//populateDeparture(departure,destination,resort);
	populateDestination(0, destination, resort);
}

function departureChanged() {
	//populateDestination(ddDepartureList.value, ddDestinationList.value, ddResortList.value);
}

function destinationChanged() {
	populateResort(0, ddDestinationList.selectedIndex, ddResortList.value)
}

function resortChanged() {
	//populateResort(ddDepartureList.selectedIndex, ddDestinationList.selectedIndex, ddResortList.value);
}

//function staticDestinationDepartureChanged(destination) {
//	//alert(ddDepartureList.value + '\n\n' + destination + '\n\n' + ddResortList.value);
//	populateResort(ddDepartureList.value, destination, ddResortList.value);
//}
 
function populateDeparture(index, destination, resort) {	
	
	if ((index == null)||(index >= arrDeparture.length)||(arrDeparture[index][1] == null)) {
		index = 0;
	}
	
	// clear destination list
	ddDepartureList.length = 0;	
		
	// iterate through destinations adding to combo
	for (var count = 0; count < arrDeparture.length; count++) {
		ddDepartureList.options[count] = new Option(arrDeparture[count][1], arrDeparture[count][0]);				
	}
	
	
	
	ddDepartureList.selectedIndex = index;
	
	populateDestination(index, destination, resort);
}

function populateDestination(departureId, destination, resort) {

	// clear destination list
	ddDestinationList.length = 0;
	
	// iterate through destinations adding to combo
	for (var count = 0; count < arrDeparture[departureId][3].length; count++) {						
		if (arrDeparture[departureId][3][count] != null) {
		    // *************** Modify Block - Date: 30-06-2005 Author: Jason Fortt
			if ((arrDeparture[departureId][2] != null) && (destination == '')) {
				destination = arrDeparture[departureId][2];
			}
		    // *************** End Modify Block	
			ddDestinationList.options[count] = new Option(arrDeparture[departureId][3][count][0], arrDeparture[departureId][3][count][0]);
		}
	}
	
	// set defaults
	ddDestinationList.value = destination;
	
	if (ddDestinationList.selectedIndex == -1) {
		ddDestinationList.selectedIndex = 0;
	}
	
	populateResort(departureId, ddDestinationList.selectedIndex, resort);
}

function populateResort(departureId, destinationId, resort) {

	// clear resort list
	ddResortList.length = 0;
	
	
	// iterate through resort array populating combo
	for (var count = 0; count < arrDeparture[departureId][3][destinationId][1].length; count++) {					    					    
		ddResortList.options[count] = new Option(arrDeparture[departureId][3][destinationId][1][count], arrDeparture[departureId][3][destinationId][1][count]);					
	}
	
	// set defaults from persisted state.
	if ((resort != null)&&(resort.length != 0)) {
		ddResortList.value = resort;
		if (ddResortList.selectedIndex == -1) {
			ddResortList.selectedIndex = 0;
		}
	}
	
	// if there's only one option in resort array (i.e. any)
	// then disable resort combo
	if (arrDeparture[departureId][3][destinationId][1].length == 1) { 
		disableResortCombo();
	}
	else {
		enableResortCombo();
	}			
}

function disableResortCombo() {
  ddResortList.disabled = true;
}

function enableResortCombo() {
  ddResortList.disabled = false;
}