// JavaScript Document
  
   //var prefix = '/cms';
   var prefix = '';
 
   /**
    *  inicializace skryti advanced polozek
   */
   function initHideAdvanced(flag1,flag2,flag3)
      {
      if(flag1)
         {
         hideAdvanced('Tab');
         var elem = document.getElementById('hideAdvancedTabControlHide');
         if( elem ) elem.style.display='none';
         }
      if(!flag1)
         {
         var elem = document.getElementById('hideAdvancedTabControlShow');
         if( elem ) elem.style.display='none';
         }         
      if(flag2)
         {
         hideAdvanced('Menu');
         var elem = document.getElementById('hideAdvancedMenuControlHide');
         if( elem ) elem.style.display='none';
         }
      if(!flag2)
         {
         var elem = document.getElementById('hideAdvancedMenuControlShow');
         if( elem ) elem.style.display='none';
         }
      if(flag3)
         {
         hideAdvanced('Form');
         var elem = document.getElementById('hideAdvancedFormControlHide');
         if( elem ) elem.style.display='none';
         }
      if(!flag3)
         {
         var elem = document.getElementById('hideAdvancedFormControlShow');
         if( elem ) elem.style.display='none';
         }
      }

   /**
    *  prepnuti kontrolniho tlacitka pro skryti/zobrazeni advanced polozek
   */
   function toggleHideAdvancedControl(type,action)
      {
      if(action)
         {
         document.getElementById('hideAdvanced'+type+'ControlShow').style.display='none';
         document.getElementById('hideAdvanced'+type+'ControlHide').style.display='block';
         }
      else
         {
         document.getElementById('hideAdvanced'+type+'ControlShow').style.display='block';
         document.getElementById('hideAdvanced'+type+'ControlHide').style.display='none';
         }
      }
   
   /**
    *  skryti advanced polozek
   */
   function hideAdvanced(type)
      {     
      var tag;
      switch(type)
         {
         case "Menu": tag = "li"; break;
         case "Tab": tag = "a"; break;
         case "Form": tag = "div"; break;
         };
   
      var elem = document.getElementsByTagName(tag);
      var hideItems = new Array();
      for(i = 0,iarr = 0; i < elem.length; i++)
         {
         att = elem[i].getAttribute("name");
         if(att == 'hideAdvanced'+type)
            {
            hideItems[iarr] = elem[i];
            iarr++;
            }
         }

      for(i=0;i<hideItems.length;i++)
         {     
         if( hideItems[i].style.display == 'block' || hideItems[i].style.display == '' ) hideItems[i].style.display = 'none';
         else hideItems[i].style.display = 'block';              
         }
      }

   /**
    * prepinani rezimu editace stranky   
   */
   
   function switchPageEditMode(mode)
     {
      if( mode == 'simple' )
         {
         var1 = document.getElementById('tinyEditor');
         var2 = document.getElementById('addComponent');
         var3 = document.getElementById('pageContent');
         if( var1 != null ) var1.style.display='block';
         if( var2 != null ) var2.style.display='none';
         if( var3 != null ) var3.style.display='none';
         }
      else if( mode == 'advanced' )
         {
         var1 = document.getElementById('tinyEditor');
         var2 = document.getElementById('addComponent');
         var3 = document.getElementById('pageContent');
         if( var1 != null ) var1.style.display='none';
         if( var2 != null ) var2.style.display='block';
         if( var3 != null ) var3.style.display='block';
         }
      else if( mode == 'advanced2' )
         {
         var1 = document.getElementById('tinyEditor');
         var2 = document.getElementById('addComponent');
         var3 = document.getElementById('pageContent');
         if( var1 != null ) var1.style.display='block';
         if( var2 != null ) var2.style.display='block';
         if( var3 != null ) var3.style.display='block';
         }
      }

   /**
    *   
    *  povolovani/zakazovani policek podle vyberu v listboxech
    *   @sekce - predpona id poli
    *   @vybrany - aktualne vybrany (kliknuty)
    *   @moznosti - pole moznych hodnot ve vybrany
    *  
    *  prislusne pojmenovani html poli (kapitalkami jsou promenne):
    *  <div onClick="toggle();">
    *    <input type="radio" id="SEKCE_type_VYBRANY">
    *    <input type="text" id="SEKCE_id_VYBRANY">
    *  </div>
   */
    
   function toggle(sekce,vybrany,moznosti)
   {      
      if(moznosti.length < 1) return;
      
      //skutecne kliknuty prvek, kvuli zjistovani tabIndexu
      var kliknuty = document.getElementById(sekce+"_type_" + vybrany);      
      
      for( keyVar in moznosti ) {
        var radio = document.getElementById(sekce+"_type_"+moznosti[keyVar]);
        
        if(radio != null)
        {
         if(moznosti[keyVar]== vybrany) radio.checked = true;
        }
        
        var input = document.getElementById(sekce+"_id_"+moznosti[keyVar]);
        if(input != null)
        {
            if(moznosti[keyVar]== vybrany) {
                input.readonly = false;
                input.className='input_text needed';
                if(kliknuty != null) input.tabIndex = kliknuty.tabIndex + 1;        
            } else {
                input.readonly = true;
                input.className='input_text_off';
                input.tabIndex = null;
            }
        }
        
      }           
   }   

   function in_array(co,pole)
   {
    var naslo = false;    
    for(var i=0;i<pole.length;i++)
    {
      if(pole[i]==co.toLowerCase())
      {
       naslo = true;
       break;
      }
    }
    return naslo;    
   }

   /**
    * vyrabi nahled modrew odkazu           
   */
   function makeModrewLink()
   {     
     
      var cil = document.getElementById('link_modrew_name');
      var zdroj = document.getElementById('link_name');
     
      // nejdriv orezat diakritiku
       var diakritika_s = new Array('ě','č','š','ř','ž','ý','á','í','é','ú','ů','ť','ň','ó','ď');
       var diakritika_b = new Array('e','c','s','r','z','y','a','i','e','u','u','t','n','o','d');
       
       cil.value = zdroj.value;
     
       for ( keyVar in diakritika_s) {          
          cil.value = cil.value.replace(new RegExp(diakritika_s[keyVar],"gi"),diakritika_b[keyVar]);
       }
       
      // zmenseni
      cil.value = cil.value.toLowerCase();
     
      // omezeni jiz jen na povolene znaky
       var povolene = new Array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','_','-','0','1','2','3','4','5','6','7','8','9');
       var vysledek = '';      
       for(i=0;i<cil.value.length;i++)
       {
          if(!in_array(cil.value.substring(i,i+1),povolene)) vysledek = vysledek + '-';
          else vysledek = vysledek + cil.value.substring(i,i+1);
       }
      
       cil.value = vysledek;         
   }

   /**
    * vyrabi nahled modrew odkazu           
   */
   function autoFillTextName()
   {     
      var cil = document.getElementById('name_textu');
      var zdroj = document.getElementById('name_stranky');
        
       cil.value = 'text_' + zdroj.value;
   }
  
   /**
    *  rozbalovaci funkce pro menu
   */
   function expandMenu(_this,obj)
   {     
     var menu = document.getElementById('menu-'+obj);
     if(menu==null) return false;
     
     if(menu.style.display=='block' || menu.style.display=='')
     {
         menu.style.display = 'none';
     } else { 
         menu.style.display = 'block';              
     }
     
     if(_this.className=='ikona-expandable') {
      _this.className='ikona-expanded';
     }  else {
      _this.className='ikona-expandable';
     }
   }
   
   /**
    * funkce volana pri onLoad u nekterych stranek
    * 
    *  @stranka - na ktere strance je volana         
    */       
    function init(stranka){
      
      if(stranka=='') return;
      
      switch(stranka) {
         case 'soubory':           
            rozbalovani_init(); // fce co sbali rozbalovaci stromy                    
         break;            
         case 'napoveda':
            rozbalovani_init(); // fce co sbali rozbalovaci stromy
         break;
         
         case 'texty':           
            if(document.getElementById('menu-verze'))
            {
              document.getElementById('menu-verze').style.display = 'none';
            }  
            
            // cas na nahrani editoru
            //setTimeout("showArea();", 500);
            //if( document.getElementById('tiny_editor_select').checked == true ) switchPageEditMode('simple'); 
            //else switchPageEditMode('advanced');
            if(document.getElementById('editor_mode')) switchPageEditMode(document.getElementById('editor_mode').value); 
            
         break;
         
         case 'barvy':
            // prvky v pokrocilem nastaveni
            var fieldset = document.getElementById('nabidka-verzi-vnejsi');
            if(fieldset)
            {
                for(var i = 0;i<fieldset.childNodes.length;i++)
                {  
                   // div co obaluje seznam verzi
                   if(fieldset.childNodes[i].className == 'nabidka-verzi')
                   {
                      var obal = fieldset.childNodes[i];
                      for(var ii = 0;ii<obal.childNodes.length;ii++)
                      {
                        if(obal.childNodes[ii].nodeName.toLowerCase() == 'ul')
                        {
                          obal.childNodes[ii].style.display = 'none';
                        }
                      }                            
                   }                        
                } 
            }
            // nabidka u loga
            if(document.getElementById('menu-verze'))
            {
               document.getElementById('menu-verze').style.display = 'none';
            }
          break;      
                
          case 'zahlavi':
            
           
            // nabidka verzi u loga
            if(document.getElementById('menu-verze'))
            {
               document.getElementById('menu-verze').style.display = 'none';
            }
            
            /*
            // vyber editoru s prislusnou sirkou 
            if(ie) x_screen =  document.body.clientWidth;		
		     	  else x_screen = window.innerWidth;            
              
             if(x_screen < 1100)
            {                                           
               if(ie) setTimeout("hide('zahlavi_html_radek')", 1000);
               else hide('zahlavi_html_radek');                                                                    
            } else {
               if(ie) setTimeout("hide('zahlavi_html_radky')", 1000);
               else hide('zahlavi_html_radky');              
            }
            
            setTimeout("showArea();", 1010);
            */
         break;
         
         case 'sablona-skin':
           
           // schovani radiobuttonu u skinu

           for( key in skins )
           {
              if(document.getElementById('skin_theme_' + skins[key])) document.getElementById('skin_theme_' + skins[key]).style.display = 'none';
           } 

         break; 

         case 'sablona-barva':

           // schovani radiobuttonu u temat                                   
           /*
           for( key in themes )
           { 
              if(document.getElementById('skin_theme_' + themes[key])) document.getElementById('skin_theme_' + themes[key]).style.display = 'none';                
           } 
           */       
         break;
         
      }    
    }
    
    function hide(id)
    {             
       var res = tinyMCE.execCommand('mceFocus', false, id);                
       var res = tinyMCE.execCommand('mceRemoveControl', false, id);
       
       par = document.getElementById(id).parentNode;
       
       if(document.all) document.getElementById(id).removeNode(true);
       else  par.removeChild(document.getElementById(id));     
    }

    function showArea()
    {
      document.getElementById('tinyHide').style.display = 'block';
      document.getElementById('tinyHideInfo').style.display = 'none';
      
    }
    
    /**
     * fce sbali stromy pro orzbalovani (pri nacitani jsou rozbalene)  
     */         
     function rozbalovani_init()
     {
       var tree = document.getElementById('tree');
       var treeUl = null;
        // dohledani UL            
       for(var i = 0;i<tree.childNodes.length;i++)
       {                  
         if(tree.childNodes[i].nodeName.toLowerCase() == 'ul')
         {
          // postupne prochazeni polozek stromu a jejich pripadne zavirani          
          rozbalovani_strom(tree.childNodes[i].childNodes);          
          break;
         } 
       }
     
     }
     
     function rozbalovani_strom(strom)
     { 
       for(var strom_i=0;strom_i<strom.length;strom_i++)
       { 
         if(strom[strom_i].nodeName.toLowerCase() != 'li') continue;                  
         var polozka = strom[strom_i]; // jednotliva polozka (LI)                 
         var span_ikona = null;
         var ul_submenu = null;
                                    
         // dohledani ikony+submenu
         for(var polozka_i=0;polozka_i<polozka.childNodes.length;polozka_i++)
         {                      
           
           if(! polozka.childNodes[polozka_i].tagName) continue;           
           if( polozka.childNodes[polozka_i].tagName.toLowerCase() == 'ul') 
           {
             ul_submenu =  polozka.childNodes[polozka_i];           
           }
           
           if(!polozka.childNodes[polozka_i].className) continue;                    
           // span .left obaluje ikonu
           if(polozka.childNodes[polozka_i].className.toLowerCase() == 'left')
           {             
             // dohledani ikony                      
             for(var left_i =0;left_i<polozka.childNodes[polozka_i].childNodes.length;left_i++)
             {                
                                       
               var left_subclass = polozka.childNodes[polozka_i].childNodes[left_i].className;

               if(!left_subclass) continue;
                     
               if(left_subclass.trim()=='ikona' || left_subclass.trim()=='ikona-expandable' || left_subclass.trim()=='ikona-expanded' )
               {                
                 span_ikona = polozka.childNodes[polozka_i].childNodes[left_i];
                 break;
               }
             }              
           }
         }
         
         
         if( span_ikona == null   || ul_submenu==null ) continue; // tahle vetev nema submenu
         
         // prohozeni stylu a sbaleni podmenu           
         if(span_ikona.className.trim() == 'ikona-expanded')
         {
           span_ikona.className = 'ikona-expandable';
           ul_submenu.style.display = 'none';
         }
              
         rozbalovani_strom(ul_submenu.childNodes);
         
       }         
     }

     /**
      * displays context help
      */           
     function showHelp(identifier,stav)
     {
       if(typeof Help == 'undefined' || !Help[identifier]) return;       
       ToolTip(stav, Help[identifier], 0,'help-box');
     }
     
     function showHelpMenu(identifier,stav)
     {
       if(typeof Help == 'undefined' || !Help[identifier]) return;
       
       if(ie) getMouseXY();
       else getMouseXY(Event.MOUSEMOVE);
              
       ToolTip(stav, Help[identifier], 0,'help-box-menu');
     }
     
     function updateSkinThemePreview(listbox)
     {     
       if(!listbox.value) return false;       
       document.getElementById('skinThemePreview').src = skin_preview[listbox.value];       
     }
    /**
     * pro filebrowsing v tiny
     */    
           
     function myCustomFileBrowser(field_name, url, type, win) {	   
        // alert("Field_Name: " + field_name + "\nURL: " + url + "\nType: " + type + "\nWin: " + win); // debug/testing
    
        /* If you work with sessions in PHP and your client doesn't accept cookies you might need to carry
           the session name and session ID in the request string (can look like this: "?PHPSESSID=88p0n70s9dsknra96qhuk6etm5").
           These lines of code extract the necessary parameters and add them back to the filebrowser URL again. */
    
        var cmsURL = prefix + '/admin/show_options.php';      // script URL        
        var searchString = window.location.search;  // possible parameters

        if(cmsURL.indexOf("?") < 0 ) cmsURL = cmsURL + "?type=" + type;
        else cmsURL = cmsURL + "&type" + type;
    
        // newer writing style of the TinyMCE developers for tinyMCE.openWindow
        if (!tinyMCE.selectedInstance.fileBrowserAlreadyOpen) {
            // no file browser window open
            tinyMCE.selectedInstance.fileBrowserAlreadyOpen = true; // but now it will be

            tinyMCE.activeEditor.windowManager.open({
                file: cmsURL,
                width : 420,
                height : 450,
                close_previous : "yes",
                resizable: "yes"
            }, {
                window : win,
                input : field_name
            });
        }
        return false;
  
    }

   function myCustomOnInit() {
      showArea();
   }
      
     // trim function
     String.prototype.trim = function() {
        	return this.replace(/^\s+|\s+$/g,"");
      }
      
  
// ------------------------------------------------------------------------------
// Tool Tip
// ------------------------------------------------------------------------------

	var mouse_X;
	var mouse_Y;
	
	var x_screen;
	
	var tip_active = 0;
	var position = 0;
	var helpbox;
	
	function update_tip_pos()
	{
        if(!document.getElementById(helpbox)) return;
    	if(position==0)
		{
			document.getElementById(helpbox).style.left = mouse_X + 20;
		}
		else
		{
			document.getElementById(helpbox).style.left = mouse_X - 100;	
		}
		document.getElementById(helpbox).style.top  = mouse_Y;
	}
	
	var ie = document.all?true:false;
	if (!ie) document.captureEvents(Event.MOUSEMOVE)
	document.onmousemove = getMouseXY;
	
	function getMouseXY(e)
	{
		if(ie)
		{ // grab the x-y pos.s if browser is IE
		mouse_X = event.clientX + document.body.scrollLeft;
		mouse_Y = event.clientY + document.body.scrollTop;
		x_screen =  document.body.clientWidth;				
		}
		else
		{ // grab the x-y pos.s if browser is NS
			mouse_X = e.pageX;
			mouse_Y = e.pageY;
			x_screen = window.innerWidth;
		}
		if (mouse_X < 0){ mouse_X = 0; }
		if (mouse_Y < 0){ mouse_Y = 0; }
	
	  
	  if(mouse_X+110 > x_screen) position = 1
      if(tip_active){ update_tip_pos(); }
	}
	
	
	function ToolTip(which, TContent, pos, cil)
	{
		helpbox = cil;	
        /*if(!document.getElementById(helpbox)) return;*/
        
    if(pos)
		{
			position = 1;	
		}
		else
		{
			position = 0;	
		}
		
		if(which)
		{
			update_tip_pos();
			tip_active = 1;
			document.getElementById(helpbox).style.visibility = "visible";			        
			document.getElementById(helpbox).innerHTML = TContent;		
		}
		else
		{
			tip_active = 0;			
			document.getElementById(helpbox).style.visibility = "hidden";
		}
	
	}
 
  

