﻿/*
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 != '#' && 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);
}