var x = 0;
var y = 0;
var h = 0;
var hide_timer = 0;

function hide_allsubmenu(currentLi) {
	lis = currentLi.parentNode;
	
	//Anzahl der Hauptmenüpunkte
	for (i=0; i<lis.childNodes.length; i++ ) {
    if (lis.childNodes[i].nodeName == 'LI') {	
			var knotenanzahl_li = lis.childNodes[i].childNodes.length;
					
			//Anzahl der Hauptmenüelemente (Hauptmenüpunkt + Liste)
			for (j = 0; j<lis.childNodes[i].childNodes.length; j++) {
				if (lis.childNodes[i].childNodes[j].nodeName == 'UL') {
					lis.childNodes[i].childNodes[j].style.display = 'none';
				}
			}
    }
  }
}

function menushow(element) {
  ulelement = element.lastChild;
	
  if (ulelement.tagName == 'UL') {
    act = ulelement;
  }
  else {
    act = false;
  }
    if (act) {
		
			/*if(hide_timer != 0) {
				clearTimeout(hide_timer);
			}*/
			
			act.style.display = 'block';
			/*
			hide_allsubmenu(element);
			
			knotenanzahl_liste = element.lastChild.childNodes.length;

			act.style.display = 'block';
			
			if (x == 0) {
				act_height = act.offsetHeight;
				act.style.height = '0px';
				x = 1;
				y = 0;
				//alert(act_height);
			}
			
			for (i=0; i<knotenanzahl_liste; i++) {
				element.lastChild.childNodes[i].style.display = 'none';
			}
			
			max_element(act, act_height);*/
			
  }
}

function menuhide(element) {

  ulelement = element.lastChild;

  if (ulelement) {
    if (ulelement.tagName == 'UL') {
      act = ulelement;
    }
    else {
      act = false;
    }
    if (act) {
			act.style.display = 'none';
		 //hide_timer = window.setTimeout( function () {	min_element(act, act.offsetHeight);	}, 500);
    }
  }
}

function max_element(element, element_height) {

	if(h < element_height) {
	  h = element.offsetHeight + 8;
		element.style.height = h+'px';
		
		element_neu = element;
		element_height_neu = element_height;
		
		int2 = setInterval('max_element(element_neu, element_height_neu)', 5);
	}
	else {
		clearInterval(int2);
	}
	
	if(h >= element_height) {
		knotenanzahl_liste = element.childNodes.length;
		for (i=0; i<knotenanzahl_liste; i++) {
			element.childNodes[i].style.display = 'block';
		}
	}

}

function min_element(element, element_height) {
	
	clearTimeout(hide_timer);
	
	if (y==0) {
		knotenanzahl_liste = element.childNodes.length;
		for (i=0; i<knotenanzahl_liste; i++) {
			element.childNodes[i].style.display = 'none';
		}
		y = 1;
		var max_height = element_height;
		//alert(max_height);
	}
	
	if(h > 1) {
	  h = h - 8;
		element.style.height = h+'px';
		
		element_neu = element;
		element_height_neu = element.style.height;
	
		int1 = setInterval('min_element(element_neu, element_height_neu)', 5);
	
	} else {
		element.style.height = max_height+'px';
		element.style.display = 'none';
		
	//	alert(element.style.height);
		clearInterval(int1);
		clearInterval(int2);
		clearTimeout(hide_timer);
		x=0;
	}
}
