$(document).ready(function () {
	//define carousel
	$("#mycarousel").jcarousel({
	    easing: 'swing',
	    animation: 1000
	});
	
	gallery();
			
});


function gallery() {
	
	//hides all slides except one with class selected
	$(".slide").hide("").end("").find(".selectedSlide").show("");
	
	//hides carousel
	$(".jcarousel-container").hide("");
	
	//gives all items with class slide an id
	$(".slide").attr("id", function (number) {
          return "slide" + number;
    })
	
	//gives all items with class selector an id
	$(".selector").attr("id", function (number) {
			  return "selector" + number;		  
	});
	
	//gives all span items within tags an id
	$(".tags").find("span").attr("id", function (number) {
			  return "tag" + number;		  
	});
	
	//on click of selector hides all slides then shows one with same id
	$(".selector").click(function(event){
									
		var id = this.id.replace("selector" , 'slide');
		$(".slide").fadeOut("slow");
		$("#" + id).fadeIn("slow");
		$(this).addClass("active");
		
		//alert(this.id);
			
	});
	
	$(".jcarousel-container").slideDown("slow");
	
	function slidedown() {
		$(".jcarousel-container").slideUp("slow"); 		
	}	
	
	function slideup() {			
		$(".jcarousel-container").slideUp("slow"); 	
	}
	
	var slideyGoodness;
	
	function slideupdown() {	
		$(".slideHolder").mouseenter(function(event){
			if ($(".jcarousel-container").css("display")=="none") {
				$(".jcarousel-container").slideDown("slow", function(){
					if ($(".jcarousel-container").css("display")=="none") {
						slideup();	
					}else{
						//nothing
					}	
				}); 
			}else{	
				clearTimeout(slideyGoodness);
				
			}	
		});	
		$(".slideHolder").mouseleave(function(event){
			if ($(".jcarousel-container").css("display")=="none") {
				//nothing
			}else{				 
				slideyGoodness = setTimeout(function() { $(".jcarousel-container").slideUp("slow", function(){
					if ($(".jcarousel-container").css("display")=="none") {
						//nothing	
					}else{
						slidedown();
					}	
				});}, 1000);
			}	
		});	
	}
			
	slideupdown();
				
	return false;
	
}

	