/**
 * @author Jonas De Smet | Glamorous.be
 */
$(document).ready(function(){
	$('a[href^="http://"].ext').attr("target", "_blank");
	
	$.glamGA('UA-4011759-1');
	
	$(".elem .more").click(function(){
		var elem = $(this);
		elem.parent().find(".elem_info").slideToggle("slow");
		if(elem.hasClass("closed"))
		{
			elem.addClass("open").removeClass("closed");
		}
		else
		{
			elem.addClass("closed").removeClass("open");
		}
		return false;
	});
	
	$(".portfolio .filter li").click(function(){
		if(!$(this).hasClass(".active")){
			$(".filter li").removeClass("active");
			var filter = $(this).addClass("active").html();
			var elems_hide = $(".elem").not("."+filter);
			var elems_show = $(".elem").filter("."+filter);
			var i=elems_hide.length-1;
			var j=elems_show.length-1;
			$(".elem").stop(true,true);
			
			(function(){
				if(i >= 0){
					$(elems_hide[i]).data("status", "hidden").find(".elem_info").slideUp('fast').end().find('.more').addClass("closed").removeClass("open");
					$(elems_hide[i--]).animate({opacity: 0, height: "0px"},500, "linear", arguments.callee);
				}
				else if(j >= 0){
					$(elems_show[j--]).animate({opacity: 1, height: "277px"},750, "linear", arguments.callee);
				}
				else{
					elems_show.height("auto");
					$(elems_hide).find(".elem_info").slideUp('fast').end().find('.more').addClass("closed").removeClass("open");
					$(".elem:visible").filter(":first").find(".elem_info").slideDown('slow').end().find(".more").addClass("open").removeClass("closed");
				}
			})();
			return false;
		} 
	});
	
	$(".portfolio .filter span").click(function(){
		$(".elem").stop(true, true);
		$(".filter li").removeClass("active");
		var elems_show = $(".elem").filter(function (index) {
        	return $(this).data("status") == "hidden";
        });
		var j=elems_show.length-1;
		
		(function(){
			if(j >= 0){
				$(elems_show[j]).removeData("status");
				$(elems_show[j--]).animate({opacity: 1, height: "277px", display: "block"}, 750, "linear", arguments.callee);
			}
			else{
				elems_show.height("auto");	
				var first = $(".elem:visible").filter(":first");
				if(first.find(".more").hasClass("closed")){
					first.find(".elem_info").slideDown('slow').end().find(".more").addClass("open").removeClass("closed");
				}
			}
		})();
		return false;
	});
	
	$(".elem_img_txt a span", ".elem_img").css('opacity', 0.9);
});