slider=function()
{
	this.array = new Array(); 
	this.speed = 3;
	this.timer=10;
	
	slider.prototype.init=function(t,c){
		var s,ds,l,i,y;
		s=document.getElementById(t); ds=s.getElementsByTagName('div'); l=ds.length; i=y=0;
		for(i=0;i<l;i++){
			var d;
			var did; 
			var d=ds[i]; 
			var did=d.id;
			
			if(did.indexOf("header")!=-1){
				y++; 
				//d.onclick=new Function("slider.process(this)");
				var jonsobj = new Object();
				jonsobj['mythis'] = this;
				Event.observe(d,'click',function(e){
					jonsobj['mythis'].process(Event.element(e));
				});
			}else if(did.indexOf("content")!=-1){
				this.array.push(did.replace('-content','')); d.maxh=d.offsetHeight;
				if(c!=y){d.style.height='0px'; d.style.display='none'}
				else{d.style.display='block'}
			} 
		}
	}
	slider.prototype.process=function(d){
	
		//alert(d.id);
		
		var cl,i; cl=this.array.length; i=0;
		for(i;i<cl;i++){
			var s,h,c,cd;
			s=this.array[i]; 
			h=document.getElementById(s+'-header');
			c=s+'-content'; 
			cd=document.getElementById(c);
			cd.style.overflow='hidden'
			clearInterval(cd.timer);
			
			if(h==d&&cd.style.display=='none'){
				//alert('show');
				cd.style.display='block'; this.islide(c,1);
			}else if(cd.style.display=='block'){
				//alert('hide');
				this.islide(c,-1)
			}
		}
	}
	
	slider.prototype.islide=function(i,d){
		var c,m; 
		c=document.getElementById(i); 
		m=c.maxh; 
		c.direction=d;
		
		//NEEDED because setInterval takes in either CODE or a function POINTER
		var myFunc=function(obj,i)
		{
			myFunc.prototype.slide=function()
			{
				obj.slide(i);
			}
		}
		
		var func = new myFunc(this,i);
		c.timer=setInterval( func.slide ,this.timer);
		//c.timer=setInterval("slider.slide('"+i+"')",this.timer)
	}
	
	slider.prototype.slide=function(i){
		var c,m,h,dist; 
		c=document.getElementById(i);
		m=c.maxh; 
		h=c.offsetHeight;
		
		dist=(c.direction==1)?Math.round((m-h)/this.speed):Math.round(h/this.speed);
		
		if(dist<=1){dist=1}
		
		c.style.height=h+(dist*c.direction)+'px'; c.style.opacity=h/c.maxh; c.style.filter='alpha(opacity='+(h*100/c.maxh)+')';
		
		if(h<2&&c.direction!=1){
			c.style.display='none'; clearInterval(c.timer);
		}else if(h>(m-2)&&c.direction==1){
		clearInterval(c.timer)}
	}
}