// globalni nastaveni napovedy //
var globalShowHelp = true;

function getScroll( ) {
	if ( typeof( window.pageXOffset ) != 'undefined' ) 
		return{ x:window.pageXOffset, y: window.pageYOffset};
	else if( typeof( document.documentElement.scrollLeft ) != 'undefined' )
			return {x: document.documentElement.scrollLeft, y: document.documentElement.scrollTop };

	return {x: document.body.scrollLeft, y: document.body.scrollTop };
}

function setScroll( x, y ) {
	var pos = getScroll( );
	
	window.scrollBy( x - pos.x, y - pos.y );
	return;
}


function mouseCoords( ev ){
	try {
		if( ev.pageX || ev.pageY ) return {x:ev.pageX, y:ev.pageY};
		return {
			x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
			y:ev.clientY + document.body.scrollTop  - document.body.clientTop
		};
	} catch( e ) {
		return { x: 0, y: 0 };
	}
};

function objCoords( e ) {
	if( e.offsetHeight == 0 ) e = e.firstChild;
	if( e == null ) return {x: -1, y: -1, w: -1, h: -1 };

    var width = e.offsetWidth;
    var height = e.offsetHeight;
	if( e.x && e.y ) return {x:e.x, y:e.y, w:width, h:height};

	var left = 0;
    var top = 0;
    
    while( e ){
    	if( e.id != 'base' ) {
    		left += e.offsetLeft;
    		top += e.offsetTop;
    	}
        if( e.offsetParent ) e = e.offsetParent; else break;
        
    }

    left += e.offsetLeft;
    top += e.offsetTop;

    return {x:left, y:top, w:width, h:height};
}

function windowSize( ) {
	var winW = -1;
	var winH = -1;
	if(( parseInt(navigator.appVersion) > 3 ) && ( navigator.appName.indexOf("Microsoft") != -1 )) {
		winW = document.body.offsetWidth;
		winH = document.body.offsetHeight;
	} else {
		winW = window.innerWidth;
		winH = window.innerHeight;
	}

	return {w: winW - 20, h: winH - 20 };
}

function addMouseMove( f ) {
	if( navigator.appName.indexOf("Microsoft") != -1 ) {
		var oldmm = document.onmousemove;
		document.onmousemove = function( ev ) { f( ev ); if( oldmm ) oldmm( ev ); };
	} else {
		var oldmm = window.onmousemove;
		window.onmousemove = function( ev ) { f( ev ); if( oldmm ) oldmm( ev ); };
	}
}

function setMouseMove( f ) {
	if( navigator.appName.indexOf("Microsoft") != -1 ) {
		var oldmm = document.onmousemove;
		document.onmousemove = function( ev ) { f( ev ); if( oldmm ) oldmm( ev ); };
	} else {
		var oldmm = window.onmousemove;
		window.onmousemove = function( ev ) { f( ev ); if( oldmm ) oldmm( ev ); };
	}
	
	return oldmm;
}

function odkaz( kam, jmeno ) {
	var test = false;
	var odd = "?";
	
	var oddTst = kam.indexOf( "?" );
	if( oddTst > 0 ) odd = "&";

	if( typeof( jmeno ) == 'string' ) jmeno = window.top.frames[jmeno];
	if( !jmeno ) return true;
	
	jmeno.location = kam+odd+"setShowerHelp="+globalShowHelp;

	return false;
}


function novyokno( kam )
{
	return odkaz( kam, '' );
}



function novyoknobez( kam, sirka, vyska )
{
	var test = false;
	vyska = vyska * 1 + 20;
	
	test = ( ! window.open( kam, '_blank', 'toolbar=0,location=0,directories=0,menuBar=0,scrollbars=1,resizable=0,width='+sirka+',height='+vyska+',left=100,top=100' ) );
	return test;
}


// napoveda //
function showHelp( txt ) {
	if( typeof( window.top.obsah ) == 'undefined' ) return;
	window.top.obsah.showHelpInFrame( txt );
}

function setGlobalShowHelp( val )
{
	globalShowHelp = val;
	window.top.nadmenu.globalShowHelp = val;
	window.top.menu.globalShowHelp = val;
	window.top.hlavicka.globalShowHelp = val;
	window.top.obsah.globalShowHelp = val;
}


function showHelpInFrame( txt )
{
	if( globalShowHelp == true ) 
	{
		var f;
		
		if( f = getObj( "id-div-help" ) )
		{
			f.innerHTML = txt;
			f.style.display = '';
		}
	}
}


function hideHelp()
{
	if( typeof( window.top.obsah ) == 'undefined' ) return;
	window.top.obsah.hideHelpInFrame();
}


function hideHelpInFrame()
{
	var f;
	
	if( f = getObj( "id-div-help" ) )
	{
		f.innerHTML = '';
		f.style.display = 'none';
	}
}


// filemanager block //
var objectIDForFile = '';
var gInsertObjectIsImage = false;
var urlPrefix = '';
var actionIns = false;

function showFileManager( idReturnObject, insertObjectIsImage, urlPref, actIns ) {
    if( zakazFM ) {
        alert( 'Pokusili jste se vstoupit do části administrace, kam bohužel nemáte povolený přístup.' );
        return ;
    }

    objectIDForFile = idReturnObject;
	 actionIns = actIns;
	 
	 if( insertObjectIsImage != true ) insertObjectIsImage = false;
	 gInsertObjectIsImage = insertObjectIsImage;
	 
	 if( !urlPref ) urlPref = '';
	 urlPrefix = urlPref;
	 	 
	 window.open( '/admin/FileManager/index.php', 'filemanager', 'toolbar=0,location=0,directories=0,menuBar=0,scrollbars=yes,resizable=1,width=780,height=475,left=100,top=100' );
}

function showFileManagerFld( idReturnObject, fld ) {
    if( zakazFM ) {
        alert( 'Pokusili jste se vstoupit do části administrace, kam bohužel nemáte povolený přístup.' );
        return ;
    }
	 objectIDForFile = idReturnObject;
	 actionIns = false;
	 gInsertObjectIsImage = false;
	 urlPrefix = '';
	 	 
	 window.open( '/admin/FileManager/index2.php?fld=' + fld, 'filemanager', 'toolbar=0,location=0,directories=0,menuBar=0,scrollbars=yes,resizable=1,width=780,height=475,left=100,top=100' );
}

function showFileManagerCF( idReturnObject ) {
    if( zakazFM ) {
        alert( 'Pokusili jste se vstoupit do části administrace, kam bohužel nemáte povolený přístup.' );
        return ;
    }
	 objectIDForFile = idReturnObject;
	 actionIns = false;
	 gInsertObjectIsImage = false;
	 urlPrefix = '';
	 	 
	 window.open( '/admin/FileManager/index.php?cf', 'filemanager', 'toolbar=0,location=0,directories=0,menuBar=0,scrollbars=yes,resizable=1,width=780,height=475,left=100,top=100' );
}

function loadFileFromFilemanager( file )
{
	var o = objectIDForFile;
	if( typeof( o ) == 'string' ) o = getObj( o );
	if( !o ) return ;
	if( typeof( o.value ) == 'undefined' ) return ;

	var out;
		out = file;
		if( gInsertObjectIsImage == true ) out = '<img src="/' + file + '" class="img" alt="" />';
			else out = urlPrefix + out;
		
		o.value = ( actionIns ? o.value : '' ) + out;
		if( typeof( o.onchange ) == 'function' ) o.onchange();

		if( typeof( objectIDForFile ) == 'string' ) {
			var img = objectIDForFile.replace( "Txt", "IMG" );
		if( gInsertObjectIsImage == true ) if( o = getObj( img )) {
			out = globalROOT+file;
			out = '<img src="/' + file + '" class="img" alt="" />';
			
			if( o.src ) o.src = out;
		}
		}
		//alert( typeof( OnUrlChange ) );
		if( typeof( OnUrlChange ) == "function" ) OnUrlChange();
		if( typeof( UpdatePreview ) == "function" ) UpdatePreview();
	
	window.focus();
}

function setDisplay( obj, test )
{
	var dis = '';
	if( test != false ) 
	{
		test = true;
		dis = "none";
	}
	
	var o;
	o = getObj( obj )
	
	if( o != false )
	{
		o.style.display = dis;
	}
}

function getElementsByClassName( classname, node ) {
	if(!node) node = document.getElementsByTagName("body")[0];
	var a = [];
	var re = new RegExp('\\b' + classname + '\\b');
	var els = node.getElementsByTagName("*");
	for( var i = 0, j = els.length; i < j; i++ )
		if( re.test( els[i].className )) a.push( els[i] );
	return a;
}

//************ FUNKCE PRO PRACI SE SELEKTEM ***************************************//
function selectSelOpt( obj, val )			
{	
	if( obj == null ) return cnt;
	
	for( var i = 0; i < obj.options.length; i++ )		
	{	
		if( obj.options[i].value == val )
		{
			obj.options[i].selected = true;
			break;
		}	
	}	
}

function selectDeleteOpt( obj )			
{	
	if( obj == null ) return cnt;
	
	for( var i = 0; i < obj.options.length; i++ )		
	{	
		if( obj.options[i].selected == true ) obj.options[i]=null;	
	}	
}
  	
function selectAddOpt( obj, value, text )  
{	
	if( obj == null ) return cnt;
	
	var no = new Option();	
		no.value = value;    
		no.text = text; 
	
	obj.options[obj.options.length] = no; 
}

// hleda shodu podle hodnoty value //
function selectExistsOpt( box, val )
{
	if( box == null ) return true;
	if( box.options == null ) return false;
	if( box.options.length == null ) return false;
	
	for( var i = 0; i < box.options.length; i++ )  	
	{ 
		if( box.options[i].value == val )
		{	
			return true;
			break;
		}    
	}	
	
	return false;
}


function selectCountOpt( box )
{
	var cnt = 0;
	
	if( box == null ) return cnt;
	if( box.options == null ) return cnt;
	if( box.options.length == null ) return cnt;
	
	for( var i = 0; i < box.options.length; i++ )  	
	{ 
		cnt++;  
	}	
	
	return cnt;
}

function selectMove( fbox, tbox )  
{	
	if( fbox == null ) return false;
	if( tbox == null ) return false;
	if( fbox.options == null ) return false;
	if( fbox.options.length == null ) return false;
	
	for( var i=0; i < fbox.options.length; i++ )  	
	{  
		if( fbox.options[i].selected && fbox.options[i].value != "" )  
		{   
			if( fbox.options[i].value == "0" ) continue;	
			
			if( selectExistsOpt( tbox, fbox.options[i].value ) == false )
			{
				var no = new Option();	
				no.value = fbox.options[i].value;    
				no.text = fbox.options[i].text; 
				tbox.options[tbox.options.length] = no; 
			}
		} 
	} 
}


function selectClear( box ) 
{ 	
	if( box == null ) return false;
	if( box.options == null ) return false;
	if( box.options.length == null ) return false;
	
	for( var i=0; i < box.options.length; i++ )  	
	{ 
		box.options[i]=null;	
		i--;    
	}	
}


function selectMove2( box ) 
{ 	
	if( box == null ) return false;
	if( box.options == null ) return false;
	if( box.options.length == null ) return false;
	
	for( var i=0; i < box.options.length; i++ )  	
	{ 
		if( box.options[i].selected && box.options[i].value != "" )  
		{	
			box.options[i]=null;	
			i--; 
		}   
	}	
}


function selectFind( box )  		
{ 	
	if( box == null ) return false;
	if( box.options == null ) return false;
	if( box.options.length == null ) return false;
	
	for( i=0; i < box.options.length; i++ )
	{		
		box.options[i].selected = true;
	} 
}


function selectUnFind( box )  		
{ 	
	if( box == null ) return false;
	if( box.options == null ) return false;
	if( box.options.length == null ) return false;
	
	for( i=0; i < box.options.length; i++ )
	{		
		box.options[i].selected = '';
	} 
}


function selectReturnOptionsAsString( box, odd )
{
	if( odd == null ) odd = ",";
	
	var out = "";
	var tmpodd = "";
	
	if( box == null ) return false;
	if( box.options == null ) return false;
	if( box.options.length == null ) return false;
	
	for( var i = 0; i < box.options.length; i++ )  	
	{ 
		out+= tmpodd+box.options[i].value;  
		tmpodd = odd;
	}	
	
	return out;
}


function selectIstEmpty( box )
{
	if( box == null ) return true;
	if( box.options == null ) return true;
	if( box.options.length == null ) return true;
	
	for( i=0; i<box.options.length; i++ )
	{		
		return false;
		break;
	} 
	
	return true;
}

function selectIsNotEmpty( box )
{
	return ! selectIstEmpty( box );
}
//************ KONEC FUNKCI PRO PRACI SE SELEKTEM *********************************//
