// nastaveni doby animace a intervalu spousteni

var header_slider_duration = 500;
var header_slider_timeout = 7000;

var header_slider_visible = 0;
var header_slider_timer;

// inicializace, nastaveni vychozich pozic, spusteni casovace

$(document).ready(function()
{
   if($("#header-slider-boxes .header-slider-box").length > 1)
   {
      var width = parseInt($("#header-slider-boxes").width());
      
      $("#header-slider-boxes")
         .css({ position: 'relative' })
         .find(".header-slider-box:not(:first)")
            .css({ left: width+'px', display: 'block' });
      
      header_slider_timer = setTimeout(function(){ header_slider_move_in(); }, header_slider_timeout);
   }
   
   $("#header-slider-btn-next").click(function(){ header_slider_move_in(); return false; });
   $("#header-slider-btn-prev").click(function(){ header_slider_move_in_reverse(); return false; });
});

// slide do viditelne oblasti (zprava)

function header_slider_move_in(id)
{
   clearTimeout(header_slider_timer);
   
   // nic, pokud se pozadovane id rovna aktualnimu
   if((typeof(id) == 'undefined') || (id != header_slider_visible))
   {
      // zjisteni dalsiho ve fronte (pozadovany parametrem id / dalsi v poradi)
      var header_slider_next = (typeof(id) != 'undefined') ? id : (header_slider_visible + 1);
      if($(".header-slider-box:eq("+header_slider_next+")").length != 1) header_slider_next = 0;
      
      // nic, pokud se jeste animuje predchozi
      if(!$("#.header-slider-box:eq("+header_slider_visible+")").is(":animated"))
      {
         // zobrazeni noveho
         $(".header-slider-box:eq("+header_slider_next+")")
            .animate({ left: '0px' }, header_slider_duration);
      
         // odsunuti aktualniho a nastaveni noveho
         header_slider_move_out();
         header_slider_visible = header_slider_next;
      }
   }
   
   header_slider_timer = setTimeout(function(){ header_slider_move_in(); }, header_slider_timeout);
}

// slide do skryte oblasti (doleva)

function header_slider_move_out()
{
   // odsunuti vlevo do skryte oblasti a nasledne vraceni zpet do zasobniku
   $("#.header-slider-box:eq("+header_slider_visible+")")
      .animate({ left: '-'+$("#header-slider-boxes").outerWidth()+'px' }, header_slider_duration)
      .animate({ left: $("#header-slider-boxes").outerWidth()+'px' }, 1);
}

// slide do viditelne oblasti (zleva)

function header_slider_move_in_reverse(id)
{
   clearTimeout(header_slider_timer);
   
   // nic, pokud se pozadovane id rovna aktualnimu
   if((typeof(id) == 'undefined') || (id != header_slider_visible))
   {
      // zjisteni dalsiho ve fronte (pozadovany parametrem id / dalsi ve fronte)
      var header_slider_next = (typeof(id) != 'undefined') ? id : (header_slider_visible - 1);
      if(header_slider_next < 0) header_slider_next = $("#header-slider-boxes .header-slider-box").length - 1;
      
      // nic, pokud se jeste animuje predchozi
      if(!$(".header-slider-box:eq("+header_slider_visible+")").is(":animated"))
      {
         // presunuti do reverzni fronty
         $(".header-slider-box:eq("+header_slider_next+")")
            .css({ left: '-'+$("#header-slider-boxes").outerWidth()+'px' }, 1);
         
         // zobrazeni noveho
         $(".header-slider-box:eq("+header_slider_next+")")
            .animate({ left: '0px' }, header_slider_duration);
      
         // odsunuti aktualniho a nastaveni noveho
         header_slider_move_out_reverse();
         header_slider_visible = header_slider_next;
      }
   }
   
   header_slider_timer = setTimeout(function(){ header_slider_move_in(); }, header_slider_timeout);
}

// slide do skryte oblasti (zprava)

function header_slider_move_out_reverse()
{
   // odsunuti vpravo do skryte oblasti (do zasobniku)
   $(".header-slider-box:eq("+header_slider_visible+")")
      .animate({ left: $("#header-slider-boxes").outerWidth()+'px' }, header_slider_duration);
}
