// JavaScript Document
var carousels = {};
function carousel(id,el,time,auto){
	time = time || 5000;
	auto = auto || true;
	$.getJSON("php/carousel_content.php",{id:id},function(carouselObj){
		carousels[el]=({id:id,el:el,items:carouselObj.items,time:time,index:0,timeout:0});
		var navHtml = '';
		navHtml+='<div class="nav">';
		navHtml+='<div class="control"><div class="pause"></div></div>';
		for(var i=0;i<3;i++){
			navHtml+='<div class="control"><div class="car-'+i+'"></div></div>';
		}
		navHtml+='<div class="clear"></div>';
		navHtml+='</div>';
		
		$("#"+el).find(".item").append(navHtml);
		$("#"+el).find(".pause").bind('click',function(){
			if($(this).hasClass("play")){
				playCarousel($(this));
			}
			else{
				pauseCarousel($(this));
			}
		});
		$("#"+el).find(".car-0,.car-1,.car-2").bind('click',function(){
			playCarouselItem($(this),true);
			pauseCarousel($(this));
		});
		$("#"+el).find(".car-0").trigger('click');
		if(auto){
			playCarousel($("#"+el).find(".car-0"));
		}
		$("body").append('<div style="width:0px;height:0px;overflow:hidden;background:url(images/'+carousels[el].items[0].image+')"></div>');
		$("body").append('<div style="width:0px;height:0px;overflow:hidden;background:url(images/'+carousels[el].items[1].image+')"></div>');
		$("body").append('<div style="width:0px;height:0px;overflow:hidden;background:url(images/'+carousels[el].items[2].image+')"></div>');
	});
}
function pauseCarousel(el){
	el.parent().parent().find(".pause").addClass("play");
	clearTimeout(carousels[getCarouselId(el)].timeout);	
}

function playCarousel(el){
	el.parent().parent().find(".pause").removeClass("play");
	nextItem(el);
}

function nextItem(el){
	playCarouselItem(el);
	carousels[getCarouselId(el)].index=carousels[getCarouselId(el)].index<2?carousels[getCarouselId(el)].index+1:0;
}

function playCarouselItem(el,clicked){
	clicked = clicked || false;
	var item = getNum(el, clicked);
	var c = carousels[getCarouselId(el)];
	if(clicked){
		carousels[getCarouselId(el)].index=parseInt(item);
	}
	$("#"+c.el+" .control").removeClass("active");
	$("#"+c.el+" .car-"+c.index).parent().addClass("active");
	$("#"+c.el+" .title").html(c.items[c.index].title);
	$("#"+c.el+" .copy").html(c.items[c.index].copy);
	$("#"+c.el+" .link a").attr("href",c.items[c.index].link);
//	$("#"+c.el+" .link a").attr("target",c.items[c.index].target);
	$("#"+c.el+" .link a").html(c.items[c.index].link_title+" >");
	var theindex = c.index;
	if($("#"+c.el+" .item .image").css("backgroundImage").indexOf("images/"+c.items[theindex].image)==-1){
		$("#"+c.el+" .item").css("background","url(images/"+c.items[theindex].image+") no-repeat");
		$("#"+c.el+" .item .image").fadeOut('normal',function(){
			$("#"+c.el+" .item .image").css("background","url(images/"+c.items[theindex].image+") no-repeat");
			$("#"+c.el+" .item .image").fadeIn('normal');
		});
	}	
	clearTimeout(c.timeout);
	carousels[getCarouselId(el)].timeout = setTimeout(function(){nextItem(el);},c.time);
}

function getNum(el, clicked){
	return clicked?el.get(0).className.split("-")[1]:carousels[getCarouselId(el)].index;
}
function getCarouselId(el){
	var id = el.closest(".carousel").attr("id");
	return id;
}