//----------- Common Functions Begins --------------//

function formhandler(purpose) {
		var purp;
		purp=purpose;
		document.main.fpurpose.value=purp;
		document.main.submit();
		return true;
}

function checkAll() {
	len=document.main.length;
	for (var j = 0; j < len; j++) {
		if (document.main.elements[j]!=null) {
			if (document.main.elements[j].type== "checkbox") {
				box = document.main.elements[j]; 
				if (box.checked == false) box.checked = true; else box.checked=false;
			}
		}
	   }
}

function selCheckboxes() {
	var counter = 0;
	len=document.main.length;
	for (var j = 0; j < len; j++) {
		if (document.main.elements[j]!=null) {
			if (document.main.elements[j].type== "checkbox") {
				box = document.main.elements[j]; 
				if (box.checked == true) counter = counter + 1;
			}
		}
    }
	return counter;
}


function check_counter(action,msg) {
	var counter = 0;
	counter = selCheckboxes();
	if(counter == 1) {
		formhandler(action)
	} else {
		alert(msg);
		return false;
	}

}


function allocate_counter(action,msg) {
	var counter = 0;
	counter = selCheckboxes();
	if(counter > 0) {
		formhandler(action)
	} else {
		alert(msg);
		return false;
	}

}


function delete_counter(action,msg) {
	var counter = 0;
	counter = selCheckboxes();
	if(counter == 1) {
		
		if(confirm("Are you sure you want to delete?")) {
			formhandler(action)
		} else {
			return false;	
		}
	} else {
		alert(msg);
		return false;
	}

}

//----------- Common Functions Ends --------------//




//----------- Common Validation Functions Begins --------------//

function notEmpty(elem, helperMsg){
	if(elem.value.length == 0){
		alert(helperMsg);
		elem.focus(); // set the focus to this input
		return false;
	}
	return true;
}

function isNumeric(elem, helperMsg){
	var numericExpression = /^[0-9]+$/;
	if(elem.value.match(numericExpression)){
		return true;
	}else{
		alert(helperMsg);
		elem.value = "";
		elem.focus();
		return false;
	}
}


function isAlphabet(elem, helperMsg){
	var alphaExp = /^[a-zA-Z]+$/;
	if(elem.value.match(alphaExp)){
		return true;
	}else{
		alert(helperMsg);
		elem.value = "";
		elem.focus();
		return false;
	}
}

function isAlphanumeric(elem, helperMsg){
	var alphaExp = /^[0-9a-zA-Z]+$/;
	if(elem.value.match(alphaExp)){
		return true;
	}else{
		alert(helperMsg);
		elem.value = "";
		elem.focus();
		return false;
	}
}

function validPhone(elem, helperMsg)
{
	aphone = elem.value;
	// declare valid variable as a string with all valid characters (digits from 0 to 9 )
    var valid = "0123456789-";
	//check each character entered in the phone field
	 for (var i=0; i < aphone.length; i++)
	 {
		 //put in temp variable each character, one at a time.
		 temp = "" + aphone.substring(i, i+1);
		//check index of a phone character in the "valid" variable.
		// if temp contains a character which is not in "valid" variable,
		//then valid.indexOf(temp) will be -1

         if (valid.indexOf(temp) == "-1")
         {
			alert(helperMsg);
			elem.value = "";
			elem.focus();
            return false;
         }
    }
    //if all conditions are passed, then return true
    return true;
}



function emailValidator(elem, helperMsg){
	var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
	if(elem.value.match(emailExp)){
		return true;
	}else{
		alert(helperMsg);
	    elem.value = "";
		elem.focus();
		return false;
	}
}

function lengthRestriction(elem, min, max){
	var uInput = elem.value;
	if(uInput.length >= min && uInput.length <= max){
		return true;
	}else{
		alert("Please enter Password between " +min+ " and " +max+ " characters");
		elem.focus();
		return false;
	}
}

function madeSelection(elem, helperMsg){
	if(elem.value == ""){
		alert(helperMsg);
		elem.focus();
		return false;
	}else{
		return true;
	}
}


function hasWhiteSpace(field, s, helperMsg) 
{
 		
     reWhiteSpace = new RegExp(/\s/);
 
     // Check for white space
     if (reWhiteSpace.test(s)) {
	 	  alert(helperMsg);
		  field.value = "";
		  field.focus();
          return false;
     }
	return true;
}


function comparePassword(passelem, confirmpasselem, helperMsg) {
	if(passelem.value == confirmpasselem.value) {
		return true;
	} else {
	 	  alert(helperMsg);
		  confirmpasselem.value = "";
		  confirmpasselem.focus();
          return false;
	}
}


function compareDOB(dobday, dobmonth, dobyear, helperMsg) { // compare DOB with today date
	var today = new Date()
	var month = today.getMonth()+1
	var year = today.getYear()
	var day = today.getDate()
	if(day<10) day = "0" + day
	if(month<10) month= "0" + month 
	if(year<1000) year+=1900
	
	if(day == dobday.value && month == dobmonth.value && year == dobyear.value) {
	 	  alert(helperMsg);
		  dobday.focus();
		  return false;
	} else {
		return true;	
	}
}

//----------- Common Validation Functions Ends --------------//




//----------- MEMBER Functions Begins --------------//

function memberformValidator(action){
	// Make quick references to our fields
	var email = document.getElementById('email');
	var pwd = document.getElementById('pwd');
	var passwordConfirm = document.getElementById('passwordConfirm');
	var firstname = document.getElementById('firstname');
	var middlename = document.getElementById('middlename');
	var lastname = document.getElementById('lastname');
	var gender = document.getElementById('gender');
	var dobday = document.getElementById('dobday');
	var dobmonth = document.getElementById('dobmonth');
	var dobyear = document.getElementById('dobyear');

	var addressBuildingName = document.getElementById('addressBuildingName');
	var addressStreetName = document.getElementById('addressStreetName');
	var addressTownCity = document.getElementById('addressTownCity');
	var addressStateCounty = document.getElementById('addressStateCounty');
	var country = document.getElementById('country');
	var postal_code = document.getElementById('postal_code');
	var phone = document.getElementById('phone');
	var mobile = document.getElementById('mobile');
	var fax = document.getElementById('fax');
	
	if(document.getElementById('sports')) {
		var sports = document.getElementById('sports');
	}
	
	if(sports) {
		if(sports.value == 0) {
			alert("Please select a Sports Section");
			sports.focus();
		  	return false;
		}
	}
		
	// Check each input in the order that it appears in the form!
	
	if(notEmpty(email, "Please enter Email address")){
		
		if(notEmpty(pwd, "Please enter Password")){
		if(lengthRestriction(pwd, 6, 10)){
		if(notEmpty(passwordConfirm, "Please Confirm Password")){
		if(comparePassword(pwd, passwordConfirm, "Passwords do not match")){
			
			if(notEmpty(firstname, "Please enter First Name")){
			if(isAlphabet(firstname, "Please enter only letters for First Name")){
			if(notEmpty(lastname, "Please enter Last Name")){
			if(isAlphabet(lastname, "Please enter only letters for Last Name")){
				
				if(madeSelection(gender, "Please Select a Gender")){
				if(compareDOB(dobday, dobmonth, dobyear, "Please select your Date of Birth")) { // compare dob with today date
					
					if(notEmpty(addressBuildingName, "Please enter Address 1")){
					if(notEmpty(addressTownCity, "Please enter Town / City")){
					if(notEmpty(addressStateCounty, "Please enter State / County")){
					if(madeSelection(country, "Please Select a Country")){	
					if(notEmpty(postal_code, "Please enter POST CODE / ZIP CODE")){
						
						formhandler(action)
						
					} // POSTCODE
					} // COUNTRY
					} // STATE/COUNTY
					} // TOWN/CITY
					} // ADDRESS 1
					
				} // Compare DOB with today
				}// Gender
				
			} // LAST NAME
			} // LAST NAME
			} // FIRST NAME
			} // FIRST NAME
				
		} // Password match
		} // Confirm Password
		} // Password
		} // Password
		
	} // Email
	
	
	return false;
}


function editmemberformValidator(action){
	// Make quick references to our fields
	var firstname = document.getElementById('firstname');
	var middlename = document.getElementById('middlename');
	var lastname = document.getElementById('lastname');
	var gender = document.getElementById('gender');
	var dobday = document.getElementById('dobday');
	var dobmonth = document.getElementById('dobmonth');
	var dobyear = document.getElementById('dobyear');

	var addressBuildingName = document.getElementById('addressBuildingName');
	var addressStreetName = document.getElementById('addressStreetName');
	var addressTownCity = document.getElementById('addressTownCity');
	var addressStateCounty = document.getElementById('addressStateCounty');
	var country = document.getElementById('country');
	var postal_code = document.getElementById('postal_code');
	var phone = document.getElementById('phone');
	var mobile = document.getElementById('mobile');
	var fax = document.getElementById('fax');
	
	if(document.getElementById('sports')) {
		var sports = document.getElementById('sports');
	}
	
	if(sports) {
		if(sports.value == 0) {
			alert("Please select a Sports Section");
			sports.focus();
		  	return false;
		}
	}
		
	// Check each input in the order that it appears in the form!
	if(notEmpty(firstname, "Please enter First Name")){
	if(isAlphabet(firstname, "Please enter only letters for First Name")){
	if(notEmpty(lastname, "Please enter Last Name")){
	if(isAlphabet(lastname, "Please enter only letters for Last Name")){
		
		if(madeSelection(gender, "Please Select a Gender")){
		if(compareDOB(dobday, dobmonth, dobyear, "Please select your Date of Birth")) { // compare dob with today date
			
			if(notEmpty(addressBuildingName, "Please enter Address 1")){
			if(notEmpty(addressTownCity, "Please enter Town / City")){
			if(notEmpty(addressStateCounty, "Please enter State / County")){
			if(madeSelection(country, "Please Select a Country")){	
			if(notEmpty(postal_code, "Please enter POST CODE / ZIP CODE")){
				
				formhandler(action)
				
			} // POSTCODE
			} // COUNTRY
			} // STATE/COUNTY
			} // TOWN/CITY
			} // ADDRESS 1
			
		} // Compare DOB with today
		}// Gender
		
	} // LAST NAME
	} // LAST NAME
	} // FIRST NAME
	} // FIRST NAME
	
	return false;
}




function passwordformValidator(action){
	// Make quick references to our fields
	var email = document.getElementById('email');
	var pwd = document.getElementById('pwd');
	var passwordConfirm = document.getElementById('passwordConfirm');

	// Check each input in the order that it appears in the form!
		
	if(notEmpty(pwd, "Please enter Password")){
	if(lengthRestriction(pwd, 6, 10)){
	if(notEmpty(passwordConfirm, "Please Confirm Password")){
	if(comparePassword(pwd, passwordConfirm, "Passwords do not match")){
					
		formhandler(action)
			
	} // Password match
	} // Confirm Password
	} // Password
	} // Password
	
	return false;
}

//----------- MEMBER Functions Ends --------------//





//----------- CAPTAIN Functions Begins --------------//

function captainformValidator(action){
	// Make quick references to our fields
	var email = document.getElementById('email');
	var pwd = document.getElementById('pwd');
	var passwordConfirm = document.getElementById('passwordConfirm');
	var firstname = document.getElementById('firstname');
	var middlename = document.getElementById('middlename');
	var lastname = document.getElementById('lastname');
	var gender = document.getElementById('gender');
	var dobday = document.getElementById('dobday');
	var dobmonth = document.getElementById('dobmonth');
	var dobyear = document.getElementById('dobyear');

	var addressBuildingName = document.getElementById('addressBuildingName');
	var addressStreetName = document.getElementById('addressStreetName');
	var addressTownCity = document.getElementById('addressTownCity');
	var addressStateCounty = document.getElementById('addressStateCounty');
	var country = document.getElementById('country');
	var postal_code = document.getElementById('postal_code');
	var phone = document.getElementById('phone');
	var mobile = document.getElementById('mobile');
	var fax = document.getElementById('fax');
	
	if(document.getElementById('sports')) {
		var sports = document.getElementById('sports');
	}
	
	if(sports) {
		if(sports.value == 0) {
			alert("Please select a Sports Section");
			sports.focus();
		  	return false;
		}
	}
		
	// Check each input in the order that it appears in the form!
	
	if(notEmpty(email, "Please enter Email address")){
		
		if(notEmpty(pwd, "Please enter Password")){
		if(lengthRestriction(pwd, 6, 10)){
		if(notEmpty(passwordConfirm, "Please Confirm Password")){
		if(comparePassword(pwd, passwordConfirm, "Passwords do not match")){
			
			if(notEmpty(firstname, "Please enter First Name")){
			if(isAlphabet(firstname, "Please enter only letters for First Name")){
			if(notEmpty(lastname, "Please enter Last Name")){
			if(isAlphabet(lastname, "Please enter only letters for Last Name")){
				
				if(madeSelection(gender, "Please Select a Gender")){
				if(compareDOB(dobday, dobmonth, dobyear, "Please select your Date of Birth")) { // compare dob with today date
					
					if(notEmpty(addressBuildingName, "Please enter Address 1")){
					if(notEmpty(addressTownCity, "Please enter Town / City")){
					if(notEmpty(addressStateCounty, "Please enter State / County")){
					if(madeSelection(country, "Please Select a Country")){	
					if(notEmpty(postal_code, "Please enter POST CODE / ZIP CODE")){
						
						formhandler(action)
						
					} // POSTCODE
					} // COUNTRY
					} // STATE/COUNTY
					} // TOWN/CITY
					} // ADDRESS 1
					
				} // Compare DOB with today
				}// Gender
				
			} // LAST NAME
			} // LAST NAME
			} // FIRST NAME
			} // FIRST NAME
				
		} // Password match
		} // Confirm Password
		} // Password
		} // Password
		
	} // Email
	
	
	return false;
}


function editcaptainformValidator(action){
	// Make quick references to our fields
	var firstname = document.getElementById('firstname');
	var middlename = document.getElementById('middlename');
	var lastname = document.getElementById('lastname');
	var gender = document.getElementById('gender');
	var dobday = document.getElementById('dobday');
	var dobmonth = document.getElementById('dobmonth');
	var dobyear = document.getElementById('dobyear');

	var addressBuildingName = document.getElementById('addressBuildingName');
	var addressStreetName = document.getElementById('addressStreetName');
	var addressTownCity = document.getElementById('addressTownCity');
	var addressStateCounty = document.getElementById('addressStateCounty');
	var country = document.getElementById('country');
	var postal_code = document.getElementById('postal_code');
	var phone = document.getElementById('phone');
	var mobile = document.getElementById('mobile');
	var fax = document.getElementById('fax');
	
	if(document.getElementById('sports')) {
		var sports = document.getElementById('sports');
	}
	
	if(sports) {
		if(sports.value == 0) {
			alert("Please select a Sports Section");
			sports.focus();
		  	return false;
		}
	}
		
	// Check each input in the order that it appears in the form!
	if(notEmpty(firstname, "Please enter First Name")){
	if(isAlphabet(firstname, "Please enter only letters for First Name")){
	if(notEmpty(lastname, "Please enter Last Name")){
	if(isAlphabet(lastname, "Please enter only letters for Last Name")){
		

		if(madeSelection(gender, "Please Select a Gender")){
		if(compareDOB(dobday, dobmonth, dobyear, "Please select your Date of Birth")) { // compare dob with today date
			
			if(notEmpty(addressBuildingName, "Please enter Address 1")){
			if(notEmpty(addressTownCity, "Please enter Town / City")){
			if(notEmpty(addressStateCounty, "Please enter State / County")){
			if(madeSelection(country, "Please Select a Country")){	
			if(notEmpty(postal_code, "Please enter POST CODE / ZIP CODE")){
				
				formhandler(action)
				
			} // POSTCODE
			} // COUNTRY
			} // STATE/COUNTY
			} // TOWN/CITY
			} // ADDRESS 1
			
		} // Compare DOB with today
		}// Gender
		
	} // LAST NAME
	} // LAST NAME
	} // FIRST NAME
	} // FIRST NAME
	
	return false;
}


//----------- CAPTAIN Functions Ends --------------//







//---------------- TEAM Functions Begins ------------------//

function teamformValidator(action){
	// Make quick references to our fields
	var title = document.getElementById('teamtitle');
	var section = document.getElementById('teamgender');
	
	if(document.getElementById('sports')) {
		var sports = document.getElementById('sports');
	}
	
	if(sports) {
		if(sports.value == 0) {
			alert("Please select a Sports Section");
			sports.focus();
		  	return false;
		}
	}
	
	// Check each input in the order that it appears in the form!
	if(notEmpty(title, "Please enter Team Title")){
		if(madeSelection(section, "Please select Team Section")){
				formhandler(action)
		}
	}
	
	return false;
}

//---------------- TEAM Functions Ends ------------------//





//----------- AGE-GROUP Functions Begins --------------//

function agegroupformValidator(action){
	// Make quick references to our fields
	var title = document.getElementById('agegrouptitle');
	var agefrom = document.getElementById('agefrom');
	var ageto = document.getElementById('ageto');
	
	// Check each input in the order that it appears in the form!
	if(notEmpty(title, "Please enter Age Group Title")){
		if(notEmpty(agefrom, "Please enter Age Group From")){
			if(isNumeric(agefrom, "Please enter only numeric digits")){
				if(notEmpty(ageto, "Please enter Age Group To")){
					if(isNumeric(ageto, "Please enter only numeric digits")){
						formhandler(action)
					}
				}
			}
		}
	}
	
	return false;
}

//----------- AGE-GROUP Functions Ends --------------//




//----------- PLAYER Functions Begins --------------//

function playerformValidator(action){
	// Make quick references to our fields
	var email = document.getElementById('email');
	var pwd = document.getElementById('pwd');
	var passwordConfirm = document.getElementById('passwordConfirm');
	var firstname = document.getElementById('firstname');
	var middlename = document.getElementById('middlename');
	var lastname = document.getElementById('lastname');
	var gender = document.getElementById('gender');
	var dobday = document.getElementById('dobday');
	var dobmonth = document.getElementById('dobmonth');
	var dobyear = document.getElementById('dobyear');

	var addressBuildingName = document.getElementById('addressBuildingName');
	var addressStreetName = document.getElementById('addressStreetName');
	var addressTownCity = document.getElementById('addressTownCity');
	var addressStateCounty = document.getElementById('addressStateCounty');
	var country = document.getElementById('country');
	var postal_code = document.getElementById('postal_code');
	var phone = document.getElementById('phone');
	var mobile = document.getElementById('mobile');
	var fax = document.getElementById('fax');
		
	// Check each input in the order that it appears in the form!
	
	if(notEmpty(email, "Please enter Email address")){
		
		if(notEmpty(pwd, "Please enter Password")){
		if(lengthRestriction(pwd, 6, 10)){
		if(notEmpty(passwordConfirm, "Please Confirm Password")){
		if(comparePassword(pwd, passwordConfirm, "Passwords do not match")){
			
			if(notEmpty(firstname, "Please enter First Name")){
			if(isAlphabet(firstname, "Please enter only letters for First Name")){
			if(notEmpty(lastname, "Please enter Last Name")){
			if(isAlphabet(lastname, "Please enter only letters for Last Name")){
				
				if(madeSelection(gender, "Please Select a Gender")){
				if(compareDOB(dobday, dobmonth, dobyear, "Please select your Date of Birth")) { // compare dob with today date
					
					if(notEmpty(addressBuildingName, "Please enter Address 1")){
					if(notEmpty(addressTownCity, "Please enter Town / City")){
					if(notEmpty(addressStateCounty, "Please enter State / County")){
					if(madeSelection(country, "Please Select a Country")){	
					if(notEmpty(postal_code, "Please enter POST CODE / ZIP CODE")){
						
						formhandler(action)
						
					} // POSTCODE
					} // COUNTRY
					} // STATE/COUNTY
					} // TOWN/CITY
					} // ADDRESS 1
					
				} // Compare DOB with today
				}// Gender
				
			} // LAST NAME
			} // LAST NAME
			} // FIRST NAME
			} // FIRST NAME
				
		} // Password Match
		} // Confirm Password
		} // Password
		} // Password
		
	} // Email
	
	
	return false;
}


function editplayerformValidator(action){
	// Make quick references to our fields
	var firstname = document.getElementById('firstname');
	var middlename = document.getElementById('middlename');
	var lastname = document.getElementById('lastname');
	var gender = document.getElementById('gender');
	var dobday = document.getElementById('dobday');
	var dobmonth = document.getElementById('dobmonth');
	var dobyear = document.getElementById('dobyear');

	var addressBuildingName = document.getElementById('addressBuildingName');
	var addressStreetName = document.getElementById('addressStreetName');
	var addressTownCity = document.getElementById('addressTownCity');
	var addressStateCounty = document.getElementById('addressStateCounty');
	var country = document.getElementById('country');
	var postal_code = document.getElementById('postal_code');
	var phone = document.getElementById('phone');
	var mobile = document.getElementById('mobile');
	var fax = document.getElementById('fax');
		
	// Check each input in the order that it appears in the form!
	if(notEmpty(firstname, "Please enter First Name")){
	if(isAlphabet(firstname, "Please enter only letters for First Name")){
	if(notEmpty(lastname, "Please enter Last Name")){
	if(isAlphabet(lastname, "Please enter only letters for Last Name")){
		
		if(madeSelection(gender, "Please Select a Gender")){
		if(compareDOB(dobday, dobmonth, dobyear, "Please select your Date of Birth")) { // compare dob with today date
			
			if(notEmpty(addressBuildingName, "Please enter Address 1")){
			if(notEmpty(addressTownCity, "Please enter Town / City")){
			if(notEmpty(addressStateCounty, "Please enter State / County")){
			if(madeSelection(country, "Please Select a Country")){	
			if(notEmpty(postal_code, "Please enter POST CODE / ZIP CODE")){
				
				formhandler(action)
				
			} // POSTCODE
			} // COUNTRY
			} // STATE/COUNTY
			} // TOWN/CITY
			} // ADDRESS 1
			
		} // Compare DOB with today
		}// Gender
		
	} // LAST NAME
	} // LAST NAME
	} // FIRST NAME
	} // FIRST NAME
	
	return false;
}

//----------- PLAYER Functions Ends --------------//



//---------------- EVENT Functions Begins ------------------//

function eventformValidator(action){
	// Make quick references to our fields
	var title = document.getElementById('eventtitle');
	var etype = document.getElementById('etype');
	var eventloc = document.getElementById('eventloc');
	var startdate = document.getElementById('startdate');
	var enddate = document.getElementById('enddate');
	var eventprice = document.getElementById('eventprice');
	
	if(document.getElementById('sports')) {
		var sports = document.getElementById('sports');
	}
	
	if(sports) {
		if(sports.value == 0) {
			alert("Please select a Sports Section");
			sports.focus();
		  	return false;
		}
	}

	// Check each input in the order that it appears in the form!
	if(notEmpty(title, "Please enter Event Title")){
		if(madeSelection(etype, "Please select Event Type")){
			if(notEmpty(eventloc, "Please enter Event Location")){
			if(notEmpty(startdate, "Please select Start Date")){
			if(notEmpty(enddate, "Please select End Date")){
			if(notEmpty(eventprice, "Please enter Event Price")){

				formhandler(action)
				
			} // EVENT PRICE
			} // END DATE
			} // START DATE
			} // EVENT LOCATION
		} // EVENT TYPE
	} // EVENT TITLE
	
	return false;
}

//---------------- EVENT Functions Ends ------------------//

