﻿// JScript File

/* DG - Declare style variable here */
var selectedBG = "#fff";
var selectedFontColor = "#e00e5f";
var unSelectedBG = "#f3cddc";
var unSelectedFontColor = "#666";

//2D array of divs in sliders
var slidernodes = new Object();
var slidernodes2 = new Object();
//Array of curent pages on slider
var curentslide = new Object();
//Array of old pages on slider
var oldslide = new Object();
//Array of fadeIn/Out effects
var fadeFx = new Object();
var fadeFx2 = new Object();
//State of slider (0=fadeout, 1=fadein, 2=break)
var state = new Object();

var ContentSlider = new Class({
    // inicialization of slider
    initialize: function(id, fadeInTime, fadeOutTime, breakTime) {
        this.id = id;
        this.fadeInTime = fadeInTime;
        this.fadeOutTime = fadeOutTime;
        this.breakTime = breakTime;
        slidernodes[this.id] = [];
        slidernodes2[this.id] = [];
        fadeFx[this.id] = [];
        fadeFx2[this.id] = [];
        curentslide[this.id] = 0;
        oldslide[this.id] = 0;
        var slider = $(this.id);
        var alldivs = $$("div.ContentPage");
        var alltextdivs = $$("div.contentSliderTextHolder")
        
        for (var i = 0; i < alldivs.length; i++) {
            if (alldivs[i].parentNode.id == this.id) {
                slidernodes[this.id].push(alldivs[i])
                fadeFx[this.id].push(new Fx.Morph(alldivs[i], { duration: this.fadeInTime, wait: false }));

                slidernodes2[this.id].push(alltextdivs[i])
                fadeFx2[this.id].push(new Fx.Morph(alltextdivs[i], { duration: this.fadeInTime, wait: false }));
            }
        }
        if (slidernodes[this.id].length != 0) {
            this.show(curentslide[this.id]);
        }

        //dg
        id = $("ctl00_plcDefaultCol02_ContentSlider1_pagerpage_page_0");
        id.setStyle('background', selectedBG);
        id = $("ctl00_plcDefaultCol02_ContentSlider1_page_0");
        id.setStyle('color', selectedFontColor);
    },
    //show start page and hide others
    show: function(page) {
        slidernodes[this.id].each(function(item, index) {
            item.setOpacity(0);
            item.setStyle('z-index', '10');
        });
        slidernodes[this.id][page].setOpacity(1);
        slidernodes[this.id][page].setStyle('z-index', '11');

        slidernodes2[this.id].each(function(item, index) {
            item.setOpacity(0);
            item.setStyle('z-index', '20');
        });
        slidernodes2[this.id][page].setOpacity(0.8);
        slidernodes2[this.id][page].setStyle('z-index', '21');
        
    },
    //turn page (fadeIn-fadeOut effect)
    turnPage: function(page, isAuto) {
        if (isAuto) {
            var tmp = this.id;
            state[tmp] = 0;
            fadeFx[this.id][curentslide[this.id]].start({ 'opacity': 0.0, 'z-index': 11 }).chain(function() {
                state[tmp] = 1;
                fadeFx[tmp][page].start({ 'opacity': 1.0, 'z-index': 11 }).chain(function() {
                    state[tmp] = 2;
                });
            });
            fadeFx2[this.id][curentslide[this.id]].start({ 'opacity': 0.0, 'z-index': 21 }).chain(function() {
                state[tmp] = 1;
                fadeFx2[tmp][page].start({ 'opacity': 0.8, 'z-index': 21 }).chain(function() {
                    state[tmp] = 2;
                });
            });
            //dg
            id = $("ctl00_plcDefaultCol02_ContentSlider1_pagerpage_page_" + curentslide[this.id]);
            id.setStyle('background', unSelectedBG);
            id = $("ctl00_plcDefaultCol02_ContentSlider1_page_" + curentslide[this.id]);
            id.setStyle('color', unSelectedFontColor);

            oldslide[this.id] = curentslide[this.id];
            curentslide[this.id] = page;
            //dg
            id = $("ctl00_plcDefaultCol02_ContentSlider1_pagerpage_page_" + page);
            id.setStyle('background', selectedBG);
            id = $("ctl00_plcDefaultCol02_ContentSlider1_page_" + page);
            id.setStyle('color', selectedFontColor);
        }
        else {   //disable autoTurnPage
            if (typeof window[this.id + "timer"] != "undefined") {
                clearTimeout(window[this.id + "timer"])
            }

            var tmp = this.id;
            if (state[tmp] == 0) {  //if fadeOut
                //Clear old chain
                fadeFx[this.id][oldslide[this.id]].clearChain();
                fadeFx2[this.id][oldslide[this.id]].clearChain();

                state[tmp] = 0;
                fadeFx[this.id][oldslide[this.id]].start({ 'opacity': 0.0, 'z-index': 11 }).chain(function() {
                    state[tmp] = 1;
                    fadeFx[tmp][page].start({ 'opacity': 1.0, 'z-index': 11 }).chain(function() {
                        state[tmp] = 2;
                    });
                });

                fadeFx2[this.id][oldslide[this.id]].start({ 'opacity': 0.0, 'z-index': 21 }).chain(function() {
                    state[tmp] = 1;
                    fadeFx2[tmp][page].start({ 'opacity': 0.8, 'z-index': 21 }).chain(function() {
                        state[tmp] = 2;
                    });
                });

                oldslide[this.id] = curentslide[this.id];
                curentslide[this.id] = page;
            }
            else {  //if fadeIn or break
                //Clear old chain
                fadeFx[this.id][curentslide[this.id]].clearChain();
                fadeFx2[this.id][curentslide[this.id]].clearChain();

                state[tmp] = 0;
                fadeFx[this.id][curentslide[this.id]].start({ 'opacity': 0.0, 'z-index': 11 }).chain(function() {
                    state[tmp] = 1;
                    fadeFx[tmp][page].start({ 'opacity': 1.0, 'z-index': 11 }).chain(function() {
                        state[tmp] = 2;
                    });
                });

                fadeFx2[this.id][curentslide[this.id]].start({ 'opacity': 0.0, 'z-index': 21 }).chain(function() {
                    state[tmp] = 1;
                    fadeFx2[tmp][page].start({ 'opacity': 0.8, 'z-index': 21 }).chain(function() {
                        state[tmp] = 2;
                    });
                });

                oldslide[this.id] = curentslide[this.id];
                curentslide[this.id] = page;
            }

            //dg
            id = $("ctl00_plcDefaultCol02_ContentSlider1_pagerpage_page_" + oldslide[this.id]);
            id.setStyle('background', unSelectedBG);
            id = $("ctl00_plcDefaultCol02_ContentSlider1_page_" + oldslide[this.id]);
            id.setStyle('color', unSelectedFontColor);

            id = $("ctl00_plcDefaultCol02_ContentSlider1_pagerpage_page_" + curentslide[this.id]);
            id.setStyle('background', selectedBG);
            id = $("ctl00_plcDefaultCol02_ContentSlider1_page_" + curentslide[this.id]);
            id.setStyle('color', selectedFontColor);

        }
    }
});

// Auto turn page 
function autoTurnPage(slider,page,time,turn){
    try
    {
        if (page >= slidernodes[slider.id].length)
        {   
            page = 0;
        }

        if(turn)
        {
            slider.turnPage(page,true);
        }
    
        window[slider.id+"timer"]=setTimeout(function(){autoTurnPage(slider,page+1,time,true)},time)
    }
    catch (ex)
    {
    }
}