var WideoBox = new Class ({
    
    box:null,
    
    items:null,
    itemHeight:57,

    pagesCount:null,
    pagesCurrent:0,
    
    scroll:null,
    handleUp:null,
    handleDown:null,

    playerWidth:366,
    playerHeight:222,

    initialize:function(id) {
        if(!$(id))
            return;
        
        this.box = $(id);

        var listWrapper = this.box.getElement('ul.movies-list');
        this.items = listWrapper.getElements('li');
        this.pagesCount = this.items.length - 4;

        this.items.each(function(element) {
            
            var togglers = element.getElements('a');
            togglers.addEvent('click', function(event) {
                var e = new Event(event);

                var target = event.target;
                var index = 0;

                var safety = 0;
                while(!target.rel) {
                    target = target.getParent();
                    if(safety == 10)
                        break;
                }
                index = parseInt(target.rel);
                this.showMovie(index);

                e.stop();
            }.bind(this));
        }.bind(this));

        /* Scroll */
        var scrollWrapper = this.box.getElement('div.scroll');
        this.scroll = new Fx.Scroll(scrollWrapper, {
            wait: false,
            duration: 500,
            transition: Fx.Transitions.Sine.easeInOut
        });
        this.scroll.set(0, 0);

        this.handleUp = this.box.getElement('a.up');
        this.handleDown = this.box.getElement('a.down');

        this.handleUp.addEvent('click', function(event) {
            var e = new Event(event);
            this.scrollUp();
            e.stop();
        }.bind(this));
        
        this.handleDown.addEvent('click', function(event) {
            var e = new Event(event);
            this.scrollDown();
            e.stop();
        }.bind(this));
    },

    scrollUp: function() {
        if(this.pagesCurrent > 0) {
            this.pagesCurrent--;
        }

        this.scroll.start(0, this.pagesCurrent * this.itemHeight);

        if(this.pagesCurrent <= 0) {
            this.handleUp.addClass('disabled');
        }
        if(this.pagesCurrent <= this.pagesCount) {
            this.handleDown.removeClass('disabled');
        }
    },

    scrollDown: function() {
        if(this.pagesCurrent < this.pagesCount) {
            this.pagesCurrent++;
        }

        this.scroll.start(0, this.pagesCurrent * this.itemHeight);

        if(this.pagesCurrent >= this.pagesCount) {
            this.handleDown.addClass('disabled');
        }

        if(this.pagesCurrent > 0) {
            this.handleUp.removeClass('disabled');
        }
    },

    showMovie: function(index) {

        this.items.removeClass('selected');
        this.items[index - 1].addClass('selected');

        var movie_source = $('wideo_player_source_'+index).value;
        var movie_url = $('wideo_player_url_'+index).value;

        var flashvars = {};
        var params = {};
        var attributes = {};
        var palyer = "";

        switch(movie_source) {
            case 'streaming':
            case 'file':
                palyer = "/res/swf/player_flv_maxi.swf?noCache="+Math.random();
                flashvars = {
                    flv:movie_url,
                    width:this.playerWidth,
                    height:this.playerHeight,
                    autoload:"1",
                    showstop:"1",
                    showvolume:"1",
                    showtime:"1",
                    autoplay:"1",
                    showfullscreen:"1",
                    bgcolor1:"b1b1b1",
                    bgcolor2:"e2e2e2",
                    playercolor:"fcfcfc",
                    loadingcolor:"c99392",
                    buttoncolor:"434343",
                    buttonovercolor:"ba1010",
                    slidercolor1:"424242",
                    slidercolor2:"6b6a6a",
                    sliderovercolor:"ba1010",
                    bgcolor:"000000"
                };
                params = {
                    allowFullScreen: "true"
                };
                attributes = {
                    id:"main_movie_player_1",
                    name: "main_movie_player_1"
                };
                break;
            case 'vimeo':
            case 'youtube':
                palyer = movie_url;
                flashvars = {
                    autoplay:"1",
                    fs:1
                };
                params = {
                    allowFullScreen: "true",
                    allowscriptaccess: "true"
                  
                };
                attributes = {
                    id: "main_movie_player_1",
                    name: "main_movie_player_1"
                };
                break;
          
        }
        swfobject.embedSWF(palyer, "main_movie_player_1", this.playerWidth, this.playerHeight, "9.0.0","/res/swf/expressInstall.swf", flashvars, params, attributes);
    }
});
