var hover_suffix = 'png';

if ($.browser.msie && $.browser.version.substr(0,1)<7) {
  hover_suffix = 'gif';
}

$.preLoadImages("/resources/images/ultimateplayer/castrol-football-up-bg.jpg", "/resources/images/ultimateplayer/ultimate-player-arms-hover." + hover_suffix, "/resources/images/ultimateplayer/ultimate-player-hands-hover." + hover_suffix, "/resources/images/ultimateplayer/ultimate-player-height-hover." + hover_suffix, "/resources/images/ultimateplayer/ultimate-player-leadership-hover." + hover_suffix, "/resources/images/ultimateplayer/ultimate-player-commitment-hover." + hover_suffix, "/resources/images/ultimateplayer/ultimate-player-eyes-hover." + hover_suffix, "/resources/images/ultimateplayer/ultimate-player-left-foot-hover." + hover_suffix, "/resources/images/ultimateplayer/ultimate-player-legs-hover." + hover_suffix, "/resources/images/ultimateplayer/ultimate-player-stamina-hover." + hover_suffix, "/resources/images/ultimateplayer/ultimate-player-right-foot-hover." + hover_suffix, "/resources/images/ultimateplayer/images/0000000000.png");

jQuery(document).ready(function(){
	var start_bin = $('#ultimate-player-pic').attr('src').substr(40,10);

	var ultimate_player_parts = {
		"ultimate-player-leadership": start_bin.substr(0,1),	
		"ultimate-player-commitment": start_bin.substr(1,1),
		"ultimate-player-stamina": start_bin.substr(2,1),
		"ultimate-player-eyes": start_bin.substr(3,1),
		"ultimate-player-height": start_bin.substr(4,1),
		"ultimate-player-hands": start_bin.substr(5,1),
		"ultimate-player-arms": start_bin.substr(6,1),
		"ultimate-player-legs": start_bin.substr(7,1),
		"ultimate-player-left-foot": start_bin.substr(8,1),
		"ultimate-player-right-foot": start_bin.substr(9,1)
	};

	var freeze_hover_states = false;
	
	function update_ultimate_player(){
		var bg_filename = "";
		
		for(var ultimate_player_part in ultimate_player_parts){
		    bg_filename += ultimate_player_parts[ultimate_player_part];
		}
			
		bg_filename +=".png";
		$('#ultimate-player-bg').css("background","url(/resources/images/ultimateplayer/images/" + bg_filename + ") no-repeat bottom left");
	}
	
	function preload_ultimate_player(ultimate_player){
		var bg_preload_parts = {}; 
		
		$.each(ultimate_player_parts, function(i, val){
			bg_preload_parts[i] = val;
		});
		
		bg_preload_parts[ultimate_player] = "1";
	
		var bg_preload = "/resources/images/ultimateplayer/images/";
		
		for(var bg_preload_part in bg_preload_parts){
		    bg_preload += bg_preload_parts[bg_preload_part];
		}
		
		bg_preload +=".png";
		$.preLoadImages(bg_preload);
	}
		
	$('#ultimate-player-pic').css("opacity","0");
		
	update_ultimate_player();

	$('#ultimate-player-map map area').mouseover(function(){
		if(freeze_hover_states == false){
			var ultimate_player = $(this).attr("class").split(' ').slice(0,1).toString();
			$('#ultimate-player-hover-bg').css("background","url(/resources/images/ultimateplayer/" + ultimate_player +"-hover." + hover_suffix + ") no-repeat bottom left");
		}
	});	
	
	$('#ultimate-player-map map area').mouseout(function(){
	    	if(freeze_hover_states == false){
			var ultimate_player = $(this).attr("class").split(' ').slice(0,1).toString();
			$('#ultimate-player-hover-bg').removeAttr("style");
		}
		
	});	
	
	$('#ultimate-player-map map area').click(function(){
		freeze_hover_states = true; 
		$('#update-ultimate-player > div').hide();
		var ultimate_player = $(this).attr("class").split(' ').slice(0,1).toString();
		$('#ultimate-player-hover-bg').css("background","url(/resources/images/ultimateplayer/" + ultimate_player +"-hover." + hover_suffix + ") no-repeat bottom left");
		$('#update-ultimate-player .' + ultimate_player).show();
		preload_ultimate_player(ultimate_player);
		return false;	
	});

	$('#update-ultimate-player a.close').click(function(){
		$(this).parent().parent().parent().hide();
		freeze_hover_states = false;
		$('#ultimate-player-hover-bg').removeAttr("style");
		return false;
	});

	$('#update-ultimate-player form').submit(function(){
		var ultimate_player = $(this).parent().attr("class");
		$.post("/upp/validate_players.php", $('#update-ultimate-player .' + ultimate_player + ' form').serialize(),function(errors){
			var body_part = ultimate_player.substr(16);
			if(errors[body_part]){
				$('#update-ultimate-player .' + ultimate_player + ' p.error').remove();	
				$('#update-ultimate-player .' + ultimate_player +' form label').after('<p class="error">' + errors[body_part] + '</p>');	
			} else {
				$('.about-you form input.' + ultimate_player).val($('#update-ultimate-player .' + ultimate_player +' .field input').val());
				$('#your-ultimate-player span.' + ultimate_player).html($('#update-ultimate-player .' + ultimate_player +' .field input').val());
				$('#update-ultimate-player .' + ultimate_player + ' p.error').remove();
				$('ul.errors .' + ultimate_player).remove();
				$('#update-ultimate-player .' + ultimate_player).hide();
				freeze_hover_states = false;
				$('#ultimate-player-hover-bg').removeAttr("style");
				ultimate_player_parts[ultimate_player] = "1";
				update_ultimate_player();
			}
		}, "json");
		return false;
	});
	
	$('#update-ultimate-player .field input').autocomplete('/upp/player_names.php');
	
	$('#submit-vote form').submit(function(){
	        $.post("/upp/validate_players.php", $('.about-you form').serialize(),function(errors){
			$('ul.errors').remove();
			
			var num_errors = 0;
			for(var error in errors){
				num_errors++
			}

			if(num_errors > 0){
				if ($.browser.msie && $.browser.version.substr(0,1)<7) {
					$('#ultimate-player').hide().show();
				}
				
				var error_list = '<ul class="errors">';
				
				$.each(errors, function(i, val){
					error_list += '<li class="ultimate-player-' + i + '">' + val + '</li>';
				});
				
				error_list += '</ul>';
				$('#your-ultimate-player').before(error_list);
			} else {
				$('#modalbox').show();
			}
		}, "json");
		
		return false;
	});

	$('.about-you form').submit(function(){
		$.post("/upp/vote.php?action=submit_ultimate_player&ajax=1", $('.about-you form').serialize(),function(errors){
			$('.about-you form p.error').remove();	
			
			var num_errors = 0;
			for(var error in errors){
				num_errors++
			}
			
			if(num_errors > 0){
				if(errors['email']){
					$('.about-you form label:eq(0)').before('<p class="error">' + errors['email'] + '</p>');
				}
				if(errors['country']){
					$('.about-you form label:eq(1)').before('<p class="error">' + errors['country'] + '</p>');
				}
			} else {
				$('#modalbox .about-you').hide();
				$('#modalbox .thank-you').show();
			}

		}, "json");
			
		return false;
	});
});

