var slideMenu=function(){
	var sp,st,t,m,sa,l,w,gw,ot,gwf;
	var EPSILON = 10; //w px, do wyliczen opacity
	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, gwf=Math.floor(gw);
			ot=Math.floor((w-st)/(l-1)); var i=0;
			for(i;i<l-1;i++){s=sa[i]; s.style.width=gw+'px'; this.timer(s)}
			//Ostatni dopelnia (zaokraglenia)
			sa[l-1].style.width = (w - Math.ceil((l-1)*gw)) + 'px';this.timer(sa[l-1]);
			
			if(sl!=null){m.timer=setInterval(function(){slideMenu.slide(sa[sl-1])},t)}
		},
		toggleOpacity:function(s,highlight){
			var fader = getElementsByClassName("fader","div",s)[0];
			fader.style.backgroundPosition = highlight?"0 500px":"0 0";
		},		
		timer:function(s){
			s.onmouseover=function(){slideMenu.toggleOpacity(s,true);clearInterval(m.htimer);clearInterval(m.timer);m.timer=setInterval(function(){slideMenu.slide(s)},t)}
			s.onmouseout=function(){slideMenu.toggleOpacity(s,false);clearInterval(m.timer);clearInterval(m.htimer);m.htimer=setInterval(function(){slideMenu.slide(s,true)},t)}
		},
		slide:function(s,c){
			//var currentOpacity = 1.0;//fully wisible
			var cw=parseInt(s.style.width);
			//var delta;
			//var fader = getElementsByClassName("fader","div",s)[0];
			
			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';
				
//				delta = cw-gwf;
//				if (delta-EPSILON < 0) delta = 0;
//				if (delta+EPSILON > st - gwf) delta = st - gwf;
//				currentOpacity = delta / (st - gwf);
//				console.debug(currentOpacity,cw,gwf,st);
				
//				fader.style.opacity = 1 - currentOpacity;
//				fader.style.filter = 'alpha(opacity='+((1 - currentOpacity)*100)+')';
				
			}else{clearInterval(m.timer);clearInterval(m.htimer)}
		}
	};
}();

//addEvent(window, 'load', function(){slideMenu.build('index_splash_ul',180,10,10);}, false); 
$(document).ready(function(){
	slideMenu.build('index_splash_ul',180,10,10);
});

