
var homeScroll = new Class({

    options: {
        imgWidth: 0,
        scrollRange: 0,
        slideElement: null,
        pauseBtn: null,
        container: null,
        leftClicks: 0,
        rightClicks: 0,
        speed: 1000,
        timedSwitch: 10000
    },

    initialize: function(options) {



        this.setOptions(options);
        this.imgWidth = options['imgWidth'];
        this.slidesNo = $$("#" + options['container'] + " ." + options['slideElement']).length;
        this.scrollRange = this.imgWidth * this.slidesNo;
        this.timerTime = options['timedSwitch'];

        this.container = $(options['container']);
        this.pauseBtn = options['pauseBtn'];
        this.paused = false;
        this.curSlide = 0;
        this.leftClicks = 0;
        this.rightClicks = 0;
        this.speed = options['speed'];


        this.navContainer = new Element('div', { 'id': 'bannerNav' });
        this.navItem = new Array;



        for (x = 0; x < this.slidesNo; x++) {
            if (x == 0) {
                //			this.navItem[x] = new Element('div',{'class':'bannerNavBtn01 divbannerNavBtn01_active', 'id':'divbannerNavBtn01'});			
                //			this.navItem[x].appendText('E-Volved');
                //			this.navItem[x].inject(this.navContainer);
            }
            if (x == 1) {
                //			this.navItem[x] = new Element('div',{'class':'bannerNavBtn02', 'id':'divbannerNavBtn02'});
                //			this.navItem[x].appendText('For Merchants');
                //			this.navItem[x].inject(this.navContainer);
            }
            if (x == 2) {
                //			this.navItem[x] = new Element('div',{'class':'bannerNavBtn03', 'id':'divbannerNavBtn03'});
                //			this.navItem[x].appendText('For Developers');
                //			this.navItem[x].inject(this.navContainer);
            }
            if (x == 3) {
                //			this.navItem[x] = new Element('div',{'class':'bannerNavBtn04', 'id':'divbannerNavBtn04'});
                //			this.navItem[x].appendText('MarketPlace');
                //			this.navItem[x].inject(this.navContainer);
            }
            if (x == 4) {
                //			this.navItem[x] = new Element('div',{'class':'bannerNavBtn05', 'id':'divbannerNavBtn05'});
                //			this.navItem[x].appendText('Custom Solutions');
                //			this.navItem[x].inject(this.navContainer);
            }
            if (x == 5) {
                //			this.navItem[x] = new Element('div',{'class':'bannerNavBtn06', 'id':'divbannerNavBtn06'});
                //			this.navItem[x].appendText('Visa Approved');
                //			this.navItem[x].inject(this.navContainer);
            }
            if (x == 6) {
                //			this.navItem[x] = new Element('div',{'class':'bannerNavBtn07', 'id':'divbannerNavBtn07'});
                //			this.navItem[x].appendText('10,000+');
                //			this.navItem[x].inject(this.navContainer);
            }
            /*				this.navItem[x] = new Element('div',{'class':'bannerNavBtn'});
            this.navItem[x].createElement("img");
            this.navItem[x].setAttribute("src", "images/images/icon01.jpg");
            this.navItem[x].setAttribute("height", "26");
            this.navItem[x].setAttribute("width", "26");
            this.navItem[x].setAttribute("alt", "GiantCo Logo");*/
            /*			this.navItem[x].pasteHTML('<img src=\"" + /images/images/icon001.jpg + "\" />');*/
            /*			this.navItem[x].getElement("img").setProperty('src','/images/images/icon001.jpg');
            this.navItem[x].appendText('Home');
            this.navItem[x].inject(this.navContainer);*/
        }


        this.navItem.each(function(btn, index) {
            btn.addEvent('click', function() {

                this.goToSlide(index);

            } .bindWithEvent(this));
        } .bind(this));



        this.navContainer.inject($('sliderMask'));
        /*		this.navContainer.setStyle('opacity',0.8);*/

        $(this.pauseBtn).addEvent('click', this.pauseClick.bindWithEvent(this));

        this.container.setStyle('width', this.scrollRange);
        this.delayTimer = this.timedSwitch.periodical(this.timerTime, this);





    },

    pauseClick: function() {

        //alert($(this.pauseBtn).getElement('ctl00_btnImg'));
        if (this.paused == false) {
            this.paused = true;
            var pbtn = $(this.pauseBtn).getElementsByTagName("img");
            pbtn[0].getAttributeNode("src").value = "App_Themes/Skin_1/images/slider_play.png";
            //$(this.pauseBtn).getElementById("ctl00_btnImg").setAttribute('src', 'images/slider_play.png');
            $clear(this.delayTimer);

        }

        else {
            this.paused = false;
            var pbtn = $(this.pauseBtn).getElementsByTagName("img");
            pbtn[0].getAttributeNode("src").value = "App_Themes/Skin_1/images/slider_pause.png";
            //$(this.pauseBtn).getElementById("ctl00_btnImg").setAttribute('src', 'images/slider_pause.png');
            this.delayTimer = this.timedSwitch.periodical(this.timerTime, this);
        }


    },


    goToSlide: function(newSlide) {

        var prevNav = this.navItem[this.curSlide];
        var curNav = this.navItem[newSlide];

        prevNav.removeClass('active');
        curNav.addClass('active');

        prevNav.removeClass(prevNav.id + '_active');
        curNav.addClass(curNav.id + '_active');



        var end = (newSlide) * this.imgWidth;
        $(this.container).effect('right', { duration: this.speed, wait: true, transition: Fx.Transitions.Back.easeOut }).start(this.curSlide * this.imgWidth, end);

        this.curSlide = newSlide;

        if (this.paused == false) {
            $clear(this.delayTimer);
            this.delayTimer = this.timedSwitch.periodical(this.timerTime, this);
        }
    },

    leftClick: function() {


        if (this.curSlide > 0) {

            var end = (this.curSlide - 1) * this.imgWidth;
            $(this.container).effect('right', { duration: this.speed, wait: true, transition: Fx.Transitions.Back.easeOut }).start(this.curSlide * this.imgWidth, end);

            this.curSlide--;

            if (this.paused == false) {
                $clear(this.delayTimer);
                this.delayTimer = this.timedSwitch.periodical(this.timerTime, this);
            }
        }


    },

    rightClick: function() {
        if (this.curSlide < this.slidesNo - 1) {

            //var prevNav = this.navItem[this.curSlide];
            //var curNav = this.navItem[this.curSlide+1];

            //prevNav.removeClass('active');
            //curNav.addClass('active');

            //prevNav.removeClass(prevNav.id + '_active');
            //curNav.addClass(curNav.id + '_active');

            //this.navItem[this.curSlide].removeClass('active');
            //this.navItem[this.curSlide +1].addClass('active');


            var end = (this.curSlide * this.imgWidth) + this.imgWidth;
            $(this.container).effect('right', { duration: this.speed, wait: true, transition: Fx.Transitions.Back.easeOut }).start(this.curSlide * this.imgWidth, end);

            this.curSlide++;
            if (this.paused == false) {
                $clear(this.delayTimer);
                this.delayTimer = this.timedSwitch.periodical(this.timerTime, this);
            }
        }

    },


    speedReverse: function() {

        var prevNav = this.navItem[this.curSlide];
        var curNav = this.navItem[0];

        //prevNav.removeClass('active');
        //curNav.addClass('active');

        //prevNav.removeClass(prevNav.id + '_active');
        //curNav.addClass(curNav.id + '_active');

        //this.navItem[this.curSlide].removeClass('active');
        //this.navItem[0].addClass('active');				

        var end = 0;
        $(this.container).effect('right', { duration: this.speed, wait: true, transition: Fx.Transitions.Back.easeIn }).start(this.curSlide * this.imgWidth, end);
        this.curSlide = 0;

    },

    timedSwitch: function() {


        if (this.curSlide == this.slidesNo - 1) {
            this.speedReverse();
        }
        else {
            this.rightClick();
        }
    }





});

homeScroll.implement(new Options, new Events);



