var banners = {
    parentDiv: null,
    images: null,
    current: 0,
    last: 0,
    intervalID: 0,
    slides: null,
    loaded: 0,
    init: function()
    {
        banners.parentDiv = $('#promoPanel');
        banners.images = $('#promoPanel li');
        banners.slides = $('#promoPanel li img');
       
        if(banners.images.length >1)
        {
            banners.preloadImages();
            if(banners.loaded == banners.slides.length)
            {
                banners.setImages();
                banners.intervalID = setInterval('banners.animateSlides()', 10000);
            }
        }
         $('#promoLinks a').click(function()
        {
            banners.setBanner(this.id);
            return false;
        });
        banners.setActiveBannerLink('#idx-' + banners.current);
    },
    preloadImages: function()
    {        
        banners.slides.each(function(i)
        {
            var preImage = new Image();
            preImage.loaded = banners.setLoaded();
            preImage.src = $(this).attr('src');
        });
    },
    setLoaded: function()
    {
        if(banners.loaded < banners.slides.length){banners.loaded++;}
    },
    animateSlides: function()
    {
        for(var i=0; i<banners.images.length; i++)
        {
			$(banners.images[i]).css('display', 'none');
		}
		$(banners.images[banners.last]).css('display', 'block').css('zIndex', '0');
		$(banners.images[banners.current]).css('zIndex', '1').fadeIn('slow');
		
	    if(banners.current < (banners.images.length - 1))
	    {
			banners.current = banners.current + 1;
			banners.last = banners.current - 1;
		}
		else
		{
			banners.current = 0;
			banners.last = banners.images.length - 1;
		}
		//SET ACTIVE CLASS
		banners.setActiveBannerLink('#idx-' + banners.current);		
    },
    setImages: function()
    {
       banners.images = banners.parentDiv.find('li');
       banners.last = banners.images.length - 1;
       $(banners.images[banners.last]).css('display', 'block').css('zIndex', banners.images.length - 1);
	   $(banners.images[banners.last]).css('zIndex', banners.images.length).fadeIn('slow');
    },
    setBanner: function(id)
    {
        var idx = id.replace('idx-', '');
        banners.current = 0;
        banners.current = parseInt(idx);
        banners.intervalID = clearInterval(banners.intervalID);
        banners.animateSlides();
        banners.setActiveBannerLink('#' + id);         
    },
    setActiveBannerLink: function(id)
    {
        banners.resetBannerLinks();
        $(id).addClass('active');        
    },
    resetBannerLinks: function()
    {
        $('#promoLinks a').each(function()
        {
            $(this).removeClass('active');
        })
    }
}

$(document).ready(function()
{
    banners.init();
});
