/**
 * @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;
	}
	if(options.pager != undefined)
	{
		me.pager = options.pager;
	} else 
	{
		me.pager = me.domID+' .nav';
	}
   
   
	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);
	}
	jQuery(me.domID+' .slideshow').cycle('stop');
	jQuery(me.domID+' .slideshow').cycle({ 
        fx:     'fade', 
        speed:   1000, 
		delay: new Number(me.startDelay),
        timeout: new Number(me.timeOut), 
        pager:  me.pager,
        pagerEvent: 'click', 
        pauseOnPagerHover: true,
		pause: true,
        before:  me.onBefore_, 
        after:   me.onAfter_ 
    });
	
}

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("slow");
    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').cycle('stop');
}
