var seatValue = new Array();
var titleOne;
var waiting = "";
function askToWait(show,seats,showing){
	waitYesNo = confirm('There are not enough seats available for your reservation.\r\n'+
						'Would you like to add yourself to a waiting list?');
	if (waitYesNo){
		waiting = "submit";
	}
}
function toggleTitleOne(){
	if (document.getElementById("Title_One_Checkbox").checked){
		document.getElementById("Title_One").value=1;
	}
	else{
		document.getElementById("Title_One").value=0;
	}
}

function showLogin(){
		if( navigator.appName=="Microsoft Internet Explorer")
		{
			document.getElementById("username_row").style.display = "block";
			document.getElementById("password_row").style.display = "block";
		}
		else
		{
			document.getElementById("username_row").style.display = "table-row";
			document.getElementById("password_row").style.display = "table-row";
		}
		document.getElementById("username").focus();
		document.getElementById("username").select();
}
function hideLogin(){
		document.getElementById("username_row").style.display = "none";
		document.getElementById("password_row").style.display = "none";
}
function validateForgotRequest(){
	var emailRE = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (document.getElementById("forgot_email").value == ""){
		alert("Please provide the email address you used to register in the box provided.")
		document.getElementById("forgot_email").focus();
		return false;
	}
	if (!emailRE.test(document.getElementById("forgot_email").value))
	{
		alert("The format of the email address you provided is not valid.")
		document.getElementById("forgot_email").focus();
		document.getElementById("forgot_email").select();
		return false;
	}
	document.getElementById("login_form").submit();
	
}
function cancelLogin(){
	var cookie_name = "reservation";
	var cookie_date = new Date ( );  // current date & time
  	cookie_date.setTime ( cookie_date.getTime() - 1 );
	document.cookie = cookie_name += "=; expires=" + cookie_date.toGMTString();
	document.form_step_0.username.value="";
	document.form_step_0.password.value="";
	document.form_step_0.username_row.display="none";
}

function toggleForgotPassword(){
	forgot = document.getElementById("forgotPassword");	
	
	if (forgot.style.display == "none")
	{
		forgot.style.display = "inline";
		document.getElementById("forgot_email").focus();
	}
	else
	{
		forgot.style.display = "none";
	}
}
function validateLogin(){
	if (document.login.username.value == "" || document.login.password.value == "")
	{
		alert("Please enter a username and a password to login.");
		document.login.username.focus();
	}
	else
	{
		document.login.submit();
	}
}
function validateRequiredLogin(){
	if (document.form_step_3.username.value == "" || document.form_step_3.password.value == "")
	{
		alert("Please enter a username and a password to login.");
		document.form_step_3.username.focus();
	}
	else
	{
		document.form_step_3.submit();
	}
}
function validateStep4(){
	if(document.getElementById("terms").checked == false){
		alert("You must accept the terms and condidtions in order to place a reservation.");
		return false;
	}
	return true;
}
function validateRadioButtons(theRadioButton) 
{
	switch (theRadioButton)
  	{
		case "member": {
			showLogin();
			toggleTeacherSeats("on");
			break
		}
	
		case "school": {
			hideLogin();
			toggleTeacherSeats("on");
			break
		}
		case "homeschool": {
			hideLogin();
			document.form_step_0.Title_One_Checkbox.checked = false;
			toggleTeacherSeats("off");
			break
		}
	}
}

function selectCartOption(){
	document.form_step_0.step.value = 0;
}

function toggleTeacherSeats(buttonState){
	if (buttonState == "off")
	{
		boolState = true;	
	}
	else
	{
		boolState = false;		
	}
		document.form_step_0.Title_One_Checkbox.disabled = boolState;
		oTextBoxes = new Array();		
		oInputs = document.getElementsByTagName( 'input' )
		for ( i = 0; i < oInputs.length; i++ )
		{
			if (oInputs[i].type == 'text' && oInputs[i].id == 'teachers_tb')
			{
				oTextBoxes.push( oInputs[i] );
				if (oInputs[i].value != 0)
				{
					seatValue[oTextBoxes.length-1] = oInputs[i].value;				
				}
			}
		}
		for ( i = 0; i < oTextBoxes.length; i++ )
		{
			if (boolState){
			oTextBoxes[i].value = 0+"";				
			}
			else
			{
				oTextBoxes[i].value = seatValue[i];					
			}
			oTextBoxes[i].readOnly = boolState;
			if (oTextBoxes[i].value == "undefined")
				oTextBoxes[i].value = 0+"";
		}
}

function proceed(theButton){

switch (theButton.name)
  {
    case "Proceed1": {		 
		 document.form_step_0.submit();		 
		 break 
		 }
	case "Proceed2": {
			theZip = document.getElementById("Locate_School_Zip").value+""
			schoolList = document.getElementById("school_id")
			theIndex = schoolList.selectedIndex
			if (schoolList.options[theIndex].value >=0)
			{
				document.form_step_1.step.value=2+""; //proceed to step 2 if a school was selected
			}
			
			if(theZip.length == 5)
			{
				document.form_step_1.submit();
			} 
			else
			{
				alert("Please enter the Zip code of the school.");
				document.getElementById("Locate_School_Zip").focus();
				document.getElementById("Locate_School_Zip").select();
			}
			break 
		}
		case "Proceed3": {
			errors = false;
			//Validate School Name
			if (document.getElementById("School_Name").value == "")
			{
				document.getElementById("School_Name_Label").style.color = "red";
				errors = true;
			}
			else{document.getElementById("School_Name_Label").style.color = "black";}
			//Validate Address
			if (document.getElementById("School_Address").value == "")
			{
				document.getElementById("School_Address_Label").style.color = "red";
				errors = true;
			}
			else{document.getElementById("School_Address_Label").style.color = "black";}
			//Validate City
			if (document.getElementById("School_City").value == "")
			{
				document.getElementById("School_City_Label").style.color = "red";
				errors = true;
			}
			else{document.getElementById("School_City_Label").style.color = "black";}
			//Validate Zip
			if (document.getElementById("School_Zip").value == "")
			{
				document.getElementById("School_Zip_Label").style.color = "red";
				errors = true;
			}
			else{document.getElementById("School_Zip_Label").style.color = "black";}
			//Validate Phone		
			if (document.getElementById("School_Phone").value == "")
			{
				document.getElementById("School_Phone_Label").style.color = "red";
				errors = true;
			}
			else{document.getElementById("School_Phone_Label").style.color = "black";}
			//Validate Fax
					//	if (document.getElementById("School_Fax").value == "")
					//	{
					//		document.getElementById("School_Fax_Label").style.color = "red";
					//		errors = true;
					//	}
					//	else{document.getElementById("School_Fax_Label").style.color = "black";}
			//Validate County
				//not Currently Validating County
				//if (document.getElementById("School_County").value == "")
				//{
				//	document.getElementById("School_County_Label").style.color = "red";
				//	errors = true;
				//}
				//else{document.getElementById("School_County_Label").style.color = "black";}
				
			if (errors)
			{
				alert("\r\nPlease fill in all required fields");
			}
			else
			{
			document.form_step_2.submit();
			}	 
		 break 
		 }
	case "Proceed4": 
		{	
			errors = false;
			//Validate First Name
			if (document.getElementById("First_Name").value == "")
			{
				document.getElementById("First_Name_Label").style.color = "red";
				errors = true;
			}
			else{document.getElementById("First_Name_Label").style.color = "black";}
			//Validate Last Name
			if (document.getElementById("Last_Name").value == "")
			{
				document.getElementById("Last_Name_Label").style.color = "red";
				errors = true;
			}
			else{document.getElementById("Last_Name_Label").style.color = "black";}
			//Validate Address
					//if (document.getElementById("Address").value == "")
					//{
					//	document.getElementById("Address_Label").style.color = "red";
					//	errors = true;
					//}
					//else{document.getElementById("Address_Label").style.color = "black";}
			//Validate City
				//if (document.getElementById("City").value == "")
				//{
				//	document.getElementById("City_Label").style.color = "red";
				//	errors = true;
				//}
				//else{document.getElementById("City_Label").style.color = "black";}
			//Validate Zip
				//if (document.getElementById("Zip").value == "")
				//{
				//	document.getElementById("Zip_Label").style.color = "red";
				//	errors = true;
				//}
				//else{document.getElementById("Zip_Label").style.color = "black";}
			//Validate Phone		
			if (document.getElementById("Phone").value == "")
			{
				document.getElementById("Phone_Label").style.color = "red";
				errors = true;
			}
			else{document.getElementById("Phone_Label").style.color = "black";}
			//Validate Email
			if (document.getElementById("Email").value == "")
			{
				document.getElementById("Email_Label").style.color = "red";
				errors = true;
			}
			else{document.getElementById("Email_Label").style.color = "black";}
			
			if (errors)
			{
				alert("\r\nPlease fill in all required fields");
			}
			else
			{
				document.form_step_3.submit();
			}
		 break 
		 }

		 case "Proceed5": {
			 errors = false;
			//Validate First Name
			if (document.getElementById("Grades").value == "")
			{
				document.getElementById("Grades_Label").style.color = "red";
				errors = true;
			}
			else{document.getElementById("Grades_Label").style.color = "black";}
			
			if (errors)
			{
				alert("\r\nPlease fill in all required fields");
			}
			else
			{
				document.form_step_4.submit();
			} 
		 break 
		 }
		 case "Proceed6": {
			 if (document.getElementById("terms").checked == false || document.getElementById("initials").value.length < 2){
				 alert("You must read and accept the terms and conditions in order to place a reservation.");
			 }
			 else{
				document.form_step_5.submit();
			 }
		 break 
		 }
		 
	case "Back0": {
	 	expandtab('maintab','0');
		break 
		}
    case "Back1": {
	 	expandtab('maintab','1');
		break 
		}
	case "Back2": {
	 	expandtab('maintab','2');
		break 
		}
	case "Back3": {
	 	expandtab('maintab','3');
		break 
		}
	case "Back4": {
	 	expandtab('maintab','4');
		break 
		}
	case "editAccount": {			
			errors = false;
			var emailRE = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
			//Validate Username
			if (document.getElementById("Update_Username").value == "")
			{
				document.getElementById("Update_Username_Label").style.color = "red";
				errors = true;
			}
			else{document.getElementById("Update_Username_Label").style.color = "black";}
			
			$.post("/validateUsername.asp", { username: document.getElementById("Update_Username").value },
				function(data) {
   					if (data == 0) {
						alert("That username is not available.");
						document.getElementById("Update_Username_Label").style.color = "red";
						errors = true;
					}
					else{document.getElementById("Update_Username_Label").style.color = "black";}
				});
			
			//Validate Frst Name
			if (document.getElementById("Update_First_Name").value == "")
			{
				document.getElementById("Update_First_Name_Label").style.color = "red";
				errors = true;
			}
			else{document.getElementById("Update_First_Name_Label").style.color = "black";}
			//Validate Last Name
			if (document.getElementById("Update_Last_Name").value == "")
			{
				document.getElementById("Update_Last_Name_Label").style.color = "red";
				errors = true;
			}
			else{document.getElementById("Update_Last_Name_Label").style.color = "black";}
			//Validate Address
					//if (document.getElementById("Update_Address").value == "")
					//{
					//	document.getElementById("Update_Address_Label").style.color = "red";
					//	errors = true;
					//}
					//else{document.getElementById("Update_Address_Label").style.color = "black";}
			//Validate City
					//if (document.getElementById("Update_City").value == "")
					//{
					//	document.getElementById("Update_City_Label").style.color = "red";
					//	errors = true;
					//}
					//else{document.getElementById("Update_City_Label").style.color = "black";}
			//Validate Zip
					//if (document.getElementById("Update_Zip").value == "")
					//{
					//	document.getElementById("Update_Zip_Label").style.color = "red";
					//	errors = true;
					//}
					//else{document.getElementById("Update_Zip_Label").style.color = "black";}
			//Validate Phone		
			if (document.getElementById("Update_Phone").value == "")
			{
				document.getElementById("Update_Phone_Label").style.color = "red";
				errors = true;
			}
			else{document.getElementById("Update_Phone_Label").style.color = "black";}
			//Validate Email
			if (document.getElementById("Update_Email").value == "")
			{
				document.getElementById("Update_Email_Label").style.color = "red";
				errors = true;
			}
			else{document.getElementById("Update_Email_Label").style.color = "black";}
			
			if (!emailRE.test(document.getElementById("Update_Email").value))
			{
				alert("The format of the email address you provided is not valid.")
				document.getElementById("Update_Email").focus();
				document.getElementById("Update_Email").select();
				return false;
			}
			else{document.getElementById("Update_Email_Label").style.color = "black";}
			
			if (errors)
			{
				alert("\r\nPlease fill in all required fields");
			}
			else
			{
			document.editForm.submit();
			}
		}
  }
}

function hideEditAccount()
{
	document.getElementById("editAccount").style.display = "none";
	expandtab('maintab','0');
}
function showEditAccount(){
	document.getElementById("editAccount").style.display = "inline";
	expandtab('maintab','7');
}
function showLoginTab(){
	expandtab('maintab','6');
}
function setButtonText(){
	document.form_step_1.Proceed2.value = 'Get List of Schools';
}
