﻿/**
凡是用到幻灯片新闻的页面必须要引用此页面
*glide.layerGlide((oEventCont,oSlider,sSingleSize,sec,fSpeed,point);
*@param auto type:bolean 是否自动滑动 当值是true的时候 为自动滑动
*@param oEventCont type:object 包含事件点击对象的容器
*@param oSlider type:object 滑动对象
*@param sSingleSize type:number 滑动对象里单个元素的尺寸（width或者height）  尺寸是有point 决定
*@param second type:number 自动滑动的延迟时间  单位/秒
*@param fSpeed type:float   速率 取值在0.05--1之间 当取值是1时  没有滑动效果
*@param point type:string   left or top
*/
var glide = new function () {
    function $id(id) { return document.getElementById(id); };
    this.layerGlide = function (auto, oEventCont, oSlider, sSingleSize, second, fSpeed, point) {
        var oSubLi = $id(oEventCont).getElementsByTagName('li');
        var interval, timeout, oslideRange;
        var time = 1;
        var speed = fSpeed
        var sum = oSubLi.length;
        var a = 0;
        var delay = second * 1000;
        var setValLeft = function (s) {
            return function () {
                oslideRange = Math.abs(parseInt($id(oSlider).style[point]));
                $id(oSlider).style[point] = -Math.floor(oslideRange + (parseInt(s * sSingleSize) - oslideRange) * speed) + 'px';
                if (oslideRange == [(sSingleSize * s)]) {
                    clearInterval(interval);
                    a = s;
                }
            }
        };
        var setValRight = function (s) {
            return function () {
                oslideRange = Math.abs(parseInt($id(oSlider).style[point]));
                $id(oSlider).style[point] = -Math.ceil(oslideRange + (parseInt(s * sSingleSize) - oslideRange) * speed) + 'px';
                if (oslideRange == [(sSingleSize * s)]) {
                    clearInterval(interval);
                    a = s;
                }
            }
        }

        function autoGlide() {
            for (var c = 0; c < sum; c++) { oSubLi[c].className = ''; };
            clearTimeout(interval);
            if (a == (parseInt(sum) - 1)) {
                for (var c = 0; c < sum; c++) { oSubLi[c].className = ''; };
                a = 0;
                oSubLi[a].className = "active";
                interval = setInterval(setValLeft(a), time);
                timeout = setTimeout(autoGlide, delay);
            } else {
                a++;
                oSubLi[a].className = "active";
                interval = setInterval(setValRight(a), time);
                timeout = setTimeout(autoGlide, delay);
            }
        }

        if (auto) { timeout = setTimeout(autoGlide, delay); };
        for (var i = 0; i < sum; i++) {
            oSubLi[i].onmouseover = (function (i) {
                return function () {
                    for (var c = 0; c < sum; c++) { oSubLi[c].className = ''; };
                    clearTimeout(timeout);
                    clearInterval(interval);
                    oSubLi[i].className = "active";
                    if (Math.abs(parseInt($id(oSlider).style[point])) > [(sSingleSize * i)]) {
                        interval = setInterval(setValLeft(i), time);
                        this.onmouseout = function () { if (auto) { timeout = setTimeout(autoGlide, delay); }; };
                    } else if (Math.abs(parseInt($id(oSlider).style[point])) < [(sSingleSize * i)]) {
                        interval = setInterval(setValRight(i), time);
                        this.onmouseout = function () { if (auto) { timeout = setTimeout(autoGlide, delay); }; };
                    }
                }
            })(i)
        }
    }
}
//控制载入图片大小 
function marqueeloadImage(Img,width,height) {
    var image = new Image();
    image.src = Img.src;
   // width = 100; //预先设置的所期望的宽的值 
  //  height = 80; //预先设置的所期望的高的值 
    if (image.width > width || image.height > height) {//现有图片只有宽或高超了预设值就进行js控制 
        w = image.width / width;
        h = image.height / height;
        if (w > h) {//比值比较大==>宽比高大 
            //定下宽度为width的宽度 
            Img.width = width;
            //以下为计算高度 
            Img.height = image.height / w;

        } else {//高比宽大 
            //定下宽度为height高度 
            Img.height = height;
            //以下为计算高度 
            Img.width = image.width / h;
        }
    }
}
