/* rutiny pro obsluhu stranek */
var gDebug=0;       /* bez ladeni */
var gTextBody;      /* <BODY> v textovem framu */
var gDivMenu;       /* DIV s hlavnim menu (levy sloupec) */
var gDivList;       /* DIV se sezname (prostredni ramecek) */
var gFrameList;
var gDivText;       /* DIV s vlastnimi texty a obrazky (pravy ramecek) */
var gFrameText;
var gDivTitle;      /* DIV titulek */
var gbText, gbList; /* viditelnost sloupcu */
var gbListMin;      /* minimalizovani seznamu */
var gMenuItemActive; /* Id aktivni polozky v menu */
var gBrowser;       /* detekce typ prohlizece */
var gHead;          /* hlavicka pro zapis do samostatneho okna
                       v pripade vyberu oznacenych uzlu ze seznamu */
var gFrmTitle="";   /* titulek nad sloupcem se seznamem */
var gFrmHideNum=0;  /* pocet sekund pro zjisteni stavu na Pocitadlo.cz */
var gFrmHideId;     /* Id casovace */
/* tyto polozky menu prijdou zavrit */
var gaSbalit=new Array("iUvod","iLana","iOzdobne","iInfo");

onload=initMenu;     //po nacteni se spusti inicializace

//------------------------ pomocne funkce ------------------------
/* zmena vzhledu polozek menu */
function getElement(Id){
  if(typeof(Id)!="string") return(Id);
  return(document.getElementById(Id));
}

function getChildElement(Id){
  var Elc,El=getElement(Id);
  Elc=El.children;
  if(!Elc) Elc=El.childNodes; //FireFox
  return(Elc);
}
function getParentElement(Id){
  var Elp,El=getElement(Id);
  Elp=El.parentElement;
  if(!Elp) Elp=El.parentNode; //FireFox
  return(Elp);
}
function getSrcElement(ev){ //vrati element, ktery vyvolal udalost ev
  var SrcEl;
  if(window.event) SrcEl=window.event.srcElement;
  else SrcEl=ev.target; //FireFox
  return(SrcEl);
}
function setClassElement(Id,name){
  var element=getElement(Id);
  if(element){ element.className=name;}
}
function setVisibility(Elem,vis){
  var El=getElement(Elem);
  //kvuli MSIE musime nastavit jeste display, protoze pokud neni
  //videt, tak MSIE stejne zobrazuje sirku prvku, ale ne jeho obsah
  if(vis) El.style.visibility="visible";
  else El.style.visibility="hidden";
}
function parseText(text){  /* vypusti vsechen text mezi <> */
  var s=text, i=0, j=1;
  if(!text) return("");
  while(i>=0 && j>i){
    i=s.indexOf("<");
    j=s.indexOf(">");
    if(i>=0 && j>i){ s=s.substring(0,i)+s.substring(j+1); }
  }
  return(s);
}
function detectBrowser(){
  var agent=navigator.userAgent.toLowerCase();
  this.major=parseInt(navigator.appVersion);
  this.minor=parseFloat(navigator.appVersion);
  this.op=(agent.indexOf('opera')!=-1);
  this.ns=((agent.indexOf('mozilla')!=-1) &&
    (agent.indexOf('spoofer')==-1) && (agent.indexOf('compatible') == -1) &&
    (agent.indexOf('opera')==-1) && (agent.indexOf('webtv')==-1));
  this.ns2=(this.ns && (this.major==2));
  this.ns3=(this.ns && (this.major==3));
  this.ns4=(this.ns && (this.major==4));
  this.ns6=(this.ns && (this.major>=5));
  this.ie=(agent.indexOf("msie")!=-1);
  this.ie3=(this.ie && (this.major<4));
  this.ie4=(this.ie && (this.major==4) && (agent.indexOf("msie 5.0")==-1));
  this.ie5=(this.ie && (this.major==4) && (agent.indexOf("msie 5.0")!=-1));
  this.ieX=(this.ie && !this.ie3 && !this.ie4);
}

//------------------------- Inicializace -------------------------------
function setA(Elem){
var E,i;
  //projde vsechny vnorene elemenety
  //pokud je nektery z nich A, nastavi mu obsluhu
  //pro ostatni elementy vola rekurzivne dalsi prohledavani
  E=getChildElement(Elem);
  for(i=0;i<E.length;i++){
    //alert("E["+i+"]="+E[i].nodeName+"-> class="+E[i].className);
    if(E[i].nodeName=="A"){
      E[i].onclick=clickMenu;            //obsluhu kliknuti
    }
    else{setA(E[i]);}     //zavolame rekurzivne dalsi prohledavani
  }
}

function initMenu(){
  var Elt,Eli,Id,i,j,s,s1,s2,sTitulek,Ang=0;
  var NHlav=0, NVari=0, NAlter=0, NHlavN=0, NVariN=0, NAlterN=0;
  //inicializace globalnich promennych
    /*
  if(document.styleSheets){
    for(i=0;i<document.styleSheets.length;i++){
      //showProperty(document.styleSheets[i]);
      document.styleSheets[i].dissable=true;
    }
    document.styleSheets[0].dissable=false;
    //showProperty(document.styleSheets[0]);
  }
    */
  gbText=false;
  gbList=false;
  /*gbText=true; /*+++++*/
  /*gbList=true; /*+++++*/
  gbListMin=false;
  gHead="";
  gBrowser=new detectBrowser();
  //var gbIsPassw=true; /* priznak platnosti hesla */
  /* inicializace, ale v zavislosti na tride <BODY> */
  iTop();               //zabudovat pocitadlo navstev z iTop.cz
  s=document.body.className;
  //alert("body.className="+s);
  if(s!="cBody"){       //pokud to neni hlavni dokument, ale jsme ve framu
    //----- test, zda je otevrena zakladni (hlavni stranka) ----
    //zjistime, zda existuje nadrizeny ramec s menu, pokud ne, byla
    //zobrazena stranka primo, vyvolame hlavni stranku
    //jeste podle BODY class=="..." odlisime, zda ma byt otevren v listu nebo
    //v textu
    s1=top.location.href;
    if(s1==location.href){     //zkonstruujeme adresu zakladni stranky s menu
      //napred zjistime, zda se jedna o anglickou mutaci
      Ang=0;
      i=s1.indexOf("Eng");
      if(i>=0) Ang=1;
      else if((i=s1.indexOf("UzlyEng/"))>=0) Ang=1;
      else if((i=s1.indexOf("UzlyEng\\"))>=0) Ang=1;

      i=s1.indexOf("Uzly/");
      if(i<0){ i=s1.indexOf("Uzly\\");}
      if(i>=0){
        if(Ang==0) s2=s1.substr(0,i+5)+"index.html";
        else  s2=s1.substr(0,i+5)+"indexEng.html";
        s2=s2+"?";                         //pridame frame a co v nem zobrazit
        if(s=="cBodyText") s2+="Text=";
        if(s=="cBodyList") s2+="List=";
        j=5;
        i=s1.lastIndexOf("UzlyEng/");
        if(i>=0) j=8;
        else{
          i=s1.lastIndexOf("UzlyEng\\");
          if(i>=0) j=8;
          else{
          i=s1.lastIndexOf("Uzly/");
          if(i<=0) s1.lastIndexOf("Uzly\\");
          }
        }
        s2+=s1.substr(i+j);
        //alert("XXX href="+s2);
        //pokud je nahodou (stava se, nevim proc, je to pri volani odnekud
        //z Googlu, kdy radek html:// vypada jinak) v pozadavku vice
        //"index.html", ukoncime se (nepresmerujeme)
        s1=s2;
        i=s1.indexOf("index.html");
        j=0;
        if(i>0){
          s1=s1.substr(i+10);
          j=s1.indexOf("index.html");
        }
        if(j<=0){
          top.location.href=s2; //presmerujeme na zakladni stranku s parametrem
          return;
        }
      }
    }
    //zjistime titulek stranky, abychom jej mohli zapsat nad Frame
    sTitulek=document.title;
    if(!sTitulek) s=document.contentDocument.title;   //Firefox
    if(!sTitulek) s="????? Bez titulku ?????";
    //alert("Titulek stranky="+sTitulek);
    if(s=="cBodyList"){
      top.gFrmTitle=sTitulek;
      //na MSIE nefunguje ovladac nainstalovany na <BODY>, je treba instalovat
      //jej pro kazdou <a> zvlast (muselo by se to pres *.hta soubor)
      //proto najdeme vsechny linky <a> a pro ne definujeme ovladac
      //zaroven zjistime pocty NHlav, NVari a NAlter
      for(i=0;i<document.links.length;i++){
        //nepocitat a nenastavovat linky do sebe sama (zacinajici '#')
        s1=document.location.href+document.links[i].hash;
        if(s1==document.links[i].href){ continue};
        document.links[i].onclick=clickList; //ovladac pro kliknuti v seznamu
        //showProperty(document.links[i],"AXAXAXXAX");
        if(document.links[i].className!="" && //jen odkazy s nejakou tridou
          document.links[i].className.indexOf("cVzor")!=0){ //a ne odkazy na vzornik
          if(document.links[i].className=="cSzHla") NHlav++;
          if(document.links[i].className=="cSzAlt") NAlter++;
          if(document.links[i].className=="cSzVar") NVari++;
          if(document.links[i].className=="cSzHlaDod") NHlavN++;
          if(document.links[i].className=="cSzAltDod") NAlterN++;
          if(document.links[i].className=="cSzVarDod") NVariN++;
        }
      /*
      if(i<5) alert("XXXXa\r\n"+document.links[i].innerHTML+
        "\r\nHlavni="+NHlav+", Hlavni neudelane="+NHlavN+
        "\r\nVarianta (v zavorkach)="+NVari+", Varianta neudelana="+NVariN+
        "\r\n Alternativy (kurzivou)="+NAlter);
      */
      }
      //zapiseme pocty do textu, pokud tam maji byt
      Elt=getElement("NVari");  if(Elt){ Elt.innerHTML="("+NVari+")";}
      Elt=getElement("NAlter"); if(Elt){ Elt.innerHTML="("+NAlter+")";}
      Elt=getElement("NHlav");  if(Elt){ Elt.innerHTML="(je jich "+NHlav+")";}
      Elt=getElement("NHlavN");  if(Elt){ Elt.innerHTML=""+(NHlavN+NAlterN+NVariN);}
      Elt=getElement("NSuma");  if(Elt){ Elt.innerHTML=""+(NVari+NAlter+NHlav);}
      /*
      alert("XXXX1 Hlavni="+NHlav+", Hlavni neudelane="+NHlavN+
        "\r\nVarianta (v zavorkach)="+NVari+", Varianta neudelana="+NVariN+
        "\r\n Alternativy (kurzivou)="+NAlter);
      */
      //nastavime titulek framu, pokud zadny neni
      Elt=top.getElement("iTitleList");
      s=Elt.innerText;
      //alert("XXX Nastaveni titulku Framu\r\ns="+s+"\r\nTitulek="+sTitulek);
      if(!s || s==" ") Elt.innerHTML=sTitulek;
    }
    if(s=="cBodyText"){    //zvlastni obsluha dokumentu s textem
      top.gTextBody=document.body;  //zapamatovat, abychom ho mohli
                                    //zneviditelnit pri nacitani nove strany
      //zkontrolujeme nastaveni titulku nad framem, pokud neni zadny nebo
      //na prvnim znaku je mezera (nastaveno z Vyhledavani (OnNajdi),
      //nastavime aktualni titulek (zobrazovane stranky)
      Elt=top.getElement("iTitleText");
      s=Elt.innerHTML;
      Elt=top.getElement("iFrameText");
      if(!s || s.substring(0,1)==" "){
        //alert("XXXX c: "+s);
        //showProperty(Elt,"XXXXX");
        if(Elt.document) s=Elt.document.title;
        else s=Elt.contentDocument.title;   //Firefox
        if(!s) s="????? Bez titulku ?????";
        top.getElement("iTitleText").innerHTML=s;
      }
      //nastavime obsluhu linku, ktere maji smerovat do "iList" okna
      //nemusime to delat, pokud maji linky target="iFrameList", postara
      //se o to prohlizec (predpokladam, ze okno se seznamem je zobrazeno,
      //jinak to nebude fungovat, ale to se stane jen pri volani z
      //prikazove radky nebo FrameTextu zobrazeneho primo z menu. Zatim
      //to neresim, resili by to prikazy zapoznamkovane textem //LL
      /*
      for(i=0;i<document.links.length;i++){
        //showProperty(document.links[i].target,"XXXXX");
        if(document.links[i].target=="iList"){
          document.links[i].onclick=clickList; //ovladac pro kliknuti v seznamu
        }
      }
      */
    }
    top.getElement("iBody").style.cursor="auto";
    return;             //ukoncime inicializaci
  }
  //jen pokud je cBody
  top.getElement("iBody").style.cursor="wait";
  onresize=setPosition;
  /*inicializace globalnich promennych */
  gDivMenu=getElement("iMenu");
  if(!gDivMenu){
    top.getElement("iBody").style.cursor="auto";
    return;      //neni hlavni okno dokumentu, konec inicializace
  }

  /*  ------- sbalit menu, ktere ma byt sbaleno ----------------  */
  for(i=0;i<gaSbalit.length;i++){
    Elt=getElement(gaSbalit[i]);
    if(Elt) Elt.className="cItemClose";
  }
  //zakazat rolovani obrazovky a skryt text o zakazanem Javascriptu
  Elt=getElement("hBody");
  if(Elt) Elt.style.overflow="hidden";
  setVisibility("iNoJavascript",false);

  /*  ------- pokracuje jen cMenu/iMenu ----------------  */
  gFrameText=getElement("iFrameText");
  gDivList=getElement("iList");
  gFrameList=getElement("iFrameList");
  gFrameText=getElement("iFrameText");
  gDivText=getElement("iText");
  gDivTitle=getElement("iHTitle");

  //rekurzivne projdeme vsechny vnorene polozky iMenuUl a tagu <a>
  //nastavime obsluhu udalosti onClick a kurzor na sipku
  Elt=getElement("iMenuUl");
  setA(Elt); Elt=null;

  //zjistime, jestli je v location.search nejaka jina stranka,
  //pokud ano, hned ji zobrazime
  if(location.search!=""){
    Ang=0; j=5;
    i=location.href.indexOf("Eng");
    if(i>=0) Ang=1;
    i=location.href.indexOf("Uzly");
    s=location.search;
    s=s.substr(1);
    //pokud je urceno, do jakeho framu, odrizneme priznak framu
    if(s.indexOf("Text=")>=0){
      s=s.substr(5);
      top.gbText=true;
    }
    else if(s.indexOf("List=")>=0){
      s=s.substr(5);
      top.gbList=true;
    }
    //pokud adresa zacina ZU, predradime ./Uzly/ nebo ./UzlyEng/
    if(s.indexOf("ZU")==0 && i>0){
      s1="."+location.href.charAt(i-1);
      if(Ang==1) s1+="UzlyEng"+location.href.charAt(i-1)+s;
      else s1+="Uzly"+location.href.charAt(i-1)+s;
      s=s1;
    }
    if(top.gbText==true){
      //showProperty(top.gFrameText,"XXXXX  gFrameText");
      top.gFrameText.src=s;
    }
    if(top.gbList==true){
      //showProperty(top.gFrameList,"XXXXX  gFrameList");
      top.gFrameList.src=s;
    }
  }
  top.setPosition(); //aby doslo i k nastaveni spodni listy
  top.getElement("iBody").style.cursor="auto";
}

//------------------------ ovladani kliku v menu ------------------------
function clickMinList(){
  if(gbListMin==false){
    gbListMin=true;
    //MSIE nezmensi DIV na uzsi nez je text, proto zaroven text titulku
    //vymazeme
    getElement("iTitleList").innerHTML="";
  }
  else{
    gbListMin=false;
    //obnovime titulek
    getElement("iTitleList").innerHTML=gFrmTitle;
  }
  setPosition();
}

function OnNajdi(){
  var s,El;
  top.getElement("iBody").style.cursor="wait";
  El=getElement("iButtonNajdi");
  El.src="./Images/BNajdiDown.gif"; //zobrazime stlacene tlacitko
  //napred zobraczeni framu, kam se bude zobrazovat vysledek hledani
  gbText=true;
  gbList=false;
  if(document.forms.Hledej.sp_q.value!=""){
    //prazdny frame v TextFramu
    //gFrameText.src="";
    getElement("iTitleText").innerHTML=" Výsledek hledání";
    //vytvorime URL s parametry pro hledani pres Atomz.com, kde mam
    //registrovane vyhledavani na strankach s mymi uzliky
    //puvodni jmena ve formulari maji ve jemen "-", ja to nahradil "_"
    s=document.forms.Hledej.action;
    s+="?sp-q="+escape(document.forms.Hledej.sp_q.value);
    s+="&sp-a="+escape(document.forms.Hledej.sp_a.value);
    s+="&sp-p="+escape(document.forms.Hledej.sp_p.value);
    s+="&sp-f="+escape(document.forms.Hledej.sp_f.value);
    //alert("Hledani f\r\n"+s);
    gFrameText.src=s;
    El.src="./Images/BNajdi.gif";  //vratime puvodni tlacitko
    setPosition();   //zobrazime prislusne okno
  }
  else{
    alert("Zadejte, prosím, text k vyhledání.");
  }
  El=getElement("iButtonNajdi");
  El.src="./Images/BNajdi.gif"; //zobrazime stlacene tlacitko
  getElement("iBody").style.cursor="default";
}

function clickMenu(event_from){
  var element;
  var Element,Href="";
  var n=0, s="";
  //zjistime a zapamatujeme si adresu odkazu
  //alert("typ="+typeof(event_from));
  if(typeof(event_from)=="string"){ Element=getElement(event_from);}
  else{ Element=getSrcElement(event_from);}
  //nektere browsery sem jdou s textem misto s A, musime vzit nadrizeny
  if(Element.nodeName!="A"){ Element=getParentElement(Element);}
  //alert("nodeName="+Element.nodeName);
  if(!Element) return;
  
  Href=Element.href;
  
  ///////// vyresime zobrazeni polozek v menu
  Element=getParentElement(Element); //nadrizeny element je <li>
  //podle jeho tridy je to rozbalovani (cItemClose nebo cItemOpen)
  //nebo odkaz (cSubitem/cSubitemActive, obsahuje i cilovy Frame)
  s=Element.className;
  if(s=="cItemClose"){
    Element.className="cItemOpen";
    setPosition();
    return(false);
  }
  else{
    if(s=="cItemOpen"){
      Element.className="cItemClose";
      setPosition();
      return(false);
    }
  }
  ////////// ted vyresime zobrazeni odkazu v seznamu nebo textu
  if(s==""){
    if(gMenuItemActive) gMenuItemActive.className="";//zrusit puvodni
    gMenuItemActive=Element;                         //nova aktivni polozka menu
    gMenuItemActive.className="cSubitemActive";      //oznacit ji
  }
  if(Element.className=="cSubitemActive"){
    getElement("iBody").style.cursor="wait";
    setVisibility(gDivList,false);  //skryt oba prave sloupce
    setVisibility(gDivText,false);
    gbListMin=false;                                 //plna sirka seznamu
    //zjistime cilovy Frame z Id
    s="";
    n=gMenuItemActive.id.lastIndexOf("-");
    if(n>0) s=(gMenuItemActive.id.substring(n+1));
    //zjistime titulek framu
    gFrmTitle=parseText(getElement(gMenuItemActive).innerHTML);
    //nacteme do spravneho okna text
    if(gFrameText && s=="Text"){
      gbText=true;
      s="iText";
    } else gbText=false;
    if(gFrameList && s=="List"){
      gbList=true;
      s="iList";
    } else gbList=false;
  }
  if(gbList || gbText) top.clickFromFrame(Href,gFrmTitle,s/* //LL,false */);
  else setPosition();
  getElement("iBody").style.cursor="default";
  return(false); //udalost byla zpracovana, jiz ji dal nepredavat
}
//------------------------ Nastaveni pozice a velikosti framu -------------
function setPosition(){  //nastavi pozici a sirku DIVu podle vditelnosti sloupcu
                         //pripadne prida svisle rolovatko k menu
  var bList=false, bText=false;
  var nList=0,nText=0,nTitle=0, nBottom,nFrameBorder=0,nTab=2;
  var HeightPata=13,nTitleHeight=20; //vyska titulkoveho pruhu vcetne 2 bodu borderu
  var nWidth=document.body.clientWidth-0;
  var nHeight=document.body.clientHeight-0;
  var OffsetTop;     //toto se nastavi podle menu
  var nWidthMenu=205;//neni mozne nastavovat podle menu, protoze to se meni
                     //v zavislosti na pritomnosti scrollbaru
  var TopPata,BottomMenu,LeftList=0,LeftText;
  var nListNorm=255, nListMin=22; //sirky prostredniho sloupce
  var paddingTitle=28; //odsazeni Textu titulku sloupce od leveho okraje
  var i,El,Em,iSirkaMenu;

  /* nastavime delku DivuMenu a pokud je menu delsi, nastavime i sirku
  vetsi o scrollbar */
  Em=getElement("iMenuReklamy");
  i=Em.offsetTop+Em.offsetHeight;
  iSirkaMenu=nWidthMenu;
  OffsetTop=gDivMenu.offsetTop;
  //alert("Konec menu:"+i+"px\r\nKonec okna (nHeight-OffsetTop):"+(nHeight-OffsetTop)+
  //  "\r\nVyska okna:"+nHeight+"px");
  if((nHeight-OffsetTop)<i){
    iSirkaMenu+=16;
    gDivMenu.style.overflow="auto";
  }else{gDivMenu.style.overflow="hidden";}
  gDivMenu.style.width=(iSirkaMenu)+"px";
  gDivMenu.style.height=(nHeight-OffsetTop)+"px";
  Em.style.width=(nWidthMenu-2)+"px"; //2 body sirka ramecku
  //Em=getElement("iNajdi");
  //i=Em.style.padding;
  //Em.style.width=(nWidthMenu-6)+"px"; //6 bodu je padding, je to potreba v Opere
  Em=getElement("iMenuUl");
  Em.style.width=(nWidthMenu)+"px";
  //----------- zmena sirky loga, aby zarovnavalo s rolovatkem menu
  Em=getElement("iLogo");
  Em.style.width=(iSirkaMenu)+"px";

  //-------------- DIV Title
  El=getElement("iNadpis");
  El.style.left=(iSirkaMenu)+"px";
  El.style.height=(OffsetTop)+"px";
  El.style.width=(nWidth-iSirkaMenu)+"px";
  El.style.textAlign="center";

  //-------------- DIV Uvitani
  El=getElement("iUvitani");
  El.style.left=(gDivMenu.offsetLeft+gDivMenu.offsetWidth+2)+"px";
  El.style.height=(nHeight-HeightPata-OffsetTop-5)+"px";
  El.style.width=(nWidth-iSirkaMenu-4)+"px";
  El.style.top=(OffsetTop+2)+"px";
  //pokud je nejaky frame viditelny, zmizime uvitani
  setVisibility(El,!(gbList || gbText));

  //-------------- DIV Pata
  El=getElement("iPata");
  El.style.top=(nHeight-HeightPata)+"px";
  El.style.left=(gDivMenu.offsetLeft+gDivMenu.offsetWidth+2)+"px";
  El.style.height=(HeightPata)+"px";
  //pokud je nejaky frame viditelny, zmizime patu
  setVisibility("iPata",!(gbList || gbText));

  nBottom=nHeight-OffsetTop-2; //2 body ramecek nahore a dole
  //-------------- DIV pro List -------------
  //---- titulek
  //showProperty(gDivMenu,"XXXXX Bottom Menu","width");
  s=gDivMenu.offsetLeft+gDivMenu.offsetWidth;
  s+="";   //prevedeme na retez
  s=s.replace("px","");
  LeftList=s-0+nTab;  /* -0 musi byt pro prevod na cislo */
  if(gbList){
    nList=nListNorm;
    gDivList.style.left=LeftList+"px";
  }
  if(gbListMin){ nList=nListMin;}
  gDivList.style.height=(nBottom)+"px";
  gDivList.style.width=(nList)+"px";
  gFrameList.style.width=(nList)+"px";
  El=getElement("iTitleList");
  if(gbList && nList>0){
    gFrameList.style.height=(nBottom-nTitleHeight)+"px";/* vyska nadpisu */
    setVisibility(gDivList,true);    //cely sloupec
    setVisibility(El,true);          //nadpis nad oknem
    if(gbListMin){                      //nadpis a frame se seznamem
      setVisibility(gFrameList,false);
      //pro MSIE, musime jeste nastavit sirku a skryt pres display
      //getElement("iTitleList").style.width=-10+"px";
      El.style.paddingLeft=(nList-4)+"px"; //2 body ramecek Divu a 2 iTitlu
      //showProperty(getElement("iTitleList").style,"XXXX sss","disp");
    }
    else{
      El.style.paddingLeft=paddingTitle+"px";  //vratime zpet puvodni
      setVisibility(gFrameList,true);
      setVisibility("iTitleList",true);
      //pro MSIE, musime jeste nastavit sirku a zobrazit pres display
      getElement("iTitleList").style.width="";
      //getElement("iTitleList").style.display="inline";
    }
  }
  else{
    setVisibility(gDivList,false);
    //setVisibility(gFrameList,false);
    //setVisibility(El,false);
    //setVisibility("iTitleList",false);
    //setVisibility(gFrameList,false);
    //gFrameList.style.height=0;
    nList=0;
  }
  //showProperty(gDivList.style,"gList");
  //------------------------ DIV pro Text -------------
  gDivText.style.height=(nBottom)+"px";
  LeftText=LeftList+nList;
  if(nList>0) LeftText+=2*nTab;
  nText=nWidth-LeftText-nTab
  //v Opere musime odecist sirku ScrollBaru, protoze vraci sirku
  //okna vcetne nej, ostatni jeho sirku do sirky okna nepocitaji
  //if(gBrowser.op) nText-=nScroll;
  //alert("XXXX nText="+nText);
  gDivText.style.left=(LeftText)+"px";
  gDivText.style.width=(nText)+"px";
  gFrameText.style.width=(nText)+"px";
  if(nText<=30){ nText=0;}
  El=getElement("iTitleText");
  if(gbText && nText>50){
    gFrameText.style.height=(nBottom-nTitleHeight)+"px";
    setVisibility(gDivText,true);
    //setVisibility(gFrameText,true);
    //gFrameText.style.display="";
    //gDivText.style.display="";
  }
  else{
    setVisibility(gDivText,false);
    //setVisibility(gFrameText,false);
    //setVisibility(El,false);
    //gFrameText.style.height=0;
    //gFrameText.style.display="none";
    //gDivText.style.display="none";
  }
}

function clickList(Event){  //obsluha kliknuti v prostrednim seznamu,
  //vyvolame funkci nadrizeneho okna, ktera zobrazi v pravem panelu
  //prislusnou stranku
  var Element=getSrcElement(Event);  //odkud zprava pochazi
  var pg,elem;
  var ukaztext=false;
  while(Element && Element.nodeName!="A"){ //pokud to neni odkaz, najdeme
    Element=getParentElement(Element);     //nadrizeny prvek <A>
  }
  if(Element.className=="cSzHlaDod" ||
    Element.className=="cSzAltDod" || Element.className=="cSzVarDod"){
    alert("Lituji, ale popis pro tento uzel jsem jeste neudelal.");
    return(false);
  }
  //zjistime, zda neni potreba jej zobrazit v seznamu
  s=Element.getAttribute("target");
  //showProperty(s,"XXXXXX");
  //showProperty(Element,"XXXXXX");
  pg=Element.href;
  //rovnez zobrazit v seznamu, pokud je to soubor Usz-...
  if(pg.indexOf("Usz-")>=0) s="iList";
  //showProperty(document.body.className,"XXXXXX body class");
  //LL if(document.body.className=="cBodyText") ukaztext=true;
  top.clickFromFrame(pg,parseText(Element.innerHTML),s/* //LL,ukaztext */);
  return(false);
}

function clickFromFrame(page,nadpis,target/* //LL,ukaztext*/){  //zobrazeni stranky v pravem panelu
  //vola se z podrizeneho FrameList
  //pokud je target='iList', zobrazi se opet v seznamu a ne v textu
  //pokud je UkazText=true, zustane textove okno zobrazeno (volani
  //z textoveho okna misto okna seznamu nebo menu)
  var El,s,i;
  top.getElement("iBody").style.cursor="wait";
  //showProperty(page,"XXXX page XXXX");
  nadpis=nadpis.replace("(","");  //z odvozenych uzlu vyhazeme zavorky
  nadpis=nadpis.replace(")","");
  if(target=="iList"){
    top.getElement("iTitleList").innerHTML=nadpis;
    //showProperty(ukaztext,"XXXXXX ukaztext");
    top.gbText=false;
    //LL top.gbText=ukaztext;
    top.gbList=true;
    El=top.getElement("iFrameList");
    //showProperty(target,"XXXXXX");
    El.src=page;
  }
  else{
    top.getElement("iTitleText").innerHTML=nadpis;
    top.gbText=true;
    //top.getElement("iFrameText").location=page;
    El=top.getElement("iFrameText");
    //pokud je to jina stranka, vymazeme jeji obsah, pokud je to stejna
    //strana, nesmime to udelat
    i=El.src.indexOf(".html");
    if(i>0 && top.gTextBody){
      s=El.src.substr(0,i+5);
      //alert("XXXX s="+s+"\r\npage="+page);
      i=page.indexOf(s);
      //vymazat, aby se behem nacitani nezobrazil zadny text
      if(i<0){
        //alert("Rusim obsah");
        top.gTextBody.innerHTML="";
      }
    }
    //showProperty(El.scrolling,"XXXXXX");
    El.src=page;
  }
  top.setPosition();
  top.getElement("iBody").style.cursor="auto";
  return(false); //ukoncit zpracovani udalosti
}
//--------------------------- pocitadla, reklama -----------------------
function iTop(){
  //nastavi element na zobrazeni pocitadla nebo skrytou ikonu iTopu
  var El=getElement("iTopList");
  var s="",s1="",si="";
  var iStart=0;
  if(El){    //nastavujeme    -------- statistika na TopList ----------
    s1="";
    if(document.body.className=="cBody"){
      s1+='<img src="http://toplist.cz/count.asp?id=120646&amp;logo=counter';
    }
    else{
      s1+='<img src="http://toplist.cz/dot.asp?id=120646';
    }
    s1+='&amp;start='+iStart+
        '&amp;http='+escape(top.document.referrer)+
        '&amp;wi='+escape(window.screen.width)+
        '&amp;he='+escape(window.screen.height)+
        '&amp;cd='+escape(window.screen.colorDepth);
    s1+='" ';  //konec src=....
    if(document.body.className=="cBody"){
      s1+=' width="88" height="31" border=0 alt="TOPlist">';
    }
    else s1+=' width="1" height="1" border=0 alt="TOPlist">';
    s=s1;
    if(location.protocol=="file:"){    //lokalne, nejdeme na web
      if(document.body.className=="cBody") El.innerHTML="TopList c. XXXX";//El.innerHTML=s;
      else El.innerHTML=""; //'Návštěvník č. 0000';
      //showProperty(s,"Prikaz pro statistiky");
      //El.innerHTML=s;
    }
    else{El.innerHTML=s;}
  }
  /************ iTop ***************/
  El=getElement("iTop");
  s="";
  iStart=0;
  if(El){    //nastavujeme
    sscr="null";
    sdep="null";
    sref=""+escape(document.referrer);
    sscr=screen.width;
    btype=navigator.appName;
    if(btype!="Netscape"){ sdep=screen.colorDepth; }
    else { sdep=screen.pixelDepth; }
    outdata="&sscr="+sscr+"&sdep="+sdep+"&sref="+sref;
    s='<a href="http://www.itop.cz" target="_blank\">'+
      '<img src="http://sys.itop.cz/stats/?id=3307&ht=24&dg=0"'+
      outdata+'" border="0" width="88" height="31" '+
      'alt="iTOP - Veřejný audit návštěvnosti stránek"></a>';
    if(location.protocol=="file:"){    //lokalne, nejdeme na web
      if(document.body.className=="cBody") El.innerHTML="iTop c. XXXX";
      else El.innerHTML="";
    }
    else{El.innerHTML=s;}
  }
  /************ NaVrcholu ***************/
  El=getElement("iNaVrcholuIcon");
  s="";
  iStart=0;
  if(El){    //nastavujeme
    s=nvc();
    if(location.protocol=="file:"){El.innerHTML="NaVrcholu";}
    else{El.innerHTML=s;}
    //alert("XXX\r\n"+s);
  }
  /************* Pocitadlo.cz ****************/
  //<!-- Počítadlo.cz  počítadlo:60354  uživatel:39671 -->
  /* pocitadlo obsahuje "document.write(...), proto musi byt volano
     primo v HTML kodu. Ale mozna by se to dalo vymyslet podle
     http://www.chose.cz/weblog/index.php/dynamicke-nacitani-obsahu-pres-javascript/
     (take se tam tvrdi, ze pokud se zmeni scr scriptu, vzdy se stahne znovu,
     mohl bych tedy mit nejaky prazdny src a pro www ho nastavit, pro local
     nechat byt. To by bylo mozna nejjednodussi.
     */

  /*
  El=getElement("iPocitadloScript");
  s="";
  iStart=0;
  if(El){    //nastavujeme
    var Tmp=Math.floor(1000000 * Math.random());
    var Fr=getElement("iFrameHide");
    s='http://cnt2.pocitadlo.cz/counter.php?poc=60354'+
      '&amp;ref='+escape(top.document.referrer)+
      '&amp;depth='+escape(window.screen.colorDepth)+
      '&amp;width='+escape(window.screen.width)+
      '&amp;height='+escape(window.screen.height)+
      '&amp;tmp='+Tmp+
      '';

    //showProperty(Fr,"XXXXX");
    //  s="###";
    if(location.protocol=="file:"){
      El=getElement("iPocitadlo");
      El.innerHTML="Pocitadlo";}
    else{
      //chvili pockame na naplneni framu a pak ho prevedeme do <divu>
      }
      El.src=s;
    }
    alert("XXX\r\n"+El.src);
  }
  */
  /************ BlueBoard ***************/
  El=getElement("iBlueBoard");
  s="";
  iStart=0;
  if(El){    //nastavujeme
    s='<a href="http://www.blueboard.cz">'+
        '<img src="http://www.blueboard.cz/banners/blueicon3.gif" '+
        'alt="Ankety, návštěvní knihy, mailformy, počítadla a CHAT pro Váš web" '+
        'border="0" width="88" height="31"></a>';
    if(location.protocol=="file:"){    //lokalne, nejdeme na web
      if(document.body.className=="cBody") El.innerHTML="BlueBoard";
      else El.innerHTML="";
    }
    else{El.innerHTML=s;}
  }
  /************ Gringo ***************/
  El=getElement("iGringo");
  s="";
  iStart=0;
  if(El){    //nastavujeme
    s='<a href="http://www.gringo.cz/" target="_blank"> '+
      '<img src="http://www.gringo.cz/banner/webhosting-88-31-17.gif" '+
      'width="88" height="31" border="0" '+
      'alt="Profesionální webhosting včetně PHP a MySQL"></a>';
    if(location.protocol=="file:"){    //lokalne, nejdeme na web
      if(document.body.className=="cBody") El.innerHTML="Gringo";
      else El.innerHTML="";
    }
    else{El.innerHTML=s;}
  }
  /************* counter.cnw.cz *************/
  El=getElement("iCnw");
  s="";
  iStart=0;
  if(El){    //nastavujeme
    /* pocitadlo */
    s='<A HREF="http://counter.cnw.cz" TARGET=_parent>'+
      '<IMG SRC="http://counter.cnw.cz/monika.cgi?gordUzly&6&800000&cccc99&on" '+
      'ALT="[CNW:Counter]" BORDER=0></A>';
    /* tracker */
    if(location.protocol=="file:"){    //lokalne, nejdeme na web
      if(document.body.className=="cBody") El.innerHTML="counter Cnw";
      else El.innerHTML="";
    }
    else{El.innerHTML=s;}
  }


}
/* funkce pro obsluhu casovace po dobu cekani na naplneni hodnoty
   pocitadla z Pocitadlo.cz */
function JePocitadlo(){
  var Fr=getElement("iFrameHide");
  if(Fr.innerHTML==""){ gFrmHideNum++;}
  if(gFrmHideNum>15){ clearTimeout(gFrmHideId);}
}
/* funkce pro statistiku z Navrcholu stazena ze serveru prikazem
   http://c1.navrcholu.cz/code?site=83885;t=lb14 zadanym v prohlizeci. */
   /* --- moje upravy jsou komentovany, abych je mohl udelat pri zmene kodu
      ze serveru, v puvodnim neni komentar zadny --- */
function nvc(){
  var n=navigator;
  var p=document;
  var c,t,b,j,m,r,y;
  var d,x,w;
  var n3f8q;
  d=x=w=0;
  b=(n.appName=="Netscape" && parseInt(n.appVersion)==4)?"border=\"0\"":"style=\"border:none\"";
  /* nezajima me testovani obsluhy VBScriptu a Flashe v prohlizeci, proto potlacim */
  /*
  if(n.appVersion.indexOf("MSIE")>=0 && n.appVersion.indexOf("Win")>=0){
  p.writeln("<s"+"cript language=\"VBScript\">\non error resume next\nn3f8q=0");
  for (i=3; i <= 8; i++)
  p.writeln("if(IsNull(CreateObject(\"ShockwaveFlash.ShockwaveFlash."+i+"\"))) then dummy=0 else n3f8q="+i+" end if");
  p.writeln("</s"+"cript>"); } else eval("var n3f8q=0");
  if(n.plugins && n.plugins["Shockwave Flash"]){
  t=n.plugins["Shockwave Flash"].description;
  n3f8q=parseInt(t.charAt(t.indexOf(".")-1)); }
  */
  m=(n.userAgent.substring(0,8)=="Mozilla/")?n.userAgent.substring(8,9):4;
  if(m>2)
    j=(n.javaEnabled())?1:0;
  r=window.top.document.referrer;
  if(m>3 && screen){
    d=screen.colorDepth;
    if(d==0)
      d=screen.pixelDepth;
    x=screen.width;
    w=(p.all)?top.document.body.clientWidth:top.innerWidth;
  }
  y=new Date();
  y.setTime(y.getTime()-31536000000);
  p.cookie="nvt=1";
  c=(p.cookie.indexOf("nvt") != -1)?1:0;
  p.cookie="nvt=1; expires="+y.toGMTString();
  /*
  p.write("<a href=\"http://navrcholu.cz/Statistika/83885/\">"+
    +"<img src=\"http://c1.navrcholu.cz/hit?site=83885;t=lb14;"
    +"fv="+n3f8q+";js="+j+";cs="+c+";ref="+escape(r)+";cd="
    +d+";sx="+x+";wx="+w+";jss=1;r="+Math.random()
    +"\" width=\"14\" height=\"14\" alt=\"NAVRCHOLU.cz\" "+b+" /></a>");
  */
  return("<a href=\"http://navrcholu.cz/Statistika/83885/\">"
    +"<img src=\"http://c1.navrcholu.cz/hit?site=83885;t=lb14;"
    +"fv="+n3f8q+";js="+j+";cs="+c+";ref="+escape(r)+";cd="
    +d+";sx="+x+";wx="+w+";jss=1;r="+Math.random()
    +"\" width=\"14\" height=\"14\" alt=\"NAVRCHOLU.cz\" "+b+" /></a>");
}
//------------------------- ladici funkce -----------------------------
function getTimeModify(){  // ziska cas posledni modifikace souboru
  var cas="", s="", i=0,pole;
  mes=new Array("Jan","Feb","Mar","Apr","May","Jun",
                "Jul","Aug","Sep","Oct","Nov","Dec");
  cas=document.lastModified;
  //format casu:
  // 'den' je zkratka dne v tydnu, 'mes' je zkratka mesice v roce
  //opera:
  //   den, dd mes RRRR HH:MM:SS GMT
  //MSIE:
  //   dd/mm/RRRR HH:MM:SS
  //alert("cas="+cas);
  pole=cas.split(" ");
  i=pole.length;
  if(i==6){
    if(pole[1].charAt(0)=="0") pole[1]=pole[1].substr(1);
    for(i=0;i<mes.length;i++){ if(mes[i]==pole[2]) pole[2]=(i+1); }
    s=pole[1]+"."+pole[2]+"."+pole[3]+" "+pole[4];
  }
  else if(i==2){
    pole[0]=pole[0].replace("/",".");  //nahradit vsechny oddelovace
    pole[0]=pole[0].replace("/",".");  //nahradit vsechny oddelovace
    s=pole[0]+" "+pole[1];
  }
  else{ s=cas;}
  if(s){
    i=s.lastIndexOf(":");
    if(i>0) s=s.substring(0,i);         //bez sekund (a 'GMT')
  }
  return(s);
}

function showProperty(/*Id*/ element,text,str,dialog){
  //text - jmeno elementu, jen pro vypis, neumim jej zjistit
  //str  - zobrazi jen prvky, ktere obsahuji 'str' jako podretez (bez ohledu na velikost pismen)
  //dialog - (true/false) priznak vypisu do dialogu nebo do dalsiho okna browseru
  /* element=getElement(Id); */
  var el=element;
  var typ;
  //el=dialog;
  var s="Vlastnosti: "+text+" "+" (typ:"+typeof(el)+")\n\nHodnota="+el+"\n";
  var s1="",j=0,i=0,ind=0,hled;
  var a=new Array(),as=new Array();
  if(arguments.length<2) text="XXXXX";
  if(arguments.length>=3){
    hled=str.toUpperCase();
    s+="jen obsahujici: "+str+"\n";
  }
  if(arguments.length<4) dialog=true;
  ind=0;
  for(c in el){
    typ=typeof(el[c]);
    if(str){        //jen retezce, ktere obsahuji pozadovany
      s1=c.toUpperCase();
      if(s1.indexOf(hled)<0) continue;
    }

    a[i]="\t"+c+"(typ:"+typ /*+") (poradi v poli:"+i*/+")";
    if(typ!="undefined" && typ!="object" && typ!="function"){
      a[i]+=" ="+el[c];
    }
    i++;
  }
  /* vlozime vyrazny oddelovac mezi velkymi a malymi pismeny (zatridi se) */
  a[i]="\t______________________________";
  a.sort();           /* setridime pole, aby s v nem dalso hledat */
  /* spocitame pocet radku a pokud jich je moc, zobrazime to ve strance misto v dialogu */
  s1=s;
  for(j=0,i=0; i<a.length;i++){
    s1+="\t"+i+": "+a[i]+"\n";
    j++;
    if((j%35)==0 && j>0 && dialog){
      alert(s1);
      j=0;
      s1=s;
    }
  }
  if(dialog){
    if(s!=s1) alert(s1);
  }
  else{
    var w=open("","Vlastnosti JavaScriptoveho objektu","");
    w.document.write("<html><head><title>Vlastnosti objektu</title></head><body><pre>"
      +s+"</pre></body></html>");
    w.document.close();
  }
}


