// Initial state of form controls
function start() {
	eventform.scheduler_event_sponsoring_agency_other.disabled = true;
	eventform.scheduler_event_address.disabled = true;
	eventform.scheduler_event_city.disabled = true;
	eventform.scheduler_event_state.disabled = true;
	eventform.scheduler_event_zip.disabled = true;
	eventform.scheduler_event_phone.disabled = true;
	eventform.scheduler_event_email.disabled = true;
	eventform.scheduler_event_bill_to_name.disabled = true;
	eventform.scheduler_event_bill_to_address.disabled = true;
	eventform.scheduler_event_bill_to_city.disabled = true;
	eventform.scheduler_event_bill_to_state.disabled = true;
	eventform.scheduler_event_bill_to_zip.disabled = true;
	eventform.scheduler_event_room_configuration_other.disabled = true;
	eventform.scheduler_event_catering_other.disabled = true;
	eventform.scheduler_event_sponsoring_agency_other.className="hide";
	eventform.scheduler_event_room_configuration_other.className = "hide";
	eventform.scheduler_event_catering_other.className = "hide";
}
onload = start;

// Enable/Disable Sponsoring Agency form controls
function permission(p,q) {
	switch (p) {
		case 1:		// Enable sponsoring agency form controls for other 
			eventform.scheduler_event_sponsoring_agency_other.className="show";
			eventform.scheduler_event_sponsoring_agency_other.disabled = false;
			eventform.scheduler_event_address.disabled = false;
			eventform.scheduler_event_city.disabled = false;
			eventform.scheduler_event_state.disabled = false;
			eventform.scheduler_event_zip.disabled = false;
			eventform.scheduler_event_phone.disabled = false;
			eventform.scheduler_event_email.disabled = false;
			document.getElementById("detail2").className = "show";
			break;
		case 2:		// Enable room configuration form controls for other
			eventform.scheduler_event_room_configuration_other.disabled = false;
			eventform.scheduler_event_room_configuration_other.className = "show";
			break;
		case 3:		// Enable catering form controls for other
			eventform.scheduler_event_catering_other.disabled = false;
			eventform.scheduler_event_catering_other.className = "show";
			break;
		default:	// Disable form controls
			switch (q) {
				case 1:		// Disable sponsoring agency form controls
					eventform.scheduler_event_sponsoring_agency_other.disabled = true;
					eventform.scheduler_event_address.disabled = true;
					eventform.scheduler_event_city.disabled = true;
					eventform.scheduler_event_state.disabled = true;
					eventform.scheduler_event_zip.disabled = true;
					eventform.scheduler_event_phone.disabled = true;
					eventform.scheduler_event_email.disabled = true;
					eventform.scheduler_event_sponsoring_agency_other.className="hide";
					document.getElementById("detail2").className = "hide";
					break;
				case 2:		// Disable room configuration form controls
					eventform.scheduler_event_room_configuration_other.disabled = true;
					eventform.scheduler_event_room_configuration_other.className = "hide";
					break;
				case 3:		// Disable catering form controls
					eventform.scheduler_event_catering_other.disabled = true;
					eventform.scheduler_event_catering_other.className = "hide";
					break;
			}	// End Disable switch
	}	// End enable switch
}	// end permission()

// Enable/Disable Billing form controls
function billing(p) {
	if (p == 1) {
		// Enable bill to form controls for other
		eventform.scheduler_event_bill_to_name.disabled = false;
		eventform.scheduler_event_bill_to_address.disabled = false;
		eventform.scheduler_event_bill_to_city.disabled = false;
		eventform.scheduler_event_bill_to_state.disabled = false;
		eventform.scheduler_event_bill_to_zip.disabled = false;
		document.getElementById("detail4").className = "show";
	}
	else {
		// Disable bill to form controls
		eventform.scheduler_event_bill_to_name.disabled = true;
		eventform.scheduler_event_bill_to_address.disabled = true;
		eventform.scheduler_event_bill_to_city.disabled = true;
		eventform.scheduler_event_bill_to_state.disabled = true;
		eventform.scheduler_event_bill_to_zip.disabled = true;
		document.getElementById("detail4").className = "hide";
	}
}

// Validate the form input
function Validate() {
	var title = document.eventform.scheduler_event_title;
	var status = document.eventform.scheduler_event_status;
	var contactFirst = document.eventform.scheduler_event_contact_first_name;
	var contactLast = document.eventform.scheduler_event_contact_last_name;
	var contactEmail = document.eventform.scheduler_event_contact_email;
	var agency = document.eventform.scheduler_event_sponsoring_agency;
	var presenter = document.eventform.scheduler_event_presenter;
	var setupTime = document.eventform.scheduler_event_setup_time;
	var regTime = document.eventform.scheduler_event_registration_time;
	var submitName = document.eventform.scheduler_event_submitted_name; 
	var submitEmail = document.eventform.scheduler_event_submitted_email; 
	var chkLic = document.eventform.scheduler_event_chkLic;
	var numrows = document.eventform.numrows;

	if (title.value == "") {
		alert("Please enter Event title");
		return false;
	}
	if (status.value=="") {
		alert("Please enter Event status");
		return false;
	}
	if (contactFirst.value =="") {
		alert("Please enter Contact first name.");
		return false;
	}
	if (contactLast.value == "") {
		alert("Please enter Contact last name.");
		return false;
	}
	if (contactEmail.value == "") {
		alert("Please enter contact email.")
		return false;
	}
	if (agency.value == "") {
		alert("Please enter Sponsoring Agency");
		return false;
	}
	if (presenter.value == "") {
		alert("Please enter Presenter");
		return false;
	}
	if (setupTime.value == "") {
		alert("Please enter the program start time.");
		return false;
	}
	if (regTime.value == "") {
		alert("Please enter the Registration Time");
		return false;
	}
	if (submitName.value == "") {
		alert("Please enter Submitted by name.");
		return false;
	}
	if (submitEmail.value == "") {
		alert("Please enter Submitted by email.")
		return false;
	}
	if (chkLic.checked == false) {
		alert("Please read and accept the license agreement.");
		return false;
	}
	if (numrows.value == 0) {
		alert("Please enter at least one time period for your event.");
		return false;
	}
	return true;
}

// Function to handle date grid button operations
function doSchedule(frmObj) {
	var value = 0;				// The value of a selected radio
	var check = false;			// The checked status of a selected radio 
	var action = frmObj.value;	// The value of the button clicked
	var url = "";				// The URL to open in a new window.
	var win = "toolbar=no,menubar=no,statusbar=no,addressbar=no,scrollbars=yes,width=700,height=600";
	var name = action + "Date"; // The name of the new window.
	var dates = document.forms[frmObj.form.id].elements['dates']; // The array of radio buttons
	
	// If we're not trying to add a date
	if (action != "Add") {
		if (dates.value) {
			value = dates.value;
			check = dates.checked;
		}
		else if (dates.length) {
			// loop through the passed array of radio buttons
			for (i = 0; i < dates.length; i++) {
				
				// if the current button is checked...
				if (dates[i].checked) {
					
					// get the value, the checked status, and break out of the loop
					value = dates[i].value;
					check = dates[i].checked;
					break;
				} // end if dates[i].checked
			} // end for
		} // end else if dates.length

		/* At this point, the value of value will be the value of the selected
			radio button, if any; the value of check will be true if a radio
			was selected, false otherwise.
		*/
		
		// If check is true (meaning a radio button was selected)
		// AND the action isn't "ADD"	
		if (check) {
			// if the action is "Change"
			if (action == "Change") 
				url = "schedule.cfm?id=" + value;
			// if the action is "Delete"
			else if (action == "Delete")
				url = "delete.cfm?id=" + value;
				
			doSubmit(frmObj);
			window.open(url,name,win);
		} 
		else {
			alert("Please select a record to change.");
		}
	}
	else {
		// If we ARE trying to add a new date
		url = "schedule.cfm";
		doSubmit(frmObj);
		window.open(url,name,win);
	}
}

function doSubmit(frmObj) {
	var frmName = frmObj.form.id;
	var frmActn = frmObj.name;
	
	if (frmActn == "Submit") {
		var valid = Validate();

		if (valid) {
			document.forms[frmName].action = "process.cfm";
			document.forms[frmName].submit();
		}
		else return false;
	}
	else {
		document.forms[frmName].action = "eventform.cfm";
		document.forms[frmName].submit();
	}
	return true;
}

