﻿var bus = 65;
var bus2 = 30;

var sessionStatus = new Array;
sessionStatus[0] = [2,2];
sessionStatus[1] = [2,2];
sessionStatus[2] = [2,2];
sessionStatus[3] = [2,2];
sessionStatus[4] = [2,2];
sessionStatus[5] = [2,2];
sessionStatus[6] = [2,2];
sessionStatus[7] = [2,2];
sessionStatus[8] = [2,2];
sessionStatus[9] = [2,2];
sessionStatus[10] = [2,2];
sessionStatus[11] = [2,2];
sessionStatus[12] = [2,2];
sessionStatus[13] = [2,2];
sessionStatus[14] = [2,2];
sessionStatus[15] = [2,2];
sessionStatus[16] = [2,2];
sessionStatus[17] = [2,2];
sessionStatus[18] = [2,2];
sessionStatus[19] = [2,2];
sessionStatus[20] = [2,2];
sessionStatus[21] = [2,2];



var bd_clear = true;
var statFlag = new Array;
statFlag[0] = '<span style="color:red;font-weight:bold;"> Full</span>';
statFlag[1] = '<span style="color:#ff9933;font-weight:bold;"> Limited</span>';
statFlag[2] = '<span style="color:green;font-weight:bold;"> Available</span>';



var gender = null;
var oldgender = null;

function setGender(val){
	oldgender = gender;
	gender = val;
	return;
}
function checkGender(){
	if (oldgender != null) {
	// reset sessions to unchecked
		for (var i=1;i<7;i++){
			eval("document.regform.Period_" + i + ".checked = false");
		}
		alert("Because you changed the gender selection of your camper,\n please re-select your sessions.");
	}
	return;
}
function genderCheck(){
	var rc = false;
//	alert("gender = " + gender);
	if (gender == null) {
		alert("You must select the gender of you camper to continue.");
		document.regform.Sex[0].focus();
		rc =  false;
	}
	else {
		rc = true;
	}
	return rc;
}
function sessStatusWait(){
	var pname = "";
	for (var sess = 1; sess < 7; sess++) {
		pname = "Period_" + sess + "_wl";
		if (sessionStatus[sess-1][gender] < 1){
			if (document.all) {
				eval("document.all." + pname + ".style.display = ''");
			}
			else if (document.getElementById) {
				eval("document.getElementById(\"" + pname + "\").style.display = ''");
			}
		}
		else {
			if (document.all) {
				eval("document.all." + pname + ".style.display = 'none'");
			}
			else if (document.getElementById) {
				eval("document.getElementById(\"" + pname + "\").style.display = 'none'");
			}
		}
	}
}
function sessStatus(session){
	var rc = false;
	rc = "<br>Girls: " + statFlag[sessionStatus[session][0]] + ", Boys: " + statFlag[sessionStatus[session][1]];
	return rc;
}






function checkSession(obj,session){
	var rc = false;
	if (genderCheck() == true) {
		if (sessionStatus[session-1][gender]  > 0 ){
			rc = true;
		}
		else {
			if (confirm("This session is full.\nClick 'OK' to add your camper to the waiting list for this session. When openings are available, campers from the waiting list will be called on a \"first come, first serve\" basis.\n\nClick 'Cancel' if you do not want to be on the waiting list.")) {
				//change name of field to name_waitlist
				var pname = obj.name;
				obj.name = pname + "_wl";
				obj.checked = true;
				rc = true;
			}
			else {
				obj.checked = false;
				rc = false;
			}
		}
	}
	else {
		obj.checked = false;
	}
	return rc;
}



function sessionChecked(){
	var rc = false;  
var rc = false;
	if ((document.regform.Period_1.checked == true) || (document.regform.Period_2.checked == true) ||(document.regform.Period_3.checked == true) ||
	    (document.regform.Period_4.checked == true) || (document.regform.Period_5.checked == true) ||(document.regform.Period_6.checked == true) ||
		(document.regform.Period_7.checked == true) || (document.regform.Period_8.checked == true)) {
		rc = true;
	}
	else {
		alert("You must select a session!");
	}
	return rc;
}

function addSession(obj) {
	var period = obj.name;
//	alert(period);
	var periodcost = eval("document.regform." + period + "_cost.value");
	if (obj.checked == true) {
		eval("document.regform." + period + "_total.value = Number(document.regform." + period + "_cost.value);");// update period total
		eval("document.regform.camp_total.value = Number(document.regform.camp_total.value) + Number(document.regform." + period + "_cost.value);");// update camp total
		eval("document.regform.total.value = Number(document.regform.total.value) + Number(document.regform." + period + "_total.value);");// update total
		document.regform.sessionCount.value++;
	}
	else {
		if (eval("document.regform." + period + "_total.value != 0")) {// subtract period total from totals if it was updated before
			eval("document.regform.camp_total.value = Number(document.regform.camp_total.value) - Number(document.regform." + period + "_total.value);");// update period total
			eval("document.regform.total.value = Number(document.regform.total.value) - Number(document.regform." + period + "_total.value);");// update camp total
			eval("document.regform." + period + "_total.value = 0");// update total
			// reset horse camp
			eval("document.regform." + period + "_horse[0].checked = false;");
			eval("document.regform." + period + "_horse[1].checked = true;");
			document.regform.sessionCount.value--;
		}
	}
}





function TransTo(obj) {
	
	if (obj.value == "Bus") {
		if (document.regform.trans_to_db.value == "drive") {
			if (document.regform.trans_from_db.value == "bus") {
				document.regform.trans_total.value = Number(document.regform.trans_total.value) + bus2;
				document.regform.total.value = Number(document.regform.total.value) + bus2;
			}
			else {
				document.regform.trans_total.value = Number(document.regform.trans_total.value) + bus;
				document.regform.total.value = Number(document.regform.total.value) + bus;
			}
			document.regform.trans_to_db.value = "bus";
		}
	}
	else {
		if (document.regform.trans_to_db.value == "bus") {
			if (document.regform.trans_from_db.value == "bus") {
				document.regform.trans_total.value = Number(document.regform.trans_total.value) - bus2;
				document.regform.total.value = Number(document.regform.total.value) - bus2;
			}
			else {
				document.regform.trans_total.value = Number(document.regform.trans_total.value) - bus;
				document.regform.total.value = Number(document.regform.total.value) - bus;
			}
			document.regform.trans_to_db.value = "drive";
		}
	}
	
}
function TransFrom(obj) {
	if (obj.value == "Bus") {
		if (document.regform.trans_from_db.value == "drive") {
			if (document.regform.trans_to_db.value == "bus") {
				document.regform.trans_total.value = Number(document.regform.trans_total.value) + bus2;
				document.regform.total.value = Number(document.regform.total.value) + bus2;
			}
			else {
				document.regform.trans_total.value = Number(document.regform.trans_total.value) + bus;
				document.regform.total.value = Number(document.regform.total.value) + bus;
			}
			document.regform.trans_from_db.value = "bus";
		}
	}
	else {
		if (document.regform.trans_from_db.value == "bus") {
			if (document.regform.trans_to_db.value == "bus") {
				document.regform.trans_total.value = Number(document.regform.trans_total.value) - bus2;
				document.regform.total.value = Number(document.regform.total.value) - bus2;
			}
			else {
				document.regform.trans_total.value = Number(document.regform.trans_total.value) - bus;
				document.regform.total.value = Number(document.regform.total.value) - bus;
			}
			document.regform.trans_from_db.value = "drive";
		}
	}
}
var trips = new Array;
trips["Drive_or_Bus_To"] = [0,0];
trips["Drive_or_Bus_From"] = [1,0];

function PickSession() {
	if ((!document.regform.Period_1.checked) &&
		(!document.regform.Period_2.checked) &&
		(!document.regform.Period_3.checked) &&
		(!document.regform.Period_4.checked) &&
		(!document.regform.Period_5.checked) &&
		(!document.regform.Period_6.checked) &&
		(!document.regform.Period_7.checked) &&
		(!document.regform.Period_8.checked)) {
			alert("You must select a session to attend.");
			return false;
	}
	return true;
	/* insert check for adventure trips here.*/
}
function BusTrans(obj) {
	var thisTrip = obj.name;
	var myform = obj.form;
	if ((obj.checked) && (obj.value == "Bus")) {
		trips[thisTrip][1] = 1;
	} 
	else {
		trips[thisTrip][1] = 0;
	}
	var rt = 0;
	for (var trip in trips){
		rt = rt + trips[trip][1];
	}
	
	if (rt == 0) {
		myform.Bus_fare[1].checked = false;
		myform.Bus_fare[0].checked = false;
	}
	else if (rt == 1) {
		document.regform.Bus_fare[1].checked = true;
	}
	else {
		document.regform.Bus_fare[0].checked = true;
	}
}
function busstop() {
	if ((document.regform.trans_from[1].checked == true) || (document.regform.trans_to[1].checked == true)) {
		if (radioChecked(document.regform.bus_stop) == -1) {
			alert("You must select bus service to camp, from camp, or a round trip, AND a bus pick_up/drop-off point.");
			return false;
		}
	}
	return true;
}
function formProc(thisform) {
	/*alert("Now at formProc, onsubmit is "+ onsubmit(thisform) + "...");*/
	if (onsubmit(thisform)) { 
		/* check for Release checked */
	//	alert("Now at Release_Accepted, Release_Accepted is "+ document.regform.Release_Accepted.checked + "...");
		if (document.regform.Release_Accepted.checked) {
			/* check for guardian email addresses */
	//		alert("Now at email, email is "+ ((document.regform.mother_email.value != "") || (document.regform.father_email.value != "")) + "...");
			if ((document.regform.mother_email.value != "") || (document.regform.father_email.value != "")) {
				/* check for session picked */
	//			alert("Now at PickSession, PickSession is "+ PickSession() + "...");
				if (PickSession()) {
	//				alert("Now at busstop, busstop is "+ busstop() + "...");
					if (busstop()) {
						return true;
					}
				}
			}
			else {
				alert("Please enter an email address for either or both guardians.");
			}
		}
		else {
			alert("You must accept the Release by checking the \"I (We) Agree and submit registration\" box to submit your registration.");
			document.regform.Release_Accepted.focus();
		}
	}
	return false;
}

function depositVal(obj) {
	if (valid(obj,'Numbers only, with a minimum deposit of $100 per session.','^[0-9]{3,5}$')) {
		if ((obj.value > (100 * document.regform.sessionCount.value)) || (obj.value == (100 * document.regform.sessionCount.value))) {
			return true;
		}
		else {
			alert("Your minimum payment must be at least $" + (100 * document.regform.sessionCount.value));
			document.regform.minimum.value = 100 * document.regform.sessionCount.value;
		}
	}
	return false;
}
function formReset() {
	gender = null;
	oldgender = null;
}
function radioChecked(radioObj) { /* if multiple items checked, returns the last one.*/
	var checkedIdx = -1;
	for (var idx = 0; idx < radioObj.length; idx++) {
		if (radioObj[idx].checked){
			checkedIdx = idx;
		}
	}
	return checkedIdx;
}