/**
 * slideshow.js
 *   -requires JQuery-Cycle
 */

jQuery.noConflict();

jQuery(document).ready(init);

function init () {
	jQuery('.slideshow-container').each(
		function(i) {
			var effect = '';
			if(jQuery(this).hasClass('pager') || jQuery(this).hasClass('tabs')) {
				// both pager and tabs currently require a pager div (user may have selected tabs but no pager)
				jQuery(this).prepend('<div class="slideshow-pager slideshow-pager-' + i + '" ></div>');
			}
			
			if(jQuery(this).hasClass('tabs')) {
				effect = 'none';
			}
			else {
				effect = 'scrollHorz';
				jQuery(this).children('.slideshow-pager').before("<div class=\"slideshow-control slideshow-prev\"><a href=\"#\" title=\"previous slide\" ><span class=\"pager-link-text\">View Previous Slide</span></a></div>\n<div class=\"slideshow-control slideshow-next\"><a href=\"#\" title=\"next slide\" ><span class=\"pager-link-text\">View Next Slide</span></a></div>");
				jQuery(this).children('.slideshow-prev').addClass('slideshow-prev-' + i);
				jQuery(this).children('.slideshow-next').addClass('slideshow-next-' + i);
			}
			jQuery(this).children('.slideshow').cycle({
				fx: effect,
				timeout: 0,
				pager: '.slideshow-pager-' + i,
				pagerAnchorBuilder: slideTitle,
				prev: '.slideshow-prev a',
				next: '.slideshow-next a',
				pause: 1
			});
		}
	);
	
	// on elearning-continuum page, set up image map
	jQuery('map#continuum-map area').each(
		function(i) {
			jQuery(this).click(function() {
				jQuery('.slideshow').cycle(i);
			});
		}
	);
	
	// fix to support numerical hashes in urls activating a specific slide index
	var hash = window.location.hash;
	hash = hash.replace('#', '');
	if(hash != '') {
		var i = parseInt(hash);
		if(!isNaN(i)) {
			jQuery('.slideshow').cycle(i);
		}
	}
}

function slideTitle(i, slide) {
	var text = i;
	
	if(jQuery(slide).find('.slide-title').length) {
		text = jQuery(slide).find('.slide-title').html();
	}
	
	return '<a href="#">' + text + '</a>';
}
