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.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';
        if(c)
          $('.sm_ol').hide();
      }else{
        if(!c) {
          $('.sm_ol').hide();
          $('#'+s.getElementsByTagName('div').item(1).id).fadeIn();
        }
        clearInterval(m.timer);clearInterval(m.htimer)
      }
    }
  };
}();
