 /**
 * HTClient sample application
 *
 * Simple javascript interface for some HTClient 2 features.
 *
 * @author Davide Lucchesi <davide@hattrickhq.org>
 * @version 2.0
 * @package HTClient
 * @license http://opensource.org/licenses/bsd-license.php (BSD)
 *
 */

var sls = false;

$(document).ready(function() {
	$.ajaxSetup({
		async: false
	});
	$("#login").click(function() {
		login();
		if (sls) {
			menu();
		}
		else alert("Wrong Hattrick loginname/readonlypassword");
	});
});

function lineup() {
	if (sls['Current']) {
		$("#content .box").hide("fast");
		var curr = sls['Current'];
		curr['TeamName'] = sls['Teams'][curr['TeamID']]['TeamName'];
		$("#content .box .boxHeader").html(curr['TeamName']+": lineup assistant");
		$("#content .box .boxContent").empty();
		var topmenu = $("<p align='left'></p>");

		var img = $("<a><img src='test/lineup_clear.png' alt='Clear lineup' border=0 hspace=5 vspace=0></a>");
		img.click(function() {
			lineupClear();
		});
		topmenu.append(img);
		$("#content .box .boxContent").append(topmenu);

		var img = $("<a><img src='test/lineup_mirror.png' alt='Flip sides' border=0 hspace=5 vspace=0></a>");
		img.click(function() {
			lineupFlip();
		});
		topmenu.append(img);


		var img = $("<a><img src='test/lineup_auto.png' alt='Fill lineup' border=0 hspace=5 vspace=0></a>");
		img.click(function() {
			lineupAuto();
		});
		topmenu.append(img);

		var img = $("<a><img src='test/lineup_ratings.png' alt='Lineup ratings' border=0 hspace=5 vspace=0></a>");
		img.click(function() {
			lineupRatings();
		});
		topmenu.append(img);
		topmenu.append("&nbsp;<br /><br /><br />");

		var lineup = $("<table background='test/field.png' border=0 cellspacing=0 cellpadding=2 width='100%'></table>");
		var table = $("<form name='lineup'></form>");
		for (var i = 1; i <= 11; i++) {
			var role = $("<select id='role"+i+"' name='role"+i+"'></select>");
			var beha = $("<select id='beha"+i+"' name='beha"+i+"'></select>");
			for (var j = 0; j <= 7; j++) {
				switch (j) {
					case 0:
						beha.append("<option value='"+j+"'>Normal</option>")
						break;
					case 1:
						if (i > 1)
							beha.append("<option value='"+j+"'>Offensive</option>")
						break;
					case 2:
						if ((i == 2) || (i >= 5))
							beha.append("<option value='"+j+"'>Defensive</option>")
						break;
					case 3:
						if ((i == 2) || (i == 5) || (i == 6) || (i == 9))
							beha.append("<option value='"+j+"'>Towards Middle</option>")
						break;
					case 4:
						if ((i == 3) || (i == 4) || (i == 7) || (i == 8) || (i >= 10))
							beha.append("<option value='"+j+"'>Towards Wing</option>")
						break;
					case 5:
						if ((i != 1) && (i != 10) && (i != 11))
							beha.append("<option value='"+j+"'>Extra forward</option>")
						break;
					case 6:
						if ((i != 1) && (i != 7) && (i != 8))
							beha.append("<option value='"+j+"'>Extra inner midfield</option>")
						break;
					case 7:
						if ((i != 1) && (i != 3) && (i != 4))
							beha.append("<option value='"+j+"'>Extra defender</option>")
						break;
				}
			}
			if (i == 1) {
				var line = $("<tr></tr>");
				var cell = $("<td colspan=4 align='center'></td>");
			}
			else if (i == 2) {
				var line = $("<tr></tr>");
				var cell = $("<td align='center></td>");
			}
			else if (i == 6) {
				var line = $("<tr></tr>");
				var cell = $("<td align='center'></td>");
			}
			else if (i == 10) {
				var line = $("<tr></tr>");
				var cell = $("<td colspan=2 align='center'></td>");
			}
			else if (i == 11) {
				var cell = $("<td colspan=2 align='center'></td>");
			}
			else {
				var cell = $("<td align='center'></td>");
			}
			cell.append(role);
			cell.append("<br />");
			cell.append(beha);
			line.append(cell);
			if (i == 1) {
				lineup.append(line);
			}
			else if (i == 5) {
				lineup.append(line);
				var line = $("<tr></tr>");
				var cell = $("<td style='color: #ffffff; font-weight: bold; font-size: 10px; text-align: center'>RatingRightDef</td>");
				line.append(cell);
				var cell = $("<td colspan=2 style='color: #ffffff; font-weight: bold; font-size: 10px; text-align: center'>RatingMidDef</td>");
				line.append(cell);
				var cell = $("<td style='color: #ffffff; font-weight: bold; font-size: 10px; text-align: center'>RatingLeftDef</td>");
				line.append(cell);
				lineup.append(line);
				var line = $("<tr></tr>");
				var cell = $("<td style='color: #ffffff' align='center'>&nbsp;</td>");
				var slid = $("<div id='RatingRightDef' class='ui-slider-1' style='width: 100px'></div>");
				slid.append("<div class='ui-slider-handle'></div>");
				slid.slider({
					slide: function(e, ui) {
						$("#RatingRightDefText").html(ui.value);
					},
					min: 1,
					max: 80
				});
				cell.append(slid);
				line.append(cell);
				var cell = $("<td style='color: #ffffff' colspan=2 align='center'>&nbsp;</td>");
				var slid = $("<div id='RatingMidDef' class='ui-slider-1' style='width: 100px'></div>");
				slid.append("<div class='ui-slider-handle'></div>");
				slid.slider({
					slide: function(e, ui) {
						$("#RatingMidDefText").html(ui.value);
					},
					min: 1,
					max: 80
				});
				cell.append(slid);
				line.append(cell);
				var cell = $("<td style='color: #ffffff' align='center'>&nbsp;</td>");
				var slid = $("<div id='RatingLeftDef' class='ui-slider-1' style='width: 100px'></div>");
				slid.append("<div class='ui-slider-handle'></div>");
				slid.slider({
					slide: function(e, ui) {
						$("#RatingLeftDefText").html(ui.value);
					},
					min: 1,
					max: 80
				});
				cell.append(slid);
				line.append(cell);
				lineup.append(line);
				var line = $("<tr></tr>");
				var cell = $("<td style='color: #ffffff; font-weight: bold; font-size: 10px; text-align: center' id='RatingRightDefText'>0</td>");
				line.append(cell);
				var cell = $("<td colspan=2 style='color: #ffffff; font-weight: bold; font-size: 10px; text-align: center' id='RatingMidDefText'>0</td>");
				line.append(cell);
				var cell = $("<td style='color: #ffffff; font-weight: bold; font-size: 10px; text-align: center' id='RatingLeftDefText'>0</td>");
				line.append(cell);
				lineup.append(line);
			}
			else if (i == 9) {
				lineup.append(line);
				var line = $("<tr></tr>");
				var cell = $("<td colspan=4 style='color: #ffffff; font-weight: bold; font-size: 10px; text-align: center'>RatingMidfield</td>");
				line.append(cell);
				lineup.append(line);
				var line = $("<tr></tr>");
				var cell = $("<td style='color: #ffffff' colspan=4 align='center'></td>");
				var slid = $("<div id='RatingMidfield' class='ui-slider-1' style='width: 100px'></div>");
				slid.append("<div class='ui-slider-handle'></div>");
				slid.slider({
					slide: function(e, ui) {
						$("#RatingMidfieldText").html(ui.value);
					},
					min: 1,
					max: 80
				});
				cell.append(slid);
				line.append(cell);
				lineup.append(line);
				var line = $("<tr></tr>");
				var cell = $("<td colspan=4 style='color: #ffffff; font-weight: bold; font-size: 10px; text-align: center' id='RatingMidfieldText'>0</td>");
				line.append(cell);
				lineup.append(line);
			}
			if (i == 11) {
				lineup.append(line);
				var line = $("<tr></tr>");
				var cell = $("<td style='color: #ffffff; font-weight: bold; font-size: 10px; text-align: center'>RatingRightAtt</td>");
				line.append(cell);
				var cell = $("<td colspan=2 style='color: #ffffff; font-weight: bold; font-size: 10px; text-align: center'>RatingMidAtt</td>");
				line.append(cell);
				var cell = $("<td style='color: #ffffff; font-weight: bold; font-size: 10px; text-align: center'>RatingLeftAtt</td>");
				line.append(cell);
				lineup.append(line);
				var line = $("<tr></tr>");
				var cell = $("<td style='color: #ffffff' align='center'>&nbsp;</td>");
				var slid = $("<div id='RatingRightAtt' class='ui-slider-1' style='width: 100px'></div>");
				slid.append("<div class='ui-slider-handle'></div>");
				slid.slider({
					slide: function(e, ui) {
						$("#RatingRightAttText").html(ui.value);
					},
					min: 1,
					max: 80
				});
				cell.append(slid);
				line.append(cell);
				var cell = $("<td style='color: #ffffff' colspan=2 align='center'>&nbsp;</td>");
				var slid = $("<div id='RatingMidAtt' class='ui-slider-1' style='width: 100px'></div>");
				slid.append("<div class='ui-slider-handle'></div>");
				slid.slider({
					slide: function(e, ui) {
						$("#RatingMidAttText").html(ui.value);
					},
					min: 1,
					max: 80
				});
				cell.append(slid);
				line.append(cell);
				var cell = $("<td style='color: #ffffff' align='center'>&nbsp;</td>");
				var slid = $("<div id='RatingLeftAtt' class='ui-slider-1' style='width: 100px'></div>");
				slid.append("<div class='ui-slider-handle'></div>");
				slid.slider({
					slide: function(e, ui) {
						$("#RatingLeftAttText").html(ui.value);
					},
					min: 1,
					max: 80
				});
				cell.append(slid);
				line.append(cell);
				lineup.append(line);
				var line = $("<tr></tr>");
				var cell = $("<td style='color: #ffffff; font-weight: bold; font-size: 10px; text-align: center' id='RatingRightAttText'>0</td>");
				line.append(cell);
				var cell = $("<td colspan=2 style='color: #ffffff; font-weight: bold; font-size: 10px; text-align: center' id='RatingMidAttText'>0</td>");
				line.append(cell);
				var cell = $("<td style='color: #ffffff; font-weight: bold; font-size: 10px; text-align: center' id='RatingLeftAttText'>0</td>");
				line.append(cell);
				lineup.append(line);
			}
		}
		table.append(lineup);
		var matches = $("<select id='matches' name='matches'></select>");
		matches.append("<option value='0'></option>");
		for (var idx in sls['Matches']) {
			if (((sls['Matches'][idx]['HomeTeam']['HomeTeamID'] == sls['Current']['TeamID']) || (sls['Matches'][idx]['AwayTeam']['AwayTeamID'] == sls['Current']['TeamID'])) && (sls['Matches'][idx]['FinishedDate'])) {
				matches.append("<option value='"+sls['Matches'][idx]['MatchID']+"'>"+sls['Matches'][idx]['HomeTeam']['HomeTeamName']+" - "+sls['Matches'][idx]['AwayTeam']['AwayTeamName']+"</option>");
			}
		}
		matches.change(function() {
			lineupCompose($(this).children("[@selected]").val());
		});
		table.append("Previous matches:<br />");
		table.append(matches);
		$("#content .box .boxContent").append(table);
		$("#beha1").hide();

		for (var i = 1; i <= 11; i++) {
			lineupUpdate(i);
			$("#role"+i).change(function() {
				var id = $(this).children("[@selected]").val();
				for (var j = 1; j <= 11; j++) {
					if ($("#role"+j).children("[@selected]").val() == id) {
						if ($(this).attr("name") != "role"+j) {
							$("#role"+j).val(0);
						}
					}
				}
			});
			$("#beha"+i).change(function() {
				var curr = $(this).attr("name");
				curr = curr.replace('beha', '');
				lineupUpdate(curr);
			});
		}
		$("#content .box").show("slow");
	}
	else {
		alert("You should load team information before composing lineup");
	}
}

function lineupAuto() {
	for (var i = 1; i <= 11; i++) {
		if ($("#role"+i).val() == 0) {
			var beha = $("#beha"+i).val();
			for (var idx in sls['Lineup'][i][beha]) {
				if (playerFree(sls['Lineup'][i][beha][idx]['PlayerID'])) {
					$("#role"+i).val(sls['Lineup'][i][beha][idx]['PlayerID']);
					break;
				}
			}
		}
	}
	lineupRatingsClear();
}

function lineupClear() {
	for (var i = 1; i <= 11; i++) {
		$("#role"+i).val(0);
	}
	lineupRatingsClear();
}

function lineupCompose(matchid) {
	if (sls['Matches'][matchid]['Teams'][sls['Current']['TeamID']]) {
		var lineup = sls['Matches'][matchid]['Teams'][sls['Current']['TeamID']]['Lineup'];
		for (var idx in lineup) {
			$("#role"+lineup[idx]['RoleID']).val(lineup[idx]['PlayerID']);
			$("#beha"+lineup[idx]['RoleID']).val(lineup[idx]['Behaviour']);
			lineupUpdate(lineup[idx]['RoleID']);
			if (sls['Matches'][matchid]['HomeTeam']['HomeTeamID'] == sls['Current']['TeamID'])
				sls['Ratings'] = sls['Matches'][matchid]['HomeTeam'];
			else sls['Ratings'] = sls['Matches'][matchid]['AwayTeam'];
			sls['Ratings']['MatchID'] = matchid;
			for (key in sls['Ratings']) {
				if (key.substring(/^Rating/)) {
					$("#"+key).slider("moveTo", sls['Ratings'][key]);
					$("#"+key+"Text").html(sls['Ratings'][key]);
				}
			}
		}
	}
}

function lineupFlip() {
	var beha;
	var id;
	var rate;

	beha = $("#beha2").val();
	id = $("#role2").val();
	$("#beha2").val($("#beha5").val());
	$("#beha5").val(beha);
	$("#role2").val($("#role5").val());
	$("#role5").val(id);
	lineupUpdate(2);
	lineupUpdate(5);
	beha = $("#beha3").val();
	id = $("#role3").val();
	$("#beha3").val($("#beha4").val());
	$("#beha4").val(beha);
	$("#role3").val($("#role4").val());
	$("#role4").val(id);
	lineupUpdate(3);
	lineupUpdate(4);
	beha = $("#beha6").val();
	id = $("#role9").val();
	$("#beha6").val($("#beha9").val());
	$("#beha9").val(beha);
	$("#role6").val($("#role9").val());
	$("#role9").val(id);
	lineupUpdate(6);
	lineupUpdate(9);
	beha = $("#beha7").val();
	id = $("#role7").val();
	$("#beha7").val($("#beha8").val());
	$("#beha8").val(beha);
	$("#role7").val($("#role8").val());
	$("#role8").val(id);
	lineupUpdate(7);
	lineupUpdate(8);
	beha = $("#beha10").val();
	id = $("#role10").val();
	$("#beha10").val($("#beha11").val());
	$("#beha11").val(beha);
	$("#role10").val($("#role11").val());
	$("#role11").val(id);
	lineupUpdate(10);
	lineupUpdate(11);

	rate = $("#RatingLeftDef").slider("value");
	$("#RatingLeftDef").slider("moveTo", $("#RatingRightDef").slider("value"));
	$("#RatingLeftDefText").html($("#RatingRightDef").slider("value"));
	$("#RatingRightDef").slider("moveTo", rate);
	$("#RatingRightDefText").html(rate);
	rate = $("#RatingLeftAtt").slider("value");
	$("#RatingLeftAtt").slider("moveTo", $("#RatingRightAtt").slider("value"));
	$("#RatingLeftAttText").html($("#RatingRightAtt").slider("value"));
	$("#RatingRightAtt").slider("moveTo", rate);
	$("#RatingRightAttText").html(rate);
}

function lineupRatings() {
	$("#old").html($("#prev").html());
	$("#prev").html($("#last").html());
	$("#last").html("Searching for ratings of a compatible lineup...");
	var params = new Array();
	params["ht_action"] = 'LineupRatings';
	for (var i = 1; i <= 11; i++) {
		params["beha"+i] = $("#beha"+i).val();
		for (var idx in sls['Lineup'][i][params["beha"+i]]) {
			if (sls['Lineup'][i][params["beha"+i]][idx]['PlayerID'] == $("#role"+i).val()) {
				params["star"+i] = sls['Lineup'][i][params["beha"+i]][idx]['RatingStars'];
			}
		}
	}
	$.post(
		"test.php", {
			"ht_action": "LineupRatings",
			"beha1": params["beha1"], "star1": params["star1"],
			"beha2": params["beha2"], "star2": params["star2"],
			"beha3": params["beha3"], "star3": params["star3"],
			"beha4": params["beha4"], "star4": params["star4"],
			"beha5": params["beha5"], "star5": params["star5"],
			"beha6": params["beha6"], "star6": params["star6"],
			"beha7": params["beha7"], "star7": params["star7"],
			"beha8": params["beha8"], "star8": params["star8"],
			"beha9": params["beha9"], "star9": params["star9"],
			"beha10": params["beha10"], "star10": params["star10"],
			"beha11": params["beha11"], "star11": params["star11"]
		},
		function(json) {
			sls['Ratings'] = json;
			for (key in sls['Ratings']) {
				if (key.substring(/^Rating/)) {
					$("#"+key).slider("moveTo", sls['Ratings'][key]);
					$("#"+key+"Text").html(sls['Ratings'][key]);
				}
			}
			$("#old").html($("#prev").html());
			$("#prev").html($("#last").html());
			$("#last").html("HTClient functions:<br />[HTRatings] htLineupRatings()");
		},
		"json"
	);
}

function lineupRatingsClear() {
	$("#RatingRightDef").slider("moveTo", 0);
	$("#RatingRightDefText").html(0);
	$("#RatingMidDef").slider("moveTo", 0);
	$("#RatingMidDefText").html(0);
	$("#RatingLeftDef").slider("moveTo", 0);
	$("#RatingLeftDefText").html(0);
	$("#RatingMidfield").slider("moveTo", 0);
	$("#RatingMidfieldText").html(0);
	$("#RatingRightAtt").slider("moveTo", 0);
	$("#RatingRightAttText").html(0);
	$("#RatingMidAtt").slider("moveTo", 0);
	$("#RatingMidAttText").html(0);
	$("#RatingLeftAtt").slider("moveTo", 0);
	$("#RatingLeftAttText").html(0);
}

function lineupUpdate(roleid) {
	var behaviour = $("#beha"+roleid).val();
	var list = $("#role"+roleid);
	var id = list.children("[@selected]").val();
	list.empty();
	list.append("<option value='0'> </option>");
	for (idx in sls['Lineup'][roleid][behaviour]) {
		var num = '';
		if (sls['Teams'][sls['Current']['TeamID']]['PlayerList'][sls['Lineup'][roleid][behaviour][idx]['PlayerID']]['PlayerNumber'])
			num = sls['Teams'][sls['Current']['TeamID']]['PlayerList'][sls['Lineup'][roleid][behaviour][idx]['PlayerID']]['PlayerNumber']+" ";
		list.append("<option value='"+sls['Lineup'][roleid][behaviour][idx]['PlayerID']+"'>"+num+sls['Teams'][sls['Current']['TeamID']]['PlayerList'][sls['Lineup'][roleid][behaviour][idx]['PlayerID']]['Events']['Names']['ShortFirst'].substring(0, 1)+'. '+sls['Teams'][sls['Current']['TeamID']]['PlayerList'][sls['Lineup'][roleid][behaviour][idx]['PlayerID']]['Events']['Names']['ShortLast']+" ("+sls['Lineup'][roleid][behaviour][idx]['RatingStars']+")"+"</option>");
	}
	list.val(id);
}

function login() {
	$.post(
		"test.php",
		{ "ht_action": "Login", "loginname": $("#user").val(), "readonlypassword": $("#pass").val() },
		function(json) {
			if (json.ht_valid) {
				sls = json;
			}
			else {
				sls = false;
			}
		},
		"json"
	);
}

function logout() {
	$.post(
		"test.php",
		{ "ht_action": "Logout" },
		function(json) {
			alert("Thanks for using HTClient!");
			$("#first_column").hide("slow");
			$("#content").hide("slow");
		},
		"json"
	);
}

function menu() {
	$("#first_column").hide("slow");
	$("#first_column").empty();
	var box = $("<div class='box'><div class='boxHeader'></div><div class='boxContent'></div></div>");
	$(".boxHeader", box).append("Menu");

	var list = $("<ul class='menubox'></ul>");

	var item = $("<li>Load team</li>");
	item.click(function() {
		$("#old").html($("#prev").html());
		$("#prev").html($("#last").html());
		$("#last").html("Page request: Main");
		team();
	});
	list.append(item);

	var item = $("<li>Lineup assistant</li>");
	item.click(function() {
		$("#old").html($("#prev").html());
		$("#prev").html($("#last").html());
		$("#last").html("Page request: Lineup assistant");
		lineup();
	});
	list.append(item);

	var item = $("<li>Player details</li>");
	item.click(function() {
		$("#old").html($("#prev").html());
		$("#prev").html($("#last").html());
		$("#last").html("Page request: Player details");
		players();
	});
	list.append(item);

	var item = $("<li>Cache dump</li>");
	item.click(function() {
		$("#old").html($("#prev").html());
		$("#prev").html($("#last").html());
		$("#last").html("Page request: Cache dump<br />Please wait: since the internal cache may containg a large amount of data, this can take a while.");
		$.dump(sls);
	});
	list.append(item);

	var item = $("<li>Logout</li>");
	item.click(function() {
		logout();
	});
	list.append(item);

	$(".boxContent", box).append(list);
	$("#first_column").append(box);
	var box = $("<div class='box'><div class='boxHeader'>Console</div><div class='boxContent'><p id='last' style='font-size: 10px'></p><p id='prev' style='font-size: 10px; opacity: .50'></p><p id='old' style='font-size: 10px; opacity: .25'></p></div></div>");
	$("#first_column").append(box);
	$("#last").html("Login successful");
	$("#prev").html("HTClient functions:<br />[CHPP] htLogin()");
	$("#old").html("Generating page layout...");
	$("#first_column").show("slow");
}

function players() {
	if (sls['Current']) {
		$("#content .box").hide("fast");
		var curr = sls['Current'];
		curr['TeamName'] = sls['Teams'][curr['TeamID']]['TeamName'];
		$("#content .box .boxHeader").html(curr['TeamName']+" players");
		$("#content .box .boxContent").empty();
		var tabs = $("<div id='tabs' class='flora'></div>");
		var tablist = $("<ul></ul>");
		tablist.append($("<li><a href='#tabstars'><span>Stars</span></a></li>"));
		tablist.append($("<li><a href='#tabskills'><span>Skills</span></a></li>"));
		tabs.append(tablist);

		var tabstars = $("<div id='tabstars'></div>");
		var table = $("<table id='stars' class='tablesorter' border='0' cellpadding='0' cellspacing='1'></table>");
		var thead = $("<thead></thead>");
		var trow= $("<tr></tr>");
		var arr = new Array();
		for (var role in sls['Lineup']) {
			arr[role] = new Array();
			for (var beha in sls['Lineup'][role]) {
				for (var player in sls['Lineup'][role][beha]) {
					arr[role][beha] = new Array();
					arr[role][beha]['RatingStars'] = sls['Lineup'][role][beha][player]['RatingStars'];
					break;
				}
			}
		}
		trow.append("<th>Player</th>");
//		trow.append("<th align='center'>Age</th>");
//		trow.append("<th align='center'><img src='test/f_gk.png' border=0 /></th>");
		if (arr['1']['0']['RatingStars'] > 0) trow.append("<th width=30><img src='test/f_gk.png' border=0 /></th>");
		if (arr['3']['0']['RatingStars'] > 0) trow.append("<th width=30><img src='test/f_cdn.png' border=0 /></th>");
		if (arr['3']['1']['RatingStars'] > 0) trow.append("<th width=30><img src='test/f_cdo.png' border=0 /></th>");
		if (arr['3']['4']['RatingStars'] > 0) trow.append("<th width=30><img src='test/f_cde.png' border=0 /></th>");
		if (arr['2']['0']['RatingStars'] > 0) trow.append("<th width=30><img src='test/f_wbn.png' border=0 /></th>");
		if (arr['2']['2']['RatingStars'] > 0) trow.append("<th width=30><img src='test/f_wbd.png' border=0 /></th>");
		if (arr['2']['3']['RatingStars'] > 0) trow.append("<th width=30><img src='test/f_wbc.png' border=0 /></th>");
		if (arr['2']['1']['RatingStars'] > 0) trow.append("<th width=30><img src='test/f_wbo.png' border=0 /></th>");
		if (arr['7']['0']['RatingStars'] > 0) trow.append("<th width=30><img src='test/f_mfn.png' border=0 /></th>");
		if (arr['7']['2']['RatingStars'] > 0) trow.append("<th width=30><img src='test/f_mfd.png' border=0 /></th>");
		if (arr['7']['4']['RatingStars'] > 0) trow.append("<th width=30><img src='test/f_mfe.png' border=0 /></th>");
		if (arr['7']['1']['RatingStars'] > 0) trow.append("<th width=30><img src='test/f_mfo.png' border=0 /></th>");
		if (arr['6']['0']['RatingStars'] > 0) trow.append("<th width=30><img src='test/f_wmn.png' border=0 /></th>");
		if (arr['6']['2']['RatingStars'] > 0) trow.append("<th width=30><img src='test/f_wmd.png' border=0 /></th>");
		if (arr['6']['3']['RatingStars'] > 0) trow.append("<th width=30><img src='test/f_wmc.png' border=0 /></th>");
		if (arr['6']['1']['RatingStars'] > 0) trow.append("<th width=30><img src='test/f_wmo.png' border=0 /></th>");
		if (arr['10']['0']['RatingStars'] > 0) trow.append("<th width=30><img src='test/f_an.png' border=0 /></th>");
		if (arr['10']['2']['RatingStars'] > 0) trow.append("<th width=30><img src='test/f_ad.png' border=0 /></th>");
		if (arr['10']['4']['RatingStars'] > 0) trow.append("<th width=30><img src='test/f_ae.png' border=0 /></th>");
//		trow.append("<th align='right'>TSI</th>");
		thead.append(trow);
		var tbody = $("<tbody></tbody>");
		for (var idx in sls['Teams'][curr['TeamID']]['PlayerList']) {
			var trow = $("<tr></tr>");
			var num = '';
			if (sls['Teams'][curr['TeamID']]['PlayerList'][idx]['PlayerNumber'])
				num = sls['Teams'][curr['TeamID']]['PlayerList'][idx]['PlayerNumber']+" ";
			trow.append("<td>"+num+sls['Teams'][curr['TeamID']]['PlayerList'][idx]['Events']['Names']['ShortFirst'].substring(0, 1)+". "+sls['Teams'][curr['TeamID']]['PlayerList'][idx]['Events']['Names']['Last']+"</td>");
//			trow.append("<td align='center'>"+sls['Teams'][curr['TeamID']]['PlayerList'][idx]['Age']+" + "+sls['Teams'][curr['TeamID']]['PlayerList'][idx]['AgeDays']+"</td>");
			if (arr['1']['0']['RatingStars'] > 0) trow.append("<td align='right'>"+sls['Teams'][curr['TeamID']]['PlayerList'][idx]['Ratings']['1']['0']['RatingStars']+"</td>");
			if (arr['3']['0']['RatingStars'] > 0) trow.append("<td align='right'>"+sls['Teams'][curr['TeamID']]['PlayerList'][idx]['Ratings']['3']['0']['RatingStars']+"</td>");
			if (arr['3']['1']['RatingStars'] > 0) trow.append("<td align='right'>"+sls['Teams'][curr['TeamID']]['PlayerList'][idx]['Ratings']['3']['1']['RatingStars']+"</td>");
			if (arr['3']['4']['RatingStars'] > 0) trow.append("<td align='right'>"+sls['Teams'][curr['TeamID']]['PlayerList'][idx]['Ratings']['3']['4']['RatingStars']+"</td>");
			if (arr['2']['0']['RatingStars'] > 0) trow.append("<td align='right'>"+sls['Teams'][curr['TeamID']]['PlayerList'][idx]['Ratings']['2']['0']['RatingStars']+"</td>");
			if (arr['2']['2']['RatingStars'] > 0) trow.append("<td align='right'>"+sls['Teams'][curr['TeamID']]['PlayerList'][idx]['Ratings']['2']['2']['RatingStars']+"</td>");
			if (arr['2']['3']['RatingStars'] > 0) trow.append("<td align='right'>"+sls['Teams'][curr['TeamID']]['PlayerList'][idx]['Ratings']['2']['3']['RatingStars']+"</td>");
			if (arr['2']['1']['RatingStars'] > 0) trow.append("<td align='right'>"+sls['Teams'][curr['TeamID']]['PlayerList'][idx]['Ratings']['2']['1']['RatingStars']+"</td>");
			if (arr['7']['0']['RatingStars'] > 0) trow.append("<td align='right'>"+sls['Teams'][curr['TeamID']]['PlayerList'][idx]['Ratings']['7']['0']['RatingStars']+"</td>");
			if (arr['7']['2']['RatingStars'] > 0) trow.append("<td align='right'>"+sls['Teams'][curr['TeamID']]['PlayerList'][idx]['Ratings']['7']['2']['RatingStars']+"</td>");
			if (arr['7']['4']['RatingStars'] > 0) trow.append("<td align='right'>"+sls['Teams'][curr['TeamID']]['PlayerList'][idx]['Ratings']['7']['4']['RatingStars']+"</td>");
			if (arr['7']['1']['RatingStars'] > 0) trow.append("<td align='right'>"+sls['Teams'][curr['TeamID']]['PlayerList'][idx]['Ratings']['7']['1']['RatingStars']+"</td>");
			if (arr['6']['0']['RatingStars'] > 0) trow.append("<td align='right'>"+sls['Teams'][curr['TeamID']]['PlayerList'][idx]['Ratings']['6']['0']['RatingStars']+"</td>");
			if (arr['6']['2']['RatingStars'] > 0) trow.append("<td align='right'>"+sls['Teams'][curr['TeamID']]['PlayerList'][idx]['Ratings']['6']['2']['RatingStars']+"</td>");
			if (arr['6']['3']['RatingStars'] > 0) trow.append("<td align='right'>"+sls['Teams'][curr['TeamID']]['PlayerList'][idx]['Ratings']['6']['3']['RatingStars']+"</td>");
			if (arr['6']['1']['RatingStars'] > 0) trow.append("<td align='right'>"+sls['Teams'][curr['TeamID']]['PlayerList'][idx]['Ratings']['6']['1']['RatingStars']+"</td>");
			if (arr['10']['0']['RatingStars'] > 0) trow.append("<td align='right'>"+sls['Teams'][curr['TeamID']]['PlayerList'][idx]['Ratings']['10']['0']['RatingStars']+"</td>");
			if (arr['10']['2']['RatingStars'] > 0) trow.append("<td align='right'>"+sls['Teams'][curr['TeamID']]['PlayerList'][idx]['Ratings']['10']['2']['RatingStars']+"</td>");
			if (arr['10']['4']['RatingStars'] > 0) trow.append("<td align='right'>"+sls['Teams'][curr['TeamID']]['PlayerList'][idx]['Ratings']['10']['4']['RatingStars']+"</td>");
//			trow.append("<td align='right'>"+sls['Teams'][curr['TeamID']]['PlayerList'][idx]['TSI']+"</td>");
			tbody.append(trow);
		}
		table.append(thead);
		table.append(tbody);
		tabstars.append(table);
		tabs.append(tabstars);

		var tabskills = $("<div id='tabskills'></div>");
		var table = $("<table id='skills' class='tablesorter' border='0' cellpadding='0' cellspacing='1'></table>");
		var thead = $("<thead></thead>");
		var trow= $("<tr></tr>");
		trow.append("<th>Player</th>");
//		trow.append("<th align='center'>Age</th>");
//		trow.append("<th align='center'>form</th>");
//		trow.append("<th align='center'>exp</th>");
//		trow.append("<th align='center'>lead</th>");
//		trow.append("<th align='center'>gentl</th>");
//		trow.append("<th align='center'>agrre</th>");
//		trow.append("<th align='center'>hones</th>");
		trow.append("<th align='center'>Stamina</th>");
		trow.append("<th align='center'>Keeper</th>");
		trow.append("<th align='center'>Playmaker</th>");
		trow.append("<th align='center'>Scorer</th>");
		trow.append("<th align='center'>Passing</th>");
		trow.append("<th align='center'>Winger</th>");
		trow.append("<th align='center'>Defender</th>");
		trow.append("<th align='center'>SetPieces</th>");
//		trow.append("<th align='right'>TSI</th>");
		thead.append(trow);
		var tbody = $("<tbody></tbody>");
		for (var idx in sls['Teams'][curr['TeamID']]['PlayerList']) {
			var trow = $("<tr></tr>");
			var num = '';
			if (sls['Teams'][curr['TeamID']]['PlayerList'][idx]['PlayerNumber'])
				num = sls['Teams'][curr['TeamID']]['PlayerList'][idx]['PlayerNumber']+" ";
			trow.append("<td>"+num+sls['Teams'][curr['TeamID']]['PlayerList'][idx]['Events']['Names']['ShortFirst'].substring(0, 1)+". "+sls['Teams'][curr['TeamID']]['PlayerList'][idx]['Events']['Names']['Last']+"</td>");
//			trow.append("<td align='center'>"+sls['Teams'][curr['TeamID']]['PlayerList'][idx]['Age']+" + "+sls['Teams'][curr['TeamID']]['PlayerList'][idx]['AgeDays']+"</td>");
//			trow.append("<td align='center'>"+sls['Teams'][curr['TeamID']]['PlayerList'][idx]['PlayerFormTranslate']+"</td>");
//			trow.append("<td align='center'>"+sls['Teams'][curr['TeamID']]['PlayerList'][idx]['ExperienceTranslate']+"</td>");
//			trow.append("<td align='center'>"+sls['Teams'][curr['TeamID']]['PlayerList'][idx]['LeadershipTranslate']+"</td>");
//			trow.append("<td align='center'>"+sls['Teams'][curr['TeamID']]['PlayerList'][idx]['AgreeabilityTranslate']+"</td>");
//			trow.append("<td align='center'>"+sls['Teams'][curr['TeamID']]['PlayerList'][idx]['AggressivenessTranslate']+"</td>");
//			trow.append("<td align='center'>"+sls['Teams'][curr['TeamID']]['PlayerList'][idx]['HonestyTranslate']+"</td>");
			trow.append("<td align='center'>"+sls['Teams'][curr['TeamID']]['PlayerList'][idx]['StaminaSkillTranslate']+"</td>");
			trow.append("<td align='center'>"+sls['Teams'][curr['TeamID']]['PlayerList'][idx]['KeeperSkillTranslate']+"</td>");
			trow.append("<td align='center'>"+sls['Teams'][curr['TeamID']]['PlayerList'][idx]['PlaymakerSkillTranslate']+"</td>");
			trow.append("<td align='center'>"+sls['Teams'][curr['TeamID']]['PlayerList'][idx]['ScorerSkillTranslate']+"</td>");
			trow.append("<td align='center'>"+sls['Teams'][curr['TeamID']]['PlayerList'][idx]['PassingSkillTranslate']+"</td>");
			trow.append("<td align='center'>"+sls['Teams'][curr['TeamID']]['PlayerList'][idx]['WingerSkillTranslate']+"</td>");
			trow.append("<td align='center'>"+sls['Teams'][curr['TeamID']]['PlayerList'][idx]['DefenderSkillTranslate']+"</td>");
			trow.append("<td align='center'>"+sls['Teams'][curr['TeamID']]['PlayerList'][idx]['SetPiecesSkillTranslate']+"</td>");
//			trow.append("<td align='right'>"+sls['Teams'][curr['TeamID']]['PlayerList'][idx]['TSI']+"</td>");
			tbody.append(trow);
		}
		table.append(thead);
		table.append(tbody);
		tabskills.append(table);
		tabs.append(tabskills);
		$("#content .box .boxContent").append(tabs);
		$.tablesorter.addParser({
			id: 'skill',
			is: function(s) {return false;},
			format: function(s) {return s.replace(/ .*/,'');},
			type: 'numeric'
		});
		$("#stars").tablesorter({
			headers: {
				0: {sorter: 'skill' }
			},
			widgets: ['zebra']
		});
		$("#skills").tablesorter({
			headers: {
				0: {sorter: 'skill' },
				1: {sorter: 'skill' },
				2: {sorter: 'skill' },
				3: {sorter: 'skill' },
				4: {sorter: 'skill' },
				5: {sorter: 'skill' },
				6: {sorter: 'skill' },
				7: {sorter: 'skill' },
				8: {sorter: 'skill' }
			},
			widgets: ['zebra']
		});
		$("#tabs > ul").tabs();
		$("#content .box").show("slow");
	}
	else {
		alert("You should load team information before evaluating players");
	}
}

function playerFree(id) {
	for (var i = 1; i <= 11; i++) {
		if ($("#role"+i).val() == id) {
			return false;
		}
	}
	return true;
}

function team() {
	$("#old").html($("#prev").html());
	$("#prev").html($("#last").html());
	$("#last").html("Please wait while downloading team details...");
	$.getJSON(
		"test.php?ht_action=Team",
		function(json) {
			sls = json;
			$("#content .box").hide("fast");
			var curr = sls['Current'];
			curr['TeamName'] = sls['Teams'][curr['TeamID']]['TeamName'];
			curr['HomePage'] = sls['Teams'][curr['TeamID']]['HomePage'];
			curr['LeagueLevelUnitID'] = sls['Teams'][curr['TeamID']]['LeagueLevelUnit']['LeagueLevelUnitID'];
			curr['LeagueLevelUnitName'] = sls['Teams'][curr['TeamID']]['LeagueLevelUnit']['LeagueLevelUnitName'];
			curr['LeagueName'] = sls['Teams'][curr['TeamID']]['League']['LeagueName'];
			curr['LogoURL'] = sls['Teams'][curr['TeamID']]['LogoURL'];
			curr['NumberOfUndefeated'] = sls['Teams'][curr['TeamID']]['NumberOfUndefeated'];
			curr['NumberOfVictories'] = sls['Teams'][curr['TeamID']]['NumberOfVictories'];
			curr['RegionName'] = sls['Teams'][curr['TeamID']]['Region']['RegionName'];
			curr['Loginname'] = sls['Teams'][curr['TeamID']]['User']['Loginname'];
			$("#content .box .boxHeader").html(curr['TeamID']+" "+curr['TeamName']);
			$("#content .box .boxContent").empty();
			if (curr['LogoURL']) {
				var imglogo = $("<img src='"+curr['LogoURL']+"' />");
				$("#content .box .boxContent").append(imglogo);
			}
			$("#content .box .boxContent").append(template($("#Team").html(), curr));
			var box = $("<div class='sbox1'><div class='boxHeader'></div><div class='boxContent'></div></div>");
			$(".boxHeader", box).append("League: "+curr['LeagueLevelUnitName']);
			var list = $("<table><tr><th></th><th>Team</th><th align='right'>gf</th><th align='right'>ga</th><th align='right'>dif</th><th align='right'>pts</th></tr></table>");
			var count = 0;
			for (var idx in sls['LeagueLevelUnits'][curr['LeagueLevelUnitID']]['Team']) {
				count++;
				var elem = sls['LeagueLevelUnits'][curr['LeagueLevelUnitID']]['Team'][idx];
				elem['GoalsDif'] = elem['GoalsFor']-elem['GoalsAgainst'];
				list.append("<tr><td align='right'>"+count+
					"<td align='left'>"+elem['TeamName']+
					"</td><td align='right'>"+elem['GoalsFor']+
					"</td><td align='right'>"+elem['GoalsAgainst']+
					"</td><td align='right'>"+elem['GoalsDif']+
					"</td><td align='right'>"+elem['Points']+"</td></tr>"
				);
			}
			$(".boxContent", box).append(list);
			$("#content .box .boxContent").append(box);

			var box = $("<div class='sbox2'><div class='boxHeader'></div><div class='boxContent'></div></div>");
			$(".boxHeader", box).append("Matches");
			var list = $("<table><tr><th>H/A</th><th>Team</th><th align='right'>res</th></tr></table>");
			for (var idx in curr['Matches']) {
				var elem = curr['Matches'][idx];
				var style;
				if (curr['Matches'][idx]['HomeTeam']['HomeTeamID'] == curr['TeamID']) {
					if (elem['HomeGoals'] > elem['AwayGoals'])
						style = "style='color: #40d040'";
					else if (elem['HomeGoals'] < elem['AwayGoals'])
						style = "style='color: #d04040'";
					else style = "style='color: #d0d040'";
;					elem['HA'] = 'H';
					elem['OtherTeam'] = curr['Matches'][idx]['AwayTeam']['AwayTeamName'];
					elem['Result'] = "<b>"+elem['HomeGoals']+"</b> - "+elem['AwayGoals'];
				}
				else {
					if (elem['HomeGoals'] < elem['AwayGoals'])
						style = "style='color: #40d040'";
					else if (elem['HomeGoals'] > elem['AwayGoals'])
						style = "style='color: #d04040'";
					else style = "style='color: #d0d040'";
					elem['HA'] = 'A';
					elem['OtherTeam'] = curr['Matches'][idx]['HomeTeam']['HomeTeamName'];
					elem['Result'] = elem['HomeGoals']+" - <b>"+elem['AwayGoals']+"</b> ";
				}
				if (! elem['HomeGoals'])  {
					style = "style='color: #606060'";

					elem['Result'] = "&nbsp;";
				}
				var line = $("<tr></tr>");
				line.append("<td "+style+">"+elem['HA']+"</td>");
				line.append("<td>"+elem['OtherTeam']+"</td>");
				line.append("<td aling='right'>"+elem['Result']+"</td>");
				list.append(line);
			}
			$(".boxContent", box).append(list);
			$("#content .box .boxContent").append(box);
			$("#content .box").show("slow");
		}
	);
	$("#old").html($("#prev").html());
	$("#prev").html($("#last").html());
	$("#last").html("HTClient functions:<br />[HTClient] htCurrent()<br />[HTClient] htMatches()<br />[HTClient] htLeagueLevelUnit()<br />[HTTranslate] htTranslatePlayers()<br />[HTRatings] htPlayerRatings()<br />[HTRatings] htFillupPlayerRatings()<br />[HTRatings] htTeamRatings()");
}

function template(html, vars) {
	for (var key in vars) {
		if (typeof(vars[key]) == 'string') {
			// it's a value!
			html = html.replace("{"+key+"}", vars[key]);
		}
		else {
			// is a container, let's do it again...
			html = template(html, vars[key]);
		}
	}
	return html;
}
