var br = new Array();
var dp = new Array();
dp.val		= "";
dp.val2		= "";
dp.ctypes	= new Array();
dp.brocs	= new Array();

dp.p = function(dest, course, date) {
	if (this.length == 0 || !(destnames[dest] == this[this.length-1].dest && coursenames[course] == this[this.length-1].coursetype)) {
		this[this.length] = {
			'dest'		 : destnames[dest],
			'coursetype' : coursenames[course]
		}
		this.ctypes[destnames[dest]+"::"+coursenames[course]] = new Array();
		this.brocs[destnames[dest]+"::"+coursenames[course]] = new Array();
	}
	key = destnames[dest]+"::"+coursenames[course]
	this.ctypes[key][this.ctypes[key].length] = dates[date];
	this.brocs[key][this.brocs[key].length] = brocs[date];
}


dp.repopulate = function() {
	var dest		= document.preform.destination.options[document.preform.destination.selectedIndex].value;
	this.selected	= (dest != this.val && this.val != "" ? "" : this.selected);
	this.val		= dest;	

	document.preform.coursetype.options.length = 1;
	
	for (i=0; i<this.length; i++) {
		if (this[i].dest.toLowerCase() == dest.toLowerCase()) {
			document.preform.coursetype.options[document.preform.coursetype.options.length] = new Option(this[i].coursetype, this[i].coursetype);
			if (this[i].coursetype.toLowerCase() == this.selected.toLowerCase()) {
				document.preform.coursetype.options.selectedIndex = document.preform.coursetype.options.length - 1;
			}
		}
	}
	this.repopulate2();
}

dp.repopulate2 = function() {
	var course		= document.preform.coursetype.options[document.preform.coursetype.selectedIndex].value;
	this.selected2	= (course != this.val2 && this.val2 != "" ? "" : this.selected2);
	this.val2		= course;	

	document.preform.startdate.options.length = 1;

	var dates = (course == '' ? null : this.ctypes[this.val+"::"+this.val2])
	br		  = (course == '' ? null : this.brocs[this.val+"::"+this.val2])
	
	if (dates != null) {
		for (i=0; i<dates.length; i++) {
			document.preform.startdate.options[document.preform.startdate.options.length] = new Option(pretty_date(dates[i]), dates[i]);
			if (dates[i] == this.selected2) {
				document.preform.startdate.options.selectedIndex = document.preform.startdate.options.length - 1;
			}
		}
	}
}

dp.setSelected = function(selected) {
	this.selected = selected;
}
dp.setSelected2 = function(selected) {
	this.selected2 = selected;
}

function pretty_date(date) {
	var parts = date.split("-");
	return parts[2] + " " + months[parts[1]] + " " + parts[0];
}

function validate_ils(form) {
	if (form == "preform") {
		var dest = document.preform.destination.options[document.preform.destination.selectedIndex].value;
		var crse = document.preform.coursetype.options[document.preform.coursetype.selectedIndex].value;
		var date = document.preform.startdate.options[document.preform.startdate.selectedIndex].value;
		var broc = br[document.preform.startdate.selectedIndex - 1]
		document.preform.brochure.value = broc
		
		if (dest != '' && crse != '' && date != '') {
			document.preform.submit()
		}
	} else if (form == "boxsort") {
		var dest = document.boxsort.destination.value;
		var dep  = document.boxsort.departure.value;
		
		if (dest != '' && dep != '') {
			document.boxsort.submit()
		}
	}
}

function fiddlePreselect() {
	if (destcode != '') {
		for (var i=0; i<document.preform.destination.options.length; i++) {
			if (destcode == document.preform.destination.options[i].value) {
				document.preform.destination.selectedIndex = i;
			}
		}
	}
}

function moreWeeks(week) {
	document.booking.startweek.value = week;
	document.booking.submit();
}