// Booking form processor
// (see form_validation.js for support functions)


// ************** initialisation ************

window.onload = function() { //overwrites previous onload events - so call those functions here
	external_links(); //link_compliance.js
	start_form(); //below
}


// ************** events **************

// initialise (onload)
function start_form() {
	be_ws_click(booking_form);
	//be_bl_click(booking_form); ##no longer used
	be_bs_click(booking_form);
	be_wp_click(booking_form);
	be_ir_click(booking_form);
}

// workshop date/price loader
// JW - add new workshops and dates by adding array elements for 'Prices' and 'Dates[n]'
function ws_select(frm) {
var Index;
var Prices = new Array("","To be advised","To be advised","To be advised","To be advised","\u00A365 inc VAT","Contact IPSENTA","Contact MENTA"); // workshop prices indexed to drop down items
var Dates = new Array();
	//not used
	Dates[0] = "";
	// aerodynamic mktg
	Dates[1] = new Array("Dates to be announced"); 
	// aerodynamic email
	Dates[2] = new Array("Dates to be announced"); 
	// wonderweb
	Dates[3] = new Array("Dates to be announced");
	// 2 women
	Dates[4] = new Array("Dates to be announced");
	// Coaches & therapists
	Dates[5] = new Array("Saturday 24th May 2008","Wednesday 25th June 2008");
	// IPSENTA
	Dates[6] = new Array("Contact IPSENTA for dates");
	// MENTA
	Dates[7] = new Array("Contact MENTA for dates");
	
	Index = frm.ws_workshop.selectedIndex;	//get index
	if (Index > 0) {
		frm.ws_date.length = Dates[Index].length;	//set drop down item number from array elements number
		for (i=0; i < Dates[Index].length; i++) {	//load drop down with dates from array
			frm.ws_date[i].text = Dates[Index][i];
			frm.ws_date[i].value = Dates[Index][i];
		}
	}
	else {
		frm.ws_date.length = 1;	//kill all items and replace default (may be overwritten by DDoffset)
		frm.ws_date[0].text = "Select date..";
		frm.ws_date[0].value = "";
	}
	frm.ws_date.selectedIndex = 0;	//reset index item to default
	frm.ws_price.value = Prices[Index];	//load price
}

// bizelearning price loader ##no longer used##
//function bl_select(frm) {
//var Index;
//var Prices = new Array("","\u00A3125","\u00A3125","\u00A3125","\u00A3125","\u00A3125","\u00A3125");	// bizelearnimg prices indexed to drop down items
	//ndex = frm.bl_course.selectedIndex;	//get index
	//frm.bl_price.value = Prices[Index];	//load price
//}

// fieldset display / mode ##NB betype2 - removed - remaining elemnts not renamed##
function be_ws_click(frm) {
	if (frm.betype1.checked) frm.ws_fieldset.style.display = "block";
	else { //hide and reset fields
		frm.ws_fieldset.style.display = "none";
		frm.ws_workshop.selectedIndex = 0;
		ws_select(frm);	//fire change event function (resets date and price)
	}
	if (frm.betype1.checked || frm.betype3.checked || frm.betype4.checked || frm.betype5.checked) frm.yd_fieldset.style.display = "block";
	else frm.yd_fieldset.style.display = "none";	//hide without reset fields
}
//function be_bl_click(frm) { ##no longer used##
	//if (frm.betype2.checked) frm.bl_fieldset.style.display = "block";
	//else { //hide and reset fields
		//frm.bl_fieldset.style.display = "none";
		//frm.bl_course.selectedIndex = 0;	//set default item
		//bl_select(frm);	//fire change event function (resets price)
	//}
	//if (frm.betype1.checked || frm.betype3.checked || frm.betype4.checked || frm.betype5.checked) frm.yd_fieldset.style.display = "block";
	//else frm.yd_fieldset.style.display = "none";	//hide without reset fields
//}
function be_bs_click(frm) {
	if (frm.betype3.checked) frm.bs_fieldset.style.display = "block";
	else { //hide and reset fields
		frm.bs_fieldset.style.display = "none";
	}
	if (frm.betype1.checked || frm.betype3.checked || frm.betype4.checked || frm.betype5.checked) frm.yd_fieldset.style.display = "block";
	else frm.yd_fieldset.style.display = "none";	//hide without reset fields
}
function be_wp_click(frm) {
	if (frm.betype4.checked) frm.wp_fieldset.style.display = "block";
	else { //hide and reset fields
		frm.wp_fieldset.style.display = "none";
	}
	if (frm.betype1.checked || frm.betype3.checked || frm.betype4.checked || frm.betype5.checked) frm.yd_fieldset.style.display = "block";
	else frm.yd_fieldset.style.display = "none";	//hide without reset fields
}
function be_ir_click(frm) {
	if (frm.betype5.checked) frm.ir_fieldset.style.display = "block";
	else { //hide and reset fields
		frm.ir_fieldset.style.display = "none";
		frm.ir_type.selectedIndex = 0;	//set default item
		frm.ir_details.value = "";
	}
	if (frm.betype1.checked || frm.betype3.checked || frm.betype4.checked || frm.betype5.checked) frm.yd_fieldset.style.display = "block";
	else frm.yd_fieldset.style.display = "none";	//hide without reset fields
}


// ************** validation **************

// form submission handler ##NB - betype2 removed - no longer used##
function booking_form_check(frm) {
var strErrorTitle = "Could not submit your booking/enquiry because of the following:\n\n";
var strErrorMsg = "";
	if (!frm.betype1.checked && !frm.betype3.checked && !frm.betype4.checked && !frm.betype5.checked) {
		strErrorMsg += "Please select the type of booking/enquiry you wish to make.\n";
	}
	else { // check form fields
		// check required fieldset data
		if (frm.betype1.checked) strErrorMsg += check_ws_fields(frm);
		//if (frm.betype2.checked) strErrorMsg += check_bel_fields(frm); ##no longer used##
		if (frm.betype3.checked) strErrorMsg += ""; //do nothing - no fields
		if (frm.betype4.checked) strErrorMsg += ""; //do nothing - no fields
		if (frm.betype5.checked) strErrorMsg += check_ir_fields(frm);
		// validate details
		if (trim(frm.yd_name.value) == "") strErrorMsg += "Please enter your name.\n";
		if (!ValidEmail(trim(frm.yd_email.value))) strErrorMsg += "A valid email address is required.\n";
		if (!IsPhoneNum(trim(frm.yd_tel.value))) strErrorMsg += "A valid telephone number is required.\n";
	}
	// result
	if (strErrorMsg != "") {
		alert(strErrorTitle + strErrorMsg);
  		return false;
	}
	else {
		frm.booking_submit.disabled = 'disabled'; //in case reclicked
		return true;
	}
return false;
}

// check workshop fields
function check_ws_fields(frm) {
var strErr = "";
	if (frm.ws_workshop.value == "") strErr += "Please select a workshop to book.\n";
	if (frm.ws_date.value == "") strErr += "Please select a workshop date.\n";
return strErr
}

// check bizelearning fields ##no longer used##
//function check_bel_fields(frm) {
//var strErr = "";
	//if (frm.bl_course.value == "") strErr += "Please select a Biz-e-learning course to book.\n";
//return strErr
//}

// check information request fields
function check_ir_fields(frm) {
var strErr = "";
	if (frm.ir_type.value == "") strErr += "Please select what your information request is regarding.\n";
	if (frm.ir_details.value == "") strErr += "Please enter some details about your information request.\n";
return strErr
}
