$(document).ready(function() {
		
	//get the url for every video 
	$(".pufflist li").each(function() {
		var $this = $(this);
		
		// the first a link is a link to the puff page, that should be removed in the mainpuff player
		$(this).find("p a").not("a:first").addClass("saveme");
		var url = $(this).find(".vvqvimeo iframe").attr("src") || $(this).find(".vvqyoutube object").attr("data");
		

		//click on link replaces the html in the main player window with the one in the thumbnail box
		$(this).find("a:first").click(function(e){
			e.preventDefault();
			var player = $(this).parents("li").html();
			$(".mainpuff").fadeOut(10).html(player).fadeIn(900);
			$(".mainpuff a").not(".saveme").contents().unwrap();
			$(this).parents("ul").find("li").removeClass("selected");
			$(this).parents("li").addClass("selected");
		});
		
		var thumbnailUrl;
		// if vimeo
		if($(this).find("a span.vvqvimeo").length == 1) {
			var vimeoUrl = $(this).find("span.vvqvimeo iframe").attr("src");
			
			// get the vimeo id from the url with regex
			var vimeoVideoID = vimeoUrl.match(/video\/(\d+)($|\?)/);
			vimeoVideoID = vimeoVideoID[1];
			
			// get the thumbnail url from vimeos api
			$.getJSON('http://www.vimeo.com/api/v2/video/' + vimeoVideoID + '.json?callback=?', {format: "json"}, function(data) {
				$this.find("a").attr("title", data[0].title);
				thumbnailUrl = data[0].thumbnail_medium;
				$("<img />").attr("src",thumbnailUrl).addClass("videoImage").appendTo($this.find("a:first"));
			});
		// else youtube
		} else {
			thumbnailUrl = $(this).find("a.saveme img").attr("src");
			$("<img />").attr("src",thumbnailUrl).addClass("videoImage").appendTo($this.find("a:first"));
		}		
		
	});
	
	// click the first list item on load!
	$(".pufflist li:first a:first").click();
	
	$(".pufflist li a").tipsy({
		gravity: 's'
	});
	
	
	
	//left arrow
	$(".leftarrow").click(function(){
		var index = $(".selected").index();
		if(index === 0) {
			$(".pufflist li:last a").click();
		} else {
			$(".pufflist li").eq(index-1).find("a").click();
		}
	});
	
	//right arrow
	$(".rightarrow").click(function(){
		var index = $(".selected").index();
		if(index === $(".pufflist li").length-1) {
			$(".pufflist li:first a").click();
		} else {
			$(".pufflist li").eq(index+1).find("a").click();
		}
	}); 
	
	
	// Start Cases Slider
	var slideDuration = 750;
	$(".cases .entry-content ul:first-child").addClass("wrapper").wrap($("<div />").addClass("window"));
	$(".window").wrap($("<div />").addClass("slider"));
	
	
	$(".slider").each(function() {
		if ($(this).find("li").length <= 1 || $(this).find("li *:first-child").is("span"))  {
			return;
		} else {
			
			$(this).before($("<div />").addClass("leftarrow"));
			$(this).after($("<div />").addClass("rightarrow"));
			
			// save variables
			var totalWidth = $(this).find(".window").innerWidth() * $(this).find("li").length;
			$(this).find(".wrapper").css({"width" : totalWidth});
			var slider = $(this);
			
			// append navigation
			var nav = $("<div />").addClass("nav").appendTo($(this));
			var dots = $("<p />").addClass("dots").appendTo(nav);
			
			// add a showing class to the first li
			$(this).find("li:first").addClass("showing");
			
			// dot navigation
			for (var i = 0; i < $(this).find(".wrapper li").length; i++) {
				$("<span />").appendTo(dots);
			}
			dots.find("span:first-child").addClass("active");
			dots.find("span").click(function() {
				index = $(this).index();
				$(this).siblings().removeClass("active");
				$(this).addClass("active");
				$(this).parents(".slider").find(".wrapper").animate({
					left: -600 * index
				}, slideDuration, function() {
					$(this).parents(".slider").find(".showing").removeClass("showing");
					$(this).parents(".slider").find(".wrapper li:eq("+index+")").addClass("showing");
				});
			});
			
			var numberOfLis = $(this).find(".wrapper li").length;
			$(this).find(".dots").css({
				"marginLeft" : "-" + numberOfLis * 15 + "px"
			});
			
			// right arrow triggers a click on the correct dot
			slider.parents(".entry-content").find(".rightarrow").click(function(){	
				var showingId = slider.find(".active").index();
				if (showingId == slider.find("li").length-1) {
					slider.find(".dots span:first").click();
				} else {
					slider.find(".dots span:eq(" + (showingId+1) + ")").click();
				}
			});
		
			// left arrow triggers a click on the correct dot
			slider.parents(".entry-content").find(".leftarrow").click(function(){
				var showingId = slider.find(".active").index();			
				if (showingId == 0) {
					slider.find(".dots span:last").click();
				} else {
					slider.find(".dots span:eq(" + (showingId-1) + ")").click();
				}
			});
			
		} //end $(".slider").each(function()
	});
	
	// tweet plugin displays tweets in the sidebar below news
    $("#tweets").tweet({
        join_text: "auto",
        username: "UmbilicalDesign",
        avatar_size: 36,
        count: 3,
        auto_join_text_default: "",
        auto_join_text_ed: "",
        auto_join_text_ing: "",
        auto_join_text_reply: "",
        auto_join_text_url: "",
        loading_text: "loading tweets..."
    });
});
