// ------------------------------------------------------------------
// -                A Portal kozos JavaScript fajlja                -
// ------------------------------------------------------------------

function centerWindow(url, name, width, height, params) 
{
    if (document.all)
        var xMax = screen.width, yMax = screen.height;
    else
        if (document.layers)
            var xMax = window.outerWidth, yMax = window.outerHeight;
        else
            var xMax = 640, yMax=480;

    var xOffset = (xMax - width)/2, yOffset = (yMax - height)/2;
	
    window.open(url,name,
    'width=' + width + ',height=' + height + ',screenX='+xOffset+',screenY='+yOffset+',top='+yOffset+',left='+xOffset+',' + params);
}


// a design elemek, amik a kiemeleshez kellenek
var replaceTextStart = '<span class="SearchMark">';
var replaceTextEnd = '</span>';

// kijeloli a megadott HTML-ben a megadott kulcsszavakat
function markText( inputHtml )
{
	// URL-bol kiszedi a queryt
	var queryObj = parseQueryString( location.search );
	txtKeyword = queryObj.query;

	// Ha nincs query visszaadjuk az inputot
	if ( txtKeyword==null || txtKeyword=="" )
		return inputHtml;

	//	alert( 'Before: ' + txtKeyword );

	// karakter konverzio
	txtKeyword = unescapeHTMLEntities2Characters( txtKeyword );

	//alert( 'Middle: ' + txtKeyword );

	// meg egy kis konvertalas a browser segitsegevel :)
	document.write( '<div id="converterdiv"></div>' );
	elemObj = document.getElementById('converterdiv');
	elemObj.innerHTML = txtKeyword;
	txtKeyword = elemObj.innerHTML;
	elemObj.innerHTML = '';

	//	alert( 'After: ' + txtKeyword );

	// kifejezes kereses eseten a " jelek kivetele
	if ( txtKeyword.indexOf( '"' ) >= 0 )
	{	
		while ( txtKeyword.indexOf( '"' ) >= 0 )
		{
			txtKeyword = replaceExact(txtKeyword, '"', '');
		}
	}

	//	alert( '"talanítás After: ' + txtKeyword );

	// tobbszavas kereses eseten a + jelek space-sze alakitasa
	if ( txtKeyword.indexOf( '+' ) > 0 )
	{
		while ( txtKeyword.indexOf( '+' ) > 0 )
		{
			word = txtKeyword.substring(0, txtKeyword.indexOf( '+' ) );
			txtKeyword = txtKeyword.substring( txtKeyword.indexOf( '+' )+1, txtKeyword.length );

			inputHtml = markWord( word, inputHtml );
		}
	}

	return markWord( txtKeyword, inputHtml );
}

// Egy szot kiemel
function markWord( txtKeyword, inputHtml ) 
{
	var re; /*regex object*/
	var varMatches; /*matches array*/
	var outHtml; /*output html*/
	var replaceText;/*build the span tag with the keyword in advance*/
		
	re=new RegExp("(\<[^>][^<]*\>)([^<]*)","g"); /*create non-greedy regex match*/
	outHtml=new String('');	/*init html string*/				
			
	while ((varMatches = re.exec(inputHtml)) != null) /*exec sequentially to apply span tags*/
	{
		outHtml+=varMatches[1]; 	/*html tag part*/
		outHtml+=replaceMe( varMatches[2], txtKeyword, replaceTextStart, replaceTextEnd); /*call the search & replace function*/
	}

	return outHtml;
}


// kicsereli a forras szovegben elofordulo megadott szoveget a megadott kifejezesre
function replaceMe( source, originalText, replaceTextStart, replaceTextEnd )
{
	var repl = new RegExp( "[^ ]*" + originalText + "[^ ]*", "gi");

	result = source;	

	while ((varMatches = repl.exec(source)) != null) 
	{
		current = replaceTextStart + varMatches[0] + replaceTextEnd;
		result = result.replace( varMatches[0], current );
	}

	return result;
}

// kicsereli a forras szovegben elofordulo megadott szoveget a megadott kifejezesre
function replaceExact( source, originalText, replaceText )
{
	var repl = new RegExp( originalText, "g");

	result = source;

	while ((varMatches = repl.exec(source)) != null) 
		result = result.replace( varMatches[0], replaceText );

	return result;
}


// Megparsolja a query string-et egy URL-bol
function parseQueryString(queryString) 
{
	if ( queryString.indexOf( '*' )>0 )
		return new Object();

	var queryObject = new Object();
	queryString = queryString.replace(/^.*\?(.+)$/,'$1');

	while ((pair = queryString.match(/([^=]+)=\'?([^\&\']*)\'?\&?/)) && pair[0].length) 
	{
		queryString = queryString.substring( pair[0].length );

		if (/^\-?\d+$/.test(pair[2])) pair[2] = parseInt(pair[2]);
		queryObject[pair[1]] = pair[2];
	}

	return queryObject;
}

// A megjelenitett karakterekhez hasonlo modon escapel
function unescapeHTMLEntities2Characters( source )
{
                                         
	source = replaceExact( source, '%C3%A1', unescape( '%e1' ) ); // a'
	source = replaceExact( source, '%C3%A9', unescape( '%e9' ) );  // e'
	source = replaceExact( source, '%C3%AD', unescape( '%ed' ) );  // i'
	source = replaceExact( source, '%C3%B3', unescape( '%f3' ) );  // o'
	source = replaceExact( source, '%C3%B6', unescape( '%f6' ) );  // o:
	source = replaceExact( source, '%C5%91', '&#337;' );  // o''
	source = replaceExact( source, '%C3%BA', unescape( '%fa' ) );  // u'
	source = replaceExact( source, '%C3%BC', unescape( '%fc' ) );  // u:
	source = replaceExact( source, '%C5%B1', '&#369;' );  // u''

	source = replaceExact( source, '%20', '+' );  // space -> +
	source = replaceExact( source, '%22', '"' );

	source = replaceExact( source, '%C3%81', '&Aacute;' );  // A'
	source = replaceExact( source, '%C3%89', '&Eacute;' );  // E'
	source = replaceExact( source, '%C3%8D', '&Iacute;' );  // I'
	source = replaceExact( source, '%C3%93', '&Oacute;' );  // O'
	source = replaceExact( source, '%C3%96', '&Ouml;' );  // O:
	source = replaceExact( source, '%C5%90', '&#336;' );  // O''
	source = replaceExact( source, '%C3%9A', '&Uacute;' );  // U'
	source = replaceExact( source, '%C3%9C', '&Uuml;' );  // U:
	source = replaceExact( source, '%C5%B0', '&#368;' );  // U''

	return source;
}


// meretezo fuggvenyke
var fs_state = 0
function cikkFontMeret( delta, e, classPrefix )
{
	// megszabjuk a hatarokat
	if((e.name=="fs_plus")&&(fs_state==1))return;
	if((e.name=="fs_minus")&&(fs_state==-1))return;
	fs_state=0;

	// ie & mozilla
	var crs  = new Array();
	if (document.styleSheets[0].cssRules)
		crs = document.styleSheets[0].cssRules
	else if (document.styleSheets[0].rules)
		crs = document.styleSheets[0].rules
	for(var i = 1; i< crs.length; i++)
	{
		if( (crs[i].selectorText!="undefined") && 
			((crs[i].selectorText.search( classPrefix )!=-1)) )
		{
			var fs = crs[i].style.fontSize
			
			if(fs==""){
				crs[i].style.fontSize=(12+delta)+"px"
			}else{
				crs[i].style.fontSize=(parseInt(fs.substring(0,fs.length-2))+delta)+"px"
			}
		
			//limit
			fs = crs[i].style.fontSize
			var fsn = parseInt(fs.substring(0,fs.length-2))
			if(fsn<=6) fs_state=-1;
			if(fsn>=24) fs_state=1
			
		
		}
	}
}










