/**
last modify:2008-01-03 解决图片移至button区域，图片播放下一个的情形
**/
<!--
if(typeof PicFocusManager == "undefined")
{
PicFocusManager =[];
}
//	if(typeof Event != 'undefined'){
//		Event.prototype.__defineGetter__("toElement",function(){   
//		  var node;
//		  alert(this.type)
//		  if(this.type == "mouseout")
//			node = this.relatedTarget;   
//		  else if(this.type == "mouseover")   
//			node = this.target;   
//		  if(!node) return;
//		  while(node.nodeType != 1) node = node.parentNode;   
//		  return node;
//	  });
//	}
function PicFocus(imageContainerID,textContainerID,buttonContainerID,intervarTime){
	this.$ = function (id){return document.getElementById(id)}
	this.index = PicFocusManager.length;
	PicFocusManager[PicFocusManager.length] = this;
	this.imageContainer = this.$(imageContainerID);
	this.textContainer = this.$(textContainerID);
	this.buttonContainer = this.$(buttonContainerID);
	this.firstShow = 0; //默认显示项
	this.interval = (isNaN(intervarTime)?0:intervarTime) || 5000;
	//切换时间
	this.canAutoPlay = true; //是否可以自动切换
	this.currentPosition = this.firstShow;
	this.timer;
	this.images = [];
	this.texts = [];
	this.buttons = [];

	this.bindEvent = function(){
		var _self = this;
		for(var i=0;i<this.images.length;i++){
			this.images[i].onmouseover = function(){
				_self.stop();
			}

			this.images[i].onmouseout = function(event){
				var willPlay=true;

				if(!event)event=window.event;
				for(var i=0;i<_self.buttons.length;i++){
					if(typeof event.toElement != 'undefined' && event.toElement == _self.buttons[i]){
						willPlay=false;
					}
					if(typeof event.relatedTarget != 'undefined' && event.relatedTarget==_self.buttons[i]){
						willPlay=false;
					}
				}

				if(willPlay)
				_self.play();
			}
		}

		for(var i=0;i<this.buttons.length;i++){
			this.buttons[i].onclick = function(){
				_self.focus(this);
			}
		}
	}

	this.play = function(){
		if(this.canAutoPlay){
			this.setFocus(this.currentPosition ++ )
			if(this.currentPosition >= this.images.length)this.currentPosition =0 ;
			this.timer = setTimeout('PicFocusManager[' + this.index + '].play()' , this.interval )
		}
	}

	this.stop = function(){
		clearTimeout( this.timer );
	}

	this.focus = function(button){
		for(var i=0;i<this.buttons.length;i++){
			if(this.buttons[i] == button){
				this.currentPosition = i;
				this.setFocus(this.currentPosition);
				break;
			}
		}
	}

	this.setFocus = function(i){
		try{
			this.imageContainer.filters[0].apply();
			this.imageContainer.filters[0].play();
		}catch(e){}

		for(var j=0;j<this.images.length;j++){
			this.images[j].style.display = (i==j)?"":"none";
		}

		for(var j=0;j<this.texts.length;j++){
			this.texts[j].style.display = (i==j)?"":"none";
		}

		for(var j=0;j<this.buttons.length;j++){
			this.buttons[j].className = (i==j)? this.buttons[j].getAttribute("focusClass") :this.buttons[j].getAttribute("normalClass");
		}

		try{  //滤镜版本
			new ActiveXObject("DXImageTransform.Microsoft.Fade");
			this.imageContainer.filters[0].play();
		}catch(e){}
	}

	this.init = function(){
		if(this.imageContainer && this.imageContainer && this.imageContainer){
			//init
			this.images=this.imageContainer.getElementsByTagName("img");
			if(this.textContainer) this.texts=this.textContainer.getElementsByTagName("label");
			this.buttons=this.buttonContainer.getElementsByTagName("a");
			this.bindEvent();
			for(var i=0;i<this.images.length;i++){
				this.images[i].style.display = "none";
				if(i<this.texts.length) this.texts[i].style.display = "none";
				this.buttons[i].className = this.buttons[i].getAttribute("normalClass");
			}
			this.images[this.firstShow].style.display = "";
			if(this.firstShow<this.texts.length) this.texts[this.firstShow].style.display = "";
			this.buttons[this.firstShow].className = this.buttons[this.firstShow].getAttribute("focusClass");
		}else{
			alert("未提供正确的参数")
		}
	}
}
