var Carousel_preloadImages = function(items){	var loaded = 0;	var length = items.length;		$(items).each(function(idx, obj){		if('undefined' !== typeof(obj.src))		{			$('<img />').attr('src', obj.src).load(function(){				if((++loaded) === length)				{					;				}			});		}		else		{			$(obj.img).load(function(){				if((++loaded) === length)				{					;				}			});		}	});	};var Carousel;var Carousel_initCallback = function(carousel, state){	var carouselIndexList = $('ul#CarouselIndex', '#Stage');	$('a.CarouselNavi', carouselIndexList).click(function(e){		e.preventDefault();		e.stopPropagation();		var targetIndex = $(this).parents('li').index()+1;		carousel.scroll(targetIndex);	});		if('init' === state)	{			carousel.startAutoOriginal = carousel.startAuto;		carousel.startAuto = function(){			if(!carousel.paused)			{				carousel.startAutoOriginal();			}		};				carousel.pause = function(persistent){			if(true === persistent)			{				carousel.pausedPersistent = true;			}			carousel.paused = true;			carousel.stopAuto();		};				carousel.play = function(persistent){			if(true === persistent)			{				carousel.pausedPersistent = false;			}			carousel.paused = false;			carousel.startAuto();		};				$('#Stage').live('mouseenter', function(){			carousel.pause();		});				$('#Stage').live('mouseleave', function(){			if(!carousel.pausedPersistent)			{				carousel.play();			}		});		Carousel = carousel;		ClickHandler.initMediaCarouselTeasers();	}		carousel.play();		Carousel_preloadImages(CarouselItems);		return false;};var Carousel_itemVisibleInCallback = function(carousel, item, i, state, evt, queueType, funcObj){	var idx = carousel.index(i, CarouselItems.length);	carousel.add(i, Carousel_getItemHTML(CarouselItems[idx - 1]));		if('undefined' !== typeof(_typeface_js))	{		_typeface_js.renderDocument();	}		$('.StageTitle', '#Stage').each(function(){		funcObj.animateFunc($(this), queueType.STAGE_MOUSEENTER);	});		funcObj.abstractClick($('#Stage'), '.ArticleLink:not(.MediaLink)');		var carouselIndexList = $('ul#CarouselIndex', '#Stage');	Carousel_updateCarouselIndex(carousel, item, i, state, evt, carouselIndexList);};var Carousel_itemVisibleOutCallback = function(carousel, item, i, state, evt){    carousel.remove(i);};var Carousel_getItemHTML = function(item){	var isAppleMobile = ($('body').hasClass('iPad') || $('body').hasClass('iPhone'));		var img = item.img;		if(!!isAppleMobile)	{		var articleLink = $(eval(item.link));		img = '<a href="' + articleLink.attr('href') + '">' + item.img + '</a>';	}		img +=  '<div class="StageTitle Last Top">' +				'<h1 style="color:'+item.headlineStageColor+'!important;">' + item.headline + '</h1>' 			'</div>' +						'<div class="FlyoutContent">' +					'<em>' + item.author + '</em>' +					'<div class="Separator Dotted"></div>' +					eval(item.link) +					'<div class="Clear"></div>' +				'</div>';	if(item.tracking)	{		img	+=	'<div class="tracking">'+					'<p class="articleName">'+						item.tracking.articleName+					'</p>'+					'<p class="categoryName">'+						item.tracking.categoryName+					'</p>'+				'</div>';	};	img += 		'</div>';	return img;};var Carousel_updateCarouselIndex = function(carousel, item, i, state, evt, elem){	var indexListLength = $('li', elem).length;	i -= 1;	var index = (i <= 0) ? (indexListLength-Math.abs(i)%indexListLength)%indexListLength : i%indexListLength;	$('li', elem).toggleClass('active', false);	$('li:eq(' + (index) + ')',elem).toggleClass('active', true);};var Carousel = null;var ArticleCarousel_getItemHTML = function(item){	return '<img src="' + item.loResSrc + '" width="719" height="404" alt="' + item.txt + '" />';};var ArticleCarousel_updateNavigation = function(carousel, item, i, state, evt){	ArticleCarousel_updateNavigationElements(carousel);    var imgTitle = $(item).find('img').attr('alt');    $('.jcarousel-imageDesc p', '#MediaNavigationArea').text(imgTitle);    $('.jcarousel-stepIndex p', '#MediaNavigationArea').html(i + '&nbsp;/&nbsp;' + articleMedia.carouselImages.length);    };var ArticleCarousel_itemVisibleInCallback = function(carousel, item, i, state, evt){	var idx = carousel.index(i, articleMedia.carouselImages.length);	carousel.add(i, ArticleCarousel_getItemHTML(articleMedia.carouselImages[idx - 1]));		if('undefined' !== typeof(_typeface_js))	{		_typeface_js.renderDocument();	}		ArticleCarousel_updateNavigation(carousel, item, i, state, evt);	};var ArticleCarousel_initCallback = function(carousel, state){	carousel.size(articleMedia.carouselImages.length);		$('.jcarousel-prev-horizontal', '#MediaNavigationArea').bind('click', function(e){		e.preventDefault();		e.stopPropagation();		carousel.prev();	});	$('.jcarousel-next-horizontal', '#MediaNavigationArea').bind('click', function(e){		e.preventDefault();		e.stopPropagation();		carousel.next();	});		$('a.SlideshowAnchor', '.ArticleContent').each(function(idx, obj){		$(obj).bind('click', function(e){			e.preventDefault();			e.stopPropagation();			carousel.scroll(idx+1);		});			});		ArticleCarousel_updateNavigationElements(carousel);		var imgTitle = $(carousel.list).find('img').attr('alt');	$('.jcarousel-imageDesc p', '#MediaNavigationArea').text(imgTitle);    $('.jcarousel-stepIndex p', '#MediaNavigationArea').html('1&nbsp;/&nbsp;' + articleMedia.carouselImages.length);        Carousel_preloadImages(articleMedia.carouselImages);};var ArticleCarousel_updateNavigationElements = function(carousel){	var prev_class = 'jcarousel-prev-disabled jcarousel-prev-disabled-horizontal';    if (carousel.first == 1)	{    	$('.jcarousel-prev-horizontal', '#MediaNavigationArea').attr('disabled', 'true').addClass(prev_class);    }    else	{    	$('.jcarousel-prev-horizontal', '#MediaNavigationArea').attr('disabled', 'false').removeClass(prev_class);    }    var next_class = 'jcarousel-next-disabled jcarousel-next-disabled-horizontal';    if (carousel.last == carousel.size())	{    	$('.jcarousel-next-horizontal', '#MediaNavigationArea').attr('disabled', 'true').addClass(next_class);    }    else	{    	$('.jcarousel-next-horizontal', '#MediaNavigationArea').attr('disabled', 'false').removeClass(next_class);    }};
