var TINY={};

function $(i){return document.getElementById(i)}
function $$(element,parent){parent=parent||document; return parent.getElementsByTagName(element)}

TINY.slideshow=function(name){
	this.infoSpeed=this.imgSpeed=this.speed=8;
	this.thumbOpacity=this.navHover=90;
	this.navOpacity=25;
	this.letterbox='#000';
	this.name=name;
	this.c=0;
	this.a=[]
};

TINY.slideshow.prototype={
	init:function(slideshow,image,prev,next,imglink){
		slideshow=$(slideshow);
		var images=$$('li',slideshow), i=0, w=0;
		this.len=images.length;
		this.imglink=$(imglink);
		this.f=$(image);
		this.r=$(this.info);
		this.o=parseInt(TINY.style.val(image,'width'));
		for(i;i<this.len;i++){
			this.a[i]={};
			var h=images[i], a=this.a[i];
			a.t=$$('h3',h)[0].innerHTML;
			a.d=$$('p',h)[0].innerHTML;
			a.l=$$('a',h)[0]?$$('a',h)[0].href:'';
			a.p=$$('span',h)[0].innerHTML;
		}
		if(prev&&next){
			prev=$(prev);
			next=$(next);
			prev.style.opacity=next.style.opacity=this.navOpacity/100;
			prev.style.filter=next.style.filter='alpha(opacity='+this.navOpacity+')';
			prev.onmouseover=next.onmouseover=new Function('TINY.alpha.set(this,'+this.navHover+',5)');
			prev.onmouseout=next.onmouseout=new Function('TINY.alpha.set(this,'+this.navOpacity+',5)');
			prev.onclick=new Function(this.name+'.mv(-1,1)');
			next.onclick=new Function(this.name+'.mv(1,1)')
		}
		this.auto?this.is(0,0):this.is(0,1)
	},
	mv:function(d,c){
		var t=this.c+d;
		this.c=t=t<0?this.len-1:t>this.len-1?0:t;
		this.pr(t,c)
	},
	pr:function(t,c){
		clearTimeout(this.lt);
		if(c){
			clearTimeout(this.at)
		}
		this.c=t;
		this.is(t,c)
	},
	is:function(s,c){
		if(this.info){
			/*TINY.height.set(this.r,1,this.infoSpeed/2,-1)*/
			TINY.alpha.set(this.r,0,5)
		}
		var i=new Image();
		i.style.opacity=0;
		i.style.filter='alpha(opacity=0)';
		this.i=i;
		i.onload=new Function(this.name+'.le('+s+','+c+')');
		i.src=this.a[s].p;
	},
	le:function(s,c){
		this.f.appendChild(this.i);
		var w=this.o-parseInt(this.i.offsetWidth);
		if(w>0){
			var l=Math.floor(w/2);
			this.i.style.borderLeft=l+'px solid '+this.letterbox;
			this.i.style.borderRight=(w-l)+'px solid '+this.letterbox
		}
		TINY.alpha.set(this.i,100,this.imgSpeed);
		var n=new Function(this.name+'.nf('+s+')');
		this.lt=setTimeout(n,this.imgSpeed*100);
		if(!c){
			this.at=setTimeout(new Function(this.name+'.mv(1,0)'),this.speed*1000)
		}
		if(this.a[s].l!=''){
			this.imglink.onclick=new Function('window.location="'+this.a[s].l+'"');
			this.imglink.onmouseover=new Function('this.className="'+this.link+'"');
			this.imglink.onmouseout=new Function('this.className=""');
			this.imglink.style.cursor='pointer'
		}else{
			this.imglink.onclick=this.imglink.onmouseover=null;
			this.imglink.style.cursor='default'
		}
		var m=$$('img',this.f);
		if(m.length>2){
			this.f.removeChild(m[0])
		}
	},
	nf:function(s){
		if(this.info){
			s=this.a[s];
			$$('h3',this.r)[0].innerHTML=s.t;
			$$('p',this.r)[0].innerHTML=s.d;
			this.r.style.height='auto';
			var h=parseInt(this.r.offsetHeight);
			this.r.style.height=50;
			/*TINY.height.set(this.r,h,this.infoSpeed,0)*/
			TINY.alpha.set(this.r,70,5)
		}
	}
};

TINY.alpha=function(){
	return{
		set:function(e,a,s){
			e=typeof e=='object'?e:$(e); var o=e.style.opacity||TINY.style.val(e,'opacity'),
			d=a>o*100?1:-1; e.style.opacity=o; clearInterval(e.ai); e.ai=setInterval(function(){TINY.alpha.tw(e,a,d,s)},20)
		},
		tw:function(e,a,d,s){
			var o=Math.round(e.style.opacity*100);
			if(o==a){clearInterval(e.ai)}else{var n=o+Math.ceil(Math.abs(a-o)/s)*d; e.style.opacity=n/100; e.style.filter='alpha(opacity='+n+')'}
		}
	}
}();

TINY.style=function(){return{val:function(e,p){e=typeof e=='object'?e:$(e); return e.currentStyle?e.currentStyle[p]:document.defaultView.getComputedStyle(e,null).getPropertyValue(p)}}}();
