// *********** useful vars **********************

var totalPlayersPerTeam = 3;
var salaryCap = 1.65;

// **********************************************

function clear_team() {
	for(i=1;i<=17;i++) {
		document.getElementById('player'+i).value = '';
	}
}



function quick_team() {
	var qTeam = new Array();
	qTeam[1] = '0.09:T. Duggan:Crusaders:3236';
	qTeam[2] = '0.08:J. McGillvary:Giants:10167';
	qTeam[3] = '0.08:T. Welch:Wolves:10114';
	qTeam[4] = '0.09:M. Tony:Hull FC:1138';
	qTeam[5] = '0.08:M. Nanyn:Quins:2507';
	qTeam[6] = '0.07:J. Crookes:Bulls:2227';
	qTeam[7] = '0.08:L. Palfrey:Reds:10168';
	qTeam[8] = '0.08:L. Palfrey:Reds:10168';
	qTeam[9] = '0.08:L. Palfrey:Reds:10168';
	qTeam[10] = '0.09:F. Winterstein:Wildcats:2278';
	qTeam[11] = '0.08:P. McShane:Rhinos:2805';
	qTeam[12] = '0.09:D. Allan:Rhinos:2177';
	qTeam[13] = '0.08:S. Pickersgill:Wolves:2134';
	qTeam[14] = '0.09:J. Donaldson:Bulls:3146';
	qTeam[15] = '0.09:D. Maloney:Hull FC:2306';
	qTeam[16] = '0.08:T. Martin:Crusaders:2686';
	qTeam[17] = '0.09:J. Donaldson:Bulls:3146';
	for(i=1;i<=17;i++) {
		document.getElementById('player'+i).value = qTeam[i];
	}
	player_selected();
}


function load_team(existingTeam,teamName) {
	var qTeam = new Array();
	qTeam = existingTeam.split(',');
	var no = 0;
	for(i=0;i<=16;i++) {
		no = i+1;
		document.getElementById('player'+no).value = qTeam[i];
	}
	document.getElementById('teamName').value = teamName;
	player_selected();
}


function edit_team() {
	for(i=1;i<=17;i++) {
		document.getElementById('player'+i).disabled = false;
	}
	for(i=1;i<=17;i++) {
		document.getElementById('c_player_'+i).innerHTML = '';
		document.getElementById('c_team_'+i).innerHTML = '';
		document.getElementById('c_price_'+i).innerHTML = '';
	}
	document.getElementById('team_confirm').className = 'selector disabled';
	document.getElementById('team_selector').className = 'selector';
	document.getElementById('teamName').disabled = false;
	document.getElementById('c_teamName').innerHTML = '&nbsp;<br />&nbsp;';
	document.getElementById('c_budgetRemaing').innerHTML = '&pound;'+salaryCap+'m';
	document.getElementById('confirmBtn').className = 'button bigconfirm off';
}


function add_team() {
	var myteam = new Array();
	for(i=1;i<=17;i++) {
		myteam[i] = document.getElementById('player'+i).value;
	}
	
	var parts = new Array();
	for(i=1;i<=17;i++) {
		//update form vars
		document.getElementById('v_player_'+i).value = myteam[i];
	
		parts = myteam[i].split(":");
		document.getElementById('c_player_'+i).innerHTML = parts[1];
		document.getElementById('c_team_'+i).innerHTML = parts[2];
		document.getElementById('c_price_'+i).innerHTML = (parts[0]*1000) + 'k';
	}
	document.getElementById('team_confirm').className = 'selector';
	document.getElementById('team_selector').className = 'selector disabled';
	document.getElementById('teamName').disabled = true;
	
	var teamName = document.getElementById('teamName').value;
	document.getElementById('v_teamName').value = teamName;
	document.getElementById('c_teamName').innerHTML = teamName;
	
	var remainingBudget = document.getElementById('displaybudget').innerHTML;
	document.getElementById('c_budgetRemaing').innerHTML = remainingBudget;
	
	var remainingBudgetInt = remainingBudget.replace("m", "");
	remainingBudgetInt = remainingBudgetInt.replace("£", "");
	var teamCost = (salaryCap - remainingBudgetInt);
	document.getElementById('team_cost').value = teamCost;
	
	document.getElementById('confirmBtn').className = 'button bigconfirm';
	
	for(i=1;i<=17;i++) {
		document.getElementById('player'+i).disabled = true;
	}
}


function inArray(needle, haystack) {
    var length = haystack.length;
    for(var i = 0; i < length; i++) {
        if(haystack[i] == needle) return true;
    }
    return false;
}


function make_transfers(max) {

	var changes = 0;

	for(i=1;i<=17;i++) {
		player = document.getElementById('player'+i).value;
		if(!inArray(player, theTeam)) {
			changes ++;
		}
	}
	
	if(changes > max) {
		display_message('Maximum ' + max + ' transfers',false);
	} else { 
		player_selected();
	}
	
}


function player_selected() {
	
	var teams = new Array();
	var temp = new Array();
	var teams_string = '';
	var newbudget = 1.65;
	
	// loop all 17 players get values and reduce
	for(i=1;i<=17;i++) {
		playerDetails = document.getElementById('player'+i).value;
		temp = playerDetails.split(':');
		playerPrice = temp[0];
		newbudget -= playerPrice;
		
		// build teams array
		teams_string += temp[2] + ':';
	}
	newbudget = Math.round(newbudget*100)/100
	document.getElementById('displaybudget').innerHTML = '&pound;' + newbudget + 'm';
	
	if(newbudget < 0) {
		display_message('Your team must cost less than 1.65 million',false);
	} else { 
		check_teams(teams_string);
	}
	
}


function check_teams(teams) {
	var teamsArray = teams.split(':');
	
	var found = new Array();
	
	// zero each array
	for(i=0;i<=teamsArray.length;i++) {
		found[teamsArray[i]] = 0;
	}
	
	// count items
	for(i=0;i<=teamsArray.length;i++) {
	  if(teamsArray[i] !== "undefined") {
		found[teamsArray[i]] += 1;
	  }
	}
	
	
	// check qty
	var toomany = false;
	var theTeam = 0;
	for(i=0;i<=teamsArray.length;i++) {
		if(found[teamsArray[i]] > totalPlayersPerTeam) {
			toomany = true;
			theTeam = teamsArray[i];
		}
	}
	
	if(toomany) {
		display_message('You have too many ' + theTeam + ' players',false);
	} else {
		check_duplicates();
	}
}
	
	
function check_duplicates() {

	var selectedPlayers = new Array();
	var duplicates = false;
	var string = '';
	
	// zero each array
	for(i=1;i<=17;i++) {
		playerDetails = document.getElementById('player'+i).value;
		temp = playerDetails.split(':');
		playerID = temp[3];
		selectedPlayers[playerID] = 0;
	}

	for(i=1;i<=17;i++) {
		playerDetails = document.getElementById('player'+i).value;
		temp = playerDetails.split(':');
		playerID = temp[3];
		selectedPlayers[playerID] += 1;
		
		if(selectedPlayers[playerID] > 1) {
			duplicates = true;
		}
		
	}	
	
	if(duplicates) {
		display_message('You have duplicate players',false);
	} else {
		check_full_selection();
	}

}
	


function check_full_selection() {
	var missing = false;
	for(i=1;i<=17;i++) {
		playerDetails = document.getElementById('player'+i).value;
		if(playerDetails == '') {
			missing = true;
		}
	}
	if(missing) {
		display_message('Please select a player in every position',false);
	} else {
		check_team_name();
	}
}


function check_team_name() {
	var teamName = document.getElementById('teamName').value;
	if(teamName.length == 0) {
		display_message('Please enter a team name',false);
	} else {
		display_message('Your team is ready',true);
	}
}


function display_message(message,success) {
	document.getElementById('msg').innerHTML = message;
	if(success) {
		document.getElementById('msg').style.color = "#6ca621";
		document.getElementById('teamReadyBtn').style.display = "block";
		document.getElementById('teamNotReadyBtn').style.display = "none";
	} else {
		document.getElementById('msg').style.color = "#ff0000";
		document.getElementById('teamReadyBtn').style.display = "none";
		document.getElementById('teamNotReadyBtn').style.display = "block";
	}
}
