var carousels=new Array();


$(document).ready(function(){
	$(".carousel").each(function(){
		carousels[carousels.length]=new Carousel(this)
	})
});


var Carousel=function(a){
	var b=this;
	b.el=$(a);
	b.contentEl=b.el.find("ul");
	b.rightArrow=null;
	b.leftArrow=null;
	b.origin=0;
	b.adjust=0;
	b.itemWidth=0;
	b.visibleWidth=0;
	b.position=0;
	b.holdTimer=null;
	b.interval=300;	
	
	b.init=function()
	{
		b.items=b.contentEl.find("li");
		b.items.find("a").live("click",b.onVideoClick);
		b.items.eq(0).addClass("playing");
		b.itemWidth=b.items.outerWidth(true);
		b.origin=parseInt(this.el.find(".mask").css("padding-left").replace("px",""),10);
		if($.browser.msie==true&&$.browser.version.indexOf("6")==0){
			b.origin=b.origin-10;
			b.adjust=10}
		b.contentEl.width(b.itemWidth*b.items.length+b.adjust);
		var d=this.el.find(".mask").width();
		b.visibleWidth=Math.floor(d/this.itemWidth)*this.itemWidth;
		var c=b.items.outerHeight(true);
		b.el.find(".mask").height(c);
		if(b.items.length>3){
			b.rightArrow=$('<a class="right-scroller" onclick="return false;" href="#"></a>');
			b.leftArrow=$('<a class="left-scroller" onclick="return false;" href="#"></a>')
		}else{
			b.rightArrow=$('<a class="right-scroller" onclick="return false;" style="background-image:none" href="#"></a>');
			b.leftArrow=$('<a class="left-scroller" onclick="return false;" style="background-image:none" href="#"></a>')
		}
		b.rightArrow.height(c);
		b.rightArrow.mousedown(b.scrollRight);
		b.leftArrow.height(c);
		b.leftArrow.mousedown(b.scrollLeft);
		b.el.prepend(b.leftArrow);
		b.el.append(b.rightArrow);
		b.contentEl.css("left",b.origin);
		b.updateControls()
	};

	b.onVideoClick=function(f)
	{
		b.items.removeClass("playing");
		$(".slideshow_images").find("li a.current").removeClass("current");
		$(this).parent().addClass("playing");
		var index = $(".carousel ul li").index($(this).parent());
		$($(".slideshow_images").find("li")[index]).find("a").addClass("current");
		
		var container;
		var bimg;
		if ($("a.cropEditorialGalleryMain").size()){
			container=$('.cropEditorialGalleryMain');
		}
		else if ($("#RBPlayer").size()){
			container =$('#RBPlayer a');
		}
		if ($(container))
			bimg = $(container).find("img");
		if ($(this).attr("title") && $(this).attr("title").length > 0)
			$(container).find(".photoInformation").attr("id","&copy;&nbsp;"+$(this).attr("title"));
		else
			$(container).find(".photoInformation").attr("id", "");
			
		$(bimg).attr("src",$(this).attr("rel"));
		
		var d=$(this).find("img").attr("alt");
		$(bimg).attr("alt",d);
		$(bimg).attr("title",d);
		
		var imgtitle=$(this).find("img").attr("title");
		$(container).attr("title",imgtitle);
		
		return false
	};


	b.scrollLeft=function(c){
		if(b.leftArrow.hasClass("disabled")){return}
		b.scroll(4);
		$(this).mouseup(b.killHoldTimer);
		b.holdTimer=setInterval(function(){b.scroll(1)},b.interval);
		c.stopPropagation();
		return false
	};
	
	b.scrollRight=function(c){
		if(b.rightArrow.hasClass("disabled")){return}
		b.scroll(-4);
		$(this).mouseup(b.killHoldTimer);
		b.holdTimer=setInterval(function(){b.scroll(-1)},b.interval);
		c.stopPropagation();
		return false
	};
		
	b.killHoldTimer=function(){
		clearInterval(b.holdTimer);
		b.holdTimer=null
	};

	b.scroll=function(g){
		var d=null;
		var c=b.origin+(b.position+g)*b.itemWidth;
		var e=(b.el.find(".mask").width()-b.visibleWidth);
		if(g>0){d=c}
		else{d=c+e-0}
		
		var f=b.contentEl.position().left;
		b.position+=g;
		b.contentEl.animate({left:d},b.interval,"linear",b.afterScroll)
	};

	b.afterScroll=function(){b.updateControls()};
	b.updateControls=function(){
		var c=b.contentEl.position().left;
		b.leftArrow.removeClass("disabled");
		if(c==b.origin){
			b.leftArrow.addClass("disabled")
		}
		b.rightArrow.removeClass("disabled");
		if(((b.el.find(".mask").width()-c)+b.origin)>=b.contentEl.width()+0-b.adjust){
			b.rightArrow.addClass("disabled")
		}
	};
	b.init()
};		
