// JavaScript Document
var explorer;
var timer;
var sirka;
//var sirka_iframe = 980;
var offset = 0;
var pixelLeft = 0;
//var bunka = 120;
//var posuvnik_navigace = 874; // délka posuvníku pro produkty
var krok = 1;
var pocitadlo_prodlev = 0;
var max_rychlost = 8;
var boost_rychlost = 16;
var slajd_rychlost = 70; 
var prodleva = 45;
var nasobek_prodlevy = 1;
var smer = -1;    // smer 0 - doleva, 1 - doprava   
var pocet_slajdu;
var aktualni_slajd;

var zmena_detail = 5;
//var cislo_pom_detail = 988;   // slouží k nastavení ujeté vzdálenosti skútry
var cislo_pom_prodejce = 288;      // slouží k nastavení ujeté vzdálenosti skútry

var delka_posunu = 0;  // počítáme vzdálenost o kterou byl posunut prvek

var status = 0;  // stojime  1 - zrychleni, 2 - zpomaleni, 3 - boost , 4 - detail rozjezd , 5 - detail dojezd, 6 - prodejce

explorer = (navigator.appVersion.indexOf("MSIE") > 0)? true : false

function Pohyb(orientace) {
  krok = 1;
  timer = clearTimeout(timer);    
  smer = orientace;
  status = 1;   
  pocitadlo_prodlev = -3;
  
 
  SipkyVisible();

  Zrychlujem();
} 

function Zastav(orientace) {
  smer = orientace;
  if (status != 5)
    status = 2;
  pocitadlo_prodlev = 0;
  Zpomal();
  
  SipkyHidden();

  Zpomalujem();
} 

function PresunProdejce(orientace, pocet) {
  if (status != 0)
    return;
  
  var pokracovat = PripravPresun(orientace, pocet);
  
  //alert('delka presunu = '+cislo_pom_prodejce);
  
  if (pokracovat) {
    sirka_iframe =  cislo_pom_prodejce;
    status = 6;
    PresunSlajd(cislo_pom_prodejce);
  }
  else 
    return;  
} 

function PresunDetail(orientace, pocet) {
  if (status != 0)
    return;
    
  var pokracovat = PripravPresun(orientace, pocet);
  
  if (pokracovat) { 
    status = 4;
    PresunSlajd((cislo_pom_detail / 2));
  }
  else 
    return;  
} 

function PresunNews(orientace, pocet) {
  if (status != 0)
    return;

  var pokracovat = PripravPresun(orientace, pocet);
   
  if (pokracovat) { 
    status = 5;
    PresunSlajd((cislo_pom_detail / 2));
  }
  else 
    return;  
}

function PripravPresun(orientace, pocet) {
  prvek = document.getElementById('pocitadlo_slajdu');
  aktualni_slajd = prvek.value * 1; 
    
  smer = orientace; 
  pocet_slajdu = pocet;
  
 // alert('smer = '+smer+ 'aktualni_slajd = '+aktualni_slajd + 'pocet_slajdu = ' + pocet_slajdu); 
  
  if ((smer == 0) && (aktualni_slajd == 1)) {
    return false;
  }
  else if (smer == 0) {
    aktualni_slajd = prvek.value * 1;
    aktualni_slajd = aktualni_slajd - 1;
  } 
 
  if ((smer == 1) && (aktualni_slajd >= pocet_slajdu  )){
    return false;
  }  
  else if (smer == 1) {
    aktualni_slajd = prvek.value * 1;
    aktualni_slajd = aktualni_slajd + 1;  
  }  
  
//  alert(aktualni_slajd + 'zfghsfh');
  
  prvek.value = aktualni_slajd;
  krok = 1;
  timer = clearTimeout(timer);    
  smer = orientace;
  pocitadlo_prodlev = 0;
  return true;
}

function PresunSlajd(cislo_pom) {
  krok = 50;
   
  if ((delka_posunu + krok) > cislo_pom) {
    krok = cislo_pom - delka_posunu;
  }
  //alert('delka posunu  = '+ delka_posunu + ' < '+ cislo_pom )
  if (delka_posunu >= cislo_pom) {
    Ukonceni();
  }
  else
    timer = setTimeout("Posun("+ smer +");", prodleva); 
}

   
function Zrychlujem() {

  if (status != 4) {
    pocitadlo_prodlev++;
    if (pocitadlo_prodlev > nasobek_prodlevy) {
      pocitadlo_prodlev = 0;
      Zrychli();
    }
  }
  else 
    Zrychli();
    timer = setTimeout("Posun("+ smer +");", prodleva);
}

function Zpomalujem()  {

  if (status != 5) {
    pocitadlo_prodlev++;
    if (pocitadlo_prodlev > nasobek_prodlevy) {
      pocitadlo_prodlev = 0;
      Zpomal();
    }
  }
  else 
    Zpomal();
  
  if (krok > 1) 
    timer = setTimeout("Posun("+ smer +");", prodleva);  
  else {
    if ((delka_posunu < 990) && (status == 5)) {

      timer = setTimeout("Posun("+ smer +");", prodleva);       
    }
    else {
      timer = clearTimeout(timer); 
      smer = -1;
      delka_posunu = 0;
      status = 0;
    }
  }  
}  
   
function Posun() {
  var prvek;
  prvek = document.getElementById("kolekce_navigace");
  sirka = document.getElementById("kolekce_navigace").offsetWidth;
 // var souradnice0 = document.getElementById("left0");


  if (explorer) {
    if (sirka < sirka_iframe) {
      prvek.style.pixelLeft = 0;
      pixelLeft = 0;
      if ((status != 4) && (status != 5) && (status != 6))
        Posuvnik(0);
      Ukonceni();  
      return;
    }

    if ((pixelLeft + krok > 0) && (smer == 0)) {
      prvek.style.pixelLeft = 0;
      pixelLeft = 0;     
      if ((status != 4) && (status != 5) && (status != 6))
        Posuvnik(0);
      Ukonceni();
      return;
    }   
    if ((pixelLeft - krok < -1 * sirka + sirka_iframe) && (smer == 1)) {
      prvek.style.pixelLeft = -1 * sirka + sirka_iframe;
      pixelLeft = -1 * sirka + sirka_iframe;  
      if ((status != 4) && (status != 5) && (status != 6))
        Posuvnik(-1 * sirka + sirka_iframe);
   //   alert('posun3  sirka');
      Ukonceni();
      return;
    }      
  }
  else {
    if (sirka < sirka_iframe) {
      prvek.style.left = '0px';
      pixelLeft = 0;
      if ((status != 4) && (status != 5) && (status != 6))
        Posuvnik(0);
      Ukonceni();
      return;
    }

    if ((pixelLeft + krok > 0) && (smer == 0)) {
      prvek.style.left = '0px';
      pixelLeft = 0;
      if ((status != 4) && (status != 5) && (status != 6))
        Posuvnik(0);
      Ukonceni();
      return;
    }   
    if ((pixelLeft - krok < -1 * sirka + sirka_iframe) && (smer == 1)) {
      prvek.style.left = "" + (-1 * sirka + sirka_iframe) + "px";
      pixelLeft = -1 * sirka + sirka_iframe;
      if ((status != 4) && (status != 5) && (status != 6))
        Posuvnik(-1 * sirka + sirka_iframe);
      Ukonceni();
      return;
    } 
  }

  if (smer == 1) {
    pixelLeft -= krok;
    if ((status != 4) && (status != 5) && (status != 6))  // zde se vypíná posuvník
      Posuvnik(pixelLeft);

    delka_posunu += krok; 
    if (explorer) 
      prvek.style.pixelLeft = pixelLeft;         
    else {          
      prvek.style.left = pixelLeft + 'px';
    }          
  }
  else {
    if ((status != 4) && (status != 5) && (status != 6))    // zde se vypíná posuvník
      Posuvnik(pixelLeft);
    pixelLeft += krok;
    delka_posunu += krok;
    if (explorer)
      prvek.style.pixelLeft = pixelLeft;
    else 
      prvek.style.left = pixelLeft + 'px';
 
  }
 // souradnice0.value = delka_posunu;  

  if (status == 1)
    Zrychlujem();   
  else if (status == 2)   
    Zpomalujem();  
  else if (status == 3)
    BoostOn();  
  else if (status == 4)
    PresunSlajd(cislo_pom_detail); 
  else if (status == 5)
    PresunSlajd((cislo_pom_detail / 2));
   else if (status == 6)
    PresunSlajd(cislo_pom_prodejce);         
}

function Zrychli() {
  if (status == 4) {
    if (krok < slajd_rychlost)
      krok += zmena_detail;
  }
  else 
    if (krok < max_rychlost) 
      krok += 1;
  
  return;
}

function Zpomal() {
  if (status != 5) {
    if (krok > 1)
      krok -= 1;
  }
  else {
    if (krok > 1)
      krok -= zmena_detail;
  }  
  return;
}

function BoostOn() {
  krok = boost_rychlost;
  status = 3;
  timer = setTimeout("Posun("+ smer +");", prodleva);
}

function BoostOff() {
  krok = 1;
  timer = clearTimeout(timer); 
  status = 0;
}

function Posuvnik(pixelLeft) {

  var sirka_kolekce = document.getElementById("kolekce_navigace").offsetWidth;
  var posuvnik = document.getElementById("posuvnik");
  var max_posuv = sirka_kolekce - sirka_iframe;
  
  var souradnice = document.getElementById("left");
  var souradnice2 = document.getElementById("left2");
    
  if (max_posuv > 0) {
    if (pixelLeft > 0) {
   
      if (explorer) 
        posuvnik.style.pixelLeft = 0;         
      else           
        posuvnik.style.left =  0 + 'px';
    }  
    else {
      var podil = posuvnik_navigace / max_posuv;
      var pom = pixelLeft * -1;
      var posun = pom * podil; 
      
      if (posun > krok)
        posun = Math.round(posun);
      else
        posun = 0;            
                 
      if (explorer) 
        posuvnik.style.pixelLeft = posun;         
      else           
        posuvnik.style.left =  posun + 'px';
    }
  }
//  souradnice.value = posun;  
//  souradnice2.value = pom;       
}



function SipkyVisible() {

  sirka = document.getElementById("kolekce_navigace").offsetWidth;
  
 // alert('pixelLeft = '+ pixelLeft + '; max =' + (sirka - sirka_iframe) +'' );
  
  PomLeft = pixelLeft * -1; 
  var visible = false;
  
  if ((PomLeft == 0) && (smer == 1)) 
    visible = true;
    
  if ((smer == 0) && (PomLeft == (sirka - sirka_iframe))) 
    visible = true;
    
  if ((PomLeft > 0) && (PomLeft < (sirka - sirka_iframe))) 
    visible = true;
  
 
//  if (visible)

  if ( ((PomLeft == 0) && (smer == 1)) || ((smer == 0) && (PomLeft == (sirka - sirka_iframe)))  || ((PomLeft > 0) && (PomLeft < (sirka - sirka_iframe)))  )  
    if (smer == 0) {
      var sipka = document.getElementById("leva_sipka_posuvu");
      sipka.style.visibility = 'visible';    
    }
    else {
      var sipka = document.getElementById("prava_sipka_posuvu");
      sipka.style.visibility = 'visible';
    }  
}

function SipkyHidden() {
    var sipka = document.getElementById("leva_sipka_posuvu");
    sipka.style.visibility = 'hidden';    

    var sipka = document.getElementById("prava_sipka_posuvu");
    sipka.style.visibility = 'hidden';
}

function Ukonceni() {
  
  if (status == 4) {
    prvek_text = document.getElementById('pocitadlo_slajdu_text');   
    prvek_text.innerHTML = aktualni_slajd + '/'+ (pocet_slajdu);
    smer = -1;
  }
    if ((status == 5) || (status == 6)) {
    prvek_text = document.getElementById('pocitadlo_slajdu_text');   
    prvek_text.innerHTML = aktualni_slajd + '/'+ (pocet_slajdu);
    smer = -1;
  }    
  
  delka_posunu = 0;
  status = 0;
  SipkyHidden();
  timer = clearTimeout(timer);
  return;
}
