var Links1;
var Links2;
var Links3;
var Links4;
var Links5;

var openLinks;
var setAktivMain = -1;
var setAktivSub;
var table_max_height;

var _aktivSubLink;
var _aktivSubSubLink;
var color;

function display_sublinks(id) {
	
	
	
	var subsub_table 	= document.getElementById("subsublink_table_" + id);
	subsub_table.style.position 	= "relative";
	subsub_table.style.visibility = "visible";
	
	//alert(subsub_table.style.position);
	
	display_sublinks_row(id);
}

function display_sublinks_row(id) {
	
	//alert("id: " + id);
	//alert(LinksArray[id-1].length+1);
	 
	for(i=1; i<LinksArray[id-1].length+1; i++){
		var subsub_td 	= document.getElementById("subsublink_td_" + id + "_" + i);
		subsub_td.style.position 	= "relative";
		subsub_td.style.visibility = "visible";
		
		if(setAktivSub == (i-1) && id == setAktivMain) {
			//alert("setAktivMain: " + setAktivMain + "\nsetAktivSub: " + setAktivSub);
			subsub_td.style.background = "#BACCE1";
			setAktivSub = -1;
			setAktivMain = -1;
		}
		//if(setAktivSub == (-1) && setAktivMain == -1 && i == 1) {
			//subsub_td.style.background = "#BACCE1";
		//}
		//fadeIn(subsub_div, 10);
		
		var subsub_link	= document.getElementById("subsublink_" + id + "_" + i);
		subsub_link.style.position 	= "relative";
		subsub_link.style.visibility = "visible";
		
		//fadeIn(subsub_link, 10);
		//setTimeout("display_sublinks_row(" + (id + 1) + ")",200);
		
		var sub 	= document.getElementById("sublink_td_" + id);
		sub.style.background = "#BACCE1";
		var sub 	= document.getElementById("sublink_" + id);
		sub.style.color = "#1E2958";
		sub.style.fontWeight  = "bold";
	}
	
}

function fadeIn(obj, opacity) {
	
	
	opacity = (opacity == 100)?99.999:opacity;

	if(opacity < 100) {
	
		// IE/Win
		obj.style.filter = "alpha(opacity:"+opacity+")";
	
		// Safari<1.2, Konqueror
		obj.style.KHTMLOpacity = opacity/100;
	
		// Older Mozilla and Firefox
		obj.style.MozOpacity = opacity/100;
	
		// Safari 1.2, newer Firefox and Mozilla, CSS3
		obj.style.opacity = opacity/100;
		
		setTimeout("fadeIn(" + obj + "," + (opacity + 10) + ")",1);
	}
}

// CKW 03.03.2011 Removed the animation because its too slow
function enlarge_table(subsub_id, max_height, new_height) {
	
	var suround_td 	= document.getElementById("suround_td_" + subsub_id);
    suround_td.style.height = max_height + "px";
	display_sublinks(subsub_id);
	
	//alert(suround_td);
	//alert("enlarge_sublink_table\nobject:" + subsub_id + "\nnew_height: " + new_height + "\nmax_height: " + max_height);
	
	//if(new_height < max_height) {
		//suround_td.style.height = new_height + "px";
		//timeoutid = setTimeout("enlarge_table('" + subsub_id + "'," + max_height + "," + (new_height+5) + ")",10);
	//} else {
		//clearTimeout(timeoutid);
		//display_sublinks(subsub_id);
	//}
	
}

// CKW 03.03.2011 Removed the animation because its too slow
function ensmall_table(subsub_id, min_height, new_height) {
	
	var suround_td 	= document.getElementById("suround_td_" + subsub_id);
	suround_td.style.height = min_height + "px";
    var sub = document.getElementById("sublink_td_" + subsub_id);
    sub.style.background = "#FFFFFF";
    var sub = document.getElementById("sublink_" + subsub_id);
    sub.style.color = "#1E2958";
    sub.style.fontWeight = "normal";

	//alert(suround_td);
	//alert("enlarge_sublink_table\nobject:" + subsub_id + "\nnew_height: " + new_height + "\nmin_height: " + min_height);

	//if(new_height > min_height) {
		//suround_td.style.height = new_height + "px";
		//setTimeout("ensmall_table('" + subsub_id + "'," + min_height + "," + (new_height-5) + ")",10);
	//} else {
		//clearTimeout(timeoutid);
		//var sub 	= document.getElementById("sublink_td_" + subsub_id);
		//sub.style.background = "#FFFFFF";
		//var sub 	= document.getElementById("sublink_" + subsub_id);
		//sub.style.color = "#1E2958";
		//sub.style.fontWeight  = "normal";
	//}
}

function closeAllMenus(subsublink_id) {
	//close suround_td put it back to 1px
	for(j=0; j<LinksArray.length; j++) {
	
		var suround_td 	= document.getElementById("suround_td_" + (j+1));
		
		writeLinks(LinksArray[j], suround_td, (j+1), subsublink_id);
		
		new_height = 1;
	
		if(suround_td.style.height != "")
			ensmall_table((j+1), 0, parseInt(suround_td.style.height));
		
		//hide all the links
		hide_all_Links(LinksArray[j], (j+1));
		
		//hide the subsublink_table and put it back to position.absolute
		reset_Table('subsublink_table_' + (j+1));
	
	}
}

function show_subsublinks(subsublink_id) {
	
	//alert("subsublink_id: "+subsublink_id);
	
	//close all the sublinks first
	closeAllMenus(subsublink_id);
	
	var table_max_height;
	//table_max_height = get_max_table_height(subsublink_id);
	
	//alert("subsublink_id: "+subsublink_id+"\n_aktivSubSubLink: "+_aktivSubSubLink);
	if(subsublink_id != -1) {
		sublinks = LinksArray[subsublink_id-1];
		table_max_height = sublinks.length*15;
	} else {
		if(_aktivSubLink != -1) {
			sublinks = LinksArray[_aktivSubLink-1];
			//alert("sublinks: "+sublinks);
			table_max_height = sublinks.length*10;
			//table_max_height = "140";
		}
	} 
		
	
	//alert("table_max_height: "+table_max_height)
	
	if(setAktivMain != -1) {
		cache = setAktivMain;
		enlarge_table(cache, table_max_height, 1);
	}
	
	//alert(table_max_height);
	
	//ok now open the new sublink!
	if(subsublink_id != openLinks && subsublink_id != -1) {
		openLinks 	= subsublink_id;
		enlarge_table(subsublink_id, table_max_height, 1);
	} else {
		openLinks = -1;
	}
	
}

function writeLinks(Links, suround_td, subsublink_table, subsublink_id) {
	
	suround_td.innerHTML = "";
	var inner_html = "";
	i=0;
	for(i=0; i<Links.length; i++) {
		if(i==0) {
			inner_html += "<table border='0' cellspacing='0' cellpadding='0' id='subsublink_table_" + subsublink_table + "' class='subsublink_table'>";
			inner_html += "<tr><td height=\"5\"></td></tr>";
		}
		link = Links[i].split("|");
		//alert("link[2] = "+link[2]);
		inner_html += "<tr>";
		inner_html += "<td align='left' id='subsublink_td_" + subsublink_table + "_" + (i+1) + "' class='subsublink_td'>";
		inner_html += "<a href='" + link[1] + "' id='subsublink_" + subsublink_table + "_" + (i+1) + "' class='subsublink' "+link[2]+">- " + link[0] + "</a>"
		inner_html += "</td>";
		inner_html += "</tr>";
		
		if(link[link.length-1] != undefined && link[link.length-1] == "aktiv" && subsublink_id == -1) {
			setAktivMain = subsublink_table;
			setAktivSub  = i;
			//alert("setAktivMain: " + setAktivMain + "\nsetAktivSub: " + setAktivSub);
		}
	}
	if(i>0) {
		inner_html += "<tr><td height=\"5\"></td></tr>";
		inner_html += "</table>";
	}
	
	suround_td.innerHTML = inner_html;
}

function hide_all_Links(Links, subsublink_table) {
	
	for(i=0; i<Links.length; i++){
		var subsub_td 	= document.getElementById("subsublink_td_" + subsublink_table + "_" + (i+1));
		subsub_td.style.position 	= "absolute";
		subsub_td.style.top 		= "0px";
		subsub_td.style.left 		= "0px";
		subsub_td.style.visibility = "hidden";
		
		var subsub_link	= document.getElementById("subsublink_" + subsublink_table + "_" + (i+1));
		subsub_link.style.position 	= "absolute";
		subsub_link.style.top 	= "0px";
		subsub_link.style.left 	= "0px";
		subsub_link.style.visibility = "hidden";
	}
}

function reset_Table(id) {
	var subsub_table 	= document.getElementById(id);
	subsub_table.style.visibility = "hidden";
	subsub_table.style.position 	= "absolute";
	subsub_table.style.top 			= "0px";
	subsub_table.style.left 		= "0px";
}

function get_max_table_height(subsublink_id) {
	
	max_height = 0;
	switch(subsublink_id) {
		case 1:
			max_height = "140";
			break;
		case 2:
			max_height = "140";
			break;
		case 3:
			max_height = "140";
			break;
		case 4:
			max_height = "140";
			break;
		case 5:
			max_height = "40";
			break;
		default:
			max_height = "140";
			break;
	}
	
	return max_height;
}

function setAktivLink(sublink, subsublink) {
	
	_aktivSubLink 		= sublink;
	_aktivSubSubLink	= subsublink;
	
	if(sublink != -1 && subsublink != -1) {
		var Links 	= LinksArray[sublink-1];
		var link	= Links[subsublink];
		
		link 				+= "|aktiv";
		Links[subsublink] 	 = link;
		LinksArray[sublink-1]  = Links;
	}
}

