﻿/*
Script Name:图片新闻滚动(渐变)
 */
var scrollnews = new IMGSCROLL();
function IMGSCROLL() {
    var self = this;
    this.sn = 0;
    this.pause = false;

    // this.imgWrap = $id('imgWrap'); //图片的外包层
    this.w = '300';// 图片宽度，不需要单位px
    this.h = '200';// 图片高度，不需要单位px
    this.blankPic = 'images/blank.gif';// 透明图片地址
    this.img = $id('IMG'); // 默认显示的图片元素
    this.btnClass = 'scrollNewsBtn'; // 按钮外包class
    this.btnLightClass = 'lh';// 按钮高亮class
    this.imgSrc = [];// 图片路径数组
    this.urls = []; // 连接数组,“#”代表无连接
    this.time = 3500; // 轮转时间，毫秒
    this.titles = [];

    this.preImg = document.createElement('img');// 创建切换的图片
    this.img = document.createElement('img');
    this.img.style.position = 'relative';
    this.img.style.zIndex = '99';
    this.link = document.createElement('a');
    this.link.setAttribute('target', '_blank');
    this.btnWrap = document.createElement('span');
    this.btnWrap.className = self.btnClass;
    this.btnWrap.style.zIndex = '100';

    this.scroll = function(e) {//滚动切换
        var l = self.imgSrc.length - 1;
        if (self.pause && e != 'btnEvent') {
            return false;
        }
        var sn = self.sn;
        if (self.img.filters) {// IE
            self.img.filters.blendTrans.apply();
            self.img.filters.blendTrans.play();
            self.img.setAttribute('src', self.imgSrc[sn]);
        }
        else { //其他标准浏览器
            self.preImg.setAttribute('src', self.img.getAttribute('src'));

            self.img.setAttribute('src', self.imgSrc[sn]);
            showSlow(self.img, 0, 60);
        }
        if (self.titles[sn] != null && self.titles[sn] != '') {
            //document.getElementById('imgtitle').innerHTML = self.titles[sn];
        }
        var newhref = self.urls[sn];
        // var newtitile = self.titles[sn];
        var btnlinks = self.btnWrap.getElementsByTagName('a');
        var btnlinksL = btnlinks.length;
        for ( var i = 0; i < btnlinksL; i++) {
            btnlinks[i].className = '';
        }
        if (btnlinksL > 0) {
            btnlinks[sn].className = self.btnLightClass;
        }
        if(newhref.lastIndexOf('#') == newhref.length - 1){
        	self.link.removeAttribute('href');
        }
        else if (newhref != '#' && newhref != null && newhref != '') {
            self.link.setAttribute('href', newhref);
            if (btnlinksL > 0) {
                btnlinks[sn].setAttribute('href', newhref);
                btnlinks[sn].onclick = function() {
                    return true;
                };
            }
        }
        else {
            self.link.removeAttribute('href');
        }

        if (self.sn == l) {
            self.sn = 0;
        }
        else {
            self.sn++;
        }
        if (self.titles[sn] != null && self.titles[sn] != '') {
            //document.getElementById('imgtitle').innerHTML = self.titles[sn];
        }
    }
    this.createBtn = function(targetwrap) {//创建按钮
        var l = self.imgSrc.length - 1;
        var btns = [];
        for ( var i = 1; i <= (l + 1); i++) {
            btns.push('<a href="#" target="_blank" onclick="this.blur();return false;">' + i + '</a>');
        }
        self.btnWrap.innerHTML = btns.join('');
        targetwrap.appendChild(self.btnWrap);
        var btnlinks = self.btnWrap.getElementsByTagName('a');
        for ( var i = 0; i < btnlinks.length; i++) {
            btnlinks[i].num = i;
            btnlinks[i].onmouseover = function() {
                self.btnEventOn(this, this.num);
            }
            btnlinks[i].onmouseout = function() {
                self.btnEventOff(this, this.num);
            }
        }
    }
    this.btnEventOn = function(ele, num) {
        self.pause = true;
        ele.className = self.btnLightClass;
        self.sn = num;
        self.scroll('btnEvent');
    }
    this.btnEventOff = function(ele, num) {
        self.pause = false;
    }
    this.start = function() {
        if (!self.imgWrap || $id('vvImgScrollWrap_' + self.imgWrap.getAttribute('id'))) {
            return false;
        }
        clearInterval(self.img.vvshowScroll);
        self.img.setAttribute('src', self.blankPic);
        (self.imgWrap.parentNode).insertBefore(self.img, self.imgWrap);
        var h = self.h == 'auto' ? 'auto' : (self.h + 'px');
        var w = self.w == 'auto' ? 'auto' : (self.w + 'px');
        if (self.img.filters) {
            (self.img).style.filter = 'blendTrans(duration=1)';
        }
        with (self.img.style) {
            height = h || 'auto';
            width = w || 'auto';
        }
        var pwrap = document.createElement('div');// 创建外包层
        pwrap.setAttribute('id', 'vvImgScrollWrap_' + self.imgWrap.getAttribute('id'));
        with (pwrap.style) {
            position = 'relative';
            width = w;
            height = h;
        }
        wrap(self.link, self.img);
        wrap(pwrap, self.link);
        self.createBtn(pwrap);// 生成按钮

        self.preImg.setAttribute('src', self.blankPic);// 切换的图片
        with (self.preImg.style) {
            position = 'absolute';
            top = '0';
            left = '0';
            width = w;
            height = h;
        }
        (self.img.parentNode).insertBefore(self.preImg, self.img);

        self.img.onmouseover = function() {
            self.pause = true;
        }
        self.img.onmouseout = function() {
            self.pause = false;
        }
        self.scroll();
        self.img.vvshowScroll = setInterval(self.scroll, self.time);

    }
}
function imgScroll(imgWrap, time, w, h, btnclass, btnlight) {
    if (!imgWrap) {
        alert('imgWrap没找到');
        return false;
    }
    var imgs = imgWrap.getElementsByTagName('img');
    var links = [], srcs = [], hrefs = [], titles = [];
    var pa;
    for ( var i = 0, l = imgs.length; i < l; i++) {
        srcs.push(imgs[i].getAttribute('src'));
        pa = imgs[i].parentNode;
        if (pa.nodeName == 'A') {
            hrefs.push(pa.getAttribute('href'));

        }
        else {
            hrefs.push('#');
        }
        titles.push(imgs[i].getAttribute('title'));
    }

    ////////var scrollnews = new IMGSCROLL();
    scrollnews.imgWrap = imgWrap;
    scrollnews.blankPic = 'images/blank.gif'; // 透明图层的路径，请自行修改
    scrollnews.imgSrc = srcs;
    scrollnews.urls = hrefs;
    scrollnews.titles = titles;
    scrollnews.time = time || 3500;
    scrollnews.w = w || 'auto';
    scrollnews.h = h || 'auto';
    scrollnews.btnClass = btnclass || 'scrollNewsBtn';
    scrollnews.btnLightClass = btnlight || 'lh';
    scrollnews.start();
}
function $id(eleID) {/*-----  根据id获取节点  -----*/
    return document.getElementById(eleID);
}
function $id(eleID) {/*-----  根据id获取节点  -----*/
    return document.getElementById(eleID);
}
function wrap(newparent, ele) {/*-----  创建ele的父节点newprarent  -----*/
    if (ele.nextSibling) {
        var n = ele.nextSibling;
        n.parentNode.insertBefore(newparent, n);
    }
    else if (ele.previousSibling) {
        insertAfter(newparent, ele.previousSibling);
    }
    else {
        ele.parentNode.appendChild(newparent);
    }
    newparent.appendChild(ele);
}
