$(document).ready(function(){
	
	function switchToView()
	{
		var itemSelected = $("#jd_gallery_list a.selected");
		
		if(itemSelected.length === 0)
		{
			return false;
		}
		
		$(".none_selected_list").show();
		$(".selected_list").hide();
		$(".none_selected_view").hide();
		$(".selected_view").show();
		
		$("#jd_gallery_list").hide();
		$("#jd_gallery_view").show();
	}
	
	function switchToList()
	{
		$(".none_selected_list").hide();
		$(".selected_list").show();
		$(".none_selected_view").show();
		$(".selected_view").hide();
		
		$("#jd_gallery_view").hide();
		$("#jd_gallery_list").show();
	}
	
	function goPrev()
	{
		var prevElem = $("#jd_gallery_list a.selected").prev();	
		selectImage(prevElem);
		getImage(prevElem);
	}
	
	function goNext()
	{
		var nextElem = $("#jd_gallery_list a.selected").next();	
		selectImage(nextElem);
		getImage(nextElem);	
	}
	
	function selectImage(elem)
	{
		$("#jd_gallery_list a").removeClass("selected");
		$(elem).addClass("selected");		
	}
	
	function manageArrow()
	{
		var prevElem = $("#jd_gallery_list a.selected").prev("a");
		var nextElem = $("#jd_gallery_list a.selected").next("a");
		
		if(prevElem.length === 0)
		{
			$("#jd_gallery_view_prev_button").hide();
		}
		else
		{
			$("#jd_gallery_view_prev_button").show();
		}
		
		if(nextElem.length === 0)
		{
			$("#jd_gallery_view_next_button").hide();
		}
		else
		{
			$("#jd_gallery_view_next_button").show();
		}
	}
	
	function managerCounter()
	{
		var galleryLength = $("#jd_gallery_list a").length;
		var selectedImageIndex = $("#jd_gallery_list a.selected").index() + 1;
		
		$("#counter").html(selectedImageIndex + "/" + galleryLength);
	}
	
	function getImage(elem)
	{
		$.ajax({
		      url: "/jd_gallery/fetchImage/nodeId/" + $(elem).attr("id"),
		      type: "GET",
		      dataType: "html",
		      async: true,
		      success: function(msg)
		      {
		    	  
		    	  $("#jd_gallery_view").html(msg);
		    	  manageArrow();
		    	  managerCounter();
		    	  switchToView();	    	  
		      }
		});
	}
	
	$("#jd_gallery_modes .none_selected_list").live("click", function()
	{
		switchToList();
	});
	
	$("#jd_gallery_modes .none_selected_view").live("click", function()
	{
		switchToView();
	});
	
	$("#jd_gallery_view_prev_button").live("click", function()
	{
		goPrev();
		return false;
	});

	$("#jd_gallery_view_next_button").live("click", function()
	{
		goNext();
		return false;
	});
	
	$("#jd_gallery_list a").live("mouseover", function()
	{	
		$("#jd_gallery_list a.selected_over").removeClass("selected_over");
		$(this).addClass("selected_over");
	});
	
	$("#jd_gallery_list a").live("mouseout", function()
	{	
		$("#jd_gallery_list a.selected_over").removeClass("selected_over");
	});
	
	$("#jd_gallery_list a").live("click", function()
	{	
		selectImage(this);
		getImage(this);
		
		return false;
	});
	
	
	/*var itemSelected = $("#jd_gallery_list a.selected");
	
	if(itemSelected.length === 0)
	{
		$("#jd_gallery_list a").first().addClass("selected");
	}*/
	
	//$("#jd_gallery_name_container").width($("#jd_gallery_name").outerWidth(true) + $("#jd_gallery_close_button").outerWidth(true));
	
		
	$(".jd_gallery_item > a > img").live("mouseover", function()
	{		
		var parentPosition = $(this).parent("a").parent("td").position();

		$(this).parent("a").next(".rollover_container").css("left", parentPosition.left);
		//$(this).parent("a").next(".rollover_container").show();
		
		var index = $(this).parent("a").next(".rollover_container").index(".rollover_container");

		$("#jd_gallery_folder_viewport .rollover_container").hide().eq(index).show();
	});
	
	
	
	/*$("#jd_gallery_folder_container").live("mouseout", function()
	{
		$(this).find(".rollover_container:visible").hide();
	});*/
	
	$("#jd_gallery_folder_viewport .rollover_container").live("mouseleave", function()
	{
		$(this).hide();
	});
	
});
