﻿document.addEvent('domready', function() { Home.Setup(); });

var Home = {
    Setup: function() {
        $$('.imageslide').each(function(x) {
            var curSlide = -1;
            var slideDuration = 5000;
            var slidePages = x.getElements('div.slide');
            slidePages.set('tween', { duration: '1000', onComplete: function(y) { if (y.get('opacity') == 0) y.addClass('hidden'); } });
            slidePages.addClass('hidden').setOpacity(0);

            var showSlide = function(i) {
                if (i != curSlide) {
                    var src = slidePages[i].getElement('img').get('src');
                    Asset.image(src, {
                        onLoad: function(a) {
                            if (slidePages[curSlide] != null)
                                slidePages[curSlide].fade(0);
                            curSlide = i;
                            slidePages[curSlide].setOpacity(0).removeClass('hidden').fade(1);
                            var nav = x.getElements('.nav li');
                            nav.removeClass('current');
                            nav[curSlide].addClass('current');
                        }
                    });


                }
            }
            var nextSlide = function() {
                var next = curSlide + 1;
                if (next >= slidePages.length)
                    next = 0;

                showSlide(next);
            }

            var i = 0;
            slidePages.each(function(y) {
                var j = i;
                var el = new Element('li');
                el.inject(x.getElement('.nav'));
                var a = new Element('a', { 'href': '#' });
                a.set('text', y.getElement('img').get('alt'));
                if (y.getElement('img').get('colour') != null) {
                    a.set('style', 'background:#' + y.getElement('img').get('colour'));
                }
                a.inject(el);
                a.addEvent('click', function(z) {
                    z.stop();
                    showSlide(j);
                    window.clearInterval(period);
                    period = nextSlide.periodical(slideDuration);
                });
                i++;
            });

            nextSlide();
            var period = nextSlide.periodical(slideDuration);

        });
    }
}
