//LAYER BOX
var mLBoxWidth = 0      //sirka okna
var mLBoxHeight = 50;  //vyska okna
var mLBox, mLBoxBack;   //objekty divLayerBox a divLayerBoxBackground

function setLBox()
{
	if(!isObj(mLBox)||!isObj(mLBoxBack))
	{
        initLBox();
	    mLBox = getObj('divLayerBox');
	    mLBoxBack = getObj('divLayerBoxBackground'); 
	}
}

//Inicializuje layerbox
function initLBox()
{
	var oBody=document.getElementsByTagName('body')[0];
	var oFrag=document.createDocumentFragment();
	
	var oLBoxBack=document.createElement('div');
	oLBoxBack.setAttribute('id','divLayerBoxBackground');
	oLBoxBack.style.display='none';
	oLBoxBack.style.position='absolute';
	oLBoxBack.style.top=0;
	oLBoxBack.style.left=0;
	oLBoxBack.style.zIndex=0;
	oLBoxBack.style.width='100%';
	oFrag.appendChild(oLBoxBack);
	
	var oLBox=document.createElement('div');
	oLBox.setAttribute('id','divLayerBox');
	oLBox.style.display='none';
	oLBox.style.position='absolute';
	oLBox.style.textAlign = 'center'; 
	oLBox.style.zIndex=0;
	
	oFrag.insertBefore(oLBox,oLBoxBack.nextSibling);
	oBody.insertBefore(oFrag,oBody.firstChild);
	
	window.onscroll = scrollFix; 
	window.onresize = sizeFix;
}

//Zobrazi layerbox
function showLayerBox(titleText, btnText, wd, strEval)
{
	setLBox();
	mLBoxWidth = wd;
	
	var tp=posTop()+((pageHeight()-mLBoxHeight)/2)-12;
	var lt=posLeft()+((pageWidth()-mLBoxWidth)/2)-12;

	//Zvedne level pozadi
	parent.top.window.setLayerBoxBackLevelAuto('up');

	//Pokud se nepreda strEval tak nastav na ''
	if(!isObj(strEval)) strEval = '';
	mLBox.innerHTML = '' + titleText + '<br><br><button id="lboxCmd" onclick="hideLayerBox();' + strEval + '">' + btnText +'</button>';
	mLBox.style.top=(tp<0?0:tp)+'px';
	mLBox.style.left=(lt<0?0:lt)+'px';
	mLBox.style.width=mLBoxWidth+'px';
	mLBox.style.zIndex=toInt(mLBoxBack.style.zIndex) + 1; //Nastavi pred aktualni pozadi
	mLBox.style.display='block';
	
	mLBoxBack.style.height=pageHeight()+'px';
	mLBoxBack.style.width=pageWidth()+'px';
	mLBoxBack.style.top=posTop()+'px';
	mLBoxBack.style.left=posLeft()+'px';
	mLBoxBack.style.display='block';

    //DEBUG
    //alert(mLBox.style.zIndex);
    //alert(mLBoxBack.style.zIndex);
    //alert(getObj('divLayerWindow').style.zIndex);
        
	return false;
}
//Skryje layerbox
function hideLayerBox()
{
	setLBox();
	//Snizi level pozadi
	setLayerBoxBackLevelAuto('down');
	//Skryje divLayerBox
	mLBox.style.display='none';
}


//LAYER BOX BACKGROUND Z-INDEX 100 je DEFAULT
//Nastavi z-index pozadi 0,100,200,300...
function setLayerBoxBackLevel(zIndex)
{
	setLBox();
	var iIndex = toInt(zIndex);
	
	mLBoxBack.style.zIndex=iIndex;
	if(iIndex==0) mLBoxBack.style.display='none';
	return false;
}
//Nastavi z-index pozadi podle prepinace direction('up','down') 100->200 nebo 200->100
function setLayerBoxBackLevelAuto(direction)
{
	setLBox();
	var iIndex = toInt(mLBoxBack.style.zIndex);
	switch(iIndex)
	{
		case 0:
			if(direction=='up')
			{
				if(mLBoxBack.style.display=='none') mLBoxBack.style.display='block';
				mLBoxBack.style.zIndex = 100;
			}
			else
				//Skryje pozadi
				mLBoxBack.style.display='none';
			break;
		case 100:
			if(direction=='up') 
				mLBoxBack.style.zIndex = toInt(mLBoxBack.style.zIndex) + 100;
			else
				//Skryje pozadi
				mLBoxBack.style.zIndex = toInt(mLBoxBack.style.zIndex) - 100;
				mLBoxBack.style.display='none';
			break;
		default:
			if(direction=='up') 
				mLBoxBack.style.zIndex = toInt(mLBoxBack.style.zIndex) + 100;
			else
				mLBoxBack.style.zIndex = toInt(mLBoxBack.style.zIndex) - 100;
			break;
	}
	//DEBUG
	//alert(mLBoxBack.style.zIndex);
	
	return false;
}

//LAYER WINDOW FORM
//Znici divLayerWindow
function CloseLayerWindow()
{
    var oDivLayerForm = getObj('divLayerWindow');
    if(isObj(oDivLayerForm))
    {
        oDivLayerForm.innerHTML = '';
        oDivLayerForm.style.visibility = 'hidden';
    }
    //Snizi level pozadi
    setLayerBoxBackLevelAuto('down');
}

//TODO Skryje divLayerWindow ASI SE NEBUDE POUZIVAT
function VisibleLayerWindow(isVisible)
{
    var oDivLayerForm = getObj('divLayerWindow');
    if(isObj(oDivLayerForm))
    {
	if(isVisible)
		oDivLayerForm.style.visibility = 'visible';
	else
		oDivLayerForm.style.visibility = 'hidden';
    }
}

//PUBLIC, COMMON

//Vrati referenci na document ve frame podle nazvu Frame
function scrollFix()
{
	setLBox();
	var tp=posTop()+((pageHeight()-mLBoxHeight)/2)-12;
	var lt=posLeft()+((pageWidth()-mLBoxWidth)/2)-12;

	mLBoxBack.style.top=posTop()+'px';
	mLBoxBack.style.left=posLeft()+'px';

	mLBox.style.top=(tp<0?0:tp)+'px';
	mLBox.style.left=(lt<0?0:lt)+'px';
	mLBox.style.width=mLBoxWidth+'px';
	//mLBox.style.height=mLBoxHeight+'px';
}

function sizeFix()
{
	setLBox();
	mLBoxBack.style.height=pageHeight()+'px';
	mLBoxBack.style.width=pageWidth()+'px';
	scrollFix();
}

