// oldal általános inicializálása
loadEventBinding( window, initPage );
// oldal átméretezése - egyszerű funkciók kötése :: opera7!
if ( is.ie && ( !is.ie5mac ) || is.gecko )
{
	if (!is.ie7) {
		eventBinding( window, true, 'resize', setTextWindowHeight, false );
	}
}
if ( is.opera7 )
	eventBinding( document, true, 'resize', setTextWindowHeight, false );
// kell a hírekhez (egyszerűsítése)
elNews = null;
elNewsbar = null;
// flash ellenőrzése
//flash.getFlashCheck( 6.49, function() {	window.location.replace( 'error_flash.html' );	}, function() {
		//if ( !/error_flash/i.test( document.referrer ) )
		//	window.location.replace( 'error_flash.html' );
	//} ); 
// flash-js híd
if ( is.ie && is.win )
	createFlashVBSriptHandler( ['flashMenu', 'flashSolution'] );


function runFlash( bState ) {
	var elMenu = ( is.ie ) ? document.flashMenu : document.embeds['flashMenu'];
	//var elSolution = ( is.ie ) ? document.flashSolution : document.embeds['flashSolution'];
	//list(elMenu)
	if(elMenu) {
	if ( !( elMenu || el.elSolution ) )
		return;
		
	}
	//elMenu.Playing = bState;
	//elSolution.Playing = bState;
	if ( bState == true ) {
		//elMenu.Play();
		//elMenu.TPlay('/topanim');
		//elSolution.Play();
	}
	else {
		//elMenu.StopPlay();
		//elMenu.TStopPlay('/topanim');
		//elSolution.StopPlay();
	}
}

function initPage() {
//	randomMenu();
	var elSelect;
	if ( is.gecko )
//		createFlashEmbed( ['flashMenu', 'flashSolution'] );
	if ( is.opera7 )
		initFootToOpera();
	// oldalmagassági beállítások
	getElsHeight();
	setTextWindowHeight();
	// select esemény fűzés
	elSelect = document.getElementById('pg-select');
	eventBinding( elSelect, true, 'change', function() {
		window.location.href = 'inner.php?page=' + elSelect.options[elSelect.selectedIndex].value;
	}, false );
	initNewsbar();
}

function randomMenu() {
	num = Math.round( Math.random() );
	str = '<object type="application/x-shockwave-flash" data="swf/mainmenu'+num+'.swf" id="flashMenu"><param name="Movie" value="swf/mainmenu'+num+'.swf" /><param name="Quality" value="high" /><param name="WMode" value="transparent" /><param name="Menu" value="0" /><param name="FlashVars" value="" /></object>';
	document.getElementById('pg-mainmenu').innerHTML = str;
}

function initNewsbar() {
	var elArrowLeft, elArrowRight, i, j, elItem;
	if ( elNews == null )
		return setTimeout( 'initNewsbar()', 1000 );
	// flash objektumok megállítása;
	runFlash( false );
	// ugrási pozíció meghatározása
	for ( i = 0; i < elNews.aItem.length; i++ ) {
		elNews.aItem[i].nX = 0;
		for ( j = 0; j < i; j++ )
			elNews.aItem[i].nX += elNews.aItem[j].offsetWidth;
	}
	elNews.nWidth = elNews.aItem[elNews.aItem.length - 1].nX + elNews.aItem[elNews.aItem.length - 1].offsetWidth
	elNewsbar = document.getElementById('pg-newsbar');
	if ( !elNewsbar ) return;
	if ( elNews.nWidth <= elNewsbar.offsetWidth )
		return;
	
	nPortion = Math.ceil( elNews.nWidth / elNewsbar.offsetWidth ) ; // a news.js állítja elő;
	elArrowLeft = document.createElement('A');
	elArrowLeft.href = '#';
	elArrowLeft.id = 'pg-newsbar-arrowleft';
	elArrowLeft.onclick = function() { if ( elNewsbar.nCurrentItem == 0 ) return false; moveNewsbar( 'left' ); return false; };
	makeUnselectable( elArrowLeft );
	elNewsbar.appendChild( elArrowLeft );
	
	elArrowRight = document.createElement('A');
	elArrowRight.href = '#';
	elArrowRight.id = 'pg-newsbar-arrowright';
	elArrowRight.onclick =  function() { if ( elNewsbar.nCurrentItem == elNewsbar.aItem.length - 1 ) return false; moveNewsbar( 'right' ); return false; }
	makeUnselectable( elArrowRight );
	elNewsbar.appendChild( elArrowRight );
	
	aPortion = ( elNewsbar.offsetWidth - ( elArrowLeft.offsetWidth + elArrowRight.offsetWidth ) ).toRoundPortion( nPortion );
	elNewsbar.aItem = [];
	for ( i = 0; i < aPortion.length; i++ ) {
		elItem = document.createElement('A');
		elItem.href = '#';
		elItem.itemIndex = i;
		elItem.onclick = function() { moveNewsbar( this.itemIndex ); return false; };
		elItem.className = 'pg-newsbar-item';
		elItem.style.marginRight = '1px';
		elItem.style.marginLeft = '1px';
		elItem.style.width = aPortion[i] - 2 + 'px'; // a margókat levonjuk a pontos értékekből
		makeUnselectable( elItem );
		elItem.boxItem = elNews.aItem[i] // ! a gombhoz kapcsoljauk a keretet
		elNewsbar.aItem[elNewsbar.aItem.length] = elItem;
		elNewsbar.insertBefore( elItem, elArrowRight );
	}
	// elsőt aktiválni
	elNewsbar.nCurrentItem = 0;
	elNewsbar.nCurrentX = 0;
	elNewsbar.aItem[0].className = 'pg-newsbar-item-selected';

	elNews.aStep = new Number( 10 ).seriesG( 3 ); //[ 125, 189, 216, 224, 225 ];
}
function moveNewsbar( command ) {
	if ( elNews == null || elNewsbar == null ) return false;
	// az ugrási pont meghatározása
	if ( elNewsbar.bInProcess == true )
		return false;
	// flash objektumok megállítása;
	runFlash( false );
	// ráindítás tiltása
	elNewsbar.bInProcess = true;
	switch ( command ) {
		case 'left' :
			elNewsbar.nToItem = ( elNewsbar.nCurrentItem == 0 ) ? elNewsbar.nCurrentItem : elNewsbar.nCurrentItem - 1;
			break;
		case 'right' :
			elNewsbar.nToItem = ( elNewsbar.nCurrentItem == elNewsbar.aItem.length - 1 ) ? elNewsbar.nCurrentItem : elNewsbar.nCurrentItem + 1;
			break;
		default :
			elNewsbar.nToItem = command;
	}
	// az ugrás objektumainak kijelölése
	elNewsbar.currentItem = elNewsbar.aItem[elNewsbar.nCurrentItem];
	elNewsbar.toItem = elNewsbar.aItem[elNewsbar.nToItem];
	// a gombok aktívvá tétele
	elNewsbar.currentItem.className = 'pg-newsbar-item';
	elNewsbar.toItem.className = 'pg-newsbar-item-selected';
	// az ugrás lépéseinek kiszámolása (abszoludt ugrások)
	elNews.aCurrentStep = [];
	if ( elNewsbar.nToItem == elNewsbar.aItem.length - 1 ) {
		for ( i = 0; i < elNews.aStep.length; i++ )
			elNews.aCurrentStep[i] = elNewsbar.nCurrentItem * elNewsbar.offsetWidth  + elNews.aStep[i] * ( ( elNews.nWidth - elNewsbar.offsetWidth ) - ( elNewsbar.nCurrentItem * elNewsbar.offsetWidth ) ) / elNews.aStep[elNews.aStep.length - 1]
	}
	else {
		for ( i = 0; i < elNews.aStep.length; i++ )
			elNews.aCurrentStep[i] = elNewsbar.nCurrentItem * elNewsbar.offsetWidth  + elNews.aStep[i] * ( ( elNewsbar.nToItem * elNewsbar.offsetWidth ) - ( elNewsbar.nCurrentItem * elNewsbar.offsetWidth ) ) / elNews.aStep[elNews.aStep.length - 1]
	}
	//window.status = elNews.aCurrentStep;

	// az ugrások indítása
	elNews.nCurrentStep = -1;
	elNews.oTime = setInterval( 'scrollNewsbar()', 50 );
	
	elNewsbar.nCurrentItem = elNewsbar.nToItem;
	return false;
}


function scrollNewsbar() {
	if ( elNews == null || elNewsbar == null ) return false;
	if ( elNews.nCurrentStep == elNews.aCurrentStep.length - 1 ) {
		elNewsbar.bInProcess = false;
		clearTimeout( elNews.oTime );
		// az initNewsbar elején ill. minden scrollozás elején megállított flash objektumok indítása ;
		runFlash( true );
		return false;
	}
	elNews.nCurrentStep++;
	elNews.oWindow.scrollTo( Math.round( elNews.aCurrentStep[elNews.nCurrentStep] ), 0 )
}

// opera7 hack
function initFootToOpera() {
	var elUL, elsLI, i;
	elUL = document.getElementById('pg-foot').getElementsByTagName('UL')[0];
	if ( !elUL )
		return false;
	elsLI = elUL.getElementsByTagName('LI');
	for ( i = 0; i < elsLI.length; i++ ) {
		elsLI[i].style.styleFloat = 'none';
		elsLI[i].style.display = 'inline-block';
	}
	elsA = elUL.getElementsByTagName('A');
	for ( i = 0; i < elsA.length; i++ ) {
		elsA[i].style.styleFloat = 'none';
		elsA[i].style.display = 'inline-block';
	}
}

/******************************************************************************
 * oldal átméretezése egyszerű funkciók 
 * tovább fejlesztve a nexum.web projektből, azzal nem azonos!
 ******************************************************************************/
function getElsHeight() {
	var elMenu, elNews, elNewsBox, elBar, elFoot, nElsHeight;
	if ( !( is.ie || is.gecko || is.opera7 ) ) 
		return false;
	elMenu = document.getElementById('flashMenu');
	elNews = document.getElementById('pg-news'); // hírbox
	elNewsBox = document.getElementById('pg-newsbar');
	elBar = document.getElementById('pg-bar');
	elFoot = document.getElementById('pg-foot');
	
	if(elMenu)
	nElsHeight = elMenu.offsetHeight + elNews.offsetHeight + elNewsBox.offsetHeight + elBar.offsetHeight + elFoot.offsetHeight;
	// az elemek VALÓS magassága
	document.body.nElsHeight = nElsHeight;
	// csak legelőször fut le!
	if ( !document.body.nDefaultElsHeight ) {
		// az elemek kezdeti magassága
		if(elMenu)
		document.body.nDefaultElsHeight = elMenu.offsetHeight + elNews.offsetHeight + elNewsBox.offsetHeight +  elBar.offsetHeight + elFoot.offsetHeight;
	}
}

function setTextWindowHeight() {
	// kiegészítés :: az elérhetőségünk box helyezése :: elAccessibility - ez törölhető
	var nDelta, elFoot;
	if ( !( is.ie || is.gecko || is.opera7 ) ) 
		return false;
	// scrollbár beállítása
	if ( is.ie ) {
		getWindowDimension();
		getElsHeight();
		if ( window.strictInnerHeight >= document.body.nElsHeight ) 
			document.body.scroll = 'no';
		else
			document.body.removeAttribute( 'scroll');
	}
	elFoot = document.getElementById('pg-foot');
	getWindowDimension();
	getElsHeight();
	
	//if ( window.strictInnerHeight > document.body.nDefaultElsHeight )
	//alert(document.body.nDefaultElsHeight);
	if ( window.strictInnerHeight > document.body.nDefaultElsHeight )
		elFoot.style.position = 'absolute'
	else 
		elFoot.style.position = 'relative'
}


function openWindow( sURL, sWindowName, nWidth, nHeight, sScroll, sResize ) {
	win = null;
	sWindowName = ( !sWindowName ) ? 'UnnamedWindow' : sWindowName;
	nWidth = ( !nWidth ) ? 400 : nWidth;
	nHeight = ( !nHeight ) ? 400 : nHeight;
	sScroll = ( !sScroll ) ? 'yes' : sScroll;
	sResize = ( !sResize ) ? 'yes' : sResize;
	nLeftPosition = ( screen.width ) ? ( screen.width - nWidth ) / 2 : 0;
	nTopPosition = ( screen.height ) ? ( screen.height - nHeight) / 2 : 0;
	sSettings = 'height=' + nHeight + ',width=' + nWidth + ',top=' + nTopPosition + ',status=no,left=' + nLeftPosition + ',scrollbars=' + sScroll + ',resizable=' + sResize
	win = window.open( sURL, sWindowName, sSettings );
}

function xmas2004() {
	openWindow( 'swf/xmas2004.html', 'xmax2004', 800, 600, 'no', 'no');
}
