function Nav () {
}

function Nav_call ( url ) {
	var ind = window.location.href.lastIndexOf("/");
	var loc = window.location.href.substr (ind+1);
	if (url == "dummy_url") alert ("Hier wird ein Link aufgerufen!");
	else if (url != loc) window.location.href = url;
	
}

function Nav_openBrand ( nam ) {
	alert("Selektiere Marke:"+nam);
	//window.location.href = url;
}

function Nav_open ( num ) {
	if (num == this.active) return;
	var sub = this.navarray[num].sub;
	var nd = this.navarray[num].main;
	var rest = new Array();
	var par = document.getElementById("nav");
	var nodes = par.getElementsByTagName ("td");
	for (var i = 0; i < nodes.length; i++) {
		if (nodes[i].className == "nav_level2") {
			nodes[i].parentNode.parentNode.removeChild(nodes[i].parentNode);
			i--;
		}
	}
	if (num <= this.navarray.length) {
		for (var i = num+1; i < this.navarray.length; i++) {
			var n = this.navarray[i].main;
			var td = n.getElementsByTagName("td");
			if (td[0].className == "nav_level1" || td[0].className == "nav_impressum") {
				this.navarray[i].main = n.cloneNode(true);
				rest.push (this.navarray[i].main);
			}
			n.parentNode.removeChild(n);	
		}
	}
	for (var i=0; i < sub.length; i++) {
		nd.parentNode.appendChild (sub[i].cloneNode(true));
	}
	for (var i = 0; i < rest.length; i++) {
		nd.parentNode.appendChild (rest[i]);
	}
}

function Nav_set () {
	try {
		var par = document.getElementById("nav");
		var nodes = par.getElementsByTagName ("td");
		var nd = new Object();
		var j = 0;
		this.navarray  = new Array();
		for (var i = 0; i < nodes.length; i++) {
			if (nodes[i].className=="nav_level1" || nodes[i].className=="nav_impressum") {
				var obj = new Object();
				obj.main = nodes[i].parentNode;
				obj.sub = new Array();
				this.navarray.push(obj);
				j++;
			}
				
			if (nodes[i].className=="nav_level2"){
				var nd = nodes[i].parentNode;
				this.navarray[j-1].sub.push (nd.cloneNode(true));
				if (nd.className != "nav_open") {
					nd.parentNode.removeChild (nd);
					i--;
				} else this.active=j;
				
			}
		}
	} catch (e) {
		alert(e);
	}
}

new Nav();
Nav.prototype.open = Nav_open;
Nav.prototype.set = Nav_set;
Nav.prototype.call = Nav_call;
Nav.prototype.openBrand = Nav_openBrand;
