//config
var menu_active_class = "activepage";
var menu_default_page = "index.php";
var menu_url;
var debug = false;

//menu_id : id of the element containing the navigation
function menu_main(menu_id) {
	var url = location.href;
	if (url.lastIndexOf("/") == (url.length-1)) {
		url = url+menu_default_page;
	}
	if (url.lastIndexOf("?") >= 0) {
		url = url.substring(0, url.lastIndexOf("?"));
	}
	if (url.lastIndexOf("#") >= 0) {
		url = url.substring(0, url.lastIndexOf("#"));
	}
	menu_url = url;

	var main = document.getElementById(menu_id);
	if (!main) {
		if (debug) {
			alert("No element with id '"+ menu_id +"' found");
		}
	return;
	}
	menu_mark(main);
}

function menu_mark(element) {

	var elms = element.getElementsByTagName("A");
	if (elms.length > 0) {
		for (k=0; k < elms.length; k++) {
  			if (menu_isSameUrl(menu_url, elms[k].getAttribute("href"))) {
				elms[k].className += " "+ menu_active_class;
				elms[k].setAttribute("href", "#");
  			}
		}
	}
}

//matches two URIs when href is the last part of url
function menu_isSameUrl(url, href) {
	var a = url.split(/[?\/]/i);
	var b = href.split(/[?\/]/i);
	var i = a.length - 1;
	var j = b.length - 1;
	while ((i >= 0) && (j >= 0)) {
		if (b[j] == "..") { j-=2; continue; }
		if (a[i] == "..") { i-=2; continue; }
		if ((b[j] == ".") || (b[j] == "")) { j--; continue; }
		if ((a[i] == ".") || (a[i] == "")) { i--; continue; }
		if (! (a[i] == b[j])) return false;
		i--;
		j--;
	}
	return true;
}