var slideMenu=function(){
	var sp,st,t,m,sa,l,w,gw,ot,open_child,last_open;
	return{
		build:function(sm,sw,mt,s,sl,h){
			sp=s; st=sw; t=mt;
			m=document.getElementById(sm);
                           if (m==null) return;
			sa=m.getElementsByTagName('li');
			l=sa.length;						
			//get no of firstlevel li's
			l1=0;
			for(i=0;i<l;i++){if (sa[i].parentNode == m) l1++;}						
			w=m.offsetWidth; gw=w/l1;
			ot=Math.floor((w-st)/(l1-1)); var i=0;
			l=sa.length;			
			for(i=0;i<l;i++){
			    s=sa[i];
			    if (s.parentNode == m) {
    			    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 (last_open != null) {
			   last_open.className="";
			   last_open = null; 
			}			
			if((cw<st && !c) || (cw>gw && c)){
				var owt=0; var i=0;
				for(i;i<l;i++){
				    if(sa[i].parentNode != m) continue;
					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)}}}
/*if(cw<st) {
//alert('now');
console.log(owt);
var x="a";
}
*/
				s.style.width=(w-owt)+'px';
			}else{
			    clearInterval(m.timer);clearInterval(m.htimer);
			    if (!c) {
				last_open = s;
				last_open.className="open";
				}
			}
		}
	};
}();