/**
 *  Gssi Menu Control, version 1.5.0
 *  (c)2007-2008 Arturo La Monaca -GSSI srl <arturo.lamonaca@gssi.it>
 */
 
wsm.include("dom.js");
wsm.include("css.js");
 
 
function menu_init() {
	$('cascade-menu-content-1').style.display = 'block';
	
	var pageURL = document.location.href;
	var elms = DOM.selectElements(document, 'DIV', function (n) {return CSS.hasClass(n, "menu_interno");});
	for (var i=0; i<elms.length; i++) {
		  elms[i].style.backgroundImage="url('" + elms[i].getAttribute("bgUrl") + "')";
		  /*alert(elms[i].style.backgroundImage);*/
	  	elms[i].onmouseover = function() {
	  		this.oldBgUrl = this.style.backgroundImage.replace("url(","").replace(")","");
	    	this.style.backgroundImage="url('" + this.getAttribute("bgSelUrl") + "')";
	  	}
	  	elms[i].onmouseout = function() {
	    	this.style.backgroundImage = "url('" + this.oldBgUrl  + "')";
	  	}
	}
	
/* 	var itemLink = DOM.selectNodes(elms[i],  function (n) {return n.tagName == "A"})[0];
 	
	if (menu_compareURLs(pageURL, itemLink.href)) {
			CSS.replaceClass(elms[i],"menu_interno","menu_active");	
			elms[i].style.backgroundImage = "url('" + elms[i].getAttribute("bgSelUrl") + "')";
	}*/
	
	menu_hilightSelection();
}

function menu_hilightSelection() {
	var pageURL = document.location.href;
	var elms = DOM.selectElements(document, 'DIV', function (n) {return CSS.hasClass(n, "menu_interno");});
	for (var j=0; j<elms.length; j++) {
		var itemLink = DOM.selectNodes(elms[j],  function (n) {return n.tagName == "A"})[0];
		if (menu_compareURLs(pageURL, itemLink.href) || menu_compareURLsPrefix(pageURL, itemLink.href) || menu_homeURLs(pageURL, itemLink.href) ) {
			CSS.addClass(elms[j],"menu_active");
elms[j].style.backgroundImage = "url('" + elms[j].getAttribute("bgSelUrl") + "')";	 
			menu_SelectItem(itemLink);
			var cod = itemLink.getAttribute("itemcod");
			menu_OpenBlock(itemLink, cod);
		}
	}
};

function menu_SelectItem(aElm) {
	while (wsm_defined(aElm)) {
		var item = aElm.parentNode;
		var parentBlock = item.parentNode;
		CSS.addClass(item,"menu_active");
item.style.backgroundImage = "url('" + item.getAttribute("bgSelUrl") + "')";
		parentBlock.style.display = 'block';
		$('cascade-menu-content-empty').style.display = 'none';	
		
		var cod = parentBlock.id.replace("cascade-menu-content-", "");
		var parentItem = $('mi-' + cod);
		aElm = (wsm_defined(parentItem) ? parentItem.firstChild : null);
	}
}

function menu_OpenBlock(aElm, cod) {
	var item2 = aElm.parentNode;
	var parentBlock = item2.parentNode;
	var level = parentBlock.getAttribute("block-level");
	menu_HideBlocks(level);
	
	/* Rimuove la selezione su tutti gli item dello stesso livello */
	var items = DOM.selectElements(parentBlock, 'DIV', function (n) {return CSS.hasClass(n, "menu_interno");});
	for (var k=0; k<items.length; k++) {
		CSS.removeClass(items[k],"menu_active");
		items[k].style.backgroundImage = "url('" + items[k].getAttribute("bgUrl") + "')";	
	}
	CSS.addClass(item2,"menu_active");
/*alert('prova');*/
	item2.style.backgroundImage = "url('" + item2.getAttribute("bgSelUrl") + "')";
	var block = $('cascade-menu-content-' + cod);
	if (wsm_defined(block)) {
		block.style.display = 'block';
		$('cascade-menu-content-empty').style.display = 'none';	 
	} else {
		$('cascade-menu-content-empty').style.display = (level==1 ? 'block' : 'none');
	}

};

function menu_HideBlocks(level) {
	var elms = DOM.selectElements(document, 'DIV', 
			function (n) { 
				return (CSS.hasClass(n, "menublock") && n.getAttribute("block-level")>=(level+1));
			});
	for (var j=0; j<elms.length; j++) {
		var items = DOM.selectElements(elms[j], 'DIV', function (n) {return CSS.hasClass(n, "menu_interno");});
		for (var k=0; k<items.length; k++) {
			CSS.removeClass(items[k],"menu_active");	
			items[k].style.backgroundImage = "url('" + items[k].getAttribute("bgUrl") + "')";
		}
		elms[j].style.display = 'none';
	}
}

function menu_compareURLs(url1, url2) {
	var url1Split = url1.split("?");
	var url2Split = url2.split("?");
	
	if (url1Split[0] != url2Split[0])
		return false;
	if (url1Split[1] == null && url2Split[1] == null)
		return true;
		
	var paramsUrl1 = [];
	var paramsUrl2 = [];
	if (url1Split[1] != null) {
		var paramsUrl1 = url1Split[1].split("&");
		paramsUrl1.sort();
	}
	if (url2Split[1] != null) {
		var paramsUrl2 = url2Split[1].split("&");
		paramsUrl2.sort();
	}
	for (var i=0; i<paramsUrl1.length; i++)
		if (paramsUrl1[i] != paramsUrl2[i])
			return false;
	
	return true;
}

function menu_compareURLsPrefix(url01, url02) {
	var url01Split = url01.split(".htm");
	var url02Split = url02.split(".htm");
	
	//alert("var01 " + url01Split[0]);
	//alert("var02 " +  url02Split[0]);
	
	if (url01Split[0] != url02Split[0])
		return false;
	else
		return true;
}

function menu_homeURLs(url11, url12) {
	var url11Split = url11.split("/Home");
	var isHome = false;
	if (url11Split.length != 1 || 
		url11 == "http://www.gssi.test:8180/wsm-test-gssi/" ||  
		url11 == "http://www.gssi.it/") {
		
		var url12Split = url12.split("/Home");
		//alert("url11 " + url11Split.length);
		//alert("var12 " + url12Split.length);
		if (url12Split.length != 1)
			isHome = true;
	}
	return isHome;
}