// a főmenüpontok :: ez lesz feltöltve;
var aMenu = [];

loadEventBinding( window, initPage );
function initPage() {
	var elsA, i, j, elLI, elLink, elsUL, elUL, elA, windowTopMenu, windowContent, sId;
	// beállítjuk a <link rel="up"> title-nek megfelelő menübontot kiválasztottnak a top-frame-ben
	elLink = document.getElementById('pg-menupage-link');
	windowTopMenu = top.window.frames['top-frame'];
	if ( !elLink  || typeof windowTopMenu  == 'undefined' ) {
		throw 'nXError:: hibás menü konfiguráció :: menü!';
		return;
	}
	windowTopMenu.setMenu( elLink.title );
	// menü inicializációja
	elsA = document.getElementsByTagName('A');
	for ( i = 0; i < elsA.length; i++ ) {
		makeUnselectable( elsA[i] );
		// csak ha felsorolásban van -> menü
		if ( elsA[i].parentNode.tagName.toLowerCase() != 'li' ) continue;
		elLI = elsA[i].parentNode;
		for ( j = 0; j < elLI.childNodes.length; j++ ) {
			if ( elLI.childNodes[j].nodeType != Node.ELEMENT_NODE ) continue;
			if ( elLI.childNodes[j].tagName.toLowerCase() == 'ul' ) {
				elsA[i].subMenu = elLI.childNodes[j];
				elsA[i].bsubMenu = false;
				elsA[i].hasSubMenu = true;
				eventBinding( elsA[i], true, 'click', clickMenu, false )
				break;
			}
		}
	}
	// egyszerre csak egy elem lehet nyitva, a főmenüpontok kigyűjtése az aMenu tömb-be;
	// gyökérelemk kiválasztása
	elsUL = document.getElementsByTagName('UL');
	for ( i = 0; i < elsUL.length; i++ ) {
		if ( elsUL[i].parentNode.nodeType == Node.ELEMENT_NODE && elsUL[i].parentNode.className == 'pg-menu-container' ) {
			elUL = elsUL[i];
			break;
		}
	}
	if ( !elUL ) {
		throw 'nXError:: hibás menü konfiguráció :: parent!';
		return;
	}
	// menüpontok kiválasztása
	for ( i = 0; i < elUL.childNodes.length; i++ ) {
		elLI = elUL.childNodes[i];
		if ( elLI.nodeType != Node.ELEMENT_NODE ) continue;
		elA = getFirstElement( elLI );
		if ( elA == null ) continue;
		if ( elA.hasSubMenu )
			aMenu[aMenu.length] = elA;
	}
	// feldolgozás
	if ( typeof oMenuExtension != 'undefined' ) {
		windowContent = parent.frames['content-frame'];
		sId = null;
		for ( i in oMenuExtension ) {
			if ( windowContent.location.href.indexOf( i ) > -1 ) {
				sId = oMenuExtension[i];
				break;
			}
		}
		if ( sId != null ) {
			clickMenu( null, document.getElementById(sId) );
		};
	}
}

/*******************************************************************************
 * menü
 ******************************************************************************/
function clickMenu( e, el ) {
	var elA, nMenuHeight, i;
	// normál
	if ( is.ie )
		elA = window.event.srcElement;
	else
		elA = this;
	// kívülről hívás
	if ( el )
		elA = el;
	if ( elA == null )
		return;
	// egyszerre csak egy lehet nyitva
	for ( i = 0; i < aMenu.length; i++ ) {
		if ( aMenu[i] != elA ) {
			aMenu[i].subMenu.style.display = 'none';
			aMenu[i].bsubMenu = false;
		}
	}
	if ( elA.bsubMenu ) {
		elA.subMenu.style.display = 'none';
		elA.bsubMenu = false;
	}
	else {
		elA.subMenu.style.display = 'block';
		elA.bsubMenu = true;
	}
}