// JavaScript Document
function $i(id){return document.getElementById(id);}
// 横着滚动
function simpleSideScroll(c,ul,config,direction){
    this.config = config ? config : {start_delay:3000, speed: 23, delay:4000, scrollItemCount:1};
        //基本设置：开始延时：3000；速度23；移动后延时：4000；滚动数值：1
        this.c = $i(c);
        //获取外面的大div
        this.ul = $i(ul);
        //获取滚动li标签外的ul
        this.direction = direction ? direction : "left";
        //开始默认向左滚动不暂停
        this.pause = false;
        //开始默认跑动
        //新建一个buttonlist对象
        this.buttonlist= new Object();
        
        this.delayTimeId=null;
        
        var _this = this;
        this.c.onmouseover=function(){_this.pause = true;}
        //鼠标悬浮在div上就停止滚动
        this.c.onmouseout=function(){_this.pause = false;}
        //鼠标移开div就继续滚动
        this.init = function() {
                _this.scrollTimeId = null;
                setTimeout(_this.start,_this.config.start_delay);
        }
        
        this.start = function() {
                var d = _this.c;
                var width = d.getElementsByTagName('li')[0].offsetWidth;
                if(d.scrollWidth-d.offsetLeft>=width) _this.scrollTimeId = setInterval(_this.scroll,_this.config.speed)
        };
        
        this.scroll = function() {
                if(_this.pause)return;
                var ul= _this.ul;
                var d = _this.c;
                var width = d.getElementsByTagName('li')[0].offsetWidth;
                if(_this.direction == 'left'){
                d.scrollLeft += 2;
                if(d.scrollLeft%(width*_this.config.scrollItemCount)<=1){
                        if(_this.config.movecount != undefined)
                                for(var i=0;i<_this.config.movecount;i++){ul.appendChild(ul.getElementsByTagName('li')[0]);}
                        else for(var i=0;i<_this.config.scrollItemCount;i++){ul.appendChild(ul.getElementsByTagName('li')[0]);}
                        d.scrollLeft=0;
                        clearInterval(_this.scrollTimeId);
                        
                        _this.delayTimeId=setTimeout(_this.start,_this.config.delay);
                }
                }
                else {
                    if(d.scrollLeft==0)
                    {
                        var lis=ul.getElementsByTagName('li');
                        for(var i=0;i<_this.config.scrollItemCount;i++){
                            ul.insertBefore(lis[lis.length-1],lis[0]);
                        }
                        d.scrollLeft = width;
                    }
                    d.scrollLeft -= 2;
                    if(d.scrollLeft%(width*_this.config.scrollItemCount)<=1){
                        d.scrollLeft=0;
                        clearInterval(_this.scrollTimeId);
                        _this.delayTimeId=setTimeout(_this.start,_this.config.delay);
                    }
                }
        }
        
        this.setButton=function(id,direction){
            if($i(id)){
                var c=$i(id);
                var buttonlist =_this.buttonlist;
                if(buttonlist[id] == undefined){
                    buttonlist[id] =new Object();
                    _this.buttonlist[id][0]=c;
                    _this.buttonlist[id][1]=direction;
                    
                    c.onclick=function(){
                         clearInterval(_this.scrollTimeId);
                         
                        var dir=_this.buttonlist[this.id][1];
                        var d = _this.c;
                        var ul= _this.ul;
                        d.scrollLeft=0;
                        if(dir =="left")
                        {
                            for(var i=0;i<_this.config.scrollItemCount;i++){ul.appendChild(ul.getElementsByTagName('li')[0]);}
                        }
                        else{
                            var lis=ul.getElementsByTagName('li');
                                for(var i=0;i<_this.config.scrollItemCount;i++){
                                    ul.insertBefore(lis[lis.length-1],lis[0]);
                                }
                        }
                            
                        _this.direction= dir;
                        clearTimeout(_this.delayTimeId);
                        _this.delayTimeId=setTimeout(_this.start,_this.config.delay);
                        return false;
                    }
                }
            }
        }
}

var cooperater_run;/*banners,*/
function init_load(){
/*    if ($i('banners')) {
                banners = new tabswitch('banners', {});
                setInterval("banners.start(null, null, 1);", 6000);
        }*/
    if($i('channel_list_scroll')){
            cooperater_run=new simpleSideScroll('channel_list_scroll','channel_list_scroll_ul',{start_delay:1000, speed: 30, delay:0, scrollItemCount:1},'left')
            cooperater_run.setButton('channel_list_scroll_left','left');
            cooperater_run.setButton('channel_list_scroll_right','right');
            cooperater_run.init();
        }
}
if(window.attachEvent){
    window.attachEvent("onload",init_load);
}else if(window.addEventListener){
    window.addEventListener("load",init_load,false);
}
