var slideshow = {
    current_id: 0,
    current_image: 0,

    // default values	for speed, number of slides

    init: function (o) {
        slideshow.text_speed = o.text_speed || 400;
        slideshow.banner_speed = o.banner_speed || 800;
        slideshow.slide_speed = o.slide_speed || 4000;
        slideshow.slide_count = o.slide_count || 4;
        var count = slideshow.slide_count;

        // start slideshow auto-cycle once everything is loaded

        slideshow.start_cycle();

        // setting up thumbnail behavior for hover and click			

        for (var i = 0; i < count; i++) {
            slideshow.bind_thumb_hover(i);
            slideshow.bind_thumb_click(i);
        }

        // Product Selection Boxes  - pause slideshow and switch to corresponding slide on hover

        $('#pad-0').hover(
				function () {
				    slideshow.stop_cycle();
				    slideshow.change_slide(0);
				},
				function () {
				    slideshow.start_cycle();
				});
        $('#pad-1').hover(
			  function () {
			      slideshow.stop_cycle();
			      slideshow.change_slide(1);
			  },
        function () {
            slideshow.start_cycle();
        }
      );

        // Main Slide Area  - pause slideshow on hover

        $('#BannerImageContainer').hover(
        function () {
            slideshow.stop_cycle();
        },
        function () {
            slideshow.start_cycle();
        }
      );
    },

    // Auto-cycle functions

    start_cycle: function () {
        slideshow.interval_id = setInterval(slideshow.next_slide, slideshow.slide_speed);
    },

    stop_cycle: function () {
        clearInterval(slideshow.interval_id);
    },

    next_slide: function () {
        var next_slide;

        if (slideshow.current_id < slideshow.slide_count - 1) {
            next_slide = slideshow.current_id + 1;
        } else {
            next_slide = 0;
        }

        slideshow.change_slide(next_slide);

    },

    // hover on thumbnail highlights image

    bind_thumb_hover: function (id) {
        $('#slide-thumb-' + id).hover(
				function () {
				    slideshow.change_thumbnail(id);
				    slideshow.stop_cycle();
				},
				function () { slideshow.change_thumbnail(slideshow.current_id); }
				);
    },

    // click thumbnail switches to that slide

    bind_thumb_click: function (id) {
        $('#slide-thumb-' + id).bind('click', function () {
            slideshow.change_slide(id);
        });
    },

    // changing slide elements			

    change_slide: function (id) {
        slideshow.change_banner_image(id, slideshow.banner_speed);
        slideshow.change_product_box(id);
        slideshow.change_banner_text(id, slideshow.text_speed);
        slideshow.change_thumbnail(id);
        slideshow.current_id = id;
    },

    // sets behavior for fading slide images

    change_banner_image: function (id, speed) {
        speed = speed || 800;
        $('#BannerImage-' + slideshow.current_image).fadeOut();
        $('#BannerImage-' + id).fadeIn(speed);
        slideshow.current_image = id;
    },

    // highlights Product Selection Box on corresponding slide		

    change_product_box: function (id) {
        $('#ProductSelectionAg').css('background', 'url(/_layouts/PublishingGreenStoneInternet/imgs/bg/homepage-banner-agbtn.png)');
        $('#ProductSelectionCountryLiving').css('background', 'url(/_layouts/PublishingGreenStoneInternet/imgs/bg/homepage-banner-clbtn.png)');

        if (id == 0) {
            $('#ProductSelectionAg').css('background', 'url(/_layouts/PublishingGreenStoneInternet/imgs/bg/homepage-banner-agbtn-over.png)');
        } else if (id == 1) {
            $('#ProductSelectionCountryLiving').css('background', 'url(/_layouts/PublishingGreenStoneInternet/imgs/bg/homepage-banner-clbtn-over.png)');
        }

    },

    // changes the banner text		

    change_banner_text: function (id, speed) {
        speed = speed || 400;

        var slide_contents = $('#BannerMessage-' + id).html();

        $('#BannerMessage')
			.fadeOut(100, function () {
			    setTimeout(function () {
			        $('#BannerMessage')
          .fadeIn(speed)
          .html(slide_contents);
			    }, slideshow.banner_speed / 2);
			});
    },

    // changes opacity of thumbnail (with css)

    change_thumbnail: function (id) {
        $('.slide-thumb').removeClass('active-thumb');
        $('#slide-thumb-' + id).addClass('active-thumb');
    }
};

$.preLoadImages('/_layouts/PublishingGreenStoneInternet/imgs/bg/homepage-banner-agbtn.png', '/_layouts/PublishingGreenStoneInternet/imgs/bg/homepage-banner-agbtn-over.png', '/_layouts/PublishingGreenStoneInternet/imgs/bg/homepage-banner-clbtn.png', '/_layouts/PublishingGreenStoneInternet/imgs/bg/homepage-banner-clbtn-over.png');	

	
//$(document).ready(function(){  });
