//
// hiermenu, zie ws_hiermenu() in functions_user.php
//

var hm_ids 				= new Array();
var hm_tids 			= new Array();
var hm_defheight 		= 20;

var hm_delay_mouseover 	= 150;
var hm_delay_mouseout 	= 250;

// ------------------------------------------------
// initialiseer 1 of meerdere menusets
// ------------------------------------------------

function hm_init() {
	if (hm_ids.length) {

		// loop door alle menusets
		for(var i=0; i<hm_ids.length; i++) {
			var hmSet = getElement(hm_ids[i][0]);
			var hmHeight = 0;

			// menuset bevat childNodes (duh)!
			if (hmSet.childNodes.length) {

				// loop door alle menu's in huidige menuset en ga op zoek naar de offsetHeight van elk element
				for(var c=0; c<hmSet.childNodes.length; c++) {
					if (hmSet.childNodes[c].nodeType == 1 && hmSet.childNodes[c].offsetHeight > 0) {
						hmHeight = hmSet.childNodes[c].offsetHeight;
						break;
					}
				}
			}

			// geen hoogte kunnen vinden: pak default-height
			if (hmHeight == 0) hmHeight = hm_defheight;

			// stel hoogte in voor huidige menuset
			hmSet.style.height = hmHeight+"px";

			// loop door alle lijstjes van de buttons van huidige menu, dus: UL.LI.DIV.DIV[2]
			for(var c=0; c<hm_ids[i][1].length; c++) {
				getElement(hm_ids[i][1][c]).style.top = hmHeight+"px";
			}

		}
	}
}

// ------------------------------------------------
// onmouseover, onclick, onmouseout
// ------------------------------------------------

function hm_fold(id, mode, tid) {
	clearInterval(hm_tids[tid]);

	if (mode == 'toggle') {
		// schakel menu-item-lijst aan|uit
		d = getElement(id).style.display;
		getElement(id).style.display = (d == 'block') ? 'none' : 'block';

	} else if (mode == 'showlater') {
		// trigger verbergen van menu-item-lijst of 0.25 seconden
		hm_tids[tid] = setInterval("hm_fold('"+id+"', 'show', "+tid+")", hm_delay_mouseover);

	} else if (mode == 'show') {
		// toon menu-item-lijst
		getElement(id).style.display = 'block';

	} else if (mode == 'hidelater') {
		// trigger verbergen van menu-item-lijst of 0.25 seconden
		hm_tids[tid] = setInterval("hm_fold('"+id+"', 'hide', "+tid+")", hm_delay_mouseout);

	} else if (mode == 'hide') {
		// verberg menu-item-lijst
		getElement(id).style.display = 'none';
	}
}
