var TINY={};
function $(i){
	return document.getElementById(i)
}
function $$(e,p){
	p=p||document;
	return p.getElementsByTagName(e)
}
TINY.slideshow=function(n){
	this.infoSpeed = this.imgSpeed = this.speed = 10;
	this.thumbOpacity = this.navHover = 70;
	this.navOpacity = 25;
	this.scrollSpeed = 5;
	this.letterbox = '#FFF0E0';
	this.n = n;
	this.c = 0;
	this.a = []
};
TINY.slideshow.prototype={
	init:function(s,z,b,f,q){
		s = $(s);
		var m = $$('li',s), i = 0, w = 0;
		this.l = m.length;
		this.q = $(q);
		this.f = $(z);
		this.r = $(this.info);
		this.o = parseInt(TINY.style.val(z,'width'));
		if(this.thumbs){
			var u = $(this.left), r = $(this.right);
			u.onmouseover = new Function('TINY.scroll.init("'+this.thumbs+'",-1,'+this.scrollSpeed+')');
			u.onmouseout = r.onmouseout = new Function('TINY.scroll.cl("'+this.thumbs+'")');
			r.onmouseover = new Function('TINY.scroll.init("'+this.thumbs+'",1,'+this.scrollSpeed+')');
			this.p = $(this.thumbs)
		}
		for(i; i<this.l; i++){
			this.a[i] = {};
			var h = m[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(this.thumbs){
				var g = $$('img',h)[0];
				this.p.appendChild(g);
				w += parseInt(g.offsetWidth);
				if(i != this.l-1){
					g.style.marginRight = this.spacing+'px';
					w += this.spacing
				}
				this.p.style.width = w+'px';
				g.style.opacity = this.thumbOpacity/100;
				g.style.filter = 'alpha(opacity='+this.thumbOpacity+')';
				g.onmouseover = new Function('TINY.alpha.set(this,100,5)');
				g.onmouseout = new Function('TINY.alpha.set(this,'+this.thumbOpacity+',5)');
				g.onclick = new Function(this.n+'.pr('+i+',1)')
			}
		}
		if(b&&f){
			b = $(b);
			f = $(f);
			b.style.opacity = f.style.opacity = this.navOpacity/100;
			b.style.filter = f.style.filter = 'alpha(opacity='+this.navOpacity+')';
			b.onmouseover = f.onmouseover = new Function('TINY.alpha.set(this,'+this.navHover+',5)');
			b.onmouseout = f.onmouseout = new Function('TINY.alpha.set(this,'+this.navOpacity+',5)');
			b.onclick = new Function(this.n+'.mv(-1,1)');
			f.onclick = new Function(this.n+'.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.l-1 : t > this.l-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)
		}
		var i = new Image();
		i.style.opacity = 0;
		i.style.filter = 'alpha(opacity=0)';
		this.i = i;
		i.onload = new Function(this.n+'.le('+s+','+c+')');
		i.src = this.a[s].p;
		if(this.thumbs){
			var a = $$('img',this.p), l=a.length, x=0;
			for(x; x < l; x++){
				a[x].style.borderColor = x != s ? '' : this.active
			}
		}
	}, 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.n+'.nf('+s+')');
		this.lt = setTimeout(n,this.imgSpeed*100);
		if(!c){
			this.at = setTimeout(new Function(this.n+'.mv(1,0)'),this.speed*1000)
		}
		if(this.a[s].l != ''){
			//this.q.onclick = new Function('window.location="'+this.a[s].l+'"');
			this.q.onclick=new Function('window.open('+"'"+this.a[s].l+"'"+', "_blank")');
			this.q.onmouseover = new Function('this.className="'+this.link+'"');
			this.q.onmouseout = new Function('this.className=""');
			this.q.style.cursor = 'pointer';
		}
		else{
			this.q.onclick = this.q.onmouseover = null;
			this.q.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 = 0;
			TINY.height.set(this.r,h,this.infoSpeed,0)
		}
	}
};
TINY.scroll = function(){
	return{
		init:function(e,d,s){
			e = typeof e == 'object' ? e : $(e);
			var p = e.style.left || TINY.style.val(e,'left');
			e.style.left = p;
			var l = d == 1 ? parseInt(e.offsetWidth) - parseInt(e.parentNode.offsetWidth) : 0;
			e.si = setInterval(function(){TINY.scroll.mv(e,l,d,s)},20)
		}, mv:function(e,l,d,s){
			var c = parseInt(e.style.left);
			if(c == l){
				TINY.scroll.cl(e)
			}
			else{

				var i = Math.abs(l+c);
				i = i < s ? i : s;
				var n = c-i * d;
				e.style.left=n+'px'

			}
		}, cl:function(e){
			e = typeof e == 'object' ? e : $(e);
			clearInterval(e.si)
		}
	}
}();
TINY.height = function(){
	return{
		set:function(e,h,s,d){
			e = typeof e == 'object' ? e : $(e);
			var oh = e.offsetHeight, ho = e.style.height||TINY.style.val(e,'height');
			ho = oh - parseInt(ho);
			var hd = oh - ho > h ? -1 : 1;
			clearInterval(e.si);
			e.si = setInterval(function(){TINY.height.tw(e,h,ho,hd,s)},20)
		}, tw:function(e,h,ho,hd,s){
			var oh = e.offsetHeight - ho;
			if(oh == h){
				clearInterval(e.si)
			}else{
				/*if(oh!=h){
					e.style.height = oh + (Math.ceil(Math.abs(h-oh)/s)*hd)+'px'
				}*/
			}
		}
	}
}();
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)
		}
	}
}();
