﻿Type.registerNamespace('GlobeInternational.Controls.Constructors');

GlobeInternational.Controls.Constructors.HomepageBanner = Class.create({
    initialize: function(oQuote, oQuoter, oImage1, oImage2, arrImages, oQuotePlaceholder) {
        this.QuoteBox = $(oQuotePlaceholder);
        this.QuotePlaceholder = $(oQuote);
        this.QuoterPlaceholder = $(oQuoter);
        this.Image1 = $(oImage1);
        this.Image2 = $(oImage2);
        this.Images = arrImages;

        this.CurrentImage = 0;

        this.TotalImage = arrImages.length - 1;

        window.setInterval(this.Next.bind(this), 10000);

    },
    Next: function() {
        if (this.CurrentImage >= this.TotalImage) {
            this.CurrentImage = 0
        } else {
            this.CurrentImage++;
        }

        var Image1, Image2
        if (this.Image1.style.display == 'none') {
            Image1 = this.Image1;
            Image2 = this.Image2;
        } else {
            Image1 = this.Image2;
            Image2 = this.Image1;
        }

        Image1.setAttribute('src', this.Images[this.CurrentImage].Image);


        new Effect.Fade(Image2, { duration: 2 });
        new Effect.Appear(Image1, { duration: 2 });


        new Effect.Fade(this.QuoteBox, { duration: 1, beforeFinish: function() {
            this.QuotePlaceholder.innerHTML = this.Images[this.CurrentImage].Quote;
            this.QuoterPlaceholder.innerHTML = this.Images[this.CurrentImage].Quoter;
            new Effect.Appear(this.QuoteBox, { duration: 1 });
        } .bind(this)
        })
    }
});

GlobeInternational.Controls.Constructors.HomepageBannerItems = Class.create({
    initialize: function(sQuote, sQuoter, sImage) {
        this.Quote = sQuote;
        this.Quoter = sQuoter;
        this.Image = sImage;
        this.ActualImage = new Image();
        this.ActualImage.src = sImage;
    }
});