﻿

// 城市亮点滚动图片
(function() {
    var oCtx = $('dLightSpotCtx');
    var oScroller = $('dLightSpotList');
    if (!oCtx || !oScroller) return;

    oScroller.style.marginLeft = '0px';
    var itv = null;
    var speed = 15;
    var doScroll = function() {
        oScroller.style.marginLeft = parseInt(oScroller.style.marginLeft, 10) - 1 + 'px';

        var sw = parseInt(oScroller.offsetWidth, 10);
        var nL = parseInt(oScroller.style.marginLeft, 10);

        if (-nL > sw/2) {
            oScroller.style.marginLeft = '0px';
        }
    };
    var start = function() {
        itv = setInterval(doScroll, speed);
    };
    var stop = function() {
        clearInterval(itv);
    };

    oScroller.addEvent('mouseenter', stop);
    oScroller.addEvent('mouseleave', start);
    window.addEvent('domready', start);
})();

// 城市入口
(function() {
    $$('#dCityEntry .row').each(function(row, i) {
        row.addEvent('mouseenter', function() {
            var o = $(this).getElement('.cityGroup');
            //alert(o.className.lastIndexOf('1')+','+o.className.length);
            if (o.className.lastIndexOf('1') == -1) {
                o.className = o.className + '1';
            }
        });
        row.addEvent('mouseleave', function(evt) {
            var o = $(this).getElement('.cityGroup');
            if (o.className.lastIndexOf('1') == o.className.length-1) { 
                o.className= o.className.substring(0, (o.className.length - 1));
            }
        });
    });
})();

// 城市选择下拉框
(function() {
    var oSelect = $('dSelectCity');
    if (!oSelect) return;
    oSelect.addEvent('change', function() {
        var val = $(this).get('value');
        if ('' == val) return;
        window.location = val;
    });
})();

// 热门头条图片
(function() {
    var oPages = $('dHotPages');
    if (!oPages) return;

    var oHotCtx = $('dHotCtx');
    if (!oHotCtx) return;

    // global var
    var nowIdx = 0;
    var curIdx = 0;
    var nextIdx = 1;
    var isRuning = false;
    var itv = null;
    var speed = 5000;

    // get data
    var pp = $$('#dHotPages a');
    var pages = [];
    for (var i = pp.length - 1; i >= 0; i--) {
        pages.push(pp[i]);
    };
    var images = $$('#dHotCtx .item');

    if (pages.length != images.length) {
        alert('pages not match, please check your code!');
        return;
    }

    // pages setup
    pages.each(function(el, i) {
        el.setStyle('opacity', 0.5);
        el.addEvent('mouseenter', function() {
            el.setStyle('opacity', 1);
        });
        el.addEvent('mouseleave', function() {
            el.setStyle('opacity', 0.5);
        });
    });

    var doScroll = function(idx) {

        if (idx == nowIdx || isRuning) return;

        curIdx = nowIdx;
        nextIdx = idx;

        if (!pages[idx].hasClass('selected')) pages[idx].addClass('selected');
        if (pages[nowIdx].hasClass('selected')) pages[nowIdx].removeClass('selected');


        var oNext = $('dPic_' + nextIdx);
        var oCur = $('dPic_' + curIdx);

        isRuning = true;
        nowIdx = idx;

        oNext.style.marginTop = '0px';
        oCur.style.marginTop = '0px';

        oNext.injectAfter(oCur);

        oCur.morph({
            'margin-top': (-1 * parseInt(oCur.offsetHeight, 10)) + 'px',
            'opacity': [1, 0]
        });
        oNext.morph({
            'opacity': [0, 1]
        });
    };

    var doAutoScroll = function() {
        
        var nextIdx = nowIdx;
        if (nextIdx + 1 >= images.length) {
            nextIdx = 0;
        } else {
            nextIdx++;
        }
        doScroll(nextIdx);
    };

    var start = function() {
        itv = setInterval(doAutoScroll, speed);
        
    };
    var stop = function() {
        clearInterval(itv);
    };

    // pictures setup
    images.each(function(el, i) {
        el._idx = i;
        el.set('morph', { duration: 1000, transition: 'sine:out' });
        el.get('morph').addEvent('complete', function() {
            isRuning = false;
        });
        el.addEvent('mouseenter', stop);
        el.addEvent('mouseleave', start);
        pages[i].innerHTML = i + 1;
        pages[i]._idx = i;
        pages[i].addEvent('click', function() {
            doScroll(i);
        });
    });
    start();
})();

// 时间日期
/*
(function() {
    var oDate = document.getElementById('dDateTime');
    if (!oDate) return;
    // 2009年7月17日 18:31:23 星期五
    var updateDateTime = function() {
        var d = new Date();
        oDate.innerHTML = d.getFullYear() + '年' + d.getMonth() + '月' + d.getDate() + '日 ' + d.getHours() + ':' + d.getMinutes() + ':' + d.getSeconds() + ' 星期' + '日一二三四五六'.charAt(new Date().getDay());
        //oDate.innerHTML = new Date().toLocaleString() + ' 星期' + '日一二三四五六'.charAt(new Date().getDay());
    };
    setInterval(updateDateTime, 2000);
})();
*/