// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults

var playerToggle = 0;
var assessmentToggle = 0;
var manageToggle = 0;
var viewModeToggle = 0;
var viewToggleInProgress;


function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}


function verifyAssessmentValid(f) {
	if(!verifyAssessmentIsNamed()) {
		alert("You must name the assessment.")
		return false;
	}
	if(!verifyEventIsChecked()) {
		alert("You must select atleast one assessment type.")
		return false;
	}
	if(!verifyPlayerIsChecked(f)) {
		alert("You must select atleast one player.")
		return false;
	}
	return true;
}

function verifyAssessmentIsNamed() {
	var name = $('assessment_name');
	if(trim(name.value) == "") return false;
	return true;
}

function verifyEventIsChecked() {
	var fit = $('assessment_fitness');
	var ski = $('assessment_skill');
	var sub = $('assessment_subjective');
	var one = $('assessment_onevsone');
	return (fit.checked || ski.checked || sub.checked || one.checked);
}

function verifyPlayerIsChecked(f, min_required) {
	if(!min_required) min_required = 1;
	var num_checked = 0;
	Form.getInputs(f, 'checkbox', 'assessment[player_ids][]').each(function (player){
		if(player.checked) num_checked += 1;
	});
	if(num_checked >= min_required) {
		return true;
	} else {
		return false;
	}
}

// If one vs one match has two values present
// submit the match form for calculaton.
function isMatchPostable(scoreOne, scoreTwo, form, match) {
	if (scoreOne.value != "" && scoreTwo.value != "") {
		new Ajax.Request("/matches/" + match, {asynchronous:true, evalScripts:true, parameters:Form.serialize(form), loading:showMatchLoader(match)}); return false;
	}
}

function showMatchLoader(match) {
	$("match_" + match).className = 'loading'
}

function hideText(e, val) {
	var value = $(e).value;
	if (value == val) {
		$(e).value = "";
	}
}

function showIfEmpty(e, val) {
	var value = $(e).value;
	if (value == "") {
		$(e).value = val;
	}
}

function formatDate(e) {
	if ($(e).value >= 0 && $(e).value <= 9 && $(e).value.length == 1) {
		$(e).value = "0" + $(e).value;
	}
}

function toggleDataRankView() {
		Element.toggle('data'); 
		Element.toggle('ranking');
		if (viewModeToggle == 0) {
			$('view_mode_indicator').innerHTML = "RANK VIEW";
			Element.show('view_mode_indicator');
			viewModeToggle = 1;
		} else {
			$('view_mode_indicator').innerHTML = "DATA VIEW";
			Element.show('view_mode_indicator');
			viewModeToggle = 0;
		}
		if (viewToggleInProgress) {
			clearTimeout(viewToggleInProgress);
			viewToggleInProgress = setTimeout("Element.hide('view_mode_indicator'); clearTimeout(viewToggleInProgress);", 1500);
		} else {
			viewToggleInProgress = setTimeout("Element.hide('view_mode_indicator'); clearTimeout(viewToggleInProgress);", 1500);
		}
}

function togglePlayerPane() {
	if (playerToggle == 0) {
		$("add_player_button").src = "images/btn_cancel.gif";
		Effect.toggle('add_player_form', 'blind', { duration: 0.5 } );
		setTimeout("Form.Element.focus('player_last_name')", 600);
		playerToggle = 1;
	} else if (playerToggle == 1) {
		Form.reset('add_player');
		$("add_player_button").src = "/images/btn_add_player.gif";
		Effect.toggle('add_player_form', 'blind', { duration: 0.5 } );
		Element.hide('icon_success');
		Element.hide('icon_error');
		playerToggle = 0;		
	}
}

function toggleAssessmentPane() {
	if (assessmentToggle == 0) {
		$("add_assessment_button").src = "/images/btn_cancel.gif";
		Effect.toggle('create_assessment_form', 'blind', { duration: 0.5 });
		setTimeout ("Form.Element.focus('assessment_name')", 600);
		assessmentToggle = 1;
	} else if (assessmentToggle == 1) {
		$("add_assessment_button").src = "/images/btn_add_assessment.gif";
		Effect.toggle('create_assessment_form', 'blind', { duration: 0.5 });
		assessmentToggle = 0;	
	}
}

function toggleManagePane() {
	if (manageToggle == 0) {
		$("add_assessment_button").src = "/images/btn_cancel.gif";
		Effect.toggle('create_assessment_form', 'blind', { duration: 0.5 });
		manageToggle = 1;
	} else if (manageToggle == 1) {
		$("add_assessment_button").src = "/images/btn_manage_players.gif";
		Effect.toggle('create_assessment_form', 'blind', { duration: 0.5 });
		manageToggle = 0;	
	}
}

function set_active(el, levels, class_name) {
	if ($(el).type == "text") $(el).className = "sffocus";
	if ($(el).up(levels).className != class_name) {
		$(el).up(levels).className = class_name;
	}
}

function set_inactive(el, levels, class_name) {
	if ($(el).type == "text") $(el).className = "";
	if ($(el).up(levels).className != class_name) {
		$(el).up(levels).className = class_name;
	}
}

function checkFinalize() {
	if ($('check_1').checked == 1 && $('check_2').checked == 1) {
		Element.hide('finalize_image');
		Element.show('finalize_button');
	} else {
		Element.hide('finalize_button');
		Element.show('finalize_image');
	}
}

function formatType(e, pos) {
	var targ;
	var key;
	
	if (!e) var e = window.event;
	if (e.target) targ = e.target;
	else if (e.srcElement) targ = e.srcElement;
	if (e.keyCode) key = e.keyCode;
	else if (e.which) key = e.which;

	var length = targ.value.length;
	if (key != 8 && key != 46) {
		if (length == pos && targ.value.indexOf('.') == -1) {
			targ.value = targ.value + ".";
		}
	}
}










