﻿Tygrik.Panel = function()
{
}

Tygrik.Panel.bPromptly = false; // nekdy je na strance moc veci napr TinyMCE a pak je vykreslovani oken pomale, nastavenim na true se okna kresli rychleji


// pozadi
Tygrik.Panel.oOriginalBackground = null;

Tygrik.Panel.Original = function()
{
   if (Tygrik.Panel.oOriginalBackground == null)
   {
      var boxMainArea = Tygrik.System.ByID("BoxMainArea");
      if (boxMainArea != null)
      {
         if (boxMainArea.currentStyle) // Internet Explorer
         {
            Tygrik.Panel.oOriginalBackground = Tygrik.System.ColorConvert(boxMainArea.currentStyle.backgroundColor);
         }
         if (window.getComputedStyle) // Mozilla
         {
	        Tygrik.Panel.oOriginalBackground = Tygrik.System.ColorConvert(window.getComputedStyle(boxMainArea, null).backgroundColor);
         }   
      }
   }
}

// zasedovani stranky na pozadi
Tygrik.Panel.iPageTimerTime = 10;
Tygrik.Panel.iPageActualLevel = 10;
Tygrik.Panel.iPageWantedLevel = 10;
Tygrik.Panel.iPageInitialLevel = 10;
Tygrik.Panel.iPageFinalLevel = 4;
Tygrik.Panel.iPageStepLevelSlow = 2;
Tygrik.Panel.iPageStepLevelFast = 6;


Tygrik.Panel.PageFade = function()
{
   Tygrik.Panel.Original();
   
   Tygrik.Panel.iPageWantedLevel = Tygrik.Panel.iPageFinalLevel;
   Tygrik.Panel.TimerStart();
}

Tygrik.Panel.PageNormal = function()
{
   Tygrik.Panel.Original();

   Tygrik.Panel.iPageWantedLevel = Tygrik.Panel.iPageInitialLevel; 
   Tygrik.Panel.TimerStart();
}

// casovac pro postupne promeny
Tygrik.Panel.bTimerWork = false;
Tygrik.Panel.TimerStart = function()
{
   if (!Tygrik.Panel.bTimerWork)
   {
      Tygrik.Panel.bTimerWork = true;
      setTimeout('Tygrik.Panel.onTimerPanel()', 1);
   }
}
Tygrik.Panel.TimerStop = function()
{
   Tygrik.Panel.bTimerWork = false;
}
Tygrik.Panel.onTimerPanel = function()
{
   if (Tygrik.Panel.bTimerWork)
   {
      var bStayTimer = false;

      if (Tygrik.Panel.iPageActualLevel != Tygrik.Panel.iPageWantedLevel)
      {
         var bShadeNow = false;
         if (Tygrik.Panel.iPageActualLevel > Tygrik.Panel.iPageWantedLevel)
         {
            Tygrik.Panel.iPageActualLevel = Tygrik.Panel.iPageActualLevel - (Tygrik.Panel.bPromptly ? Tygrik.Panel.iPageStepLevelFast : Tygrik.Panel.iPageStepLevelSlow);
            bShadeNow = true;
         }     
         if (Tygrik.Panel.iPageActualLevel < Tygrik.Panel.iPageWantedLevel)
         {
            Tygrik.Panel.iPageActualLevel = Tygrik.Panel.iPageActualLevel + (Tygrik.Panel.bPromptly ? Tygrik.Panel.iPageStepLevelFast : Tygrik.Panel.iPageStepLevelSlow);
            bShadeNow = true;
         }
         if (bShadeNow)
         {
            var boxMainArea = Tygrik.System.ByID("BoxMainArea");
            if (boxMainArea != null)
            {
               boxMainArea.style.backgroundColor = Tygrik.System.ColorHashRGBText(Tygrik.System.ColorShade(Tygrik.Panel.oOriginalBackground, Tygrik.Panel.iPageActualLevel * 0.1));
               Tygrik.Style.Opacity(boxMainArea, Tygrik.Panel.iPageActualLevel);
            }
         }        
      }
      bStayTimer = bStayTimer || (Tygrik.Panel.iPageActualLevel != Tygrik.Panel.iPageWantedLevel);
      
      if (bStayTimer)
      {
         setTimeout('Tygrik.Panel.onTimerPanel()', Tygrik.Panel.iPageTimerTime);
      }
      else
      {
         Tygrik.Panel.TimerStop();
      }
   }
}

Tygrik.Panel.Restore = function()
{
   var bRestore = true;
   var iWindows = Tygrik.Window.qWindows.length;
   for (var iWindow = 0; iWindow < iWindows; iWindow++)
   {
      var oWindowNow = Tygrik.Window.qWindows[iWindow];
      var bVisible = oWindowNow.Visible();
      if (bVisible)
      {
         bRestore = false;
      }
   }

   if (bRestore)
   {
      Tygrik.Panel.PageNormal();
   }
}

Tygrik.Panel.NewFade = function()
{
  var oFade = Tygrik.System.ByID("tygrik_fade");
  if (oFade == null)
  {
    oFade = document.createElement("a");
    oFade.id = "tygrik_fade";
    oFade.style.position = "fixed";
    oFade.style.left = "0px";
    oFade.style.top = "0px";
    oFade.style.width = "100%";
    oFade.style.height = "100%";
    oFade.style.zIndex = 99;
    oFade.style.backgroundColor = "#232323";
    document.body.appendChild(oFade);
  }
  oFade.style.display = "block";
  Tygrik.Style.Opacity(oFade, Tygrik.Panel.iPageFinalLevel);
}

Tygrik.Panel.NewFadeRestore = function()
{
   var bRestore = true;
   var iWindows = Tygrik.Window.qWindows.length;
   for (var iWindow = 0; iWindow < iWindows; iWindow++)
   {
      var oWindowNow = Tygrik.Window.qWindows[iWindow];
      var bVisible = oWindowNow.Visible();
      if (bVisible)
      {
         bRestore = false;
      }
   }
   
   if(bRestore)
   {
     var oFade = Tygrik.System.ByID("tygrik_fade");
     if (oFade != null)
     {
        oFade.style.display = "none";
     }
   }
}
