/*
 * Author:EDGESUN <edgesun@126.com> - 20100420
 * Call: NewEdgesunImgChange(x, w, h, imgs, links, indexFlag, waitTime, changeType, defImg)
 */
var EdgesunBind=function(object,fun){var args=Array.prototype.slice.call(arguments).slice(2);return function(){return fun.apply(object,args.concat(Array.prototype.slice.call(arguments)));}};function EdgesunImgChange(x,w,h,imgs,links,indexFlag,waitTime,changeType,defImg){if(!imgs){return};this._x=x;this._imgs=imgs.split("|");this._count=this._imgs.length;this._links=links?links.split("|"):false;if(this._links&&this._links.length<this._count){this._links=null};this._isIE=navigator.userAgent.search("MSIE")>0?1:0;this.InitHTML(w,h,!!this._links,defImg);this._timer=0;this._waitTime=waitTime;this._pause=0;this._index=0;this._indexFlag=!!indexFlag;if(this._indexFlag){for(var i=0;i<this._count;i++){this.$("edgesun-index"+this._x).innerHTML+='<li>'+(i+1).toString()+'</li>';}};this._imgChangeType=changeType;this._imgChangeTypeCount=44;this._imgSrc="";this._cur=0;this._opacity=100;this._front=this._back='';this.InitData();};EdgesunImgChange.prototype.$=function(id){return document.getElementById(id)?document.getElementById(id):false;};EdgesunImgChange.prototype.InitData=function(){this._index=(++this._index>this._count)?1:this._index;this._imgSrc=this._imgs[this._index-1];var img=new Image();img.src=this._imgSrc;this._imgSrc=img.src;if(img.complete){this.ImgPreChange();return;}try{if(img.readyState=="complete"){this.ImgPreChange();return;}}catch(e){};img.onload=EdgesunBind(this,this.ImgPreChange);};EdgesunImgChange.prototype.ImgPreChange=function(){if(this._indexFlag){for(var i=0;i<this._count;i++){this.$("edgesun-index"+this._x).getElementsByTagName("li")[i].className=(i==this._index-1)?'on':'';}};if(!this._isIE){this.ImgPreChange2();return;};if(this._links){this.$("edgesun-href"+this._x).href=this._links[this._index-1];};this.ImgChange();};EdgesunImgChange.prototype.ImgChange=function(){clearTimeout(this._timer);var img=this.$("edgesun-img"+this._x);if(img.src==this._imgSrc)return;img.style.filter=this.GetFilter((this._imgChangeType<0||this._imgChangeType>=this._imgChangeTypeCount)?parseInt(Math.random()*this._imgChangeTypeCount):this._imgChangeType);img.filters(0).apply();img.src=this._imgSrc;img.filters(0).play();if(!this._pause){this._timer=setTimeout(EdgesunBind(this,this.InitData),this._waitTime);}};EdgesunImgChange.prototype.ImgPreChange2=function(){clearTimeout(this._timer);if(this._back.src==this._imgSrc)return;this._back=this.$("edgesun-img-"+this._cur+this._x);this._back.src=this._imgSrc;if(this._links){this.$("edgesun-href-"+this._cur+this._x).href=this._links[this._index-1];};this._front=this.$("edgesun-img-"+(this._cur=(++this._cur%2))+this._x);this._back.style.opacity=this._opacity=100;this.ImgChange2();};EdgesunImgChange.prototype.ImgChange2=function(){clearTimeout(this._timer);if(this._opacity<=0){this._front.style.zIndex=0;this._back.style.zIndex=1;if(!this._pause)this._timer=setTimeout(EdgesunBind(this,this.InitData),this._waitTime);return;};this._opacity=this._opacity-1;try{this._front.style.opacity=this._opacity*0.01}catch(e){};this._timer=setTimeout(EdgesunBind(this,this.ImgChange2),10);};EdgesunImgChange.prototype.SetIndex=function(pause,i){if(!!pause){this._pause=1;this._index=i;this.InitData();}else{this._pause=0;this._timer=setTimeout(EdgesunBind(this,this.InitData),this._waitTime)}};EdgesunImgChange.prototype.GetFilter=function(i){var t='progid:DXImageTransform.Microsoft.';switch(i){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:return 'revealTrans(transition='+i+')';break;case 23:return 'revealTrans(transition='+parseInt(Math.random()*23)+')';break;case 24:return t+'Pixelate(MaxSquare=20)';break;case 25:return 'blendTrans()';break;case 26:return t+'Wipe(duration=1,GradientSize=.40,wipeStyle=0,motion=reverse)';break;case 27:return t+'Wipe(duration=1,GradientSize=.40,wipeStyle=0,motion=forward)';break;case 28:return t+'Wipe(duration=1,GradientSize=.40,wipeStyle=1,motion=reverse)';break;case 29:return t+'Wipe(duration=1,GradientSize=.40,wipeStyle=1,motion=forward)';break;case 30:return t+'Wheel(spokes=8)';break;case 31:return t+'Iris(IrisStyle=PLUS)';break;case 32:return t+'Iris(IrisStyle=cross)';break;case 33:return t+'Iris(IrisStyle=DIAMOND)';break;case 34:return t+'RadialWipe(wipeStyle=clock)';break;case 35:return t+'RadialWipe(wipeStyle=radial)';break;case 36:return t+'RadialWipe(wipeStyle=wedge)';break;case 37:return t+'Slide(bands=5,slideStyle=push)';break;case 38:return t+'Slide(bands=10,SlideStyle=swap)';break;case 39:return t+'Slide(bands=10,SlideStyle=hide)';break;case 40:return t+'Spiral(SProperties)';break;case 41:return t+'Stretch(StretchStyle=SPIN)';break;case 42:return t+'Stretch(StretchStyle=PUSH)';break;case 43:return t+'Zigzag(sProperties)';break;default:return 'revealTrans(transition='+parseInt(Math.random()*23)+')';}};EdgesunImgChange.prototype.InitHTML=function(w,h,linkFlag,defImg){document.write('<style type="text/css">#edgesun-container'+this._x+'{position:relative;width:'+w+'px;height:'+h+'px;overflow:hidden;}#edgesun-img-0'+this._x+',#edgesun-img-1'+this._x+'{position:absolute;top:0;left:0;}#edgesun-container'+this._x+' img{width:'+w+'px;height:'+h+'px;border:0;}#edgesun-index'+this._x+'{position:absolute;margin:0;padding:0;bottom:1px;right:2px;list-style:none;z-index:2;}#edgesun-index'+this._x+' li{float:left;margin:3px 1px;border:1px solid #FF7300;width:16px;height:16px;line-height:16px;font-size:12px;color:#FF7300;text-align:center;cursor:pointer;background-color:#FFFFFF;overflow:hidden;}#edgesun-index'+this._x+' li.on{color:#FFFFFF;background-color:#FF7300;font-weight:bold;}</style><div id="edgesun-container'+this._x+'">'+(this._isIE?(linkFlag?'<a href="javascript:" id="edgesun-href'+this._x+'"><img src="'+defImg+'" id="edgesun-img'+this._x+'"></a>':'<img src="'+defImg+'" id="edgesun-img'+this._x+'">'):(linkFlag?'<a href="javascript:" id="edgesun-href-0'+this._x+'"><img src="'+defImg+'" id="edgesun-img-0'+this._x+'"></a><a href="javascript:" id="edgesun-href-1'+this._x+'"><img src="'+defImg+'" id="edgesun-img-1'+this._x+'"></a>':'<img src="'+defImg+'" id="edgesun-img-0'+this._x+'"><img src="'+defImg+'" id="edgesun-img-1'+this._x+'">'))+'<ul id="edgesun-index'+this._x+'"></ul></div>');};function NewEdgesunImgChange(x,w,h,imgs,links,indexFlag,waitTime,changeType,defImg){indexFlag=!!indexFlag;var imgChange=new EdgesunImgChange(x,w,h,imgs,links,indexFlag,waitTime,changeType,defImg);if(indexFlag&&imgs){var indexUl=document.getElementById("edgesun-index"+x).getElementsByTagName("li");for(var i=0;i<indexUl.length;i++){indexUl[i].onmouseover=function(){imgChange.SetIndex(1,parseInt(this.innerHTML)-1);};indexUl[i].onmouseout=function(){imgChange.SetIndex(0,0);};}}}
