function addLoadEvent(func) 
{
    var oldonload = window.onload;
    if (typeof window.onload != 'function') 
    {
        window.onload = func;
    } 
    else 
    {
        window.onload = function() 
        {
            if (oldonload) 
            {
                oldonload();
            }
            func();
        }
    }
}

var slider=function(){
	var array=[]; var speed=3; var timer=3;
		return{
		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,did; d=ds[i]; did=d.id;
				if(did.indexOf("header")!=-1){
					y++; d.onclick=new Function("slider.process(this)");
				}else if(did.indexOf("content")!=-1){
					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'}
				} 
			}
		},
		process:function(d)
		{
			var cl,i; cl=array.length; i=0;
			for(i;i<cl;i++)
			{
				var s,h,c,cd;
				s=array[i]; h=document.getElementById(s+'-header');
				c=s+'-content'; cd=document.getElementById(c); clearInterval(cd.timer);
				if(h==d&&cd.style.display=='none')
				{
					cd.style.display='block'; this.islide(c,1);
					h.className = h.className + " header_highlight";
					
				}
				else if(cd.style.display=='block')
				{
				    this.islide(c,-1);
				    h.className = h.className.replace(/ header_highlight/g,'');
				}
			}
		},
		islide:function(i,d)
		{
		    var c,m; 
		    
		    c=document.getElementById(i); 
		    m=c.maxh; 
		    c.direction=d; 
		    c.timer=setInterval("slider.slide('"+i +"')",timer)
		},
		slide:function(i)
		{
			var c,m,h,dist; 
			c=document.getElementById(i); 
			m=c.maxh; 
			
			if (c.style.height == null || c.style.height == 0)
			    h=c.offsetHeight;
			else
			{
			    h=parseInt(c.style.height.replace(/px/g,''));
			}
			    
			
			dist=(c.direction==1)?Math.round((m-h)/speed):Math.round(h/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)
			}
		}
};}();
