Effect.Wait=Class.create();Object.extend(Object.extend(Effect.Wait.prototype,Effect.Base.prototype),{initialize:function(c){this.element=$(c);
if(!this.element){throw (Effect._elementDoesNotExistError)}var d=Object.extend({},arguments[1]||{});
this.start(d)}});if(typeof(AC)=="undefined"){AC={}}AC.CrossfadeQueue=Class.create();
AC.CrossfadeQueue.prototype={nextIndex:0,queue:null,container:null,scope:null,safetyDiv:null,delay:6,fadeInTime:0.5,fadeOutTime:0.5,defaultQueueName:"defaultXFadeQueue",currentNode:null,stopped:false,pauseTimeStamp:null,initialize:function(i,j,p,m,k,l,n){this.container=$(j);
this.scope=j.toString();this.queue=$A(i);if(p!=null){this.delay=p}if(m!=null){this.defaultQueueName=m
}if(k!=null){this.fadeInTime=k}if(l!=null){this.fadeOutTime=l}if(typeof(this.queue[0])=="string"){this.container.innerHTML=""
}else{for(var o=0;o<this.queue.length;o++){$(this.queue[o]).remove()}}this.delegate=n;
this.next()},pause:function(){this.pauseTimeStamp=new Date().getTime();var b=Effect.Queues.get(this.defaultQueueName);
if(b.interval){clearInterval(b.interval)}this.currentNode.setStyle({opacity:1});
setTimeout(this.resume.bind(this),2000)},stop:function(){this.stopped=true;this.pause()
},play:function(){this.stopped=false;this.resume()},resume:function(){if(this.stopped||!this.pauseTimeStamp){return
}var c=new Date().getTime()-this.pauseTimeStamp;this.pauseTimeStamp=null;var d=Effect.Queues.get(this.defaultQueueName);
d.each(function(a){a.startOn+=c;a.finishOn+=c});d.interval=setInterval(d.loop.bind(d),40)
},next:function(){if(this.nextIndex>this.queue.length-1){this.nextIndex=0}var f=function(a){return function(){if(this.currentNode){this.currentNode.remove()
}this.currentNode=a;this.nextIndex++;new Effect.Wait(this.currentNode,{duration:this.delay,queue:{position:"end",scope:this.defaultQueueName},afterFinish:this.next.bind(this)})
}};if(this.currentNode){this.currentNode.setStyle({zIndex:"2"});var e=this.createNode();
var d=true;if(this.delegate&&this.delegate.crossfadeQueueWillDisplayNextItem){d=this.delegate.crossfadeQueueWillDisplayNextItem(this,e)
}if(d===false||(e===this.currentNode)){f(e).bind(this);return}else{new Effect.Opacity(this.currentNode,{duration:this.fadeOutTime,transition:Effect.Transitions.linear,from:1,to:0,afterFinish:f(e).bind(this)})
}}else{this.currentNode=this.createNode();if(this.delegate&&this.delegate.crossfadeQueueWillDisplayNextItem){d=this.delegate.crossfadeQueueWillDisplayNextItem(this,this.currentNode)
}if(d===false){this.currentNode=null;this.nextIndex++;this.next();return}else{this.nextIndex++;
new Effect.Wait(this.currentNode,{duration:this.delay,queue:{position:"end",scope:this.defaultQueueName},afterFinish:this.next.bind(this)})
}}},createNode:function(){do{var c=this.queue[this.nextIndex];var d=true;if(typeof(c)=="string"){c=document.createElement("div");
c.innerHTML=this.queue[this.nextIndex];this.queue[this.nextIndex]=c;c.isCreated=true
}else{if(typeof c.isCreated==="undefined"){if(this.delegate&&this.delegate.crossfadeQueueShouldCreateNode){d=this.delegate.crossfadeQueueShouldCreateNode(this,c)
}if(d===false){this.queue.splice(this.nextIndex,1);this.nextIndex++;if(this.nextIndex>this.queue.length-1){this.nextIndex=0
}}else{c.isCreated=true}}}}while(!d&&this.nextIndex<this.queue.length);c=$(c);c.setStyle({position:"absolute",opacity:1,zIndex:1});
c.addClassName("ACCrossfadeQueueElement");c.onmouseover=this.pause.bind(this);c.onmouseout=this.resume.bind(this);
this.container.appendChild(c);return c}};function InitCrossFade(){if(arguments.length>0){var e=$A(InitCrossFade.arguments);
var f=e.shift();var d=(typeof(e[e.length-1])=="number")?e.pop():Math.floor(Math.random()*5)+3;
new AC.CrossfadeQueue(e,f,d)}};
