function hideAll() {
	var boxes = document.getElementsByName("mark");
	for(var i = 0; i < boxes.length; i++) {
		if(boxes[i].checked) {
			boxes[i].checked = false;
			switchLayer(false, layers[i].obj);
			chosen.push(i);
		}
	}
}

function checkChecked() {
	var boxes = document.getElementsByName("mark");
	for(var i = 0; i < boxes.length; i++) {
		if(boxes[i].checked) return true;
	}
	return false;
}


function switchLayer(checked, layer) {
	var box = document.getElementById("box");
	var boxlink = document.getElementById("boxlink");
	var button = document.getElementById("more_button");

	if(checked) {
		map.addOverlay(layer);
   // Reset chosen array
   		chosen.length = 0;
   /* Highlight the link and
   *  make the button font bold.
   */
   		boxlink.className ="highlight";
   		box.className ="highlight";
   		button.className ="highlight";
   	} else {
   		map.removeOverlay(layer);
   /*  Reset the link and the button
    * if all checkboxes were unchecked.
   */
   		if(!checkChecked()) {
   			boxlink.blur();
   			boxlink.className ="";
   			box.className ="";
   			button.className ="";
   		}
   	}
}

function showBox() {
	if(window.timer) 
		clearTimeout(timer);
	document.getElementById("box").style.display ="block";
}

function hideBox(element) {
	element.style.display = "none";
}

function setClose(e) {
	if(!e) e = window.event;
	var element = document.getElementById("box");
	if(checkMouseLeave(element, e))
		timer = setTimeout("hideBox(document.getElementById('box'))", 400);
}


function checkMouseLeave(element, evt) {
	 if(element.contains && evt.toElement) {
	 	return !element.contains(evt.toElement);
	 } else if(evt.relatedTarget) {
	 	return !containsDOM(element, evt.relatedTarget);
	 }
}

function containsDOM(container, containee) {
	var isParent = false;
	do {
		if((isParent = container == containee))
			break;
		containee = containee.parentNode;
	}
	while(containee != null);
	return isParent;
}