$(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();
		
		manageArrow();
	}
	
	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)
		{
			$(".arrow.left").css('visibility', 'hidden');
		}
		else
		{
			$(".arrow.left").css('visibility', 'visible');
		}
		
		if(nextElem.length === 0)
		{
			$(".arrow.right").css('visibility', 'hidden');
		}
		else
		{
			$(".arrow.right").css('visibility', 'visible');
		}
	}
	
	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)
	{
		$('.arrow').hide();
		
		switchToView();
		
		$("#the_image").html('<div id="gallery-loader"><img src="/extension/mdws/design/mdws/images/ajax-loader.gif" /></div>');
	
		
		var img = new Image();
		large_size=$(elem).closest('a').attr('href');
    	img.src=large_size;
		$(img).load(function(){
		var html='<div style="position: relative"><img src="' + large_size + '" />';
		html 	+= '<div class="image-caption-bg"></div>';
		html 	+= '<div class="image-caption">';
		html	+= '<h4>' + $(elem).find('img').attr('alt') + '</a>';
		html	+= '<h5>' + $(elem).attr('title') + '</h5>';
		html	+='<a target="_blank" href="'+$(elem).closest('a').attr('id')+'">';
		html	+='<img id="download-image-button" alt="Download" src="/extension/mdws/design/mdws/images/download-image-button.png" />';
		html 	+= '</a>';
		html 	+= '</div></div>';
		
		$("#the_image").html(html);
		$('.arrow').show();
		});

	}
	
	$("#jd_gallery_modes .none_selected_list").live("click", function()
	{
		switchToList();
	});
	
	$("#jd_gallery_modes .none_selected_view").live("click", function()
	{
		switchToView();
	});
	
	$(".arrow.left").live("click", function()
	{
		goPrev();
		manageArrow();
		return false;
	});

	$(".arrow.right").live("click", function()
	{
		goNext();
		manageArrow();
		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();
	});
	
});
