function bindDirBarLink(e){
		Event.observe($('dirBarLink'), "click", showBoxDir, false);
		//Event.observe($('dirBarLink'), "mouseover", showBoxDir, false);
		loadBoxDir(false);
}

function loadBoxDir(show){
	new Ajax.Request('/ajax/getDirList.php',
	{
		method: 'get',
		parameters: $H( {'id': 1} ).toQueryString(),
		onSuccess: function(requester){
				if (show) classNames = "directory";
				else classNames ="directory nascosto";
				var html  = "<div id='dir_box' class='png "+classNames+"'>"+requester.responseText+"</div>";
				//new Insertion.Before($('colonnaCentrale'), html);
				new Insertion.Top($$('body')[0], html);
				//new Effect.Opacity('dir_box', {duration: 0.4, from: 0.0, to: 0.9, transition: Effect.Transitions.sinoidal} );
				
				var dir_links = $$('#dir_box a.dirLink');
				
				for (i=0; i<dir_links.length;i++){
					Event.observe(dir_links[i], "click", changeDir, false);	
				}
				
				Event.observe($('dir_box'),"mouseout", boxDirMouseOut);
				Event.observe($('dir_box'),"mouseover", boxDirMouseOver);
				$('dir_box').mouseSopra = false;
				return $('dir_box');
			}	
	});
}

function showBoxDir(e){
	Event.stop(e);
	box_dir = $('dir_box');
	if (box_dir)
		box_dir.removeClassName('nascosto');
	else {
		loadBoxDir(true);
	}
}

function changeDir(e){
	Event.stop(e);
	var linkCliccato = Event.findElement(e,'a'); //mi interessa solo il primo link antenato dell'elemento cliccato
	var url = linkCliccato.getAttribute('href');
	var params = linkCliccato.getAttribute('href').toQueryParams();
	var id = params['id'];
	new Ajax.Request('/ajax/getDirList.php',
	{
		method: 'get',
		parameters: $H( {'id': id} ).toQueryString(),
		onComplete: function(requester){
				/*if (this.responseIsSuccess()){
						
						
				} */

				if ("NO SUBDIRECTORIES" == requester.responseText) {
					location = url;
					return;
				}
				
				var html  = requester.responseText;
				$('dir_box').firstDescendant().replace(html);
				
				var dir_links = $$('#dir_box .dirLink');
				
				for (i=0; i<dir_links.length;i++){
					Event.observe(dir_links[i], "click", changeDir, false);	
				}
			}	
	});
	
}

function boxDirMouseOver(e){
	var box = $('dir_box');
	box.mouseSopra = true;
}

function boxDirMouseOut(e){
	var box = $('dir_box');
	var reltg = (e.relatedTarget) ? e.relatedTarget : e.toElement; //cross-browser support
	//alert(reltg.className);
	if (reltg != null ) {
			if (! $(reltg).descendantOf(box) && reltg.id != 'dir_box'){
				//new Effect.Opacity(box, {duration: 0.3, from: 0.9, to: 0.0, afterFinish: function(o){box.remove();}})
				 box.remove();
				 loadBoxDir(false);
			}
		}
}


$(document).observe( "dom:loaded", bindDirBarLink, false);