$(function() {

$("#listing ul").clone().appendTo("div.carousel");
$("#listing ul li a div.cTitle br").remove();
$("#interactive").show();

    $("div.carousel").jCarouselLite({
        btnNext:"#Generalnext",
        btnPrev: "#Generalprev",
        visible:3,
        scroll:3,
        speed:1000,
        easing:'easeOutExpo',
        circular:false
});

$(".Dropdowns .DropdownContent ul").css('zIndex',50); 

$("div.carousel").hide();
$(".navigate").hide();
$("#General, #Generalnext, #Generalprev").show();

    $("a.navigate").hover(
        function(){$(this).addClass('hover');},
        function(){$(this).removeClass('hover');}
    );

$("#filter").change(function(){
	var x =$(this).val(),
	    f = (x=="all") ? "" : "."+x;
	if (x !="all") {
		$("div.carousel li").hide();
		$("#listing li").hide();
	}
	var n = $("li"+f).show().size();
	$("#Generalnext").removeClass("disabled");
	$("div.carousel").jCarouselLite({
        		btnNext: "#Generalnext",
        		btnPrev: "#Generalprev",
        		visible:3,
        		scroll:3,
			vertical:false,
        		speed:1000,
        		easing:'easeOutExpo',
			filter:f,
        		circular:false
	});
});

	$("a.pub>img").attr("alt","");

	var x;
	$("#shadow").hide();
	$(".carousel li").hover(
		function(){
			var num = $(this).prevAll("li").size();
			var carID= $(this).parent().parent().attr('id');
			var offset = $(this).offset();
			var pos = (offset.left < 450) ? 170 : -220;
			
			$("#popup").empty().css({'left':((pos==170)? -4:4),'top':-5});
			$("#shadowhelper2").css('top',-1);
			$(this).children("a").next("div").clone().children(".details").css('bottom',-2).end().appendTo("#popup").show();
			$("#shadow").css({'left':offset.left+pos,'top':offset.top-10, 'zIndex':30});
			x = setTimeout("$('#shadow').show();",1000);
			$(this).addClass("hover");
		},
		function(){
			clearTimeout(x);
			$("#popup").empty()
			$("#shadow").hide();
			$(this).removeClass("hover");
		}
	);
});


(function($){
	$.fn.jCarouselLite=function(o){
		o= $.extend(
		{	btnPrev:null,
			btnNext:null,
			btnGo:null,
			mouseWheel:false,
			auto:null,
			speed:200,
			easing:null,
			vertical:false,
			circular:true,
			visible:3,
			start:0,
			scroll:3,
			beforeStart:null,
			afterEnd:null,
			filter:""},
		o||{});
		
		return this.each(function(){
			var b=false,
			    animCss=o.vertical?"top":"left",
			    sizeCss=o.vertical?"height":"width";
			    
			var c=$(this),
			    ul=$("ul",c),			   
			    tLi=$("li"+o.filter,ul);
			    tl=tLi.size(),
			    v=o.visible;
			    
			if(o.circular){
				ul.prepend(tLi.slice(tl-v-1+1).clone()).append(tLi.slice(0,v).clone());
				o.start+=v}
			var f=$("li"+o.filter,ul),
			    itemLength=f.size(),
			    curr=o.start;
			c.css("visibility","visible");
			f.css({'overflow':"hidden",float:o.vertical?"none":"left"});
			ul.css({margin:"0",padding:"0",position:"relative","list-style-type":"none","z-index":"1"});
			c.css({'overflow':"hidden",position:"relative","z-index":"2",left:"0px"});
			var g=o.vertical?height(f):width(f);
			var h=g*itemLength + 10 * itemLength;
			var j=g*v;
			f.css({width:f.width(),height:f.height()});
			ul.css(sizeCss,h+"px").css(animCss,-(curr*g));
			c.css(sizeCss,j+"px");
			if(o.btnPrev)
				$(o.btnPrev).unbind('click').click(function(){
					if(!$(this).hasClass('disabled')) return go(curr-o.scroll)
				}).addClass("disabled");
			if(o.btnNext)
				$(o.btnNext).unbind('click').click(function(){
					if(!$(this).hasClass('disabled')) return go(curr+o.scroll)
				}).addClass((tl>v)?"":"disabled");
			if(o.btnGo)
				$.each(o.btnGo,function(i,a){
					$(a).click(function(){
						return go(o.circular?o.visible+i:i)
					})
				});
			if(o.mouseWheel&&c.mousewheel)
				c.mousewheel(function(e,d){
					return d>0? go(curr-o.scroll):go(curr+o.scroll)
				});
			if(o.auto)
				setInterval(function(){go(curr+o.scroll)},o.auto+o.speed);
			
			function vis(){
				return f.slice(curr).slice(0,v)
			};
			
			function go(a){
				if(!b){
					if(o.beforeStart)
						o.beforeStart.call(this,vis());
					if(o.circular){
						if(a<=o.start-v-1){
							ul.css(animCss,-((itemLength-(v*2))*g)+"px");
							curr=a==o.start-v-1?itemLength-(v*2)-1:itemLength-(v*2)-o.scroll
						}else if(a>=itemLength-v+1){
							ul.css(animCss,-((v)*g)+"px");
							curr=a==itemLength-v+1?v+1:v+o.scroll
						}else curr=a
					}else{
						if(a<0) curr = 0;
						else if (a>itemLength-v) curr = itemLength-v;
						else curr=a;
					}
					b=true;
					ul.animate(animCss=="left"?{left:-(curr*g)}:{top:-(curr*g)},o.speed,o.easing,function(){
						if(o.afterEnd)o.afterEnd.call(this,vis());
						b=false});
						if(!o.circular){
							$(o.btnPrev+","+o.btnNext).removeClass("disabled");
							$((curr==0&&o.btnPrev)||(curr+o.scroll>=itemLength&&o.btnNext)||[]).addClass("disabled")
						}
					}
					return false
				}
			})
		};
		
		function css(a,b){
			return parseInt($.css(a[0],b))||0
		};
		
		function width(a){
			return a[0].offsetWidth+css(a,'marginLeft')+css(a,'marginRight')
		};
		
		function height(a){
			return a[0].offsetHeight+css(a,'marginTop')+css(a,'marginBottom')
		}
	}
)(jQuery);

