var FEATURED_MEDIA_DEFAULT_DISPLAY_TIME = 5000; // default display time, in milliseconds
var g_moduleFeaturedMediaDisplayTime = FEATURED_MEDIA_DEFAULT_DISPLAY_TIME;
var hdl_moduleFeaturedMediaTimeout = null;
var g_moduleFeaturedMediaItems = new Array(FeaturedMediaSelectBlogWidget, FeaturedMediaSelectPromo, FeaturedMediaSelectPopularListWidget, FeaturedMediaSelectVideo);
var g_moduleFeaturedMediaCurrItem = 0;

/*--------------------------------------------------------------------------*/
/**
	@brief Used to set the rotational display time of an item within
	the module.

	@param displayTime Integer containing the number of milliseconds
	an item should be displayed.
 */
function FeaturedMediaSetDisplayTime(displayTime) { /* <<<( */

	if (0 < displayTime) {
		g_moduleFeaturedMediaDisplayTime = displayTime;
	}

	return;
} /* )>>> */

/*--------------------------------------------------------------------------*/
/**
	@brief selectOutfitterVideo is used to make the OutfitterVideoModule be
	the currently visibile module within the FeaturedMedia module. 
 */
function FeaturedMediaSelectBlogWidget() { /* <<<( */

	// display blog widget container
	document.getElementById('module-promo-container').style.display = "none";
	document.getElementById('module-popular-list-container').style.display = "none";
	document.getElementById('module-blog-widget-container').style.display = "block";
	document.getElementById('module-local-video-container').style.display = "none";

	// update tab styles
	document.getElementById('module-featured-media-link-news').className = 'module-featured-media-link-selected';
	document.getElementById('module-featured-media-link-promo').className = 'module-featured-media-link';
	document.getElementById('module-featured-media-link-top-5').className = 'module-featured-media-link';
	document.getElementById('module-featured-media-link-local-video').className = 'module-featured-media-link';

	return;
} /* )>>> */

/*--------------------------------------------------------------------------*/
/**
	@brief selectPromo is used to make the PromoModule be the currently visibile
	module within the FeaturedMedia module. 
 */
function FeaturedMediaSelectPromo() { /* <<<( */

	// move to next promo
	PromoNext();

	// display promo container
	document.getElementById('module-promo-container').style.display = "block";
	document.getElementById('module-popular-list-container').style.display = "none";
	document.getElementById('module-blog-widget-container').style.display = "none";
	document.getElementById('module-local-video-container').style.display = "none";

	// update tab styles
	document.getElementById('module-featured-media-link-news').className = 'module-featured-media-link';
	document.getElementById('module-featured-media-link-promo').className = 'module-featured-media-link-selected';
	document.getElementById('module-featured-media-link-top-5').className = 'module-featured-media-link';
	document.getElementById('module-featured-media-link-local-video').className = 'module-featured-media-link';

	return;
} /* )>>> */

/*--------------------------------------------------------------------------*/
/**
	@brief selectTopFive is used to make the PopularListModule be the currently
	visibile module within the FeaturedMedia module. 
 */
function FeaturedMediaSelectPopularListWidget() { /* <<<( */

	// move to next list
	PopularListWidgetNext();

	// display popular list widget container
	document.getElementById('module-promo-container').style.display = "none";
	document.getElementById('module-popular-list-container').style.display = "block";
	document.getElementById('module-blog-widget-container').style.display = "none";
	document.getElementById('module-local-video-container').style.display = "none";

	// update tab styles
	document.getElementById('module-featured-media-link-news').className = 'module-featured-media-link';
	document.getElementById('module-featured-media-link-promo').className = 'module-featured-media-link';
	document.getElementById('module-featured-media-link-top-5').className = 'module-featured-media-link-selected';
	document.getElementById('module-featured-media-link-local-video').className = 'module-featured-media-link';

	return;
} /* )>>> */

/*--------------------------------------------------------------------------*/
/**
	@brief selectLocalVideo is used to make the LocalVideoModule be
	the currently visibile module within the FeaturedMedia module. 
 */
function FeaturedMediaSelectVideo() { /* <<<( */

	// display video container
	document.getElementById('module-promo-container').style.display = "none";
	document.getElementById('module-popular-list-container').style.display = "none";
	document.getElementById('module-blog-widget-container').style.display = "none";
	document.getElementById('module-local-video-container').style.display = "block";

	// update tab styles
	document.getElementById('module-featured-media-link-news').className = 'module-featured-media-link';
	document.getElementById('module-featured-media-link-promo').className = 'module-featured-media-link';
	document.getElementById('module-featured-media-link-top-5').className = 'module-featured-media-link';
	document.getElementById('module-featured-media-link-local-video').className = 'module-featured-media-link-selected';

	return;
} /* )>>> */

function FeaturedMediaStart() { /* <<<( */

	if (null != hdl_moduleFeaturedMediaTimeout) {
		clearTimeout(hdl_moduleFeaturedMediaTimeout);
	}

	hdl_moduleFeaturedMediaTimeout = setTimeout(FeaturedMediaCycleForward, g_moduleFeaturedMediaDisplayTime);

	return;
} /* )>>> */

function FeaturedMediaCycleForward() { /* <<<( */

	if (null != hdl_moduleFeaturedMediaTimeout) {
		clearTimeout(hdl_moduleFeaturedMediaTimeout);
	}

	FeaturedMediaNext();

	hdl_moduleFeaturedMediaTimeout = setTimeout(FeaturedMediaCycleForward, g_moduleFeaturedMediaDisplayTime);

} /* )>>> */

function FeaturedMediaStop() { /* <<<( */

	if (null != hdl_moduleFeaturedMediaTimeout) {
		clearTimeout(hdl_moduleFeaturedMediaTimeout);
	}

	return;
} /* )>>> */

function FeaturedMediaNext() { /* <<<( */

	if (0 < g_moduleFeaturedMediaItems.length) {

		// move to next item
		g_moduleFeaturedMediaCurrItem++;

		// check for overflow
		if (g_moduleFeaturedMediaItems.length <= g_moduleFeaturedMediaCurrItem) {
			g_moduleFeaturedMediaCurrItem = 0;
		}

		// select next item
		g_moduleFeaturedMediaItems[g_moduleFeaturedMediaCurrItem]();
	}

	return;
} /* )>>> */

function FeaturedMediaPrev() { /* <<<( */

	if (0 < g_moduleFeaturedMediaItems.length) {

		// move to previous item
		g_moduleFeaturedMediaCurrItem--;

		// check for overflow
		if (0 > g_moduleFeaturedMediaCurrItem) {
			g_moduleFeaturedMediaCurrItem = g_moduleFeaturedMediaItems - 1;
		}

		// select next item
		g_moduleFeaturedMediaItems[g_moduleFeaturedMediaCurrItem]();
	}

	return;
} /* )>>> */


