var TINY={};function T$(i){return document.getElementById(i)}TINY.box=function(){var p,m,b,fn,ic,iu,iw,ih,ia,f=0;return{show:function(c,u,w,h,a,t){if(!f){p=document.createElement('div');p.id='tinybox';m=document.createElement('div');m.id='tinymask';b=document.createElement('div');b.id='tinycontent';document.body.appendChild(m);document.body.appendChild(p);p.appendChild(b);m.onclick=TINY.box.hide;window.onresize=TINY.box.resize;f=1}if(!a&&!u){p.style.width=w?w+'px':'auto';p.style.height=h?h+'px':'auto';p.style.backgroundImage='none';b.innerHTML=c}else{b.style.display='none';p.style.width=p.style.height='100px'}this.mask();ic=c;iu=u;iw=w;ih=h;ia=a;this.alpha(m,1,80,3);if(t){setTimeout(function(){TINY.box.hide()},1000*t)}},fill:function(c,u,w,h,a){if(u){p.style.backgroundImage='';var x=window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject('Microsoft.XMLHTTP');x.onreadystatechange=function(){if(x.readyState==4&&x.status==200){TINY.box.psh(x.responseText,w,h,a)}};x.open('GET',c,1);x.send(null)}else{this.psh(c,w,h,a)}},psh:function(c,w,h,a){if(a){if(!w||!h){var x=p.style.width,y=p.style.height;b.innerHTML=c;p.style.width=w?w+'px':'';p.style.height=h?h+'px':'';b.style.display='';w=parseInt(b.offsetWidth);h=parseInt(b.offsetHeight);b.style.display='none';p.style.width=x;p.style.height=y}else{b.innerHTML=c}this.size(p,w,h,4)}else{p.style.backgroundImage='none'}},hide:function(){TINY.box.alpha(p,-1,0,3)},resize:function(){TINY.box.pos();TINY.box.mask()},mask:function(){m.style.height=TINY.page.theight()+'px';m.style.width='';m.style.width=TINY.page.twidth()+'px'},pos:function(){var t=(TINY.page.height()/2)-(p.offsetHeight/2);t=t<10?10:t;p.style.top=(t+TINY.page.top())+'px';p.style.left=(TINY.page.width()/2)-(p.offsetWidth/2)+'px'},alpha:function(e,d,a,s){clearInterval(e.ai);if(d==1){e.style.opacity=0;e.style.filter='alpha(opacity=0)';e.style.display='block';this.pos()}e.ai=setInterval(function(){TINY.box.twalpha(e,a,d,s)},20)},twalpha:function(e,a,d,s){var o=Math.round(e.style.opacity*100);if(o==a){clearInterval(e.ai);if(d==-1){e.style.display='none';e==p?TINY.box.alpha(m,-1,0,2):b.innerHTML=p.style.backgroundImage=''}else{e==m?this.alpha(p,1,100,5):TINY.box.fill(ic,iu,iw,ih,ia)}}else{var n=o+Math.ceil(Math.abs(a-o)/s)*d;e.style.opacity=n/100;e.style.filter='alpha(opacity='+n+')'}},size:function(e,w,h,s){e=typeof e=='object'?e:T$(e);clearInterval(e.si);var ow=e.offsetWidth,oh=e.offsetHeight,wo=ow-parseInt(e.style.width),ho=oh-parseInt(e.style.height);var wd=ow-wo>w?-1:1,hd=(oh-ho>h)?-1:1;e.si=setInterval(function(){TINY.box.twsize(e,w,wo,wd,h,ho,hd,s)},20)},twsize:function(e,w,wo,wd,h,ho,hd,s){var ow=e.offsetWidth-wo,oh=e.offsetHeight-ho;if(ow==w&&oh==h){clearInterval(e.si);p.style.backgroundImage='none';b.style.display='block'}else{if(ow!=w){e.style.width=ow+(Math.ceil(Math.abs(w-ow)/s)*wd)+'px'}if(oh!=h){e.style.height=oh+(Math.ceil(Math.abs(h-oh)/s)*hd)+'px'}this.pos()}}}}();TINY.page=function(){return{top:function(){return document.body.scrollTop||document.documentElement.scrollTop},width:function(){return self.innerWidth||document.documentElement.clientWidth},height:function(){return self.innerHeight||document.documentElement.clientHeight},theight:function(){var d=document,b=d.body,e=d.documentElement;return Math.max(Math.max(b.scrollHeight,e.scrollHeight),Math.max(b.clientHeight,e.clientHeight))},twidth:function(){var d=document,b=d.body,e=d.documentElement;return Math.max(Math.max(b.scrollWidth,e.scrollWidth),Math.max(b.clientWidth,e.clientWidth))}}}();
T$('credits').onclick = function(){TINY.box.show('credits.htm',1,480,270,1)}
var Crossfade=Class.create();Crossfade.prototype={loaded:false,initialize:function(elm,options){var me=this,next,prev;this.elm=$(elm);this.counter=0;this.prevSlide=null;var t_opt={};for(t in Crossfade.Transition){var trans=Crossfade.Transition[t];if(trans.className&&this.elm.hasClassName(trans.className)){t_opt={transition:trans};break;}}
this.options=Object.extend(Object.clone(Crossfade.defaults),Object.extend(options||{},t_opt));this.options.interval=Math.max(2,this.options.interval);this.elm.makePositioned();this.slides=this.elm.immediateDescendants();if(this.options.random||this.elm.hasClassName(this.options.randomClassName)){this.slides.sort(function(a,b){return me.rndm(-1,1);});}
if(this.elm.id){next=$(this.elm.id+'-next');prev=$(this.elm.id+'-previous');if(next){Event.observe(next,'click',this.next.bind(this));}
if(prev){Event.observe(prev,'click',this.previous.bind(this));}}
this.loadSlide(this.slides[0],function(){me.options.transition.prepare(me);});this.loadSlide(this.slides[1]);if(this.options.autoStart){setTimeout(this.start.bind(this),this.rndm((this.options.interval-1)*1000,(this.options.interval+1)*1000));}},start:function(){this.ready=true;this.cycle()
return this.timer=new PeriodicalExecuter(this.cycle.bind(this),this.options.interval);},stop:function(){this.options.transition.cancel(this);this.timer.stop();},next:function(){this.options.transition.cancel(this);this.cycle();},previous:function(){this.options.transition.cancel(this);this.cycle(-1);},cycle:function(dir){if(!this.ready){return;}
this.ready=false;dir=(dir===-1)?dir:1;var me=this,prevSlide,nextSlide,opt,fade;prevSlide=this.slides[this.counter];this.counter=this.loopCount(this.counter+dir);if(this.counter==0){this.loaded=true;}
nextSlide=this.slides[this.counter];this.loadSlide(nextSlide,me.options.transition.cycle(prevSlide,nextSlide,me));if(!this.loaded){this.loadSlide(this.slides[this.loopCount(this.counter+1)]);}},loadSlide:function(slide,onload){var loaders=[],me=this,img,pnode,onloadFunction;onload=typeof onload==='function'?onload:function(){};onloadFunction=function(){onload();me.ready=true;};slide=$(slide);loaders=Selector.findChildElements(slide,[this.options.imageLoadSelector]);if(loaders.length&&loaders[0].href!==''){img=document.createElement('img');img.className='loadimage';img.onload=onloadFunction;img.src=loaders[0].href;loaders[0].parentNode.replaceChild(img,loaders[0]);}else{loaders=[];loaders=Selector.findChildElements(slide,[this.options.ajaxLoadSelector]);if(loaders.length&&loaders[0].href!==''){new Ajax.Updater(slide,loaders[0].href,{method:'get',onComplete:onloadFunction});}else{onloadFunction();}}},loopCount:function(c){if(c>=this.slides.length){c=0;}else if(c<0){c=this.slides.length-1}
return c;},rndm:function(min,max){return Math.floor(Math.random()*(max-min+1)+min);},timer:null,effect:null,ready:false};Crossfade.Transition={};Crossfade.Transition.Switch={className:'transition-switch',cycle:function(prev,next,show){show.slides.without(next).each(function(s){$(s).hide();})
$(next).show();},cancel:function(show){},prepare:function(show){show.slides.each(function(s,i){$(s).setStyle({display:(i===0?'block':'none')});});}};Crossfade.Transition.Crossfade={className:'transition-crossfade',cycle:function(prev,next,show){var opt=show.options;show.effect=new Effect.Parallel([new Effect.Fade(prev,{sync:true}),new Effect.Appear(next,{sync:true})],{duration:opt.duration,queue:'Crossfade',afterFinish:function(){show.slides.without(next).each(function(s){$(s).setStyle({opacity:0});})}});},cancel:function(show){if(show.effect){show.effect.cancel();}},prepare:function(show){show.slides.each(function(s,i){$(s).setStyle({opacity:(i===0?1:0),visibility:'visible'});});}};Crossfade.Transition.FadeOutFadeIn={className:'transition-fadeoutfadein',cycle:function(prev,next,show){var opt=show.options;show.effect=new Effect.Fade(prev,{duration:opt.duration/2,afterFinish:function(){show.effect=new Effect.Appear(next,{duration:opt.duration/2});show.slides.without(next).each(function(s){$(s).setStyle({opacity:0});})}});},cancel:function(show){if(show.effect){show.effect.cancel();}},prepare:function(show){show.slides.each(function(s,i){$(s).setStyle({opacity:(i===0?1:0),visibility:'visible'});});}};Effect.DoNothing=Class.create();Object.extend(Object.extend(Effect.DoNothing.prototype,Effect.Base.prototype),{initialize:function(){this.start({duration:0});},update:Prototype.emptyFunction});Crossfade.Transition.FadeOutResizeFadeIn={className:'transition-fadeoutresizefadein',cycle:function(prev,next,show){var opt=show.options;show.effect=new Effect.Fade(prev,{duration:(opt.duration-1)/2,afterFinish:function(){show.slides.without(next).each(function(s){$(s).setStyle({opacity:0});})
var slideDims=[next.getWidth(),next.getHeight()];var loadimg=Selector.findChildElements(next,['img.loadimage']);if(loadimg.length&&loadimg[0].offsetWidth&&loadimg[0].offsetHeight){slideDims[0]+=slideDims[0]<loadimg[0].offsetWidth?loadimg[0].offsetWidth:0;slideDims[1]+=slideDims[1]<loadimg[0].offsetHeight?loadimg[0].offsetHeight:0;}
var showDims=[show.elm.getWidth(),show.elm.getHeight()];var scale=[(showDims[0]>0&&slideDims[0]>0?slideDims[0]/showDims[0]:1)*100,(showDims[1]>0&&slideDims[1]>0?slideDims[1]/showDims[1]:1)*100];show.effect=new Effect.Parallel([(scale[0]===100?new Effect.DoNothing():new Effect.Scale(show.elm,scale[0],{sync:true,scaleY:false,scaleContent:false})),(scale[1]===100?new Effect.DoNothing():new Effect.Scale(show.elm,scale[1],{sync:true,scaleX:false,scaleContent:false}))],{duration:1,queue:'FadeOutResizeFadeIn',afterFinish:function(){show.effect=new Effect.Appear(next,{duration:(opt.duration-1)/2});}});}});},cancel:function(show){if(show.effect){show.effect.cancel();}},prepare:function(show){var slideDims=[$(show.slides[0]).getWidth(),$(show.slides[0]).getHeight()];show.elm.setStyle({width:slideDims[0]+'px',height:slideDims[1]+'px'});show.slides.each(function(s,i){$(s).setStyle({opacity:(i===0?1:0),visibility:'visible'});});}};Crossfade.defaults={autoLoad:true,autoStart:true,random:false,randomClassName:'random',selectors:['.crossfade'],imageLoadSelector:'a.loadimage',ajaxLoadSelector:'a.load',interval:5,duration:2,transition:Crossfade.Transition.Crossfade};Crossfade.setup=function(options){Object.extend(Crossfade.defaults,options);};Crossfade.load=function(){if(Crossfade.defaults.autoLoad){Crossfade.defaults.selectors.each(function(s){$$(s).each(function(c){return new Crossfade(c);});});}};if(window.FastInit){FastInit.addOnLoad(Crossfade.load);}else{Event.observe(window,'load',Crossfade.load);}
Crossfade.setup({autoLoad:false,interval:12});var cf2=new Crossfade('fade-header');
