if (typeof(DDSL) == 'undefined') {
    var DDSL = { };
}

if (typeof(DDSL.LatestNews) == 'undefined') {
    DDSL.LatestNews = {
        _scroller: {
            obj: false,
            panels: [ ],
            items: [ ],
            curr_item: false
        },

        _timer: {
            obj: false,
            pos: 0,
            step_pos: 3,
            step_ms: 100,
            delay_ms: 3300
        },

        init: function() {
            var scroller_obj = document.getElementById('ddsl_latestnews_scroller'), list_ul = document.getElementById('ddsl_latestnews_list');

            if (scroller_obj && list_ul) {
                var list_lis = list_ul.childNodes, list_lisc = list_lis.length;

                for (var i = 0; i < list_lisc; i++) {
                    if (typeof(list_lis[i].tagName) != 'undefined' && list_lis[i].tagName.toUpperCase() == 'LI' && list_lis[i].className != 'more') {
                        DDSL.LatestNews._scroller.items.push(list_lis[i].cloneNode(true));
                    }
                }

                if (DDSL.LatestNews._scroller.items.length > 1) {
                    DDSL.LatestNews._scroller.obj = scroller_obj;
                    DDSL.LatestNews.initScroller();
                }
            }
        },

        initScroller: function() {
            DDSL.LatestNews._scroller.obj.appendChild(document.createElement('ul'));
            DDSL.LatestNews._scroller.panels.push(document.createElement('li'));
            DDSL.LatestNews._scroller.panels[0].id = 'ddsl_latestnews_scroller_panel_0';
            DDSL.LatestNews._scroller.panels.push(document.createElement('li'));
            DDSL.LatestNews._scroller.panels[1].id = 'ddsl_latestnews_scroller_panel_1';
            DDSL.LatestNews._scroller.obj.childNodes[0].appendChild(DDSL.LatestNews._scroller.panels[0]);
            DDSL.LatestNews._scroller.obj.childNodes[0].appendChild(DDSL.LatestNews._scroller.panels[1]);
            DDSL.LatestNews.timerStart();
        },

        setScrollContent: function() {
            var s = DDSL.LatestNews._scroller, ni = (s.curr_item >= s.items.length - 1 ? 0 : s.curr_item + 1), cnc = s.items[ni].childNodes.length;

            if (s.obj.style.display != 'block') {
                s.obj.style.display = 'block';
            } else {
                var new_height = s.panels[0].clientHeight + 'px';
                s.obj.style.clip = 'rect(0 auto auto 0)';
                s.obj.style.height =  new_height;
                s.obj.style.marginTop = '0';
            }

            while (s.panels[1].childNodes.length > 0) {
                s.panels[1].removeChild(s.panels[1].childNodes[0]);
            }

            for (i = 0; i < cnc; i++) {
                s.panels[1].appendChild(s.items[ni].childNodes[i].cloneNode(true));
            }

            cnc = s.items[s.curr_item].childNodes.length;

            while (s.panels[0].childNodes.length > 0) {
                s.panels[0].removeChild(s.panels[0].childNodes[0]);
            }

            for (var i = 0; i < cnc; i++) {
                s.panels[0].appendChild(s.items[s.curr_item].childNodes[i].cloneNode(true));
            }
        },

        timerStart: function() {
            if (DDSL.LatestNews._scroller.curr_item === false) {
                DDSL.LatestNews._scroller.curr_item = 0;
            } else {
                DDSL.LatestNews._scroller.curr_item++;

                if (DDSL.LatestNews._scroller.curr_item >= DDSL.LatestNews._scroller.items.length) {
                    DDSL.LatestNews._scroller.curr_item = 0;
                }
            }

            DDSL.LatestNews._timer.pos = 0;
            DDSL.LatestNews.setScrollContent();
            DDSL.LatestNews._timer.obj = window.setTimeout(DDSL.LatestNews.timerMove, DDSL.LatestNews._timer.delay_ms);
        },

        timerMove: function() {
            var s = DDSL.LatestNews._scroller, oh = s.obj.clientHeight, ph = s.panels[0].clientHeight + s.panels[1].clientHeight;
            DDSL.LatestNews._timer.pos += DDSL.LatestNews._timer.step_pos;

            if (DDSL.LatestNews._timer.pos > ph / 2) {
                DDSL.LatestNews.timerStop();
            } else {
                oh += DDSL.LatestNews._timer.step_pos;
                s.obj.style.clip = 'rect(' + DDSL.LatestNews._timer.pos + 'px auto ' + oh + 'px auto)';
                s.obj.style.marginTop = '-' + DDSL.LatestNews._timer.pos + 'px';
                s.obj.style.height = oh + 'px';
                DDSL.LatestNews._timer.obj = window.setTimeout(DDSL.LatestNews.timerMove, DDSL.LatestNews._timer.step_ms);
            }
        },

        timerStop: function() {
            if (DDSL.LatestNews._timer.obj) {
                window.clearTimeout(DDSL.LatestNews._timer.obj);
            }

            DDSL.LatestNews.timerStart();
        }
    };
}

DDSL.addLoadEvent(DDSL.LatestNews.init);

