var TINY={};

function T$(i){return document.getElementById(i)}
function T$$(e,p){return p.getElementsByTagName(e)}

TINY.slider=function(){
	function slide(n,p){this.n=n; this.init(p)}
	slide.prototype.init=function(p){
		var s=this.x=T$(p.id), u=this.u=T$$('ul',s)[0], c=this.m=T$$('li',u), l=c.length, i=this.l=this.c=0;
		if(p.navid&&p.activeclass){this.g=T$$('li',T$(p.navid)); this.s=p.activeclass}
		this.a=p.auto||0; this.p=p.resume||0; this.v=p.vertical||0; this.f=p.loop||0; s.style.overflow='hidden';
		for(i;i<l;i++){if(c[i].parentNode==u){this.l++}}
		if(this.v){;
			u.style.top=0; this.h=p.height||c[0].offsetHeight; u.style.height=(this.l*this.h)+'px'
		}else{
			u.style.left=0; this.w=p.width||c[0].offsetWidth; u.style.width=(this.l*this.w*2)+'px'
		}
		this.pos(p.position||0,this.a?1:0)
	},
	slide.prototype.auto=function(){
		this.x.ai=setInterval(new Function(this.n+'.move(1,1)'),this.a*1000)
	},
	slide.prototype.move=function(d,a){
		var n=this.c+d, i=d==1?n==this.l&&!this.f?0:n:n<0&&!this.f?this.l-1:n; this.pos(i,a)
	},
	slide.prototype.pos=function(p,a){
		var v=p, r=0; this.c=p; clearInterval(this.x.ai); clearInterval(this.x.si);
		if(this.f&&(v==this.l||p<0)){
			this.y=this.u.cloneNode(1); r=1; this.c=d==1?0:this.l-1;
			for(var i=0;i<this.l;i++){this.u.appendChild(this.m[i].cloneNode(1))}
			if(v<0){
				this.v?this.u.style.top=(this.l*this.h*-1)+'px':this.u.style.left=(this.l*this.w*-1)+'px'; p=v=this.l-1
			}else{
				p=0	
			}
		}
		var o=this.v?parseInt(this.u.style.top):parseInt(this.u.style.left),
		t=this.v?v*this.h:v*this.w, d=t>Math.abs(o)?1:-1; t=t*-1;
		if(this.g){for(var i=0;i<this.l;i++){this.g[i].className=i==p?this.s:''}}
		this.x.si=setInterval(new Function(this.n+'.slide('+t+','+d+','+a+','+r+')'),20)
	},
	slide.prototype.slide=function(t,d,a,r){
		var o=this.v?parseInt(this.u.style.top):parseInt(this.u.style.left);
		if(o==t){
			clearInterval(this.x.si); if(a||(this.a&&this.p)){this.auto()}
			if(r){
				this.x.replaceChild(this.y,this.u); this.u=T$$('ul',this.x)[0]; this.m=T$$('li',this.u);
				this.v?this.u.style.top=d==1?0:this.h*(this.l-1)+'px':this.u.style.left=d==1?0:this.w*(this.l-1)*-1+'px';
				this.c=d==1?0:this.l-1
			}
		}else{
			var v=o-Math.ceil(Math.abs(t-o)*.15)*d+'px';
			this.v?this.u.style.top=v:this.u.style.left=v
		}
	};
	return{slide:slide}
}();