var s2u_tempX = 0;
var s2u_tempY = 0;
var s2u_last_ul = null;

// Visualizza o nasconde il menu
function s2u_changeMenu(link, posizione) {
	if (posizione == 'main_ul') {
		var divs = link.getElementsByTagName('div');
	} else if (posizione == 'main_a') {
		var divs = link.parentNode.getElementsByTagName('div');
	} else {
		var divs = link.parentNode.parentNode.parentNode.parentNode.getElementsByTagName('div');
	}
	if (divs[0].style.display == 'none') {
		divs[0].style.display = 'block';
		divs[0].className = 'selectOpen';
		s2u_last_ul = divs[0].parentNode.parentNode;
		var lis = divs[0].parentNode.parentNode.getElementsByTagName('li');
		lis[0].getElementsByTagName('a')[0].style.display = 'none';
	} else {
		divs[0].style.display = 'none';
		divs[0].className = '';
		s2u_last_ul = null;
		var lis = divs[0].parentNode.parentNode.getElementsByTagName('li');
		lis[0].getElementsByTagName('a')[0].style.display = 'block';
	}
	return false;
}

// Azione da compiere nel caso si faccia click
function s2u_clickedLink(link) {
	var valore = link.href.replace(/^[^#]+#/, '');
	document.location.href = '?cat='+valore;
	return s2u_changeMenu(link, 'internal');
}

// Cambia una select in un UL
function s2u_selectReplace(select_instance) {
	// Rendi invisibile la select
	select_instance.style.display = 'none';
	
	// Ricava il parent della select
	var parent = select_instance.parentNode;
		
	// Legge i dati dalla select
	var riga_selezionata = null;
	var righe = new Array();
	var options = select_instance.getElementsByTagName('option');
	for (var i = 0; i < options.length; i++) {
		if (options[i].selected == false) {
			righe.push(new Array(options[i].value, options[i].selected ,options[i].innerHTML));
		} else {
			riga_selezionata = new Array(options[i].value, options[i].selected ,options[i].innerHTML);
			righe.push(riga_selezionata);
		}
	}
	
	var main_ul = document.createElement('ul');
	var main_li = document.createElement('li');
	var main_a = document.createElement('a');
	var main_div = document.createElement('div');
	var main_linkname = document.createTextNode(riga_selezionata[2]);
	main_ul.className = 'selectReplacement';
	main_a.href = "#";
	main_a.onclick = function() { return s2u_changeMenu(this, 'main_a'); };
	main_div.style.display = 'none';
	
	var linkname;
	var internal_ul = document.createElement('ul');
	for (var i = 0; i < righe.length; i++) {
		var li = document.createElement('li');
		if (righe[i][1]) {
			li.className = 'selected';
			var a = document.createElement('a');
			linkname = document.createTextNode(righe[i][2]);
			a.href = "?cat="+righe[i][0];
			//a.onclick = function() { return s2u_changeMenu(this, 'internal'); };
			a.appendChild(linkname);
			li.appendChild(a);
		} else if (righe[i][0] == "0") {
			var a = document.createElement('a');
			linkname = document.createTextNode(righe[i][2]);
			a.style.color = "#bbbbbb";
			a.href = "?cat=0";
			//a.onclick = function() { return s2u_changeMenu(this, 'internal'); };
			a.appendChild(linkname);
			li.appendChild(a);
		} else {
			var a = document.createElement('a');
			linkname = document.createTextNode(righe[i][2]);
			a.href = "?cat="+righe[i][0];
			//a.onclick = function() { return s2u_clickedLink(this); };
			a.appendChild(linkname);
			li.appendChild(a);
		}
		internal_ul.appendChild(li);
	}
	main_div.appendChild(internal_ul);
	main_a.appendChild(main_linkname);
	main_li.appendChild(main_a);
	main_li.appendChild(main_div);
	main_ul.appendChild(main_li);
	parent.appendChild(main_ul);
}

// Cambia solo i select dentro il div "category_menu"
function s2u_setForm() {
	var div = document.getElementById("category_menu");
	if (div) {
		var selects = div.getElementsByTagName("select");
		for (var i = 0; i < selects.length; i++) {
			s2u_selectReplace(selects[i]);
		}
	}
}


function s2u_checkMouseOut(obj) {
	var top = 22;
	//if (obj.offsetY) top = obj.offsetY;
	//else top = obj.offsetTop;
	var left = 342;
	//if (obj.offsetX) left = obj.offsetX;
	//else left = obj.offsetLeft;

	var width = 150;
	var lis = obj.getElementsByTagName("li");
	var height = (lis.length - 1) * 18;
	
	if (s2u_tempX <= left) s2u_changeMenu(obj, 'main_ul');
	else if (s2u_tempX >= left + width) s2u_changeMenu(obj, 'main_ul');
	else if (s2u_tempY <= top) s2u_changeMenu(obj, 'main_ul');
	else if (s2u_tempY >= top + height) s2u_changeMenu(obj, 'main_ul');
}

function s2u_getMouseXY(e) {
	if (s2u_last_ul != null) {
		if (document.all) { // grab the x-y pos.s if browser is IE
			s2u_tempX = event.clientX + document.body.scrollLeft;
			s2u_tempY = event.clientY + document.body.scrollTop;
		} else {  // grab the x-y pos.s if browser is NS
			s2u_tempX = e.pageX;
			s2u_tempY = e.pageY;
		}
		if (s2u_tempX < 0) s2u_tempX = 0;
		if (s2u_tempY < 0) s2u_tempY = 0;
		s2u_checkMouseOut(s2u_last_ul);
	}
} 

// ONLOAD
window.onload = function() {
	if (!document.all) document.captureEvents(Event.MOUSEMOVE)
		document.onmousemove = s2u_getMouseXY;

	(document.all && !window.print) ? null : s2u_setForm();
}

