var carouselAnimating = false;

var pCarousel = {
	animationId: null,
	animationDir: 'right',
	c: false,

	//time in miliseconds to wait before scrolling
	animationTimeout: 5000,
	
	//time in miliseconds for the scrolling transition
	animationSpeed: 1000,

	init: function(carousel) {
		pCarousel.c = carousel;
		/*stops the animation when hover*/
		carousel.clip.hover(function() { pCarousel.halt() }, function() { pCarousel.animate(carousel); });
		pCarousel.animate(carousel);
	},

	animate: function(carousel) {

		pCarousel.animationId = setInterval(function()
		{
			carousel.next();
		},
		pCarousel.animationTimeout );
	},

	stopAuto: function() {
		return pCarousel.c.stopAuto();
	},

	startAuto: function() {
		return pCarousel.c.startAuto();
	},

	halt: function() {
		if( pCarousel.animationId ) {
			clearInterval(pCarousel.animationId);
		}
	}

};

jQuery(document).ready(function()
{
	/**
	 * Pull in data from JSON feed
	 */
	if(typeof promoItems == 'undefined')
	{
		return false;
	}

	var data = promoItems;

	if(!(jQuery.browser.msie && parseInt(jQuery.browser.version) < 7))
	{
		var el = $($('#pCarousel li').get(0))
			.clone(false);

		$('#pCarousel li').remove();

		for(var i in data)
		{
			var li = el.clone(false)
				.appendTo('#pCarousel');

			li.find('.imglink')
				.attr('href', data[i].link)
				.attr('title', data[i].title);

			li.find('h3 a')
				.text(data[i].title)
				.attr('title', data[i].title)
				.attr('href', data[i].link);

			li.find('p a')
				.attr('href', data[i].link)
				.text(data[i].desc);

			if(data[i].img_url)
			{
				li.find('.puff').css({
					backgroundImage: 'url(' + data[i].img_url + ')'
				});
			}
		}

		 jQuery('#pCarousel').jcarousel({
		  wrap: null,
		  scroll: 1,
		  visible: 3,
		  wrap: 'circular',
		  initCallback: pCarousel.init,
		  easing: 'linear',
		  animation: pCarousel.animationSpeed
		 });
	}
});
