﻿//核心代码 (对联和漂浮)
function JQuery(element) {
    if (arguments.length > 1) {
        for (var i = 0, elements = [], length = arguments.length; i < length; i++)
            elements.push(JQuery(arguments[i]));
        return elements;
    }
    if (typeof element == "string")
        return document.getElementById(element);
    else
        return element;
}
Function.prototype.bind = function (object) {
    var method = this;
    return function () {
        method.apply(object, arguments);
    }
}
var Class = {
    create: function () {
        return function () {
            this.initialize.apply(this, arguments);
        }
    }
}
Object.extend = function (destination, resource) {
    for (var property in resource) {
        destination[property] = resource[property];
    }
    return destination;
}
//对联广告类 
var float_ad = Class.create();
float_ad.prototype = {
    initialize: function (id, content, top, left, width) {
        var strHtml = '<div id=' + id + ' style="position:absolute; z-index:1000">' + content + '</div>';
        //document.write('<div id=' + id + ' style="position:absolute; z-index:1000">' + content + '</div>');
        if (!!left) {
            document.getElementById("divAdLeft").innerHTML = strHtml;
        }
        else {
            document.getElementById("divAdRight").innerHTML = strHtml;
        }
        this.id = JQuery(id);
        this.top = top;
        if (!!left) {
            this.id.style.left = "8px";
        } else {
            this.id.style.left = (document.documentElement.clientWidth - document.getElementById("ad_r").offsetWidth - 8) + "px";
            window.onresize = function () {
                this.id.style.left = (document.documentElement.clientWidth - document.getElementById("ad_r").offsetWidth - 8) + "px";
            } .bind(this);
        }
        this.id.style.top = top + "px";

        this.interId = setInterval(this.scroll.bind(this), 20);
    },
    scroll: function () {
        this.stmnStartPoint = parseInt(this.id.style.top, 10);
        this.stmnEndPoint = document.documentElement.scrollTop + this.top;
        if (navigator.userAgent.indexOf("Chrome") > 0) {
            this.stmnEndPoint = document.body.scrollTop + this.top;
        }
        if (this.stmnStartPoint != this.stmnEndPoint) {
            this.stmnScrollAmount = Math.ceil(Math.abs(this.stmnEndPoint - this.stmnStartPoint) / 15);
            this.id.style.top = parseInt(this.id.style.top, 10) + ((this.stmnEndPoint < this.stmnStartPoint) ? -this.stmnScrollAmount : this.stmnScrollAmount) + "px";
        }
    }
}
//漂浮广告类 
var move_ad = Class.create();
move_ad.prototype = {
    initialize: function (imgOption, initPosition, delay) {
        this.imgOptions = Object.extend({ url: "", link: "", alt: "", width: 0, height: 0 }, imgOption || {});
        this.adPosition = Object.extend({ left: 40, top: 120 }, initPosition || {});
        this.delay = delay;
        this.step = 1;
        this.herizonFlag = true;
        this.verticleFlag = true;
        this.id = "ad_move_sg";
        var vHtmlString = "<div id='" + this.id + "' style='position:absolute; left:" + this.adPosition.left + "px; top:" + this.adPosition.top + "px;";
        //alert(this.imgOptions.width+" "+this.imgOptions.height==0);
        if (this.imgOptions.width == 0 && this.imgOptions.height == 0) { vHtmlString += " z-index:10;'><a href='" + this.imgOptions.link + "' target='_blank' title='" + this.imgOptions.alt + "'><img src='" + this.imgOptions.url + "' style='border:none;' alt='" + this.imgOptions.alt + "' /></a></div>"; }
        else {
            vHtmlString += " height:" + this.imgOptions.height + "px; z-index:10;'><a href='" + this.imgOptions.link + "' target='_blank' title='" + this.imgOptions.alt + "'><img src='" + this.imgOptions.url + "' width='" + this.imgOptions.width + "' height='" + this.imgOptions.height + "' style='border:none;' alt='" + this.imgOptions.alt + "' /></a></div>";
        }
        document.write(vHtmlString);
        this.id = JQuery(this.id);
        this.intervalId = setInterval(this.scroll.bind(this), this.delay);
        this.id.onmouseover = this.stop.bind(this);
        this.id.onmouseout = this.start.bind(this);
    },
    scroll: function () {
        var L = T = 0;
        var B = document.documentElement.clientHeight - this.id.offsetHeight;
        var R = document.documentElement.clientWidth - this.id.offsetWidth;
        this.id.style.left = this.adPosition.left + document.documentElement.scrollLeft + "px";
        this.id.style.top = this.adPosition.top + document.documentElement.scrollTop + "px";
        this.adPosition.left = this.adPosition.left + this.step * (this.herizonFlag ? 1 : -1);
        if (this.adPosition.left < L) { this.herizonFlag = true; this.adPosition.left = L; }
        if (this.adPosition.left > R) { this.herizonFlag = false; this.adPosition.left = R; }
        this.adPosition.top = this.adPosition.top + this.step * (this.verticleFlag ? 1 : -1);
        if (this.adPosition.top <= T) { this.verticleFlag = true; this.adPosition.top = T; }
        if (this.adPosition.top >= B) { this.verticleFlag = false; this.adPosition.top = B; }
    },
    stop: function () {
        clearInterval(this.intervalId);
    },
    start: function () {
        this.intervalId = setInterval(this.scroll.bind(this), this.delay);
    }
} 
