var slideMenu=function(){
    var sp,st,t,m,sa,l,w,gw,ot;
    
    return{
        build:function(sm,sw,mt,s,sl,h){
            sp=s; st=sw; t=mt;
            m=document.getElementById(sm);
            sa=m.getElementsByTagName('li');
            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.onclick=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)   //original es així, pero sino al fer mouseout queda diferent
//                        slideMenu.slide(s)
//                        },t)
//
//            }
        },
        slide:function(s,c){
           
            var cw=parseInt(s.style.width);
          //  cw = cw-1500;
            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)
                }
        }
    };
}();