function menu()
{		
	$(".menu_item:not(.menu_item_selected)").hover(
		function() {
			$(this).text("> " + $(this).text());
			$(this).addClass("menu_item_selected");
		},
		function() {
			$(this).text($(this).text().slice(2));			
			$(this).removeClass("menu_item_selected");
		}
	);
}

jQuery.fn.imageScroller = function(options) {			
	var scroll = this;
	var $this = $(this);
	
	var $content = $this.find("#gallery_list_content");
	var imgSrc;
	var imageList = new Object();
	

	$this.css({
		"position" 	: "relative"		
	})
	
	$content.css({
		"left" 		: "0px",
		"position" 	: "relative",
		"top"		: "0px"
	});
	
	var top = $this.offset().top;
	var height = $this.outerHeight();
	var contentTop = 0;
	var contentHeight = $content.outerHeight();
	var delta = 0;
	var interval = null;
	var phase = 3;
	
	$this.mousemove(function(e){
		delta = (height/2 - (e.pageY - top)) / 15;
		if((delta < phase) && (delta > -phase)) delta = 0;
	}).hover(
		function(e){
			interval = setInterval(function(){
				contentTop = $content.position().top + delta;
				if (contentTop > 0) contentTop = 0;
				else if (-contentTop > (contentHeight - height)) contentTop = -(contentHeight - height);
				$content.css("top", contentTop + "px");
			}, 20);
		}, 
		function(e){
			if (interval) clearInterval(interval)
			delta = 0;
		}
	);
	
	function refreshGalleryBtn()
	{
		var $btn = $this.find(".gallery_selected_img").parent();
		if ($btn.prev().length) $("#gallery_prev_btn").show();
		else $("#gallery_prev_btn").hide();
		if ($btn.next().length) $("#gallery_next_btn").show();
		else $("#gallery_next_btn").hide();
	}
	refreshGalleryBtn();
	
	function refreshGalleryListPos()
	{
		var $img = $this.find(".gallery_selected_img");
		var imgPos = $img.offset();
		
		if (top > imgPos.top) {
			contentTop = $content.position().top + top - imgPos.top;
			if (contentTop > 0) contentTop = 0;
			else if (-contentTop > height) contentTop = -height;
			$content.css("top", contentTop + "px");
		} else if ((top + height) < (imgPos.top + $img.height())) {
			contentTop = $content.position().top + (top + height) - (imgPos.top + $img.height());
			if (contentTop > 0) contentTop = 0;
			else if (-contentTop > (contentHeight - height)) contentTop = -(contentHeight - height);
			$content.css("top", contentTop + "px");
		}
	}
	
	function loadImage(imgSrc)
	{
		$("#gallery_img").css("background-image", "url(" + imgSrc + ")");
	}
	
	$this.find(".gallery_item:not(.gallery_selected_img)").fadeTo(0, 0.5);
	$this.find(".gallery_item").hover(
		function(){
			if ($(this).is(".gallery_selected_img")) return;
			$(this).stop(true);
			$(this).fadeTo(500, 1);
		},
		function(){
			if ($(this).is(".gallery_selected_img")) return;
			//$(this).stop();
			$(this).fadeTo(500, 0.5);
		}
	).click(function(){
		if ($(this).is(".gallery_selected_img")) return;
		$this.find(".gallery_selected_img").fadeTo(500, 0.5).removeClass("gallery_selected_img");
		$(this).fadeTo(0, 1).addClass("gallery_selected_img");
		imgSrc = $(this).parents("a").eq(0).attr("href");
		if (!imageList[imgSrc]) {
			$("#ajax-loader").show();
			imageList[imgSrc] = $("<img>").load(function(){
				loadImage(imgSrc);
				$("#ajax-loader").hide();
			}).attr("src", imgSrc);
		} else loadImage(imgSrc);
		refreshGalleryBtn();
		return false;
	});
	$("#gallery_next_btn").click(function(){
		$this.find(".gallery_selected_img").parent().next().children().eq(0).click();
		refreshGalleryListPos();
	});
	$("#gallery_prev_btn").click(function(){
		$this.find(".gallery_selected_img").parent().prev().children().eq(0).click();
		refreshGalleryListPos();
	});
	
};

$(function() {
	$("#home_text_opacity").fadeTo(0, 0.3);

	menu();
	
	$("#gallery_list").imageScroller();
	
	var $container = $("#shadow");
	var containerHeight = $container.outerHeight();
	var containerTop = 0;
	var windowHeight;
	
	function pageVerticalCenter()
	{
		windowHeight = $(window).height();
		containerTop = (windowHeight - containerHeight)/2
		if (containerTop < 0) containerTop = 0;
		$container.css("margin-top", containerTop + "px");
	}
	
	pageVerticalCenter();
	
	var doCenter = false;
	$(window).resize(function(){ 
		if (doCenter !== false) clearTimeout(doCenter); 
		doCenter = setTimeout(function(){
			pageVerticalCenter();
		}, 200);
	}); 
	
	$(".fancyImg").fancybox();
});
