var ns=document.layers?1:0
var ie=document.all?1:0
/*
var plusImg= new Image();
var minusImg= new Image();
plusImg.url = 'url("./Img/plus.gif")';
minusImg.url = 'url("./Img/minus.gif")';
*/
function DrzewoHier(E,selekcja)
{
   E=getEl(E);
   
   //ustawienie wszystkich ikon jako puste
   li = E.getElementsByTagName('LI');
   for(var i=0;i<li.length;i++)
   {
      li[i].className='';
      //li[i].style.listStyleImage='none';
      //li[i].style.listStyleType='none';
   }
   
   //ustawienie wszystkich elementow drzewa jako niezaznaczone
   li = E.getElementsByTagName('SPAN');
   for(var i=0;i<li.length;i++)
   {
      li[i].className = 'niezaznaczone';
   }
   
   //zwiniecie wezlow i ustawienie odpowiednio ikon
   li = E.getElementsByTagName('UL');
   for(var i=0;i<li.length;i++)
   {
      if(li[i].expanded=='true')
      {
         getEl(li[i].id).style.display = "block";
         pn=li[i].parentNode;
         pn.className = "rozwiniete";
//         pn.style.listStyleImage='url("./Img/minus.gif")';
      }
      else
      {
         getEl(li[i].id).style.display = "none";
         pn=li[i].parentNode;
         pn.className = "zwiniete";
//         pn.style.listStyleImage='url("./Img/plus.gif")';
      }
   }
   
   //ustawienie odpowiedniej selekcji i rozwiniecie tych wezlow, ktore zawieraja zaznaczone elementy
   if(selekcja.length > 0)
   {
      var sel=selekcja.split(",");
      for(var i=0;i<sel.length;i++)
      {
         getEl(sel[i]).className = 'zaznaczone';
         
         pn=getEl(sel[i]).parentNode.parentNode; //sel[i] to <span>, ale pomijamy jego pierwszego rodzica <li> i dopiero dzialamy na wyzszym poziomie drzewka
         
         while(pn.id != E.id)
         {
            if (pn.tagName=='LI')
            {
               pn.className = "rozwiniete";
      //         pn.style.listStyleImage='url("./Img/minus.gif")';
            }
            else if (pn.tagName=='UL')
            {
               pn.style.display = "block";
            }
            pn=pn.parentNode;
         }  
      }
   }
   
   E.onclick=function(e)
   {
      var ev=e?e:event,E=e?e.target:event.srcElement;
      
      if (E.tagName=='LI')
      {
         RozwinZwin(E);
      }
      if (E.tagName=='SPAN')
      {
         ZaznaczOdznacz(E);
      }  
   }
}

function RozwinZwin(E)
{
   li = E.getElementsByTagName('UL');

   if (li.length > 0)
   {
      podwezel=li[0].id;
      if (getEl(podwezel).style.display=="none")
      {
         getEl(podwezel).style.display = "block";
         E.className = "rozwiniete";
         //E.style.listStyleImage='url("./Img/minus.gif")';
      }
      else
      {
         getEl(podwezel).style.display = "none";
         E.className = "zwiniete";
         //E.style.listStyleImage='url("./Img/plus.gif")';
      }
   }
}


function ZaznaczOdznacz(E)
{
   if (E.className == 'zaznaczone')
   {
      E.className = 'niezaznaczone';
   }
   else
   {
      //odznacza wszystkie podrzedne
      PN = E.parentNode;
      li = PN.getElementsByTagName('SPAN');
      for(var i=0;i<li.length;i++)
      {
         li[i].className = 'niezaznaczone';
      }
      
      //odznacza wszystkie nadrzedne
      while (PN.nodeName == 'UL' || PN.nodeName == 'LI')
      {
         if (PN.nodeName == 'LI')
         {
            li = PN.getElementsByTagName('SPAN');
            li[0].className = 'niezaznaczone';
         }
         PN = PN.parentNode;
      }
      
      //zaznacza wlasciwy
      E.className = 'zaznaczone';
   }
}
var par;
var partree;

function ZapiszWartosci()
{
   ZaznaczoneWartosci("kind");
   document.getElementById('par_rodzaje').value=par;
   document.getElementById('par_treerodzaje').value=partree;
   ZaznaczoneWartosci("local");   
   document.getElementById('par_rejony').value=par;
   document.getElementById('par_treerejony').value=partree;
}

function ZaznaczoneWartosci(E)
{
   E=getEl(E);
   
   var wartosci='';             //dla $rodzaje i $rejony
   var identyfikatory='';       //dla $treerodzaje i $treerejony
   li = E.getElementsByTagName('SPAN');
   for(var i=0;i<li.length;i++)
   {
      if (li[i].className == 'zaznaczone')
      {
         identyfikatory = identyfikatory + li[i].id + ',';
         
         if ((li[i].id).charAt((li[i].id).length-1) == '&')   //jesli id ze znakiem & na koncu to bierze wszystkie podwezly
         {
            li2=(li[i].parentNode).getElementsByTagName('SPAN');      //znajdujemy podrzedne <span> dla rodzica czyli dla <li>
            for(var j=1;j<li2.length;j++)                             //j=1, bo pominiemy ten el ktory jest zazn. (<span> wezla)
            {
               wartosci = wartosci + (li2[j].id).slice(1) + ',';       //obciecie 't' z przodu
            }
         }
         else
         {
            wartosci = wartosci + (li[i].id).slice(1) + ',';           //obciecie 't' z przodu
         }
      }
   }
   par=wartosci.slice(0,-1);                //obciety przecinek na koncu
   partree=identyfikatory.slice(0,-1);      //obciety przecinek na koncu
}


function KasujSelekcje(E)
{
   E=getEl(E);
   
   li = E.getElementsByTagName('SPAN');
   for(var i=0;i<li.length;i++)
   {
      li[i].className = 'niezaznaczone';
   }
}


function getEl(id)
{
   if (ie)
   {
      el=document.all[id];
   }
   else
   {
      el=document.getElementById(id);
   }
   if(!el.style)
   {
      el.style=el;
   }
   return el
}

