$(document).ready(function() {
	$('#weekly-rankings-game #add-player').each(function() {
		$(this).autocomplete().focus(function() {$(this).val('');});
	});

	$('#weekly-rankings-game .add-player button').click(function() {
		var game_footer = $(this).parent().parent().parent();
		var game_container = game_footer.parent();
		var player_data = parseXML(unescape(game_container.find('#add-player').next().val()));
		var player_id = $(player_data).find('item id').text();
		var first_name = $(player_data).find('item first_name').text();
		var last_name = $(player_data).find('item last_name').text();
		var injury_status = $(player_data).find('item injury_status').text();
		var injury_report = $(player_data).find('item injury_report').text();
		var injury_short = (injury_status) ? '(' + injury_status.substring(0, 1).toUpperCase() + ')' : '';
		var player_team = $(player_data).find('item team').text();
		var against_team = $(player_data).find('item against_team').text();
		var home_away = $(player_data).find('item home_away').text();
		var forecast = $(player_data).find('item forecast').text();
		var weather = $(player_data).find('item weather').text();
		var display_name = first_name + ' ' + last_name;

		if (display_name.length > 24) {
			display_name = first_name.substring(0, 1) + '. ' + last_name;
			
			if (display_name.length > 24) {
				display_name = display_name.substring(0, 24) + '...';
			}
		}

		if (player_id != '') {
			if (game_container.find('.player-list li[id=player_' + player_id + ']').length > 0) {
				var player = game_container.find('.player-list li[id=player_' + player_id + ']');

				game_container.find('.tabs-panel').scrollTo(player);

				FlashLand(player);
			} else {
				var player = $('<li id="player_' + player_id + '" class="top-threshold">&nbsp;</li>');
				var position = game_container.find('ul.tabs-nav li.state-active a').text();
				var container = $('<span class="player"></span>');

				container.append('<span class="player-name" title="' + first_name + ' ' + last_name + '">' + display_name + ' </span>');
				container.append('<span class="injury-status" title="' + injury_status + ': ' + injury_report.replace(/"/, '&quot;') + '">' + injury_short + '</span>');

				if (!game_container.hasClass('preseason')) {
					container.append('<span class="team-meta"> <span class="versus">' + ((home_away == 'home') ? 'vs' : '@') + '</span> ' + against_team + '</span>');
					player.append(container);
					player.append('<span class="weather-meta"><span class="weather ' + forecast.toLowerCase() + '" title="' + weather.replace(/"/, '&quot;') + '">' + forecast.toLowerCase() + '</span></span>');
				} else {
					container.append('<span class="team-meta"> ' + player_team + '</span>');
					player.append(container);
				}

				player.append('<span class="controls"><a class="down" href="#MoveDown">down</a><a class="up" href="#MoveUp">up</a></span>');

				if (game_container.find('ul.player-list li.top-threshold').length > 0) {
					game_container.find('ul.player-list li.top-threshold:last').after(player);
				} else {
					game_container.find('ul.player-list').append(player);
				}

				game_container.find('.tabs-panel').scrollTo(player);

				FlashLand(player);

				game_container.find('ul.player-list').find('a.up').click(function() {
					return MoveUp($(this));
				});

				game_container.find('ul.player-list').find('a.down').click(function() {
					return MoveDown($(this));
				});
			}

			$('#add-player').next().val('');
			$('#add-player').val('');
		}

		return false;
	});

	$('#weekly-rankings-game a.button.submit').click(function() {
		var list = '';
		var game_footer = $(this).parent();
		var game_container = game_footer.parent();
		var game_form = game_container.prev();

		game_form.find('input.sort').each(function() {
			if ($(this).val() == '') {
				list += ' ' + $(this).attr('name').replace(/data\[Rankings\]\[/, '').replace(/\]/, '');
			}
		});

		if (list.length > 0) {
			if (!confirm('You have not re-ordered the following lists:' + list + '\nAre you sure you wish to submit your picks?')) {
				return false;
			}
		}

		game_form.submit();

		return false;
	});
});