
visibleItems = new Object();

function toggleLegend(){
	current = document.getElementById("legend_body").style.display;
	if (current == "none"){
		Effect.SlideDown('legend_body');
	}else{
		Effect.SlideUp('legend_body');
	}
}

function showPortName(portImg, what){
	dot = "service dot " + portImg;
	img = document.getElementById(dot);
	if (!img ){
		return 1;
	}
	if (what == 'on'){
		return showBlock(dot);
	}else{
		return hideBlock(dot);
	}
}

function showRegionZoom(region, what){
	div = region + "_zoom";
	if (what == 'on'){
		visibleItems[region] = 1;
		setTimeout("showBlock('" + div + "', false);", 0);
		return showBlock(div, false);
	}else{
		visibleItems[region] = 0;
		setTimeout("checkFadoutRegionName('" + region + "');", 200);
		return true;
	}
}

function showServiceName(service, what){
	div = service + "_routename";
	if (what == 'on'){
		visibleItems[service] = 1;
		setTimeout("showBlock('" + div + "', false);", 0);
		return showBlock(div, false);		
		
	}else{
		visibleItems[service] = 0;
		setTimeout("checkFadoutServiceName('" + service + "');", 100);
		return true;
	}
}

function showBlock(block, slow) {
	element = document.getElementById(block);

	if (!element) {
		alert("Could not show block '" + block + "'");
		return false;
	}
	if (slow){
		Effect.Appear(block, { duration: 0.5 });
	}else{
		element.style.display = "block";
	}
	return true;
}

function hideBlock(block, slow) {
	element = document.getElementById(block);

	if (!element) {
		alert("Could not hide block '" + block + "'");
		return false;
	}
	if (slow){
		Effect.Fade(block, {duration: 0.5});
	}else{
		element.style.display = "none";
	}
	return true;
}

function checkFadoutServiceName(service){
	if (visibleItems[service] == 0){
			divname = service + "_routename";
			div = document.getElementById(divname);
			if ((div.style.display == "block") && (!div.style.opacity)) {
				Effect.Fade(divname, { duration: 0.5 });
			}
	}
}

function checkFadoutRegionName(region){
	if (visibleItems[region] == 0){
			divname = region + "_zoom";
			div = document.getElementById(divname);
			if ((div.style.display == "block") && (!div.style.opacity)) {
				Effect.Fade(divname, { duration: 0.5 });
			}
	}
}
	
function showHoverTitle(region, what) {
	if (what == 'on') {		
		divname = region + "_zoom";
		div = document.getElementById(divname);
		$(divname).addClassName('hover');
	} else {
		divname = region + "_zoom";
		div = document.getElementById(divname);
		$(divname).removeClassName('hover');
	}
}
