/**
 * @author JohnL
 */
function SlideShow(options)
{
	var me = this;
	options = options || {};
	if(options.domID != undefined)
	{
		me.domID = options.domID;
	} else 
	{
		me.domID = "#blah";
	}
	if(options.timeOut != undefined)
	{
		me.timeOut = options.timeOut;
	} else 
	{
		me.timeOut = 7000;
	}
	if(options.startDelay != undefined)
	{
		me.startDelay = options.startDelay;
	} else 
	{
		me.startDelay = 0;
	}
   var pager = null;
	if(options.pager != undefined)
	{
		me.pager = pager = options.pager;
      
	} else 
	{
		me.pager = pager = me.domID+' .nav';
	}
   if(options.pagerEvent != undefined)
	{
		me.pagerEvent = options.pagerEvent;
	} else 
	{
		me.pagerEvent = 'click';
	}
   var cycleOptions = null;
   
	me.onBefore_ = function(currSlideElement, nextSlideElement, options, forwardFlag)
	{
		return me.onBefore(currSlideElement, nextSlideElement, options, forwardFlag);
	}
	me.onAfter_ = function(currSlideElement, nextSlideElement, options, forwardFlag)
	{
		return me.onAfter(currSlideElement, nextSlideElement, options, forwardFlag);
	}
   
   if(options.cycleOptions != undefined)
	{
		cycleOptions = options.cycleOptions;
	} else 
	{
		cycleOptions = { 
           fx:     'fade', 
           speed:   1000, 
         delay: new Number(me.startDelay),
           timeout: new Number(me.timeOut), 
           pager:  pager,
           pagerEvent: me.pagerEvent, 
           pauseOnPagerHover: true,
         pause: true,
           before:  me.onBefore_, 
           after:   me.onAfter_ 
      };
	}
	jQuery(me.domID+' .slideshow p').cycle('stop');
	jQuery(me.domID+' .slideshow p').cycle(cycleOptions);
	
}

SlideShow.prototype.onBefore = function(currSlideElement, nextSlideElement, options, forwardFlag)
{
	var me = this;
	jQuery(me.domID +' .textWrapper').fadeOut("fast"); 
}

SlideShow.prototype.onAfter = function(currSlideElement, nextSlideElement, options, forwardFlag)
{
	var me = this;
	jQuery(me.domID +' .textWrapper').fadeIn("fast");
    jQuery(me.domID +' .textWrapper h3').html(nextSlideElement.title);
    jQuery(me.domID +' .textWrapper p').html(nextSlideElement.alt);
    jQuery(me.domID +' a').attr("href", nextSlideElement.name);
    //jQuery(me.domID +' a').each(linkSubMenuItemCallback);
}

SlideShow.prototype.stop = function()
{
   var me = this;
   jQuery(me.domID+' .slideshow p').cycle('stop');
}

