//*****************************************************
// Funkcje ogolne
//*****************************************************
   function WykonajAkcje(akcja){
    
   }
   
   function Pokaz(warstwa){
    document.getElementById(warstwa).style.visibility = "visible";
   }
   function Ukryj(warstwa){
    document.getElementById(warstwa).style.visibility = "hidden";
   }

   // Ukrywa wszystkich rodzicow danego menuja
   function UkryjRodzica(Menu){
    var Zwrot = "";
    if (Menu.ParentMenu){
     if (! Menu.ParentMenu.CzyZawszeWidoczne){
      Zwrot += Menu.ParentMenu.Name + ".SetTimeoutID = UkryjCzasowa("+Menu.ParentMenu.Name+"); ";
     }
		Zwrot += UkryjRodzica(Menu.ParentMenu);
    }
   return Zwrot;
   }
   
   
   function UkryjPozostale(Obiekt,AktywnaPozycja){
    var j = 0;
    for(j=0;j<Obiekt.IloscPozycji;j++){
     if (j!=AktywnaPozycja){
      if (Obiekt.Pozycje[j].PodMenu){
        Obiekt.Pozycje[j].PodMenu.CzyAktywne = false;
        document.getElementById("Warstwa_"+Obiekt.Pozycje[j].PodMenu.Name).style.visibility = "hidden";
        UkryjPozostale(Obiekt.Pozycje[j].PodMenu,j);
      }
     }
    }
   }


   function AnulujZamykanieRodzicow(Obiekt){
    var Zwrot = "";
    if (Obiekt.ParentMenu){
     Zwrot = AnulujZamykanieRodzicow(Obiekt.ParentMenu) + " clearTimeout("+Obiekt.ParentMenu.Name+".SetTimeoutID); ";
    }
    return Zwrot;
   }

   function UkryjCzasowa(obiekt){
   var Id = 0;
    if(! obiekt.CzyAktywne){
     Id = window.setTimeout("Ukryj('Warstwa_"+obiekt.Name+"')",500);
     obiekt.CzyAktywne = false;
    } 
   return Id;
   }

   function UstawPozycje(warstwa,top,left){
    document.getElementById(warstwa).style.left = left;
    document.getElementById(warstwa).style.top = top;
   }

   function UstawPozycjeDoPionowego(ObiektPodlegly,ObiektNadrzedny,NumerPozycji){
    var Left = parseInt(document.getElementById("Warstwa_"+ObiektNadrzedny.Name).offsetLeft)+parseInt(document.getElementById("Warstwa_"+ObiektNadrzedny.Name).style.width)-5;
    var Top = parseInt(document.getElementById("Warstwa_"+ObiektNadrzedny.Name).offsetTop)+NumerPozycji*16+5;
    document.getElementById("Warstwa_"+ObiektPodlegly.Name).style.left = Left;
    document.getElementById("Warstwa_"+ObiektPodlegly.Name).style.top = Top;
   }

   function UstawPozycjeDoPoziomego(ObiektPodlegly,ObiektNadrzedny,NumerPozycji){
    var Left = 0;
    var Top = 0;
    if(ObiektPodlegly.PrzesuniecieLeft != 0){ 
     Left = parseInt(document.getElementById("Warstwa_"+ObiektNadrzedny.Name).offsetLeft)+ parseInt(ObiektPodlegly.PrzesuniecieLeft) ;
    }
    else {
     Left = parseInt(document.getElementById("Warstwa_"+ObiektNadrzedny.Name).offsetLeft)+ NumerPozycji*150;    
    } 
    if(ObiektPodlegly.PrzesuniecieTop != 0){ 
     Top = parseInt(document.getElementById("Warstwa_"+ObiektNadrzedny.Name).offsetTop)+ parseInt(ObiektPodlegly.PrzesuniecieTop);
    }
    else {
     Top = parseInt(document.getElementById("Warstwa_"+ObiektNadrzedny.Name).offsetTop)+ NumerPozycji*16;    
    } 
  
    document.getElementById("Warstwa_"+ObiektPodlegly.Name).style.left = Left;
    document.getElementById("Warstwa_"+ObiektPodlegly.Name).style.top = Top;
   }


// Obiekt Menu
function Menu(){
 this.Nazwa = "";
}

// Obiekt Podmenu
function PodMenu(){
// Dane konfiguracyjne
this.Name = "";
this.Width = 0;
this.Height = 0;
this.Top = 0;
this.Left = 0;
this.PrzesuniecieTop = 0;
this.PrzesuniecieLeft = 0;
this.IloscPozycji = 0;
this.CzyWidoczne = false;
this.CzyAktywne = false;
this.CzyZawszeWidoczne = false;
this.KlasaTABLECSS = "";
this.KlasaTABLECSSAktywna = "";
this.TABlEBorder = 0;
this.TABlEcellSpacing = 0;
this.TABlEcellPadding = 0;



this.Orientacja= 0;
// Orientacja
// 0 - pionowa
// 1 - pozioma

this.Pozycjonowanie = 0;
// Pozycjonowanie
// 0 - bezwzglednie
// 1 - wzglednie

this.SetTimeoutID = 0;

this.Pozycje = new Array();
this.ParentMenu;

// Skladanie zawartosci Podmenu
this.Render = RenderPodMenu;
this.DodajPozycje = DodajPozycje;


}

//Funkcja renderujaca
function RenderPodMenu(){

this.Content = ""; 
this.Content +="<DIV id=\"Warstwa_"+this.Name+"\" style=\"Z-INDEX: 100; "; 
this.Content +=" VISIBILITY: ";
if(this.CzyZawszeWidoczne){
 this.Content +=" visible; ";
} else {
 this.Content +=" hidden; ";
}
this.Content +=" POSITION: " 

if (this.Pozycjonowanie==0){
 this.Content +=" absolute; "
} else {
 this.Content +=" relative; "
}
this.Content +=" TOP: "+this.Top+"px; LEFT: "+this.Left+"px; WIDTH: "+this.Width+"px; HEIGHT: "+this.Height+"px; \">";


this.Content +="<TABLE id=\"Tabela_"+this.Name+"\" hight=\""+this.Height+"px\" width=\""+this.Width+"px\" ";

this.Content +="cellSpacing=\""+this.TABlEcellSpacing+"\" cellPadding=\""+this.TABlEcellPadding+"\" border=\""+this.TABlEBorder+"\" ";



 if(this.KlasaTABLECSS != ""){
  this.Content +=" class=\""+this.KlasaTABLECSS+"\" ";
 }
this.Content +=" >";

//****************************************
// Poczatek petli
//****************************************


if (this.Orientacja==1){this.Content +="<TR>";}

for(i=0;i<this.IloscPozycji;i++){
 // rendering pozycji
 
 if (this.Orientacja==0){
 this.Content +="<TR>";
 }
 this.Content +="<TD ";
 
 if(this.KlasaTDCSS != ""){
  this.Content +=" class=\""+this.Pozycje[i].KlasaTDCSS+"\" ";
 }
 
  this.Content +=" width=\""+this.Pozycje[i].Width+"\" ";

 
 // Obsluga onclick
 if((this.Pozycje[i].Aplikacja!="")||(this.Pozycje[i].FunkcjaAplikacji !="")){
  this.Content +=" onclick=\"";
  if (this.Pozycje[i].AplikacjaCzyAkcja)
   { 
	this.Content +=" document.location.href='"+this.Pozycje[i].Aplikacja+"';";
   }
  else
   {
	
	if(this.Pozycje[i].FunkcjaAplikacji != ""){
	 this.Content +=" "+this.Pozycje[i].FunkcjaAplikacji+"; ";
	}
	else{
	 this.Content +=" "+this.Pozycje[i].NazwaFunkcjiAplikacji+"('"+this.Pozycje[i].Aplikacja+"');";
	}
   } 
  
  this.Content +="\""; 
 }
 
 
 this.Content +=" onmouseout=\"";

 if(this.KlasaTDCSS != ""){
  this.Content +="this.className = '"+this.Pozycje[i].KlasaTDCSS+"'; ";
} 
 
 this.Content +=" "+this.Name+".CzyAktywne = false; ";
 if (this.Pozycje[i].PodMenu){
  this.Pozycje[i].PodMenu.ParentMenu = this;

// *******************************************************************************************************************
  //this.Content += this.Pozycje[i].PodMenu.Name + ".SetTimeoutID = UkryjCzasowa("+this.Pozycje[i].PodMenu.Name+"); ";
// *******************************************************************************************************************
 

}

 if (! this.CzyZawszeWidoczne){
 // this.Content += this.Name + ".SetTimeoutID = UkryjCzasowa("+this.Name+"); ";
 }


 this.Content += UkryjRodzica(this);
 //if (this.ParentMenu){
 // if (! this.ParentMenu.CzyZawszeWidoczne){
 //  this.Content += this.ParentMenu.Name + ".SetTimeoutID = UkryjCzasowa("+this.ParentMenu.Name+"); ";
 // }
// }


 this.Content +="\"";
 
//this.Content +=" onmouseover=\"";

this.Content +=" onclick=\"";
 
 if(this.Pozycje[i].KlasaTDCSSAktywna != ""){
  this.Content +="this.className = '"+this.Pozycje[i].KlasaTDCSSAktywna+"'; ";
 }
 this.Content +=" "+this.Name+".CzyAktywne = true; ";
 if (this.Pozycje[i].PodMenu){
  
  
  if(this.Orientacja==0){
   this.Pozycje[i].PodMenu.Top = this.Top+i*20;
   this.Pozycje[i].PodMenu.Left = this.Left+this.Width-5;
   this.Content +=" UstawPozycjeDoPionowego("+this.Pozycje[i].PodMenu.Name+","+this.Name+","+i+"); ";
  }
  
  if(this.Orientacja==1){
   this.Pozycje[i].PodMenu.Top = this.Top+20;
   this.Pozycje[i].PodMenu.Left = this.Left+i*100;
   this.Content +=" UstawPozycjeDoPoziomego("+this.Pozycje[i].PodMenu.Name+","+this.Name+","+i+"); ";
  }
  
  this.Content +=" Pokaz('Warstwa_"+this.Pozycje[i].PodMenu.Name+"'); ";
  this.Content +=" clearTimeout("+this.Pozycje[i].PodMenu.Name+".SetTimeoutID); ";
 } 

  this.Content += " UkryjPozostale("+this.Name+","+i+"); ";
  this.Content += " clearTimeout("+this.Name+".SetTimeoutID); ";
  
 if (this.ParentMenu){
  this.Content += AnulujZamykanieRodzicow(this);
 }
  
  
   
 this.Content +="\"";
 this.Content +=" >"+this.Pozycje[i].Text+"</TD>";

 if(this.Orientacja==0){
  this.Content +="</TR>";
 }
}

 if(this.Orientacja==1){
  this.Content +="</TR>";
 }



//****************************************
// Koniec petli
//****************************************

this.Content +="</TABLE>";
this.Content +="</DIV>";
 
return this.Content;
}

// Pozycja menu
function PozycjaMenu(){
 this.Text = "";
 this.PodMenu;
 this.ParentMenu;
 this.Width=0;
 this.KlasaTDCSS = "";
 this.KlasaTDCSSAktywna = "";
 
 // Normalnie jest akcja
 // Wywolanie akcji po kliknieciu w menu
 
 this.Aplikacja = "";
 
 this.FunkcjaAplikacji = "";
 this.NazwaFunkcjiAplikacji = "";

 this.AplikacjaCzyAkcja = false;



}

function DodajPozycje(PozycjaMenu){
 this.IloscPozycji = this.Pozycje.push(PozycjaMenu);
 PozycjaMenu.ParentMenu = this;
 
}