var liability_action = '';

function checkForm(p_form){

	// Player checks
		
	autoChecks = checkInputForm(p_form);

	player1FormOK = checkPlayer(p_form,'1');
	player2FormOK = checkPlayer(p_form,'2');
	player3FormOK = checkPlayer(p_form,'3');
	player4FormOK = checkPlayer(p_form,'4');
	
	if(autoChecks && player1FormOK && player2FormOK && player3FormOK && player4FormOK){
		return true;
	} else {
		alert("One or more fields are missing or invalid. Please review your entries.");
		return false;
	}
	
	
}


function checkReleaseForm(p_form){
	
	checkbox = document.getElementById("liability_checkbox");
	signator = document.getElementById("liability_signator");
	
	if(liability_action == 'accept'){		
		if(checkbox.checked == false || isEmpty(signator.value)){
			alert("Before accepting the liability waiver you must either check the box and fill in your name.");
			return false;	
		} else {	
			return true;
		}
	} else {
		return true;
	}
	
}


function checkPlayer(p_form,p_player_number){
	
	
	// Clear all player form errors.
	
	document.getElementById("player_" + p_player_number + "_firstname_span").className = '';
	document.getElementById("player_" + p_player_number + "_lastname_span").className = '';
	document.getElementById("player_" + p_player_number + "_gender_span").className = '';
	document.getElementById("player_" + p_player_number + "_league_span").className = '';
	document.getElementById("player_" + p_player_number + "_school_span").className = '';
	document.getElementById("player_" + p_player_number + "_birthdate_span").className = '';
		
	if(!isEmpty(document.getElementById('player_'+p_player_number+'_firstname').value) || p_player_number == "1"){
		
		
		/*
			Must check
				- last name
				- league
				- gender
				- birthdate
				- school
		*/
				
		year = document.forms[0].elements["player[" + p_player_number + "][birthYear]"].value;
		month = document.forms[0].elements["player[" + p_player_number + "][birthMonth]"].value;
		day = document.forms[0].elements["player[" + p_player_number + "][birthDay]"].value;
			
		dateOK = isDate(year,month,day);
		
		if(dateOK != "0" ){
			dateOK = false;
			fieldLabel = document.getElementById("player_" + p_player_number + "_birthdate_span");
			fieldLabel.className = "missed_compulsory";							
		} else {
			dateOK = true;
		}
		
		playerFormOK =  checkInputForm(p_form,	"player_" + p_player_number + "_firstname," +
					 							"player_" + p_player_number + "_lastname,"  +
												"player_" + p_player_number + "_gender,"    +
												"player_" + p_player_number + "_league,"  +
												"player_" + p_player_number + "_school");

		return playerFormOK && dateOK;												
									
	} else {
		// Form not filled in for this player so return true
		return true;
	}
	
}


isDate = function(y, m, d){ //v1.0
        if(typeof y == "string" && m instanceof RegExp && d){
            if(!m.test(y)) return 1;
            y = RegExp["$" + d.y], m = RegExp["$" + d.m], d = RegExp["$" + d.d];
        }
        d = Math.abs(d) || 0, m = Math.abs(m) || 0, y = Math.abs(y) || 0;
        return arguments.length != 3 ? 1 : d < 1 || d > 31 ? 2 : m < 1 || m > 12 ? 3 : /4|6|9|11/.test(m) && d == 31 ? 4
        : m == 2 && (d > ((y = !(y % 4) && (y % 1e2) || !(y % 4e2)) ? 29 : 28)) ? 5 + !!y : 0;
};