/**********************************************************
*	Sliding Horizontal Accordion
*	(c) 2008 by Leigeber (web development blog), http://www.leigeber.com
*
*	Modded by remy@smartagence (lines 11-19 and 27-32)
***********************************************************/

var slideMenu=function(){
	var sp,st,t,m,sa,l,w,gw,ot;
	
	if(typeof Array.prototype.push == "undefined") {
		Array.prototype.push = function () {
			var A_p = 0;
			for (A_p = 0; A_p < arguments.length; A_p++) {
			   this[this.length] = arguments[A_p];
			}
			return this.length;
		  };
	}
	
	return{
		build:function(sm,sw,mt,s,sl,h){
			sp=s; st=sw; t=mt;
			m=document.getElementById(sm);
			sa = new Array();
			for(i=0; i<m.childNodes.length; i++) {
				if(m.childNodes[i].nodeType == 1 && m.childNodes[i].nodeName.toLowerCase() == "li") {
					sa.push(m.childNodes[i]);
				}
			}
			l=sa.length; w=m.offsetWidth; gw=w/l;
			ot=Math.floor((w-st)/(l-1)); var i=0;
			for(i;i<l;i++){s=sa[i]; s.style.width=gw+'px'; this.timer(s)}
			if(sl!=null){m.timer=setInterval(function(){slideMenu.slide(sa[sl-1])},t)}
		},
		timer:function(s){
			s.onmouseover=function(){clearInterval(m.htimer);clearInterval(m.timer);m.timer=setInterval(function(){slideMenu.slide(s)},t)}
			s.onmouseout=function(){clearInterval(m.timer);clearInterval(m.htimer);m.htimer=setInterval(function(){slideMenu.slide(s,true)},t)}
		},
		slide:function(s,c){
			var cw=parseInt(s.style.width);
			if((cw<st && !c) || (cw>gw && c)){
				var owt=0; var i=0;
				for(i;i<l;i++){
					if(sa[i]!=s){
						var o,ow; var oi=0; o=sa[i]; ow=parseInt(o.style.width);
						if(ow<gw && c){oi=Math.floor((gw-ow)/sp); oi=(oi>0)?oi:1; o.style.width=(ow+oi)+'px';
						}else if(ow>ot && !c){oi=Math.floor((ow-ot)/sp); oi=(oi>0)?oi:1; o.style.width=(ow-oi)+'px'}
						if(c){owt=owt+(ow+oi)}else{owt=owt+(ow-oi)}}}
				s.style.width=(w-owt)+'px';
			}else{clearInterval(m.timer);clearInterval(m.htimer)}
		}
	};
}();