

window.addEvent('domready', function() {
	
	var unav = $$('.unav');
	var unavul = $$('.unav ul');
	
	decorateWithPagination(unav);

});

decorateWithAnimation = function(animTree){
	unavul = animTree;
	unavul.each(function(el){
		if(el.getStyle('display')=='block'){
			if(el.getParent().getFirst().getProperty("class")!="active"){
			
				var subMenu = new Fx.Slide(el,{duration: 400});
	
				subMenu.slideOut();
	
				subMenu.State = "out";
				
				parentLi = el.getParent().getParent();
	
				parentLi.addEvent('mouseover', function(event){
					subMenu.slideIn();
					subMenu.State = "in";
					this.getFirst().setStyle("border","none");
				});
		
				parentLi.addEvent('mouseout', function(event){
					workArround(subMenu);
					this.getFirst().setStyle("border-bottom","1px solid #fff");
				});
			}
		}
	});
}

decorateWithPagination = function(paginTree){
	unav = paginTree
	unav.each(function(el){
		if(el.getParent().getProperty("class")=="active"){
			

			var subMenuItems = el.getChildren("li").clone();
			
			var activec = 0;
			var activeitem = null;
			subMenuItems.each(function(smi){
				if(smi.getFirst().getProperty("class")=="active"){
					activeitem = activec;
				} else if(smi.getFirst().getProperty("class")== "active last") {
					activeitem = activec;
				}
					
				activec++;
			});
			if(activeitem)
				var activepage = parseInt(activeitem/10);
			
			if(subMenuItems.length>10){
			
				unavul = $$('.unav ul ul ul');
				
				var pages = parseInt(subMenuItems.length/10);
				
				var menuscroller = new Fx.Scroll(el);
				
				pages = parseInt(pages)+1;
				
				el.innerHTML = "";
				
				var newli = new Element('li');
				
				var newul = new Element('ul').setStyles({'width': el.offsetWidth*pages + 'px'});
				newli.injectInside(el);
				newul.injectInside(newli);
				
				var paginli = new Element('li').addClass('pagination').injectInside(newul);
				
				elcounter=0;
				invertcounter = pages;
				for(i=0;i<pages;i++){
					var newpagin = new Element('a').addEvent('click', function(event){
						var pagenumber = this.innerHTML
						var posileft = 	150*(this.innerHTML-1);
										 
						menuscroller.scrollTo(posileft,0);
						paginli.setStyles({"right":"-"+posileft+"px"});
						
						setActive(this);
					});
					
					newpagin.innerHTML = invertcounter;
					
					newpagin.injectInside(paginli);

					var newlili = new Element('li').addClass('side-menu').injectInside(newul);
					var newulul = new Element('ul').injectInside(newlili);
					for(k=0;k<10;k++){
						if(elcounter>=subMenuItems.length)
							break;

						subMenuItems[elcounter].injectInside(newulul);
						elcounter++;
					}
					invertcounter--;
					
				}
				if(activeitem){
					menuscroller.scrollTo(150*activepage,0);
					paginli.setStyles({"right":"-"+150*activepage+"px"});
					setActive($$(".pagination a")[(pages-1)-activepage]);
				}else{
					setActive($$(".pagination a")[pages-1]);
				}
				
				decorateWithAnimation($$('.unav ul ul ul'));
				
			}else{
				decorateWithAnimation($$('.unav ul'));
			}
		}
	});

}

workArround = function(fxElement){
	fxElement.State = "out";
	window.setTimeout(function(){
		if(fxElement.State == "out"){
		fxElement.slideOut();
	}				   
							   
	},500);
}

setActive = function(el){
	el.getParent().getChildren("a").each(function(el){
			el.setProperty("class","");							   
		}								  
	)
	el.setProperty("class","active");
}


			/*var downArrow = new Element('li').addClass('scroll-down').addEvent('mouseover', function(event){
				
				window.setInterval(function(){
					var scrolldown = el.scrollTop + 1;	
					el.scrollTo(0, scrolldown);
					el.$$('scroll-down:first-child').bottom = 0 - scrolldown + "px";
				}, 10);
				
			}).injectInside(el);*/
