window.addEvent('domready',function(){
	activeMenu();
});

function activeMenu() {
	$$(".menu li").each(function(item){
		var uls=item.getElementsByTagName("ul");
		if(uls.length>0) {
			$(uls[0]).setStyles({
				'display':'none'
			});
		}
		item.addEvents({
			'mouseover' : function(){
				var uls=item.getElementsByTagName("ul");
				if(uls.length>0) {
					uls[0].setStyles({
						'display':'block'
					});
				}
			},
			'mouseleave' : function() {
				var uls=item.getElementsByTagName("ul");
				if(uls.length>0) {
					uls[0].setStyles({
						'display':'none'
					});
				}
			}
		});
	});
}

function IsNumeric(inputVal,sErrorMsg) {
     if (isNaN(parseFloat(inputVal))) {
          alert(sErrorMsg)
          return false;
     }
     return true;
}

function updateMenu() {
	$$(".menu").each(function(menu){
		var menuitems=new Array();		
		menu.getChildren().each(function(li){
			if(li.id)
				menuitems.push(li.id);
			else if(li.getChildren().length>0) {
				var a=li.getFirst();
			}				
		});
		var url= document.URL.split("index.php")[0]+"index.php/camax/menu/update";
		var datas = "menuitems=";
		if(menuitems.length>0)datas+=menuitems.join("|");
		else datas+="null";
		if(menu.id) datas+="&idMenu="+menu.id;
		else datas+="&id="+menu.getParent().id;
		new Ajax(url,{
			method:'get',
			data : datas
		}).request();
	});
}

function hideMenu() {
	$$('a').each(function(lien){
		lien.setProperty('href',lien.getProperty('old'));
		lien.removeProperty('old');
	});
	$('btnmenu').removeEvents();
	$('btnmenu').addEvent("click",function(){
		moveLink();
	});
	$$(".menu").each(function(menu){
		if(menu.getChildren().length==0 && menu.getParent().tagName.toUpperCase()=='LI') menu.remove();
	});
	$$(".menu").removeEvents();
	$$(".menu li").removeEvents();
	$$(".menu").setStyles({
		'border' : ""
	});
	activeMenu();
}

function displayMenu() {
	$$('a').each(function(lien){
		lien.setProperty('old',lien.getProperty('href'));
		lien.setProperty('href','#');
	});
	$('btnmenu').removeEvents();
	$('btnmenu').addEvent("click",function(){
		hideMenu();
	});
	$$(".menu").each(function(menu){
		menu.removeEvents();
		menu.getChildren().each(function(li) {
			li.removeEvents();
			if(li.getElementsByTagName('ul').length==0 && li.getParent().getParent().tagName.toUpperCase()=="DIV")
				new Element('ul',{'class':'menu','styles':{
					'position':'absolute',
					'display':'block',
					'border':'1px dashed #f00',
					'width':'20px',
					'height':'20px'
				}}).inject(li);
		});
	});		
	$$("li").removeEvents();
	$$(".menu").each(function(menu){
		menu.setStyles({
			'display':'block',
			'border':'1px dashed #f00'
		});
		menu.addEvent('mouseover',function(){menu.setStyle('border','1px solid red');});
		menu.addEvent('mouseleave',function(){menu.setStyle('border','1px dashed red');});
	});		
}


function moveLink() {
	displayMenu();
	$$(".menu li").each(function(li) {	
		li.addEvents({
			'mouseover' : function(e) {
				var e = new Event(e);
				$$(li.getChildren()).addClass("cashable");
			},
			'mousedown' : function(e) {
				var e = new Event(e);
				var it=li.clone();
				li.removeClass("cashable");
				it.addClass("cashed");
				it.setStyles({
					'position':'absolute',
					'list-style-type':'none',
					'top':li.getTop(),
					'left':li.getLeft()
				});
				it.inject(document.body);				
				var drag = it.makeDraggable({
					droppables: $$('.menu,#trash')
				});
				$$('.menu').each(function(drop){
					drop.addEvent('drop', function() {
						it.setStyles({'position':'','top':'','left':''});
						drop.adopt(it.clone());
						if(drop.getStyle('width')=='20px')
							drop.setStyles({'width':'auto','height':'auto'});
						li.remove();
						it.remove();
						drop.removeEvents();
					});
				});
				$('trash').addEvent('drop',function(){
					it.remove();
					li.remove();
					this.removeEvents();
				});
				drag.start(e);
				it.addEvent("emptydrop",function(){
					it.remove();
					//drag.stop();
				});
			}
		});
	});			
}
