$slideshow = {
    context: false,
    tabs: false,
    timeout: 6000,      // time before next slide appears (in ms)
    slideSpeed: 1000,   // time it takes to slide in each slide (in ms)
    tabSpeed: 300,      // time it takes to slide in each slide (in ms) when clicking through tabs
    fx: 'scrollLeft',   // the slide effect to use
    
    init: function() {
        // set the context to help speed up selectors/improve performance
        this.context = $('#slideshow');
        
        // set tabs to current hard coded navigation items
        this.tabs = $('ul.slides-nav li', this.context);
        
        // remove hard coded navigation items from DOM 
        // because they aren't hooked up to jQuery cycle
        this.tabs.remove();
        
        // prepare slideshow and jQuery cycle tabs
        this.prepareSlideshow();
    },
    
    prepareSlideshow: function() {
        // initialise the jquery cycle plugin -
        // for information on the options set below go to: 
        // http://malsup.com/jquery/cycle/options.html
        $('div.slides > ul', $slideshow.context).cycle({
            fx: $slideshow.fx,
            timeout: $slideshow.timeout,
            speed: $slideshow.slideSpeed,
            fastOnEvent: $slideshow.tabSpeed,
            pager: $('ul.slides-nav', $slideshow.context),
            pagerAnchorBuilder: $slideshow.prepareTabs,
            before: $slideshow.activateTab,
            pauseOnPagerHover: true,
            pause: true
        });            
    },
    
    prepareTabs: function(i, slide) {
        // return markup from hardcoded tabs for use as jQuery cycle tabs
        // (attaches necessary jQuery cycle events to tabs)
        return $slideshow.tabs.eq(i);
    },

    activateTab: function(currentSlide, nextSlide) {
        // get the active tab
        var activeTab = $('a[href="#' + nextSlide.id + '"]', $slideshow.context);
        
        // if there is an active tab
        if(activeTab.length) {
            // remove active styling from all other tabs
            $slideshow.tabs.removeClass('on');
            
            // add active styling to active button
            activeTab.parent().addClass('on');
        }            
    }            
};


$(function() {
    // add a 'js' class to the body
    $('body').addClass('js');
    
    // initialise the slideshow when the DOM is ready
    $slideshow.init();
});


// slideshow 2


//$slideshow2 = {
//    context: false,
//    tabs: false,
//    timeout: 3500,      // time before next slide appears (in ms)
//    slideSpeed: 1000,   // time it takes to slide in each slide (in ms)
//    tabSpeed: 300,      // time it takes to slide in each slide (in ms) when clicking through tabs
//    fx: 'scrollLeft',   // the slide effect to use
//    
//    init: function() {
//        // set the context to help speed up selectors/improve performance
//        this.context = $('#slideshow2');
//        
//        // set tabs to current hard coded navigation items
//        this.tabs = $('ul.slides-nav li', this.context);
//        
//        // remove hard coded navigation items from DOM 
//        // because they aren't hooked up to jQuery cycle
//        this.tabs.remove();
//        
//        // prepare slideshow2 and jQuery cycle tabs
//        this.prepareSlideshow();
//    },
//    
//    prepareSlideshow: function() {
//        // initialise the jquery cycle plugin -
//        // for information on the options set below go to: 
//        // http://malsup.com/jquery/cycle/options.html
//        $('div.slides > ul', $slideshow2.context).cycle({
//            fx: $slideshow2.fx,
//            timeout: $slideshow2.timeout,
//            speed: $slideshow2.slideSpeed,
//            fastOnEvent: $slideshow2.tabSpeed,
//            pager: $('ul.slides-nav', $slideshow2.context),
//            pagerAnchorBuilder: $slideshow2.prepareTabs,
//            before: $slideshow2.activateTab,
//            pauseOnPagerHover: true,
//            pause: true
//        });            
//    },
//    
//    prepareTabs: function(i, slide) {
//        // return markup from hardcoded tabs for use as jQuery cycle tabs
//        // (attaches necessary jQuery cycle events to tabs)
//        return $slideshow2.tabs.eq(i);
//    },

//    activateTab: function(currentSlide, nextSlide) {
//        // get the active tab
//        var activeTab = $('a[href="#' + nextSlide.id + '"]', $slideshow2.context);
//        
//        // if there is an active tab
//        if(activeTab.length) {
//            // remove active styling from all other tabs
//            $slideshow2.tabs.removeClass('on');
//            
//            // add active styling to active button
//            activeTab.parent().addClass('on');
//        }            
//    }            
//};


//$(function() {
//    // add a 'js' class to the body
//    $('body').addClass('js');
//    
//    // initialise the slideshow2 when the DOM is ready
//    $slideshow2.init();
//});

//// slideshow 3


//$slideshow3 = {
//    context: false,
//    tabs: false,
//    timeout: 3000,      // time before next slide appears (in ms)
//    slideSpeed: 1000,   // time it takes to slide in each slide (in ms)
//    tabSpeed: 300,      // time it takes to slide in each slide (in ms) when clicking through tabs
//    fx: 'scrollLeft',   // the slide effect to use
//    
//    init: function() {
//        // set the context to help speed up selectors/improve performance
//        this.context = $('#slideshow3');
//        
//        // set tabs to current hard coded navigation items
//        this.tabs = $('ul.slides-nav li', this.context);
//        
//        // remove hard coded navigation items from DOM 
//        // because they aren't hooked up to jQuery cycle
//        this.tabs.remove();
//        
//        // prepare slideshow3 and jQuery cycle tabs
//        this.prepareSlideshow();
//    },
//    
//    prepareSlideshow: function() {
//        // initialise the jquery cycle plugin -
//        // for information on the options set below go to: 
//        // http://malsup.com/jquery/cycle/options.html
//        $('div.slides > ul', $slideshow3.context).cycle({
//            fx: $slideshow3.fx,
//            timeout: $slideshow3.timeout,
//            speed: $slideshow3.slideSpeed,
//            fastOnEvent: $slideshow3.tabSpeed,
//            pager: $('ul.slides-nav', $slideshow3.context),
//            pagerAnchorBuilder: $slideshow3.prepareTabs,
//            before: $slideshow3.activateTab,
//            pauseOnPagerHover: true,
//            pause: true
//        });            
//    },
//    
//    prepareTabs: function(i, slide) {
//        // return markup from hardcoded tabs for use as jQuery cycle tabs
//        // (attaches necessary jQuery cycle events to tabs)
//        return $slideshow3.tabs.eq(i);
//    },

//    activateTab: function(currentSlide, nextSlide) {
//        // get the active tab
//        var activeTab = $('a[href="#' + nextSlide.id + '"]', $slideshow3.context);
//        
//        // if there is an active tab
//        if(activeTab.length) {
//            // remove active styling from all other tabs
//            $slideshow3.tabs.removeClass('on');
//            
//            // add active styling to active button
//            activeTab.parent().addClass('on');
//        }            
//    }            
//};


//$(function() {
//    // add a 'js' class to the body
//    $('body').addClass('js');
//    
//    // initialise the slideshow3 when the DOM is ready
//    $slideshow3.init();
//});
