x_gif = new Image();
var Produkte;

function set_image_src(x,product)
{
	x_gif.src = x;
	Produkte = product;
}

/*
Funktion, um eine übergebene URL aufzubereiten.
Falls keine Aufbereitung gewünscht oder notwendig ist, kann diese Funktion unverändert übernommen werden.

Übergabe-Parameter:
prepareURL:   die aufzubereitende URL

Ergebnis:     die aufbereitete URL
*/
function customerExitPrepareURL(prepareURL)
{
	var resultURL;
	
	resultURL = prepareURL;
	
	// TODO: Hier kann ein spezifischer Code hinterlegt werden, um die URL aufzubereiten
	// Falls dies nicht notwendig ist, kann diese Funktion unverändert übernommen werden
	
	// Sollte hier nicht das hin?
	document.location.href = resultURL;
	//return resultURL;
}

function remove_childs(node,orig)
{
	while(node.firstChild)
	{
		remove_childs(node.firstChild,0);
	}
	if(! orig)
	{
		node.parentNode.removeChild(node);
	}
}

function close_menu()
{
	window.setTimeout("toggle_submenu('prgr_link0_0_0');",200);
}

var last_prgr;
var last_sg;
var last_sg_color;

function toggle_submenu(id)
{
	var sub_re = /^prgr_link(\d+)_(\d+)_(\d+)$/;
	sub_re.exec(id);
	var level1 = RegExp.$1;
	var level2 = RegExp.$2;
	var level3 = RegExp.$3;
	
	var id = level1+"_"+level2+"_"+level3;
	
	if(last_prgr)
	{
		remove_submenu(last_prgr);
		
		if(document.getElementById("prgr"+last_prgr))
		{
			document.getElementById("prgr"+last_prgr).style.backgroundColor = "#ccddff";;
		}
		
		var selects = document.getElementsByTagName("SELECT").length;
		
		if(selects)
		{
			for(var i = 0;i < selects;i++)
			{
				document.getElementsByTagName("SELECT")[i].style.visibility = "visible";
			}
		}
	}
	
	if(document.getElementById("prgr"+id))
	{
		create_submenu(id);
		document.getElementById("prgr"+id).style.backgroundColor = menu[level1]["color"];
		
		var selects = document.getElementsByTagName("SELECT").length;
		
		if(selects)
		{
			for(var i = 0;i < selects;i++)
			{
				document.getElementsByTagName("SELECT")[i].style.visibility = "hidden";
			}
		}
	}
	
	last_prgr = level1+"_"+level2+"_"+level3;
}

function submenu_on(event_ns)
{
	var id;
	
	if(! Browser.match(/NS6/))
	{
		id = event.srcElement.getAttribute("id");
	}
	else
	{
		id = event_ns.currentTarget.getAttribute("id");
	}
	
	if(id.match(/^prgr_link.*$/))
	{
		toggle_submenu(id,1);
	}
	else
	{
		var ok = 0;
		var parent_nr = "parentNode.";
		
		while(! ok)
		{
			if(! Browser.match(/NS6/))
			{
				var id_string = 'id = event.srcElement.'+parent_nr+'getAttribute("id")';
			}
			else
			{
				var id_string = 'id = event_ns.currentTarget.'+parent_nr+'getAttribute("id")';
			}
			
			eval(id_string);
			
			if(id.match(/^prgr\d{1,}_\d{1,}_0/))
			{
				ok = 1;
				break;
			}
			parent_nr = parent_nr+"parentNode.";
		}
		
		toggle_submenu(id,1);
	}
}

function create_submenu(id)
{
	var menu_re = /^(\d+)_(\d+)_(\d+)$/;
	menu_re.exec(id);
	var level1 = RegExp.$1;
	var level2 = RegExp.$2;
	var level3 = RegExp.$3;
	
	var i = level1;
	var bgcolor = "#ccddff";
	
	if(i > 0)
	{
		if(menu[i]["color"])
		{
			bgcolor = menu[i]["color"];
		}
	}
	
	bgcolor_std = "#ccddff";
	
	if(document.getElementById("prgr"+id))
	{
		var j_ok = 1;
		var j = 1;
		
		var next_i = i;
		next_i++;
		
		var last_i;
		var tbody_sg;
		
		while(j_ok)
		{
			if(! menu[i][j])
			{
				j_ok = 0;
				break;
			}
			else if(! menu[i][j]["name"])
			{
				j_ok = 0;
				break;
			}
			else
			{
				if(last_i != i)
				{
					"prgr_td2"+i+"_0_0"
					last_i = i;
					
					div_sg = document.createElement("DIV");
					
					if(! Browser.match(/NS6/))
					{
						div_sg.setAttribute("className","menu_prgr");
					}
					else
					{
						div_sg.setAttribute("class","menu_prgr");
					}
					
					div_sg.setAttribute("id","prgr_pk"+i+"_0_0");
					document.getElementById("prgr_td2"+i+"_0_0").appendChild(div_sg);
					
					table_sg = document.createElement("TABLE");
					
					if(! Browser.match(/NS6/))
					{
						table_sg.setAttribute("className","menu_prgr");
					}
					else
					{
						table_sg.setAttribute("class","menu_prgr");
					}
					
					table_sg.setAttribute("cellSpacing","0");
					table_sg.setAttribute("cellPadding","0");
					div_sg.appendChild(table_sg);
					
					tbody_sg = document.createElement("TBODY");
					table_sg.appendChild(tbody_sg);
				}
				
				tr_sg = document.createElement("TR");
				tbody_sg.appendChild(tr_sg);
				
				td1_sg = document.createElement("TD");
				tr_sg.appendChild(td1_sg);
				
				td1_sg.setAttribute("id","td_menu_prgr_"+i+"_"+j+"_0");
				
				if(! Browser.match(/NS6/))
				{
					td1_sg.setAttribute("className","menu_prgr");
				}
				else
				{
					td1_sg.setAttribute("class","menu_prgr");
				}
				
				td1_sg.style.backgroundColor = menu[i]["color"];
				
				a_sg = document.createElement("A");
				td1_sg.appendChild(a_sg);
				
				if(! Browser.match(/NS6/))
				{
					a_sg.setAttribute("className","menu");
				}
				else
				{
					a_sg.setAttribute("class","menu");
				}
				
				a_sg.setAttribute("href","javascript:customerExitPrepareURL('"+menu[i][j]["link"]+"');");
				a_sg.setAttribute("id","sg_link"+i+"_"+j+"_0");
				
				var names = menu[i][j]["name"].split("<br>");
				
				for(var counter = 0;counter < (names.length - 1);counter++)
				{
					a_sg.appendChild(document.createTextNode(names[counter]));
					a_sg.appendChild(document.createElement("BR"));
				}
				
				a_sg.appendChild(document.createTextNode(names[names.length-1]));
				
				if(! Browser.match(/NS6/))
				{
					a_sg.setAttribute("onmouseover",productmenu_on);
				}
				else
				{
					a_sg.addEventListener("mouseover", productmenu_on, false);
				}
				
				td2_sg = document.createElement("TD");
				tr_sg.appendChild(td2_sg);
				
				// ab hier div
				var div_product = document.createElement("DIV");
				div_product.setAttribute("id","sg_pk"+i+"_"+j+"_0");
				td2_sg.appendChild(div_product);
				
				if(! Browser.match(/NS6/))
				{
					div_product.setAttribute("className","menu_sg");
				}
				else
				{
					div_product.setAttribute("class","menu_sg");
				}
				
				var table_product = document.createElement("TABLE");
				table_product.setAttribute("cellPadding","0");
				table_product.setAttribute("cellSpacing","0");
				
				if(! Browser.match(/NS6/))
				{
					table_product.setAttribute("className","menu_sg");
				}
				else
				{
					table_product.setAttribute("class","menu_sg");
				}
				
				div_product.appendChild(table_product);
				
				var tbody_product = document.createElement("TBODY");
				table_product.appendChild(tbody_product);
				
				tbody_product.setAttribute("id","tbody_product"+i+"_"+j+"_0");
				
				// bis hier div
			}
			j++;
		}
	}
}

function remove_submenu(id)
{
	var menu_re = /^(\d+)_(\d+)_(\d+)$/;
	menu_re.exec(id);
	var level1 = RegExp.$1;
	var level2 = RegExp.$2;
	var level3 = RegExp.$3;
	
	if(document.getElementById("prgr_pk"+level1+"_0_0"))
	{
		remove_childs(document.getElementById("prgr_pk"+level1+"_0_0"),0);
	}
}

function productmenu_on(event_ns)
{
	var id;
	
	if(! Browser.match(/NS6/))
	{
		id = event.srcElement.getAttribute("id");
	}
	else
	{
		id = event_ns.currentTarget.getAttribute("id");
	}
	
	if(last_sg)
	{
		if(document.getElementById("sg_pk"+last_sg))
		{
			document.getElementById("sg_pk"+last_sg).style.visibility = "hidden";
		}
	}
	
	var sub_re = /^sg_link(\d+)_(\d+)_(\d+)$/;
	sub_re.exec(id);
	var level1 = RegExp.$1;
	var level2 = RegExp.$2;
	var level3 = RegExp.$3;
	
	var id = level1+"_"+level2+"_"+level3;
	
	
	if(document.getElementById("td_product"+id))
	{
		if(document.getElementById("sg_pk"+id))
		{
			document.getElementById("sg_pk"+id).style.visibility = "visible";
		}
	}
	else
	{
		// Create productmenu
		k_ok = 1;
		k = 1;
		i = level1;
		j = level2;
		
		var bgcolor = "#ccddff";
		
		if(i > 0)
		{
			if(menu[i]["color"])
			{
				bgcolor = menu[i]["color"];
			}
		}
		
		while(k_ok)
		{
			if(! menu[i][j][k])
			{
				k_ok = 0;
				break;
			}
			else if(! menu[i][j][k]["name"])
			{
				k_ok = 0;
				break;
			}
			else
			{
				tr_product = document.createElement("TR");
				document.getElementById("tbody_product"+level1+"_"+level2+"_0").appendChild(tr_product);
				
				var td_product = document.createElement("TD");
				tr_product.appendChild(td_product);
				
				if(! Browser.match(/NS6/))
				{
					td_product.setAttribute("className","menu_sg");
				}
				else
				{
					td_product.setAttribute("class","menu_sg");
				}
				
				td_product.style.background = bgcolor;
				td_product.setAttribute("id","td_product"+id);
				
				var a_product = document.createElement("A");
				
				if(! Browser.match(/NS6/))
				{
					a_product.setAttribute("className","menu");
				}
				else
				{
					a_product.setAttribute("class","menu");
				}
				
				a_product.setAttribute("href","javascript:customerExitPrepareURL('"+menu[i][j][k]["link"]+"');");
				
				a_product.appendChild(document.createTextNode(menu[i][j][k]["name"]));
				td_product.appendChild(a_product);
			}
			k++;
		}
		
		document.getElementById("sg_pk"+id).style.visibility = "visible";
	}
	
	last_sg = id;
}

function create_menu()
{
	menu_left_main = document.getElementById('menu_main');
	
	entry_table = document.createElement("TABLE");
	entry_table.setAttribute("cellSpacing","0");
	entry_table.setAttribute("cellPadding","0");
	entry_table.setAttribute("width","125px");
	
	menu_left_main.appendChild(entry_table);
	entry_tbody = document.createElement("TBODY");
	entry_table.appendChild(entry_tbody);
	
	entry_tr = document.createElement("TR");
	entry_tbody.appendChild(entry_tr);
	
	entry_td1 = document.createElement("TD");
	entry_tr.appendChild(entry_td1);
	
	if(! Browser.match(/NS6/))
	{
		entry_td1.setAttribute("className","menu_left");
	}
	else
	{
		entry_td1.setAttribute("class","menu_left");
	}
	
	entry_td1_bold = document.createElement("STRONG");
	entry_td1.appendChild(entry_td1_bold);
	entry_td1_bold.appendChild(document.createTextNode(Produkte));
	
	
	var i_ok = 1;
	var i = 1;
	
	while(i_ok)
	{
		if(! menu[i])
		{
			i_ok = 0;
			break;
		}
		else if(! menu[i]["name"])
		{
			i_ok = 0;
			break;
		}
		else
		{
			entry_tr = document.createElement("TR");
			entry_tbody.appendChild(entry_tr);
			
			entry_td1 = document.createElement("TD");
			entry_tr.appendChild(entry_td1);
			
			entry_td1.setAttribute("id","prgr"+i+"_0_0");
			
			if(! Browser.match(/NS6/))
			{
				entry_td1.setAttribute("className","menu_left");
			}
			else
			{
				entry_td1.setAttribute("class","menu_left");
			}
			
			entry_td1_a = document.createElement("A");
			entry_td1.appendChild(entry_td1_a);
			
			if(! Browser.match(/NS6/))
			{
				entry_td1_a.setAttribute("className","menu");
			}
			else
			{
				entry_td1_a.setAttribute("class","menu");
			}
			
			entry_td1_a.setAttribute("href","javascript:customerExitPrepareURL('"+menu[i]["link"]+"');");
			entry_td1_a.setAttribute("id","prgr_link"+i+"_0_0");
			
			var names = menu[i]["name"].split("<br>");
			
			for(var counter = 0;counter < (names.length - 1);counter++)
			{
				entry_td1_a.appendChild(document.createTextNode(names[counter]));
				entry_td1_a.appendChild(document.createElement("BR"));
			}
			
			
			entry_td1_a.appendChild(document.createTextNode(names[names.length-1]));
			
			if(! ((navigator.appName == "Microsoft Internet Explorer") && (navigator.platform.match(/MacPPC/))))
			{
				if(! Browser.match(/NS6/))
				{
					entry_td1_a.setAttribute("onmouseover",submenu_on);
				}
				else
				{
					entry_td1_a.addEventListener("mouseover", submenu_on, false);
				}
			
				entry_td2 = document.createElement("TD");
				entry_tr.appendChild(entry_td2);
				entry_td2.setAttribute("id","prgr_td2"+i+"_0_0");
			}
		}
		i++;
	}
}

