/**
 * @param id TreeID, von welcher man die Childs anzeigen will
 */
function toggleSubMenu(id, onloaded) {
	if (!$('sub' + id)) {
		return;
	}
	
	// $A: macht aus einem "normalen" JS-Array ein Prototype-Array (eine Collection ==> Zusatzfunktionen)
	// $$: sucht Elemente nach dem Prinzip der CSS-Selektoren
	// .each: Iterator, welcher man einfach eine Funktion übergeben kann. Die Funktion nimmt ein Element entgegen und bearbeitet dieses
	$A($$('div.box div')).each(function (element) {
		if (element.id.indexOf('sub') == 0 && $('sub' + id).parentNode != element && $('sub' + id).parentNode.parentNode != element) {
			Element.hide(element);
		}
	});
	
	if ($('sub' + id).loaded) {
		Element.show('sub' + id);
		if ($('sub' + id).parentNode.id.indexOf('sub') == 0) {
			Element.show($('sub' + id).parentNode);
			if ($('sub' + id).parentNodea.parentNode.id.indexOf('sub') == 0) {
				Element.show($('sub' + id).parentNode.parentNode);
			}
		}
		if (onloaded) {
			onloaded();
		}
	} else {
		new Ajax.Request('/ajax/submenu/index.html?t_ParentID=' + id, {
			async: true,
			onSuccess: function(tp) {
				$('sub' + id).innerHTML= tp.responseText;
				Element.show('sub' + id);
				if ($('sub' + id).parentNode.id.indexOf('sub') == 0) {
					Element.show($('sub' + id).parentNode);
					if ($('sub' + id).parentNode.parentNode.id.indexOf('sub') == 0) {
						Element.show($('sub' + id).parentNode.parentNode);
					}
				}
				$('sub' + id).loaded = true;
				if (onloaded) {
					onloaded();
				}
			}
		});
	}
}