// JavaScript Document
function toggleClass(t_id, t_class) {
	var d = document;
	var c = toggleClass.arguments;
	d.getElementById(c[0]).className = t_class;
}

function checkForm(act) {
	var action = act; 
	var d = document;
	var err;
	var err_state;
	emailFilter = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.([a-zA-Z]{2,4})$/; 
	err = "Please check the following errors: ";
	err_state = '0';
	email_1_check = '0';
	email_2_check = '0';
	
	var email_1 = d.getElementById("email_address").value;
	var email_2 = d.getElementById("email_address_test").value;

	//alert("checking form...");

	if(act=="comp") {
		var name 	= d.getElementById("name");
		var address = d.getElementById("address");
	
		if(name.value=="") {
				err += "<br>Please enter your name";
				err_state = '1';
		}
		
		if(address.value=="") {
				err += "<br>Please enter your address";
				err_state = '1';
		}
	}//end competition checks
	
	if(act=="mailbowl") {
		var name 	= d.getElementById("name");
		var address = d.getElementById("friend_name");
		
		if(name.value=="") {
				err += "<br>Please enter your name";
				err_state = '1';
		}
		
		if(friend_name.value=="") {
				err += "<br>Please enter your friends name";
				err_state = '1';
		}
		
	}//end email bowl details checks
	
	if(act=="gcare") {
		var bowl 		= d.getElementById("bowl");
		var myname 		= d.getElementById("name");
		var address 	= d.getElementById("address");
		var telephone	= d.getElementById("telephone");
		var postcode	= d.getElementById("postcode");
		var dateofvisit	= d.getElementById("dateofvisit");
		var timeofvisit	= d.getElementById("timeofvisit");
		
		if(bowl.options[bowl.options.selectedIndex].value == ""){
			err += "<br>Please select your bowl";
			err_state = '1';
		}
		
		if(myname.value=="") {
				err += "<br>Please enter your name";
				err_state = '1';
		}

		var ageGrp = document.forms[0].age;
			if (!ageGrp[0].checked && !ageGrp[1].checked && !ageGrp[2].checked && !ageGrp[3].checked && !ageGrp[4].checked && !ageGrp[5].checked && !ageGrp[6].checked) {
			err += "<br>Please select your age group";
			err_state = '1';
		} 
		
		if(address.value=="") {
				err += "<br>Please enter your address";
				err_state = '1';
		}
		
		if(postcode.value=="") {
				err += "<br>Please enter your postcode";
				err_state = '1';
		}
		
		if(telephone.value=="") {
				err += "<br>Please enter a contact telephone number";
				err_state = '1';
		}
		
		if(dateofvisit.value=="") {
				err += "<br>Please enter the date of your visit";
				err_state = '1';
		}
		if(timeofvisit.value=="") {
				err += "<br>Please enter the time of your visit";
				err_state = '1';
		}

	}//end guest care checks

	if(act=="feedback") {
		var name 		= d.getElementById("name");
		var surname 	= d.getElementById("surname");
		var gender	 	= d.getElementById("gender");
		var address 	= d.getElementById("address");
		var telephone	= d.getElementById("telephone");
		var postcode	= d.getElementById("postcode");
		
		if(name.value=="") {
				err += "<br>Please enter your name";
				err_state = '1';
		}
		
		if(address.value=="") {
				err += "<br>Please enter your address";
				err_state = '1';
		}
		
		if(telephone.value=="") {
				err += "<br>Please enter a contact telephone number";
				err_state = '1';
		}
		
		if(postcode.value=="") {
				err += "<br>Please enter your postcode";
				err_state = '1';
		}

		var genderGrp = document.forms[0].gender;		
		if (!genderGrp[0].checked && !genderGrp[1].checked) {
			err += "<br>Please select your gender";
			err_state = '1';
		} 
		
		var ageGrp = document.forms[0].age;
		if (!ageGrp[0].checked && !ageGrp[1].checked && !ageGrp[2].checked && !ageGrp[3].checked && !ageGrp[4].checked && !ageGrp[5].checked && !ageGrp[6].checked) {
			err += "<br>Please select your age group";
			err_state = '1';
		} 

					
	}//end feedback checks

	if(act=="kids150") {
		var name 		= d.getElementById("name");
		var surname 	= d.getElementById("surname");
		var address 	= d.getElementById("address");
		var postcode	= d.getElementById("postcode");

		if(name.value=="") {
				err += "<br>Please enter your name";
				err_state = '1';
		}
		
		if(address.value=="") {
				err += "<br>Please enter your address";
				err_state = '1';
		}
		
		if(postcode.value=="") {
				err += "<br>Please enter your postcode";
				err_state = '1';
		}

					
	}//end kids checks


	if(act=="quiz") {
		var name 		= d.getElementById("name");
		var gender	 	= d.getElementById("gender");
		var address 	= d.getElementById("address");
		var telephone	= d.getElementById("telephone");
		var postcode	= d.getElementById("postcode");
		var localbowl	= d.getElementById("localbowl");
		var bowlwith	= d.getElementById("bowlwith");
		var bowlwhen	= d.getElementById("bowlwhen");
		
		var q1 = document.forms[0].q1;
		if (!q1[0].checked && !q1[1].checked && !q1[2].checked && !q1[3].checked) {
			err += "<br>Please select an answer for question 1";
			err_state = '1';
		} 
		
		var q2 = document.forms[0].q2;
		if (!q2[0].checked && !q2[1].checked && !q2[2].checked && !q2[3].checked ) {
			err += "<br>Please select an answer for question 2";
			err_state = '1';
		} 

		var q3 = document.forms[0].q3;
		if (!q3[0].checked && !q3[1].checked && !q3[2].checked && !q3[3].checked ) {
			err += "<br>Please select an answer for question 3";
			err_state = '1';
		} 

		var q4 = document.forms[0].q4;
		if (!q4[0].checked && !q4[1].checked && !q4[2].checked) {
			err += "<br>Please select an answer for question 4";
			err_state = '1';
		} 

		if(name.value=="") {
				err += "<br>Please enter your name";
				err_state = '1';
		}
		
		var ageGrp = document.forms[0].age;
		if (!ageGrp[0].checked && !ageGrp[1].checked && !ageGrp[2].checked && !ageGrp[3].checked && !ageGrp[4].checked && !ageGrp[5].checked && !ageGrp[6].checked) {
			err += "<br>Please select your age group";
			err_state = '1';
		} 

		if(address.value=="") {
				err += "<br>Please enter your address";
				err_state = '1';
		}
		
		if(telephone.value=="") {
				err += "<br>Please enter a contact telephone number";
				err_state = '1';
		}
		
		if(postcode.value=="") {
				err += "<br>Please enter your postcode";
				err_state = '1';
		}

		if(document.forms[0].localbowl.options[document.forms[0].localbowl.selectedIndex].value == "Please Select...") {
				err += "<br>Please select your nearest bowl";
				err_state = '1';
		}
		if(document.forms[0].bowlwith.options[document.forms[0].bowlwith.selectedIndex].value == "Please Select...") {
				err += "<br>Please select who you bowl with";
				err_state = '1';
		}
		if(document.forms[0].bowlwhen.options[document.forms[0].bowlwhen.selectedIndex].value == "Please Select...") {
				err += "<br>Please select how often you bowl";
				err_state = '1';
		}

					
	}//end quiz checks

	
	if(act=="organise") {
		var p_name 			= d.getElementById("name");
		var address 		= d.getElementById("address");
		var telephone		= d.getElementById("telephone");
		var postcode		= d.getElementById("postcode");
		var party_type 		= d.getElementById("party_type");
//		var date_of_party 	= d.getElementById("date_of_party");
//		var time_of_party 	= d.getElementById("time_of_party");
		var bowl 			= d.getElementById("bowl");
		var adults 			= d.getElementById("adults");
		var juniors			= d.getElementById("juniors");

		if(party_type.options[document.forms[0].party_type.selectedIndex].value=="") {
				err += "<br>Please select a party type";
				err_state = '1';
		}
		
		if(p_name.value=="") {
				err += "<br>Please enter your name";
				err_state = '1';
		}
		
		var ageGrp = document.forms[0].age;
		if (!ageGrp[0].checked && !ageGrp[1].checked && !ageGrp[2].checked && !ageGrp[3].checked && !ageGrp[4].checked && !ageGrp[5].checked && !ageGrp[6].checked) {
			err += "<br>Please select your age group";
			err_state = '1';
		} 

		
		if(address.value=="") {
				err += "<br>Please enter your address";
				err_state = '1';
		}

		if(postcode.value=="") {
				err += "<br>Please enter your postcode";
				err_state = '1';
		}
		
		if(telephone.value=="") {
				err += "<br>Please enter a contact telephone number";
				err_state = '1';
		}

		if(adults.options[document.forms[0].adults.selectedIndex].value + juniors.options[document.forms[0].juniors.selectedIndex].value == 0) {
				err += "<br>Please tell us how many guests you are expecting";
				err_state = '1';
		} else {
		
			if(adults.options[document.forms[0].adults.selectedIndex].value + juniors.options[document.forms[0].juniors.selectedIndex].value < 13) {
					err += "<br>For parties of less than 13 people please contact the bowl direct to make your booking";
					err_state = '1';
			}
		}

//		if(number_in_party.value=="") {
//			err += "<br>Please enter the number of guests";
//			err_state = '1';
//		}
		
//		if(date_of_party.value=="") {
//			err += "<br>Please enter your preferred date";
//			err_state = '1';
//		}
		
//		if(time_of_party.value=="") {
//			err += "<br>Please enter your preferred time";
//			err_state = '1';
//		}
		
	}//end organise checks

	
	if (!email_1){ //check the first email box for content
		err += "<br> Please enter your email address";
		d.getElementById("email_address").focus();
		err_state = '1';
	}  else {
		if (!email_1.match(emailFilter)) { //check the first email box for a valid email address
			err += "<br> Email address is not valid, please re-enter your email address";
			d.getElementById("email_address").focus();
			err_state = '1';
		} else {
			email_1_check = '1';
		}
	}
	
	if (!email_2){ //check second box for content
		err += "<br> Please enter your confirmation email address";
		d.getElementById("email_address_test").focus();
		err_state = '1';
	} else {
		if (!email_2.match(emailFilter)) {  //check the second email box for a valid email address
			err += "<br> Confirmation email address is not valid, please re-enter your email address";
			d.getElementById("email_address_test").focus();
			err_state = '1';
		} else { 
			email_2_check = '1';
		}
	}
	
	//if email addresses are valid, check they match
	if(email_1_check == '1' && email_2_check == '1') {
		if(email_1 != email_2) {
			err += "<br> Email addresses do not match, please check you have entered both correctly";
			err_state = '1';
		} else {
			err_state = '0';
		}
	}
	
	
	if(err_state == '1') {
		d.getElementById("errs").innerHTML = err;
		document.location.href="#err";
		return false;
	} else {
		if(action == "unsub") {
			document.location= suburl+unsub_url+"?email="+email_1;
		} else {
			return true;
		}
	}
}
