/*
	Kinyithato-becsukhato fa
	pDiv: a reszfa div elemenek id-je, amit ki-be kell csukni
	pNyit: true, ha csak kinyitas kell; ures, ha ki-be csukas.
*/
function navTree(pDiv, pNyit) {
	var szulo = document.getElementById(pDiv);
	var oIMG = szulo.getElementsByTagName('img')[0];
	if (oIMG) {
		//sSrc = oIMG.getAttribute('src');
		//var iSrcPathInd = sSrc.indexOf('plusz.gif');
		//if (iSrcPathInd == -1) {
		//	iSrcPathInd = sSrc.indexOf('minusz.gif');
		//}
		//var sPath = sSrc.substring(0,iSrcPathInd);
	    if (szulo.getAttribute('status') == 'csukott') {
	       for (i=0; i<szulo.childNodes.length; i++) {
	       	  var node = szulo.childNodes[i];
	          if (node.nodeName.toLowerCase() == 'div') {
	             node.style.display = 'block';
	          }
	       }
	       //oIMG.src = sPath + 'minusz.gif';
	       szulo.setAttribute('status', 'nyitott');
	    } else if (pNyit == null) {
	       for (i=0; i<szulo.childNodes.length; i++) {
	          var node = szulo.childNodes[i];
	          if (node.nodeName.toLowerCase() == 'div') {
	             node.style.display = 'none';
	          }
	       }
	       //oIMG.src = sPath + 'plusz.gif';
	       szulo.setAttribute('status', 'csukott');
	   }
	}
}

/*
	A fa elemeinek/reszfainak kijelolese/kijeloles torlese
*/
function treeSelect(pDiv) {
	var oDiv = document.getElementById(pDiv);
	if (oDiv) {
		// Ha kijelolt, toroljuk a kijelolest, kiveve, ha a szulo is ki van jelolve
		if (oDiv.className == 'treeSel' || oDiv.className == 'rootSel') {
			var oParent = oDiv.parentNode;
			if (oParent) {
				if (oParent.className != 'treeSel' && oParent.className != 'rootSel') {
					var oNodes = oDiv.getElementsByTagName('div');
					for (iNodeIndex = 0; iNodeIndex < oNodes.length; iNodeIndex++) {
						oNodes[iNodeIndex].className = 'treeUnSel';
					}
					var oNodes = oDiv.getElementsByTagName('a');
					for (iNodeIndex = 0; iNodeIndex < oNodes.length; iNodeIndex++) {
						oNodes[iNodeIndex].className = 'treeUnSel';
					}
				oDiv.className = 'treeUnSel';
				}
			}
		} else {
			// ha nincs kijelolve, a reszfa kijelolese
			var singleselct = oDiv.getAttribute('singleselct');
			if (!singleselct) singleselct = '0';
			var sTreeSelect = document.getElementById('singleTreeSelect');
			var mTreeSelect = document.getElementById('multiTreeSelect');
			// Ha az urlapon csak single select mezo van, akkor csak egyet lehet kijelolni
			if (singleselct == '1' || sTreeSelect && !mTreeSelect) {
				// single select eseten a korabbi kijeloles torlese
				var oRoot = document.getElementById('kategoria_fa');
				if (oRoot) {
					var oNodes = oRoot.getElementsByTagName('div');
					for (iNodeIndex = 0; iNodeIndex < oNodes.length; iNodeIndex++) {
						if (oNodes[iNodeIndex].className != 'foKat')
							oNodes[iNodeIndex].className = 'treeUnSel';
					}
					var oNodes = oRoot.getElementsByTagName('a');
					for (iNodeIndex = 0; iNodeIndex < oNodes.length; iNodeIndex++) {
						oNodes[iNodeIndex].className = 'treeUnSel';
					}
		 		}
			}
			var oNodes = oDiv.getElementsByTagName('div');
			for (iNodeIndex = 0; iNodeIndex < oNodes.length; iNodeIndex++) {
				oNodes[iNodeIndex].className = 'treeSel';
			}
			oNodes = oDiv.getElementsByTagName('a');
			for (iNodeIndex = 0; iNodeIndex < oNodes.length; iNodeIndex++) {
				oNodes[iNodeIndex].className = 'treeSel';
			}
			oDiv.className = 'rootSel';
			oNodes = oDiv.childNodes;
			for (iNodeIndex = 0; iNodeIndex < oNodes.length; iNodeIndex++) {
				if (oNodes[iNodeIndex].tagName == 'A') oNodes[iNodeIndex].className = 'rootSel';
			}
			if (singleselct == '1') {
				var oKT_ID = document.getElementById('kt_id');
				if (oKT_ID) {
					//oKT_ID.value = unescape(pDiv).replace(/\+/g, ' ').replace(/\'/g, '\\\'');
					oKT_ID.value = pDiv.replace(/\'/g, '\\\'');
				}
				var oKT_NEV = document.getElementById('kt_nev');
				if (oKT_NEV) {
					var oChildren = oDiv.getElementsByTagName('a');
					oKT_NEV.value = oChildren[0].innerHTML.replace(/&lt;/g, '<')
					.replace(/&gt;/g, '>').replace(/&amp;/g, '&');
				}
			}
		}
	}
}


/*
	A fa kijelolt elemeinek masolasa az Xform urlapra (csak a reszfak gyokerei!)
	Ezt hasznaljuk a kategoriapanelnel
	pDiv: a fa gyokerelemenek id attributuma
	pXformControl: az XForms input mezo id attributuma 
*/
var masod = false;						// a kijelolt kat. csak masodlagos kategoria lehet
function bindTree(pDiv, pXformControl) {
	masod = false;
	var oDiv = document.getElementById(pDiv);
	var oXformControl = document.getElementById(pXformControl);
	if (oDiv && oXformControl) {
		var sOut = descend(oDiv);
		if (sOut.length == 0) {
			ORBEON.xforms.Document.setValue(pXformControl, sOut);
		}
		else {
			var sResult=sOut.substring(1,sOut.length).replace(/&lt;/g, '<')
					.replace(/&gt;/g, '>').replace(/&amp;/g, '&');
			if (sResult.indexOf('\n') >= 0 || masod) {				// Ha tobb kat. lett kijelolve vagy csak masodlagos lehet
				oParent = oXformControl.parentNode;					// span id=_admin_KT_NevSeged
				if (oParent) oParent = oXformControl.parentNode;	// span id=singleTreeSelect
				if (oParent) {
					if (oParent.id == 'singleTreeSelect') {			// Ha ez az elsodleges kat., hiba.
						if (masod) errorMsg('A kiválasztott kategória csak másodlagos lehet');
						else errorMsg('Csak egy elsődleges kategóriát rendelhet hozzá.');
						return false;
					}
				}
			}
			ORBEON.xforms.Document.setValue(pXformControl, sResult);
		}
	} 
}

function bindKat() {
	bindTree('kategoria_fa','KategoriaSeged');
}

/*
	A kijelolt reszfak gyokereinek megkeresese
*/
function descend(oDiv) {
	var sOut = '';
	if (oDiv.className == 'rootSel') {
		if (oDiv.getAttribute('masod') == '1') masod = true;
		var oChildren = oDiv.getElementsByTagName('a');
		return '\n' + oChildren[0].innerHTML;
	}
	var oNodes = oDiv.childNodes;
	var iNodeIndex;
	for (iNodeIndex = 0; iNodeIndex < oNodes.length; iNodeIndex++) {
		if (oNodes[iNodeIndex].nodeName.toLowerCase() == 'div') {
			sOut += descend(oNodes[iNodeIndex]);
		}
	}
	return sOut;
}

/*
	A megadott szerepkor vagy annak valamelyik alszerepkore ki van-e valasztva
	Ha igen, a megadott XForms input mezobe '1' erteket tesz. Ha nem, 0-t.
	A fa szerkezete:
	<div class="treeSel vagy treeUnSel vagy rootSel">
		<a>szerepkor megnevezes</a>
		<div class="treeSel vagy treeUnSel vagy rootSel">
			<a>szerepkor megnevezes</a>
		</div>
		...
	<div>
	pDiv: a fa gyokerelemenek id attributuma
	pXformControl: az XForms input mezo id attributuma 
	pSzerepkor: a keresett (fo)szerepkor
*/
	
function szerepEllen(pDiv, pXformControl, pSzerepkor, pKatDivId) {
	var oDiv = document.getElementById(pDiv);
	var oKatDiv = document.getElementById(pKatDivId);
	var oXformControl = document.getElementById(pXformControl);
	if (oDiv && oXformControl) {
		var oNodes = oDiv.getElementsByTagName('a');
		for (iNodeIndex = 0; iNodeIndex < oNodes.length; iNodeIndex++) {
			if (oNodes[iNodeIndex].innerHTML == pSzerepkor) {
				// ez a keresett foszerepkor. Ha ki van jelolve, kesz
				if (oNodes[iNodeIndex].parentNode.className == 'treeSel' || oNodes[iNodeIndex].parentNode.className == 'rootSel') {
					ORBEON.xforms.Document.setValue(pXformControl, '1');
					if (oKatDiv) oKatDiv.style.display = 'block';
					return;
				}
				var oSzerepek = oNodes[iNodeIndex].parentNode.getElementsByTagName('div');
				for (iSzerepIndex = 0; iSzerepIndex < oSzerepek.length; iSzerepIndex++) {
					if (oSzerepek[iSzerepIndex].className == 'treeSel' || oSzerepek[iSzerepIndex].className == 'rootSel') {
						ORBEON.xforms.Document.setValue(pXformControl, '1');
						if (oKatDiv) oKatDiv.style.display = 'block';
						return;
					}
				}
				// nincs kijelolve egyik alszerepkor sem
				ORBEON.xforms.Document.setValue(pXformControl, '0');
				if (oKatDiv) oKatDiv.style.display = 'none';
				break;
			}
		}
	}
}


/**
	A fa elemeinek kijelolese az Xform urlap pXformControl elemenek erteke alapjan
	A form betoltesekor hivodik, es adatmodositaskor a meglevo adatok alapjan 
	kijeloli es kinyitja a fa elemeket.
	
	Ujrahivja a bindTree es szerepEllen fuggvenyeket, hogy az XForms elemek
	relevant attrubutumai inicializalodjanak.

	pDiv: a fa gyokerelemenek id-je
	pXformControl: az XForms textarea mezo, aminek tartalma alapjan a fa elemeit kijeloli

*/
function treeSelectInit(pDiv, pXformControl) {
	var oDiv = document.getElementById(pDiv);
	var oXformControl = document.getElementById(pXformControl);
	if (oDiv && oXformControl) {
		var sXformsErtek = ORBEON.xforms.Document.getValue(pXformControl);
		if (sXformsErtek != '') {
			var sTestString = '\n' + sXformsErtek.replace(/\r/g, '') + '\n';
			var oNodes = oDiv.getElementsByTagName('div');
			for (iNodeIndex = 0; iNodeIndex < oNodes.length; iNodeIndex++) {
				var oChildren = oNodes[iNodeIndex].getElementsByTagName('a');
				if (oChildren.length > 0) {
					var sText = '\n' + oChildren[0].innerHTML + '\n';
					if (sTestString.indexOf(sText) >= 0) {
						var oParent = oNodes[iNodeIndex];
						// A fa gyokereleme ne legyen kivalasztva, mert akkor nem lehet kikapcsolni
						if (oParent.parentNode != oDiv) oParent.className = 'rootSel';
						while (oParent) {
							navTree(oParent.id, true); 	// a reszfa kinyitasa
							if (oParent.id != pDiv) oParent = oParent.parentNode;
							else break;
						}
						
						if (oNodes[iNodeIndex].parentNode != oDiv) { // 2007.10.03. csak akkor, ha nem a gyokerelem, mert akkor minden gyerek kijelolodik
							var oReszfa = oNodes[iNodeIndex].getElementsByTagName('div');
							// a kijelolt elem leszarmazottainak kijelolese		
							for (iReszfaIndex = 0; iReszfaIndex < oReszfa.length; iReszfaIndex++) {
								oReszfa[iReszfaIndex].className = 'treeSel';
							}
							oReszfa = oNodes[iNodeIndex].getElementsByTagName('a');
							oReszfa[0].className = 'rootSel';
							for (iReszfaIndex = 1; iReszfaIndex < oReszfa.length; iReszfaIndex++) {
								oReszfa[iReszfaIndex].className = 'treeSel';
							}
						}
					}
				}
			}
		}
	} 
}


/**
	Ellenorzi, hogy a megadott fa csak egyetlen kijelolt elemet tartalmaz-e. 
*/
function checkSelect1(pDiv, sMsg) {
	var oDiv = document.getElementById(pDiv);
	var iSelected = 0;
	if (oDiv) {
		var oNodes = oDiv.getElementsByTagName('div');
		for (iNodeIndex = 0; iNodeIndex < oNodes.length; iNodeIndex++) {
			if (oNodes[iNodeIndex].className == 'rootSel') {
				iSelected++;
				if (iSelected > 1) {
					errorMsg(sMsg);
					return false;
				}
			}
		}
		return true;
	}

}

/**
	Egy IO ful megkattintasa
	sId: a fulhoz tartozo body div id-je
	oFulTD: a fulet befoglalo td
	sBelso: a ful tipusa: kulso ful eseten ""; belso ful eseten "belso"
*/
function tabActivate(sId, oFulTD, sBelso) {
	var oDiv = document.getElementById(sId);
	if (oDiv) {
	 	var oParent = oDiv.parentNode;
		var oNodes = oParent.getElementsByTagName('div');
		for (iNodeIndex = 0; iNodeIndex < oNodes.length; iNodeIndex++) {
			if (oNodes[iNodeIndex].className == sBelso + 'fulDiv') {
				oNodes[iNodeIndex].style.display = 'none';
			}
		}
		oDiv.style.display = 'block';
		if (document.all) kepMeret();
	}
	oParentTR = oFulTD.parentNode;
	oLeftImg = oFulTD.previousSibling.getElementsByTagName('img')[0];
	oRightImg = oFulTD.nextSibling.getElementsByTagName('img')[0];
	oNodes = oParentTR.getElementsByTagName('img');
	for (iNodeIndex = 0; iNodeIndex < oNodes.length; iNodeIndex++) {
			var oImg = oNodes[iNodeIndex];
			if (oImg == oLeftImg || oImg == oRightImg) {
				ind = oImg.src.indexOf('.inaktiv.');
				if (ind != -1) {
					oImg.src = oImg.src.substring(0,ind) + '.aktiv.' + oImg.src.substring(ind + 9);
				}
			} else {
				ind = oImg.src.indexOf('.aktiv.');
				if (ind != -1) {
					oImg.src = oImg.src.substring(0,ind) + '.inaktiv.' + oImg.src.substring(ind + 7);
				}
			}
		}
	oNodes = oParentTR.getElementsByTagName('td');
	for (iNodeIndex = 0; iNodeIndex < oNodes.length; iNodeIndex++) {
		if (oNodes[iNodeIndex].className ==  sBelso + 'panelaktivTab') {
			oNodes[iNodeIndex].className = sBelso + 'panelinaktivTab';
		}
	}
	if (oFulTD.className == sBelso + 'panelinaktivTab') {
		oFulTD.className = sBelso + 'panelaktivTab';
	}
}



/**
	IO reszletes nezet lapozasa
	prefix: tobb IOArea eseten a szulo IO lapjainak "_parent" prefixe van
*/
function ioNextPg(prefix, osszOld) {
	var oAktOldal = document.getElementById(prefix + 'aktOldal');
	var iAktOldal = oAktOldal.value;
	if (iAktOldal < osszOld) {
		oAktOldal.value = ++iAktOldal;
		YAHOO.util.History.navigate(prefix + 'lap', '' + iAktOldal + '_' + osszOld);
	}
}

 
function ioPrevPg(prefix, osszOld) {
	var oAktOldal = document.getElementById(prefix + 'aktOldal');
	var iAktOldal = oAktOldal.value;
	if (iAktOldal > 1) {
		oAktOldal.value = --iAktOldal;
		YAHOO.util.History.navigate(prefix + 'lap', '' + iAktOldal + '_' + osszOld);
	}
}

/**
	A Yahoo! UI Library: Browser History Manager altal mentett lapozasi allapotnak megfelelo lapra ugras
*/
function lapozas(prefix, state) {
	var params=state.split('_');
    if (params[1]) ioLapoz(prefix, params[0],params[1]);
	else ioLapoz(1,oldalSzam);
}

function ioLapoz(prefix, oldalSzam, osszOld) {
	var oA;
	var oOldal;
	for (oldInd = 1; oldInd <= osszOld; oldInd++) {
		oA = document.getElementById(prefix + 'lap' + oldInd);
		if (oA) {
			oA.className = 'lapAktiv';
		}
		oOldal = document.getElementById(prefix + 'oldal' + oldInd);
		if (oOldal) oOldal.style.display = 'none';
	}

	oA = document.getElementById(prefix + 'lap' + oldalSzam);
	if (oA) oA.className = 'lapInaktiv'; 

	var oioPrev = document.getElementById(prefix + 'ioPrev');
	if (oioPrev) {
		if (oldalSzam > 1) oioPrev.style.display = 'block';
		else oioPrev.style.display = 'none';
	}

	var oioNext = document.getElementById(prefix + 'ioNext');
	if (oioNext) {
		if (oldalSzam < osszOld) oioNext.style.display = 'block';
		else oioNext.style.display = 'none';
	}
	
	oOldal = document.getElementById(prefix + 'oldal' + oldalSzam);
	if (oOldal) oOldal.style.display = 'inline';
	
	var oAktOldal = document.getElementById(prefix + 'aktOldal');
	if (oAktOldal) oAktOldal.value = oldalSzam;
	
	if (document.all) kepMeret();
	else {
		panelBodyHeight('');
		panelBodyHeight('parent');
	}
	window.scroll(0,0);
}


/*	
Firefoxban a cikkek kepei kilognak alul
parent: ha tobb IO jelenik meg az oldalon, az azonositok minositese
*/
function panelBodyHeight(parent) {
	var maxHeight = 0;
	var panelHeight = 0;
	var oPanel;
	var ospacerDiv = document.getElementById(parent + 'spacerDiv');
	var oIOArea = document.getElementById(parent + 'IOArea');
	if (ospacerDiv && oIOArea) {
		ospacerDiv.style.height = '0px';
		//var oNodes = document.getElementsByTagName('div');
		var oNodes = oIOArea.getElementsByTagName('div');
		for (iNodeIndex = 0; iNodeIndex < oNodes.length; iNodeIndex++) {
			oNode = oNodes[iNodeIndex];
			if (oNode.className == 'keretesszoveg' || oNode.className == 'keresesiKulcsszos') {
				 if (maxHeight < oNode.clientHeight + oNode.offsetTop) maxHeight = oNode.clientHeight + oNode.offsetTop;
			} else if (oNode.className == 'panelBody') {
				oPanel = oNode;
				panelHeight = oNode.clientHeight + oNode.offsetTop;
			}
		}
		//oNodes = document.getElementsByTagName('img');
		oNodes = oIOArea.getElementsByTagName('img');
		for (iNodeIndex = 0; iNodeIndex < oNodes.length; iNodeIndex++) {
			oNode = oNodes[iNodeIndex];
			if (oNode.className == 'dispKep') {
				 if (maxHeight < oNode.clientHeight + oNode.offsetTop) maxHeight = oNode.clientHeight + oNode.offsetTop;
			}
		}
		if (oPanel) {
			if (panelHeight < maxHeight + 60) {
				ospacerDiv.style.height = (maxHeight - panelHeight + 60)  + 'px';
				var oLab = document.getElementById('lablec');
				if (oLab) oLab.style.width = document.defaultView.getComputedStyle(oPanel, null).getPropertyValue('width');
			} else {
				ospacerDiv.style.height = '0px';
			}
		}
	}
}

/*
	Tartalomjegyzek rendezese
*/
function tartRend(sSelectId, sAscDesc) {
	var oSelect = document.getElementById(sSelectId);
	if (oSelect) {
		var sRes = oSelect.options[oSelect.selectedIndex].value + '+' + sAscDesc;
		var sLoc = document.location.href;
		var iStart = sLoc.indexOf('&rend=');
		var iEnd = 0;
		if (iStart != -1) {
			iEnd = sLoc.indexOf('&', iStart + 1);
			if (iEnd == -1) {
				iEnd = sLoc.length;
			}
			sLoc = sLoc.substring(0, iStart) + sLoc.substring(iEnd);
		}
		iStart = sLoc.indexOf('&lap=');
		if (iStart != -1) {
			iEnd = sLoc.indexOf('&', iStart + 1);
			if (iEnd == -1) {
				iEnd = sLoc.length;
			}
			sLoc = sLoc.substring(0, iStart) + sLoc.substring(iEnd);
		}
		window.location = sLoc + '&rend=' + sRes;
	}
}

/*
	Menupont kivalasztasa
*/
var aktivMenu = null;
var menuClicked = false;
function menuActivate(sId, oFulTD) {
	var oDiv = document.getElementById(sId);
	var oNodes = document.getElementsByTagName('div');
	for (iNodeIndex = 0; iNodeIndex < oNodes.length; iNodeIndex++) {
		if (oNodes[iNodeIndex].className == 'almenuDiv') {
			oNodes[iNodeIndex].style.display = 'none';
		}
	}
	oParentTR = oFulTD.parentNode;
	oNodes = oParentTR.getElementsByTagName('td');
	var iAktivInd = 0;
	for (iNodeIndex = 0; iNodeIndex < oNodes.length; iNodeIndex++) {
		if (oNodes[iNodeIndex].className ==  'menuAktivTab') {
			oNodes[iNodeIndex].className = 'menuInaktivTab';
		} else if (oNodes[iNodeIndex].className ==  'menuAktivTabLeft') {
			oNodes[iNodeIndex].className = 'menuInaktivTabLeft';
		} else if (oNodes[iNodeIndex].className ==  'menuAktivTabRight') {
			oNodes[iNodeIndex].className = 'menuInaktivTabRight';
		}
		if (oNodes[iNodeIndex] == oFulTD) {
			iAktivInd = iNodeIndex;
		}
	}
	oNodes[iAktivInd-1].className = 'menuAktivTabLeft';
	oNodes[iAktivInd+1].className = 'menuAktivTabRight';
	oFulTD.className = 'menuAktivTab';
	if (oDiv) {
		var menuTop = 0;
		var menuLeft = 0;
		oParent = oNodes[iAktivInd-1];
		while (oParent.id != 'foKeret') {
			//alert('id: ' + oParent.id + '/' + oParent.tagName + 
			//'; menuTop: ' + menuTop + '; offsetTop: ' + oParent.offsetTop);
//			menuTop += oParent.offsetTop;
			menuLeft += oParent.offsetLeft;
			oParent = oParent.parentNode;
		}
//		menuTop += oParent.offsetTop;
		menuLeft += oParent.offsetLeft;

		oFomenu = document.getElementById('fomenuParentTd');
//alert (oFomenu.clientTop + ';' + oFomenu.clientHeight + ';' + oFomenu.offsetTop + ';' + oFomenu.offsetHeight);
		menuTop = oFomenu.offsetTop + oFomenu.clientHeight;
		
//		if (document.all) oDiv.style.top = (menuTop-76) + 'px';
//		else oDiv.style.top = (menuTop-80) + 'px';
//		else oDiv.style.top = menuTop + 'px';
		oDiv.style.top = menuTop + 'px';
		
		oDiv.style.left = menuLeft + 'px';
		oDiv.style.display = 'block';
		aktivMenu = oDiv;
		menuClicked = true;
	}
	
}

/*
	Billentyu
*/
function press(e) {
   if (!e) {var e = window.event;}
   if (e.keyCode == 13) {
		oForm = document.forms[0];
		if (oForm) oForm.submit();
   }
}

/*
	kattintas
*/
function katt(e) {

	if (menuClicked) menuClicked = false;
	else {
		if (aktivMenu) {
			aktivMenu.style.display = 'none';
		}
	}
}

function betuMeret(sMeret) {
	var oLink;
	var cssNev = sMeret + ((document.all) ? '' : 'FF');
	for(i=0; (oLink = document.getElementsByTagName("link")[i]); i++) {
		if (oLink.getAttribute("rel").indexOf("stylesheet") != -1 && oLink.getAttribute("title") ) {
			if (oLink.getAttribute("title") == cssNev) oLink.disabled = false;
			else oLink.disabled = true;
		}
	}
	if (document.all) kepMeret();
//	resize();
}

/* EZ ITT IE6 alatt meretezi at a kepeket.  */ 
function kepMeret() {
	if (getIEVersion() < 7.0) {
		oNodes = document.getElementsByTagName('img');
		for (iNodeIndex = 0; iNodeIndex < oNodes.length; iNodeIndex++) {
			oNode = oNodes[iNodeIndex];
			/* kepgaleria tartalomjegyzek kepei */
			if (oNode.className == 'tartKep')  {
				if (oNode.width >= oNode.height && oNode.width > 150) oNode.style.width = 150 + 'px';
			 	if (oNode.height > oNode.width && oNode.height > 150) oNode.style.height = 150 + 'px'; 
			}  
			/* IObeli egymas alatti kepek eseten csak a szelesseget maximalizalja */ 
			else if (oNode.className == 'dispKep') {
				if (oNode.width > 150) oNode.style.width = 150 + 'px';
			} 
			/* IObeli egymas melletti kepek eseten csak a magassagot maximalizalja */
			else if (oNode.className == 'inlineKep') {
				if (oNode.height > 150) oNode.style.height = 150 + 'px';
			}
			/* forumok es forumbejegyzesek tartalomjegyzekeben a szerzokep */
			else if (oNode.className == 'tartSzovKep' && oNode.parentNode.className == 'forumszerzoKepDiv') {
				if (oNode.width >= oNode.height && oNode.width >= 75) oNode.style.width = 75 + 'px'; else
			  	if (oNode.height > oNode.width && oNode.height >= 75) oNode.style.height = 75 + 'px'; 
			}
			/* egyeb tartalomjegyzekek kepei */
			else if (oNode.className == 'tartSzovKep' || oNode.className == 'tartSzovKepDiv') {
	 		  if (oNode.width >= oNode.height && oNode.width >= 150) oNode.style.width = 150 + 'px'; else
			  if (oNode.height > oNode.width && oNode.height >= 150) oNode.style.height = 150 + 'px'; 
	  		} 
			/* szerzobox szerzokepe */
			else if (oNode.className == 'szerzoKep') {
	 		  if (oNode.width >= oNode.height && oNode.width >= 105) oNode.style.width = 105 + 'px'; else
			  if (oNode.height > oNode.width && oNode.height >= 125) oNode.style.height = 125 + 'px'; 
	  		} 
		}
	}
}



/* 
	Returns the version of Internet Explorer or a -1 (indicating the use of another browser).
	http://msdn2.microsoft.com/en-us/library/ms537509.aspx#UsingCCs
*/
var IEVersion = null;
function getIEVersion() {
	if (IEVersion == null) {
		IEVersion = -1; // Return value assumes failure.
		if (navigator.appName == 'Microsoft Internet Explorer') {
		    var ua = navigator.userAgent;
		    var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
		    if (re.exec(ua) != null) IEVersion = parseFloat( RegExp.$1 );
		}
	}
	return IEVersion;
}

function init() {
	if (document.all) {
		if (getIEVersion() < 7.0) {	// IE6-ban a kepmeretezes utan kell aktivalni a css-t
			betuMeret('kis');		  
			betuMeret('normal');
		}
		//kepMeret();
		//resize();
		var ioUrlap = document.getElementById('ioUrlap');
		if (ioUrlap) {
			var katPanel = document.getElementById('kategoria_fa');
			if (katPanel) ioUrlap.style.width = document.body.clientWidth - katPanel.clientWidth - 118 + 'px';
			else ioUrlap.style.width = document.body.clientWidth - 100 + 'px';
			var ioUrlapFul = document.getElementById('ioUrlapFul');
			if (ioUrlapFul) ioUrlapFul.style.width = ioUrlap.clientWidth + 'px';
			var ioUrlapBody = document.getElementById('ioUrlapBody');
			if (ioUrlapBody) {
				ioUrlapBody.style.width = ioUrlap.clientWidth + 'px';
				for(i=0; (oTable = ioUrlapBody.getElementsByTagName("table")[i]); i++) {
					if (oTable.className == 'ioUrlapFul') oTable.style.width = '100%';
				}
				for(i=0; (oDiv = ioUrlapBody.getElementsByTagName("div")[i]); i++) {
					if (oDiv.className == 'ioUrlapBody') oDiv.style.width = '100%';
				}
			}
		}
	} else {
		betuMeret('normal');
		panelBodyHeight('');
		panelBodyHeight('parent');
		resize();
	}
}

/*
	A portal keret igazitasa az ablak meretehez FF-ban
	IOArea meretezese IE7 alatt
*/
function resize() {
	if (self.innerHeight) { // IE-ben nem kell
		oWA = document.getElementById('workArea');
		if (oWA) oWA.style.height = ((window.scrollMaxX > 0) ? 
			self.innerHeight - 148 : self.innerHeight - 134) + 'px';
	} else {
/*
		if (oIOArea && getIEVersion() <= 6.0) oIOArea.style.marginLeft = '5px';
	 	if (iResizeCnt == 0) { // getIEVersion() <= 6.0
	 		window.setTimeout('clearOnResize()',100);	// 0.1 mp-ig mehet a resize
			iResizeCnt ++;
		}
		// belsofulDiv-ek meretezese IE alatt
		var obelsoFulek = document.getElementById('belsoFulek');
		if (obelsoFulek) {
			oNodes = document.getElementsByTagName('div');
			for (iNodeIndex = 0; iNodeIndex < oNodes.length; iNodeIndex++) {
				var oNode = oNodes[iNodeIndex];
				if (oNode.className == 'belsofulDiv') {
					oNode.style.width = obelsoFulek.clientWidth - 24 + 'px';
				}
			}
		}
*/

	}
}


function minosites(oImg, iPont) {
	oParentTD = oImg.parentNode;
	var sSrc, oNode, iInd;
	oNodes = oParentTD.getElementsByTagName('img');
	var iAktivInd = 0;
	for (iNodeIndex = 0; iNodeIndex < oNodes.length; iNodeIndex++) {
		oNode = oNodes[iNodeIndex];
		sSrc = oNode.src;
		if (iNodeIndex < iPont) {
			iInd = sSrc.indexOf('.empty.');
			if (iInd != -1) {
				oNode.src = sSrc.substring(0, iInd) + '.filled.gif';
			} 
		} else {
			iInd = sSrc.indexOf('.filled.');
			if (iInd != -1) {
				oNode.src = sSrc.substring(0, iInd) + '.empty.gif';
			}
		}
	}
	var oPont = document.getElementById('minositesPont');
	oPont.value = iPont;
}


function minositesGomb(sUrl) {
	var oPont = document.getElementById('minositesPont');
	document.location = sUrl + '&pont=' + oPont.value;
}

/*
	Kereses urlap ellenorzese
*/
function kerEllen() {
	var oForm = document.forms['kerForm'];
	var oInputs = oForm.elements;
	var iLng = oInputs['fulltext'].value.length;
	if (iLng < 3 || iLng > 50) {
		errorMsg('A keresőszöveg legalább 3, legfeljebb 50 hosszú lehet.');
		return false;
	}
	oForm.submit();
}

/*
	Kategoria urlap ellenorzese
*/
function katEllen() {
	var oForm = document.forms['katForm'];
	var oInputs = oForm.elements;
	if (oInputs['kt_nev'].value == '') {
		errorMsg('Egy kategóriát ki kell választani.');
		return false;
	}
	oForm.submit();
}


/* 
	Level urlap ellenorzese
*/
function levelEllen() {
	var oForm = document.forms['levelUrlap'];
	var oInputs = oForm.elements;
	if (oInputs['felado'].value == '') {
		errorMsg('A feladó email címét meg kell adni.');
		return false;
	}
	if (oInputs['cimzett'].value == '') {
		errorMsg('Legalább egy címzett email címet meg kell adni.');
		return false;
	}
	if (oInputs['targy'].value == '') {
		errorMsg('A tárgy nem lehet üres.');
		return false;
	}
	if (!emailCheck(oInputs['felado'].value)) {
		errorMsg('A feladó email címe érvénytelen.')
		return false;
	}
	var cimzettek = oInputs['cimzett'].value;
	var ind = cimzettek.indexOf(',');
	if (ind == -1) ind = cimzettek.length;
	var cimzett = cimzettek.substring(0,ind);
	while (cimzett.charAt(0) == ' ') cimzett = cimzett.substring(1);
    while (cimzett.length > 0) {
  		if (!emailCheck(cimzett)) {
			errorMsg(cimzett + ' címzett email cím érvénytelen.')
			return false;
		}
   		cimzettek = cimzettek.substring(ind + 1);
		ind = cimzettek.indexOf(',');
		if (ind == -1) ind = cimzettek.length;
		cimzett = cimzettek.substring(0,ind);
		while (cimzett.charAt(0) == ' ') cimzett = cimzett.substring(1);
    }
    oForm.submit();
}


/*
	Email formatum ellenorzes. Forras:
	http://javascript.internet.com/forms/email-address-validation.html
	Free JavaScripts provided by http://javascriptsource.com
*/
function emailCheck (emailStr) {

/* The following variable tells the rest of the function whether or not
to verify that the address ends in a two-letter country or well-known
TLD.  1 means check it, 0 means don't. */

var checkTLD=1;

/* The following is the list of known TLDs that an e-mail address must end with. */

var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;

/* The following pattern is used to check if the entered e-mail address
fits the user@domain format.  It also is used to separate the username
from the domain. */

var emailPat=/^(.+)@(.+)$/;

/* The following string represents the pattern for matching all special
characters.  We don't want to allow special characters in the address. 
These characters include ( ) < > @ , ; : \ " . [ ] */

var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";

/* The following string represents the range of characters allowed in a 
username or domainname.  It really states which chars aren't allowed.*/

var validChars="\[^\\s" + specialChars + "\]";

/* The following pattern applies if the "user" is a quoted string (in
which case, there are no rules about which characters are allowed
and which aren't; anything goes).  E.g. "jiminy cricket"@disney.com
is a legal e-mail address. */

var quotedUser="(\"[^\"]*\")";

/* The following pattern applies for domains that are IP addresses,
rather than symbolic names.  E.g. joe@[123.124.233.4] is a legal
e-mail address. NOTE: The square brackets are required. */

var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;

/* The following string represents an atom (basically a series of non-special characters.) */

var atom=validChars + '+';

/* The following string represents one word in the typical username.
For example, in john.doe@somewhere.com, john and doe are words.
Basically, a word is either an atom or quoted string. */

var word="(" + atom + "|" + quotedUser + ")";

// The following pattern describes the structure of the user

var userPat=new RegExp("^" + word + "(\\." + word + ")*$");

/* The following pattern describes the structure of a normal symbolic
domain, as opposed to ipDomainPat, shown above. */

var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");

/* Finally, let's start trying to figure out if the supplied address is valid. */

/* Begin with the coarse pattern to simply break up user@domain into
different pieces that are easy to analyze. */

var matchArray=emailStr.match(emailPat);

if (matchArray==null) {

/* Too many/few @'s or something; basically, this address doesn't
even fit the general mould of a valid e-mail address. */

// errorMsg("Email address seems incorrect (check @ and .'s)");
return false;
}
var user=matchArray[1];
var domain=matchArray[2];

// Start by checking that only basic ASCII characters are in the strings (0-127).

for (i=0; i<user.length; i++) {
if (user.charCodeAt(i)>127) {
// errorMsg("Ths username contains invalid characters.");
return false;
   }
}
for (i=0; i<domain.length; i++) {
if (domain.charCodeAt(i)>127) {
// errorMsg("Ths domain name contains invalid characters.");
return false;
   }
}

// See if "user" is valid 

if (user.match(userPat)==null) {

// errorMsg("The username doesn't seem to be valid.");
return false;
}

/* if the e-mail address is at an IP address (as opposed to a symbolic
host name) make sure the IP address is valid. */

var IPArray=domain.match(ipDomainPat);
if (IPArray!=null) {

// this is an IP address

for (var i=1;i<=4;i++) {
if (IPArray[i]>255) {
// errorMsg("Destination IP address is invalid!");
return false;
   }
}
return true;
}

// Domain is symbolic name.  Check if it's valid.
 
var atomPat=new RegExp("^" + atom + "$");
var domArr=domain.split(".");
var len=domArr.length;
for (i=0;i<len;i++) {
if (domArr[i].search(atomPat)==-1) {
// errorMsg("The domain name does not seem to be valid.");
return false;
   }
}

/* domain name seems valid, but now make sure that it ends in a
known top-level domain (like com, edu, gov) or a two-letter word,
representing country (uk, nl), and that there's a hostname preceding 
the domain or country. */

if (checkTLD && domArr[domArr.length-1].length!=2 && 
domArr[domArr.length-1].search(knownDomsPat)==-1) {
// errorMsg("The address must end in a well-known domain or two letter " + "country.");
return false;
}

// Make sure there's a host name preceding the domain.

if (len<2) {
// errorMsg("This address is missing a hostname!");
return false;
}

// If we've gotten this far, everything's valid!
return true;
}

/*
	Jelszo emlekezteto
*/
function lostpw () {
	var oForm = document.forms['loginForm'];
	if (oForm.elements['email'].value == '') {
		errorMsg('A jelszó emlékeztetőhöz meg kell adnia az email címét.');
		return false;
	}
	var ind = oForm.action.indexOf('login');
	oForm.action = oForm.action.substring(0,ind) + 'lostpw';
	oForm.submit();
}


/* 
	Felhasznalo lekerdezo urlap ellenorzese
*/
function regadatLekerdEllen() {
	var oForm = document.forms['regadatLekerdForm'];
	var oInputs = oForm.elements;
	if (oInputs['fh_email'].value == '' && oInputs['fh_nev'].value == '' && oInputs['fh_datum'].value == '') {
		errorMsg('Legalább egy lekérdezési szempontot meg kell adni.');
		return false;
	}
	var hibaStr = 'Érvénytelen dátum';
	var datum = oInputs['fh_datum'].value;
	if (datum == '') {
		oForm.submit();
		return true;
	}
	if (datum.length != 10 && datum.length != 7) {
		errorMsg(hibaStr);
		return false;
	}
	if (isNaN(datum.substring(0,4))) {
		errorMsg(hibaStr);
		return false;
	}
	if (isNaN(datum.substring(5,7))) {
		errorMsg(hibaStr);
		return false;
	}
	if (datum.charAt(4) != '-') {
		errorMsg(hibaStr);
		return false;
	}
	if (datum.length == 10 && datum.charAt(7) != '-') {
		errorMsg(hibaStr);
		return false;
	}
	if (datum.length == 10 && isNaN(datum.substring(8))) {
		errorMsg(hibaStr);
		return false;
	}
    oForm.submit();
    return true;
}

function cegLekerdEllen() {
	var oForm = document.forms['cegLekerdForm'];
	
	var oInputs = oForm.elements;
	if (oInputs['uf_nev'].value == '') {
		errorMsg('A lekérdezési szempontot meg kell adni.');
		return false;
	}
	oForm.submit();
    return true;
}

function szavazasEllen(pForm) {
	//var oForm = document.forms['szavazForm'];
	var oForm = document.forms[pForm];
	var oInputs = oForm.elements;
	var ures = true;
	for (i=0; i<oInputs.length; i++) {
		oInput=oInputs[i];
		if (oInput.checked) {
			ures = false;
			break;
		}
	}
	if (ures) {
		errorMsg('Valamelyik választ be kell jelölni.');
		return false;
	}
	oForm.submit();
    return true;
}

/*
	A kitoltott XForms upload controlok allapotanak beallitasa
*/
function setUploadState() {
	var uploadElements = YAHOO.util.Dom.getElementsByClassName("xforms-upload", "span");
	for (var uploadIndex = 0; uploadIndex < uploadElements.length; uploadIndex++) {
		var uploadElement = uploadElements[uploadIndex];
		/*if (ORBEON.util.Dom.hasClass(uploadElement, "xforms-upload-state-empty")) {*/
			var uploadInfo = uploadElement.getElementsByTagName('span')[0];
			if (uploadInfo) {
				var removeIcon = uploadInfo.getElementsByTagName('img')[0];
				var children = uploadInfo.getElementsByTagName('span');
				for (var childIndex = 0; childIndex < children.length; childIndex++) {
					var child = children[childIndex];
					if (child.className == 'xforms-upload-filename') {
					    if (child.innerHTML != '') {
							ORBEON.util.Dom.removeClass(uploadElement, "xforms-upload-state-empty")
							ORBEON.util.Dom.addClass(uploadElement, "xforms-upload-state-file");
							removeIcon.setAttribute('alt', 'Törlés');
							removeIcon.setAttribute('title', 'Törlés');
							removeIcon.style.display = 'inline';
							if (removeIcon.addEventListener) removeIcon.addEventListener("click", removeFile, false);
							else removeIcon.onclick = removeFile;
						} else {
							ORBEON.util.Dom.removeClass(uploadElement, "xforms-upload-state-file");
							ORBEON.util.Dom.addClass(uploadElement, "xforms-upload-state-empty");
							removeIcon.style.display = 'none';
						}
					}
				}
			}
		/*}*/
	}
}

function removeFile(evt) {
	var removeIcon = (window.event) ? window.event.srcElement : evt.target;
	removeIcon.style.display = 'none';
	var uploadElement = removeIcon.parentNode.parentNode;
	ORBEON.util.Dom.removeClass(uploadElement, "xforms-upload-state-file");
	ORBEON.util.Dom.addClass(uploadElement, "xforms-upload-state-empty");
}

function errorMsg(msg) {
	uzenetDiv = document.getElementById('rendszeruzenet');
	uzenetDiv.innerHTML = msg;
	uzenetDiv.style.display = 'block';
}

/*
   Torles muvelet megerositese
   msg: megjeleno kerdes
   oLink: az OK gomb hatasara elindulo link (<a href> objektum)
   balKep: a funkciogomb bal szele
   jobbKep: a funkciogomb jobb szele
*/
function valoban(msg, oLink, balKep, jobbKep) {
	uzenetDiv = document.getElementById('rendszeruzenet');
	uzenetDiv.innerHTML = '<p><b>' + msg + '</b></p>' +
		'<div align="center"><table cellspacing="10"><tr><td>' + 
		funkcioGomb("document.location='" + oLink.href + "'", 'Igen', balKep, jobbKep) + '</td>' + 
		'<td>' + funkcioGomb('valobanCancel()', 'Nem', balKep, jobbKep) + '</td></tr></table></div>'
	uzenetDiv.style.display = 'block';
	return false;
}

function funkcioGomb(clk, lbl, bal, jobb) {
	return '<table class="funkcioGomb" width="100%" cellspacing="0" cellpadding="0" onclick="' + 
	clk + '"><tr><td><img alt="" src="' + bal + '"/></td><td>' + lbl + 
	'</td><td><img alt="" src="' + jobb + '"/></td></tr></table>';
}

function valobanCancel() {
	uzenetDiv = document.getElementById('rendszeruzenet');
	uzenetDiv.innerHTML = '';
	uzenetDiv.style.display = 'none';
}

var oSzintHiba = null;
function szintHibaOn(evt, pMsg) {
	oSzintHiba = document.getElementById('szintHiba');
	if (oSzintHiba) {
		var pozX = (window.event) ? window.event.clientX + document.all.html.scrollLeft : evt.clientX + window.scrollX;
		var pozY = (window.event) ? window.event.clientY + document.all.html.scrollTop : evt.clientY + window.scrollY;
		oSzintHiba.innerHTML = pMsg;
		oSzintHiba.style.top = pozY + 10 + 'px';
		oSzintHiba.style.left = pozX + 10 + 'px';
		oSzintHiba.style.display = 'block';
	}
}


function szintHibaOff() {
	if (oSzintHiba) oSzintHiba.style.display = 'none';
}

var okepNagyitoDiv = null;
var maxSzel = 960;		// Max. szelesseg
var maxMag = 700;		// Max. magassag
function kepNagyitas(oImg, sElnevezes) {
	okepNagyitoDiv = document.getElementById('kepNagyitoDiv');
	if (oImg && okepNagyitoDiv) {
		pic = new Image();
    	pic.src = oImg.src;
    	if (pic.width != 0 && pic.height != 0) {
			szel = (maxSzel > pic.width) ? pic.width : maxSzel;
			mag = pic.height * szel / pic.width;
			if (mag > maxMag) {
				mag = maxMag;
				szel = pic.width * mag / pic.height;
			}
			/*
		    if (oImg.width > oImg.height) {
		    	szel = 760;
		    	mag = oImg.height * szel / oImg.width;
		    	if 
		    } else {
		    	mag = 500;
		    	szel = oImg.width * mag / oImg.height;
		    }
		    */
			okepNagyitoDiv.innerHTML = '<img src="' + oImg.src + '" width="' + szel + '" height="' + mag + '">';
			if (sElnevezes != '') okepNagyitoDiv.innerHTML += '<p>' + sElnevezes + '</p>'; 
			
			scrY = 0;
			if (window.scrollY) scrY = window.scrollY;
			else if (document.all) scrY = document.all.html.scrollTop;
	
			scrX = 0;
			if (window.scrollX) scrX = window.scrollX;
			else if (document.all) scrX = document.all.html.scrollLeft;
	
	        okepNagyitoDiv.style.marginLeft = scrX - 10 - (szel / 2) + 'px';
	        okepNagyitoDiv.style.marginTop =  scrY - 24 - (mag  / 2) + 'px';
			okepNagyitoDiv.style.display = 'block';
		}
	}
}
 
