//Javascript Document

(function () {
    var d = document,
        de = d.documentElement,
        IE = document.all && !window.opera,
        IE6 = IE && !window.XMLHttpRequest;

    function createDiv(id, parent) {
        var div = d.createElement('div');
        div.id = id;
        parent.appendChild(div);
        return div;
    }
    function onLoad() {
        var listIR = new Array();
        var on = 'Rotator';

        function showPics(id, num) {
            var m = listIR[id];
            if (m.n === num) return true;
            if (m.ncur != -1) {
                m.imgf.src = m.imgs[m.ncur].src;
                m.divf.style.display = 'block';
                m.divf.style.opacity = 1;
                m.divf.style.filter = '';
            }
            if (m.n === -1) m.n = 0;
            else m.n = num;
            if (!m.ulPics.style.left) {
                m.ulPics.style.left = 0 + 'px';
            }
            if (m.ncur != -1) {
                var endP = -num * 950;
                m.ulPics.style.left = endP + 'px';
                fadeTo(m.divf, 0, 1000);
            }
            m.ncur = num;
        };

        function autoShow() {
            for (var id in listIR) {
                var m = listIR[id];
                if (m.autoP) {
                    if (m.n == m.liPics.length - 1) {
                        m.n = -1;
                    }
                    if (m.n <= m.liPics.length - 1) {
                        hideTitAndShowPic(id, m.n + 1);
                    }
                }
            }
        };

        function hideTitAndShowPic(id, num) {
            var m = listIR[id];
            if (m.n === num) return true;
            if (m.ncur != -1) {
                if (m.divf.timer) clearInterval(m.divf.timer);
                showPics(id, num);
            } else showPics(id, num);
        }
        var autoT = null;
        var divs = d.getElementsByTagName('div');
        for (var i = 0; i < divs.length; i++) {
            if (divs[i].className == on) {
                var obj = new Object;
                obj.autoP = true;
                obj.n = -1;
                obj.ncur = -1;
                obj.id = 'id' + i;
                divs[i]._id = obj.id;
                obj.liPics = new Array();
                obj.imgs = new Array();
                obj.divf = createDiv('', divs[i].getElementsByTagName('div')[0]);
                obj.divf.className = on + 'forwardpic';
                obj.divf.style.opacity = 1;
                obj.divf.style.display = 'none';
                obj.imgf = d.createElement('img');
                obj.imgf.className = on + 'img';
                obj.divf.appendChild(obj.imgf);
                obj.ulPics = divs[i].getElementsByTagName('ul')[0]; {
                    var liPics = obj.ulPics.getElementsByTagName('li');
                    var iLi = 0;
                    for (var j = 0; j < liPics.length; j++) {
                        if (liPics[j].className.indexOf(on + 'li') >= 0) {
                            obj.liPics[iLi++] = liPics[j];
                        }
                    }
                }
                var cnt = obj.liPics.length;
                for (var j = 0; j < cnt; j++) obj.liPics[j].className = on + 'li';
                var wid = divs[i].getElementsByTagName('div')[0].offsetWidth;
                obj.ulPics.style.width = wid * cnt + 'px';
                for (var j = 0; j < cnt; j++) {
                    obj.imgs[j] = obj.liPics[j].getElementsByTagName('img')[0];
                }
                listIR[obj.id] = obj;
                //divs[i].onmouseover = function () {
                    //listIR[this._id].autoP = false;
                    //var ct = false;
                    //for (var id in listIR) {
                    //    ct = ct || listIR[id].autoP;
                    //}
                    //if (!ct) {
                    //    clearInterval(autoT);
                    //    autoT = null;
                   // }
                //};
                //divs[i].onmouseout = function () {
                //    listIR[this._id].autoP = true;
                //    if (autoT == null) autoT = setInterval(autoShow, 8050);
                //};
                var br = d.createElement('br');
                divs[i].appendChild(br);
            }
        }
        autoShow();
        autoT = setInterval(autoShow, 7000);

        function moveTo(pairs, speed, f) {
            var oldpos = new Array;
            for (var i = 0; i < pairs.length; i++) {
                oldpos[i] = new Object;
                for (var n in pairs[i][1]) oldpos[i][n] = parseInt(pairs[i][0].style[n]);
            }
            var tstart = new Date;
            if (!speed) speed = 1000;
            var e = pairs[0][0];
            if (e.mtimer) clearInterval(e.mtimer);
            e.mtimer = setInterval(function () {
                var s = (new Date - tstart) / speed;
                if (s > 1) s = 1;
                var v = ((-Math.cos(s * Math.PI) / 2) + 0.5);
                for (var i = 0; i < pairs.length; i++) {
                    for (var n in pairs[i][1]) pairs[i][0].style[n] = Math.floor((pairs[i][1][n] - oldpos[i][n]) * v) + oldpos[i][n] + 'px';
                }
                if (s == 1) {
                    clearInterval(e.mtimer);
                    if (f) f();
                }
            }, 15);
        };

        function fadeTo(e, opacity, speed, f) {
            var so = parseFloat(e.style.opacity);
            var tstart = new Date;
            if (!speed) speed = 500;
            if (e.timer) clearInterval(e.timer);
            e.timer = setInterval(function () {
                var s = (new Date - tstart) / speed;
                if (s > 1) s = 1;
                var v = so + (opacity - so) * s;
                e.style.opacity = v;
                e.style.filter = 'alpha(opacity=' + v * 100 + ')';
                e.style.display = 'block';
                if (s == 1) {
                    clearInterval(e.timer);
                    if (opacity == 1) e.style.filter = '';
                    if (opacity == 0) {
                        e.style.display = 'none';
                        e.style.opacity = 1;
                        e.style.filter = '';
                    }
                    if (f) f();
                }
            }, 15);
        }
    };

    function addOnReady(f, fu) {
        var isReady = false;
        ready = function () {
            if (!isReady) {
                isReady = true;
                f();
            };
        };
        if (d.addEventListener) {
            d.addEventListener('DOMContentLoaded', ready, false);
            window.addEventListener('load', ready, false);
        }
        if (window.attachEvent) window.attachEvent('onload', ready);
        if (d.documentElement.doScroll && window == top) {
            (function () {
                if (!isReady) {
                    try {
                        d.documentElement.doScroll('left');
                    } catch (E) {
                        setTimeout(arguments.callee, 0);
                        return;
                    }
                    ready();
                }
            })()
        }
    }
    addOnReady(onLoad, onLoad);
})();
