(function($) {
  var cache = [];
  $.preLoadImages = function() {
    var args_len = arguments.length;
    for (var i = args_len; i--;) {
      var cacheImage = document.createElement('img');
      cacheImage.src = arguments[i];
      cache.push(cacheImage);
    }
  }
})(jQuery);

$(document).ready(function(){
	
	// Newsletter input
	
	$("input#newsletter_email").focus(function(){
		if( $(this).hasClass("empty") ){
			$(this).removeClass("empty").val("");
		}
	}).blur(function(){
		if( $(this).val() == "" ){
			$(this).addClass("empty").val( $(this).attr("title") );
		}
	}).blur();
	
	// Newsletter signup
	
	$("a.nl_back").live("click",function(){
		$("div#newsletter_box > p").html("").hide();
		$("div#newsletter_box > form").show();
	});
	
	$("div#newsletter_box > form").submit(function(){
		
		$("div#newsletter_box > form").hide();
		
		$("div#newsletter_box > p").html("Submitting...").show();
		
		$.ajax({
			type: "POST",
			url: "newsletter/",
			data: {
				email: $("div#newsletter_box > form input#newsletter_email").val()
			},
			success: function( data, textStatus, XMLHttpRequest ){
				if( data == "1" ){
					$("div#newsletter_box > p").html('Thanks for subscribing!').show();
				}else{
					$("div#newsletter_box > p").html('Email address invalid. Please <a href="javascript:;" class="nl_back">go back</a> and try again.').show();
				}
			},
			error: function(){
				$("div#newsletter_box > p").html('An error has occured. Please <a href="javascript:;" class="nl_back">go back</a> and try again.').show();
			}
		});
		
	});
	
	// Submenus
	
	var menu_selected = $("ul#menu > li a.selected");
	
	$("ul#menu > li").hover(function(){
		$(this).children("div").show();
		$(this).children("a").addClass("selected");
	},function(){
		$(this).children("div").hide();
		$(this).children("a").removeClass("selected");
		menu_selected.addClass("selected");
	});
	
	// Coin enlargements and pre-loading
	
	if( $("div#coin").length == 1 ){
		
		jQuery.preLoadImages(
			$("div#image_menu a.enlarge").eq(0).attr("href"),
			$("div#image_menu a.enlarge").eq(1).attr("href"),
			$("div#coin a.enlarge").eq(0).attr("href"),
			$("div#coin a.enlarge").eq(1).attr("href")
		);
		
		$("a.enlarge").click(function(){
			$("div#image_menu a.selected").removeClass("selected");
			
			if( $(this).hasClass("reverse") ){
				$("div#image_menu a.reverse").addClass("selected");
			}else{
				$("div#image_menu a.obverse").addClass("selected");
			}
			
			$("div#enlargement div.image").html('<img src="'+$(this).attr("href")+'" alt="" />');
			
			$("div#enlargement").show();
			return false;
		});
		
		$("div#image_menu a").hover(function(){
			$("div#image_menu a.selected").removeClass("selected");
			
			if( $(this).hasClass("reverse") ){
				$("div#image_menu a.reverse").addClass("selected");
			}else{
				$("div#image_menu a.obverse").addClass("selected");
			}
			
			$("div#enlargement div.image").html('<img src="'+$(this).attr("href")+'" alt="" />');
			
			$("div#enlargement").show();
			return false;
		});
		
		$("a.unlarge").click(function(){
			$("div#enlargement").hide();
			return false;
		});
		
	}
	
});
