﻿//<![CDATA[
/*banner广告*/
var $d = function (id) {
	return "string" == typeof id ? document.getElementById(id) : id;
};
var Class = {
	create: function() {
		return function() {
			this.initialize.apply(this, arguments);
		}
	}
}
Object.extend = function(destination, source) {
	for (var property in source) {
		destination[property] = source[property];
	}
	return destination;
}
var TransformView = Class.create();
TransformView.prototype = {
	/*容器对象,滑动对象,切换参数,切换数量*/
	initialize: function(container, slider, parameter, count, options) {
		if(parameter <= 0 || count <= 0) return;
		var oContainer = $d(container), oSlider = $d(slider), oThis = this;
		this.Index = 0;/*当前索引*/
		this._timer = null;/*定时器*/
		this._slider = oSlider;/*滑动对象*/
		this._parameter = parameter;/*切换参数*/
		this._count = count || 0;/*切换数量*/
		this._target = 0;/*目标参数*/
		this.SetOptions(options);
		this.Up = !!this.options.Up;
		this.Step = Math.abs(this.options.Step);
		this.Time = Math.abs(this.options.Time);
		this.Auto = !!this.options.Auto;
		this.Pause = Math.abs(this.options.Pause);
		this.onStart = this.options.onStart;
		this.onFinish = this.options.onFinish;
		oContainer.style.overflow = "hidden";
		oContainer.style.position = "relative";
		oSlider.style.position = "absolute";
		oSlider.style.top = oSlider.style.left = 0;
	},
	/*设置默认属性*/
	SetOptions: function(options) {
		this.options = {
			/*默认值*/
			Up:true,/*是否向上(否则向左)*/
			Step:5,/*滑动变化率*/
			Time:20,/*滑动延时*/
			Auto:true,/*是否自动转换*/
			Pause:2000,/*停顿时间(Auto为true时有效)*/
			onStart:function(){},/*开始转换时执行*/
			onFinish:function(){}/*完成转换时执行*/
		};
		Object.extend(this.options, options || {});
	},
	/*开始切换设置*/
	Start: function() {
		if(this.Index < 0){
			this.Index = this._count - 1;
		} else if (this.Index >= this._count){ this.Index = 0; }
		this._target = -1 * this._parameter * this.Index;
		this.onStart();
		this.Move();
	},
	/*移动*/
	Move: function() {
		clearTimeout(this._timer);
		var oThis = this, style = this.Up ? "top" : "left", iNow = parseInt(this._slider.style[style]) || 0, iStep = this.GetStep(this._target, iNow);
		if (iStep != 0) {
			this._slider.style[style] = (iNow + iStep) + "px";
			this._timer = setTimeout(function(){ oThis.Move(); }, this.Time);
		} else {
				this._slider.style[style] = this._target + "px";
			this.onFinish();
			if (this.Auto) { this._timer = setTimeout(function(){ oThis.Index++; oThis.Start(); }, this.Pause); }
		}
	},
	/*获取步长*/
	GetStep: function(iTarget, iNow) {
		var iStep = (iTarget - iNow) / this.Step;
		if (iStep == 0) return 0;
		if (Math.abs(iStep) < 1) return (iStep > 0 ? 1 : -1);
		return iStep;
	},
	/*停止*/
	Stop: function(iTarget, iNow) {
		clearTimeout(this._timer);
		this._slider.style[this.Up ? "top" : "left"] = this._target + "px";
	}
};
function PicScroller(container,slider,numid){
	/*banner广告*/
	var total = $d(slider).getElementsByTagName("ul").length;
	var step = $d(slider).getElementsByTagName("ul")[0].clientHeight;
	function Each(list, fun){
		for (var i = 0, len = list.length; i < len; i++) { fun(list[i], i); }
	};
	var objs = $d(numid).getElementsByTagName("img");
	var tv = new TransformView(
		container, slider, step, total, {
			onStart : function(){
				Each(objs, function(o, i){ o.src = tv.Index == i ? "/images/ico"+(i+1)+"_on.gif" : "/images/ico"+(i+1)+"_off.gif"; })
			}/*按钮样式*/
		}
	);
	tv.Start();
	Each(
		objs, function(o, i){
			o.onmouseover = function(){
				o.className = "on";
				tv.Auto = false;
				tv.Index = i;
				tv.Start();
			}
			o.onmouseout = function(){
				o.className = "";
				tv.Auto = true;
				tv.Start();
			}
		}
	);
	var allLine=$d(slider).getElementsByTagName("ul");
	Each(
		allLine, function(o, i){
			o.onmouseover = function(){
				tv.Stop();
			}
			o.onmouseout = function(){
				tv.Start();
			}
		}
	);
};
//]]>

///重置图片
function ResizeImg()
{
    var defaultWidth=110;
    var defaultHeight=55;
    $(".expoServer IMG").each(function(){
        if($(this).attr("width")>110)
        {
            var width=$(this).attr("width");
            var height=$(this).attr("height");
            if(width>height)
            {
                if(width>defaultWidth)
                {
                    $(this).attr("width",defaultWidth);
                    $(this).attr("height",height/(width/defaultWidth))
                }
            }
            else
            {
                if(height>defaultHeight)
                {
                    $(this).attr("height",defaultHeight);
                    $(this).attr("width",width/(height/defaultHeight))
                }
            }
        }
    })
}

/*
对联广告
*/
function FloatAd(left,right)
{
    lastScrollY=0;
    function heartBeat(){ 
        var diffY;
        if (document.documentElement && document.documentElement.scrollTop)
        diffY = document.documentElement.scrollTop;
        else if (document.body)
        diffY = document.body.scrollTop
        else
        {/*Netscape stuff*/}
        percent=.1*(diffY-lastScrollY); 
        if(percent>0)percent=Math.ceil(percent); 
        else percent=Math.floor(percent); 
        if(document.getElementById(left))
        {
            document.getElementById(left).style.top=parseInt(document.getElementById(left).style.top)+percent+"px";
        }
        if(document.getElementById(right))
        {
            document.getElementById(right).style.top=parseInt(document.getElementById(right).style.top)+percent+"px";
        }
        lastScrollY=lastScrollY+percent; 
    }
    setInterval(heartBeat,1);
}
