// JavaScript Document

function HotLink(a){
	this.id="";
	this.fid="";
	this.bid="";
	this.delay=a.delay||5;
	this.doc=document;
	this.div=null;
	this.fd=null;
	this.bd=null;
	this.nd=null;
	this.cfg=a.cfg||"";
	this.xdoc=new ActiveXObject("Microsoft.XMLDOM");
	this.xns=null;
	this.exist=false;
	this.st=null;
	this.cur=0;
	this.count=0;
	
	this.init=function(d){
		this.id=d.id;
		this.div=this.doc.getElementById(d.id);
		this.fd=this.doc.getElementById(d.front);
		this.nd=this.doc.getElementById(d.index);
		this.fid=d.front;
		this.bid=d.ground;
		if(!(this.div&&this.fd&&this.nd)){
			alert("无法初始化控件");return;
		}
		this.xdoc.async="false"
		this.xdoc.load(this.cfg);
		this.xns=this.xdoc.selectNodes("/HotLinks/HotLink[@enable='-1']");
		this.count=this.xns.length;
		var self=this;
		for(var i=0; i<this.nd.childNodes.length;i++){
			this.nd.childNodes[i].onclick=function(){
				self.doIndex(this.innerHTML-1);
			}
		}
		this.st=setTimeout(function(){self.doNext();},this.delay*1000);
		
	}
	this.doIndex = function(i){
		clearTimeout(this.st);
		this.cur=i;
		this.cur=this.cur%this.count;
		this.bd=this.createDiv(this.xns[this.cur]);
		this.fade(this.fd);
		this.fd=this.bd;
		this.fd.id=this.bid;
		var self=this;
		this.st=setTimeout(function(){self.doNext();}, this.delay*1000);
	}
	this.doNext=function(){
		this.cur++;
		this.cur=this.cur%this.count;
		this.bd=this.createDiv(this.xns[this.cur]);
		this.fade(this.fd);
		this.fd=this.bd;
		this.fd.id=this.fid;
		var self=this;
		this.st=setTimeout(function(){self.doNext();}, this.delay*1000);
	}
	this.createDiv=function(n){
		var d=this.doc.createElement("div");
		d.id=this.bid;
		d.innerHTML="<a href='"+n.getAttribute("url")+"'><img src='upload/LinkImg/"+n.getAttribute("image")+"' /></a>\r\n<span class='Title'>"+n.getAttribute("title")+"</span>\r\n<div class='Define'>"+n.text+"</div>"
		return this.div.insertBefore(d,this.fd);
	}
	this.fade=function(d){
		d.alpha = 100;
        d.style.opacity = (d.alpha / 100);
        d.style.filter = 'alpha(opacity=' + d.alpha + ')';
        var value = d.alpha;
         (function(){
             d.style.opacity = (value / 100);
             d.style.filter = 'alpha(opacity=' + value + ')';
			 value=value-10;
			 if (value >= 0) {
				 setTimeout(arguments.callee, 100);//继续调用本身
			  }
			  else{
				d.parentNode.removeChild(d);
			  }
         })();
	}
}
