﻿/*
* 显示对联浮动广告
* (c) jiang zheng 2009.09.30
* QQ: 470192616
*/

/*

<div id="xyz">
<img src='http://192.168.18.202/UserLoadFiles/EditorRecommentFile/2009_09/09_02_16_10_1784464.jpg' />
</div>

<div id="abc">
<img src='http://media.vekee.com/images/leftads/topic_img1.jpg' />
</div>

new JzFloat('xyz').Init(); //把div层xyz设置成对联的左边浮动层
new JzFloat('abc').Init('right'); //把div层abc设置成对联的右边浮动层

*/

function JzFloat(divIdStr) {
    //  浮动对象
    this.div = document.getElementById(divIdStr);
    this.floatDivKey = divIdStr + '_Float';
    this.lastScrollY = 0;
    this.scrollTimer = null;
}

JzFloat.prototype.GetScrollTop = function() {
    //  获取顶部滚动的位置
    var diffY = null;
    if (document.documentElement && document.documentElement.scrollTop) {
        diffY = document.documentElement.scrollTop;
    } else if (document.body) {
        diffY = document.body.scrollTop;
    }
    return diffY;
};

JzFloat.prototype.KeepPosition = function() {
    //  保持位置
    var me = this;
    var diffY = me.GetScrollTop();

    if (diffY == null) {
        clearInterval(me.scrollTimer);
        return;
    }
    var percent = .1 * (diffY - me.lastScrollY);
    if (percent > 0) percent = Math.ceil(percent);
    else percent = Math.floor(percent);

    document.getElementById(me.floatDivKey).style.top = parseInt(document.getElementById(me.floatDivKey).style.top) + percent + "px";
    me.lastScrollY = me.lastScrollY + percent;
};

JzFloat.prototype.Init = function(floatPos, topValue, marginValue) {
    //  初始化执行
    var me = this;

    floatPos = floatPos || 'left';
    topValue = topValue || 20;
    marginValue = marginValue || 5;

    var d = document.createElement('div');
    d.id = me.floatDivKey;
    d.style.position = 'absolute';
    d.style.top = topValue + 'px';

    if (floatPos == 'left')
        d.style.left = marginValue + 'px';
    else
        d.style.right = marginValue + 'px';

    d.innerHTML = me.div.innerHTML;
    me.div.innerHTML = '';
    me.div.appendChild(d);

    me.scrollTimer = setInterval(function() {
        me.KeepPosition();
    }, 50);
};

