// JavaScript Document

var Media = function(id_predpona, class_name) {

  this.nazev_tridy = class_name;
  this.id_prefix = id_predpona;
  this.explorer;
  this.timer;
  this.sirka;
  this.sirka_iframe = 980;
  this.pixelLeft = 0;
  this.posuvnik_navigace = 874; // délka posuvníku pro produkty
  this.krok = 1;
  this.pocitadlo_prodlev = 0;
  this.max_rychlost = 8;
  this.boost_rychlost = 16;
  this.slajd_rychlost = 70; 
  this.prodleva = 45;
  this.nasobek_prodlevy = 1;
  this.smer = -1;    // smer 0 - doleva, 1 - doprava   
  this.pocet_slajdu;
  this.aktualni_slajd;
  
  this.zmena_detail = 5;
  this.cislo_pom_detail = 988;   // slouží k nastavení ujeté vzdálenosti skútry
  this.cislo_pom_prodejce = 310;      // slouží k nastavení ujeté vzdálenosti skútry
  
  this.delka_posunu = 0;  // počítáme vzdálenost o kterou byl posunut prvek
  
  this.status = 0;  // stojime  1 - zrychleni, 2 - zpomaleni, 3 - boost , 4 - detail rozjezd , 5 - detail dojezd, 6 - prodejce
  
  this.explorer = (navigator.appVersion.indexOf("MSIE") > 0)? true : false
  
  this.hlaseni = function() {

      alert(this.id_prefix+'pocitadlo_slajdu');
  }  
  
  this.pohyb = function(orientace) {
    this.krok = 1;
    clearTimeout(this.timer);    
    this.smer = orientace;
    this.status = 1;   
    this.pocitadlo_prodlev = -3;
    
   
    this.sipkyVisible();
  
    this.zrychlujem();
  } 
  
  this.zastav = function(orientace) {
    this.smer = orientace;
    if (this.status != 5)
      this.status = 2;
    this.pocitadlo_prodlev = 0;
    this.zpomal();
    
    this.sipkyHidden();
  
    this.zpomalujem();
  } 


  // function PresunProdejce(orientace, pocet) {
  this.presunProdejce = function(orientace, pocet) {     

  
    if (this.status != 0)
      return;
    
    var pokracovat = this.pripravPresun(orientace, pocet);
    
    //alert('delka presunu = '+this.this.cislo_pom_prodejce);
    
    if (pokracovat) {
      this.sirka_iframe =  this.cislo_pom_prodejce;
      this.status = 6;
      this.presunSlajd(this.cislo_pom_prodejce);
    }    
    else 
      return "Hotovo";   
  //  alert("presun konec funkc");  
  } 
  
  //function PresunDetail(orientace, pocet) {
  this.presunDetail = function(orientace, pocet) {
    if (this.status != 0)
      return;
      
    var pokracovat = this.pripravPresun(orientace, pocet);
    
    if (pokracovat) { 
      this.status = 4;
      this.presunSlajd((this.cislo_pom_detail / 2));
    }
    else 
      return;  
  } 
  
/*  function PresunNews(orientace, pocet) {

    if (this.status != 0)
      return;
  
    var pokracovat = PripravPresun(orientace, pocet);
     
    if (pokracovat) { 
      this.status = 5;
      PresunSlajd((this.cislo_pom_detail / 2));
    }
    else 
      return;  
  }     */
  
//  function PripravPresun(orientace, pocet) {
  this.pripravPresun = function(orientace, pocet) {
  
    prvek = document.getElementById(this.id_prefix+'pocitadlo_slajdu');
 //   prvek = $(" #"+this.id_prefix+" #pocitadlo_slajdu ");
    this.aktualni_slajd = prvek.value * 1; 
    
    this.smer = orientace; 
    this.pocet_slajdu = pocet;
    
   // alert('smer = '+smer+ 'this.aktualni_slajd = '+this.aktualni_slajd + 'this.pocet_slajdu = ' + this.pocet_slajdu); 
    
    if ((this.smer == 0) && (this.aktualni_slajd == 1)) {
      return false;
    }
    else if (this.smer == 0) {
      this.aktualni_slajd = prvek.value * 1;
      this.aktualni_slajd = this.aktualni_slajd - 1;
    } 
   
    if ((this.smer == 1) && (this.aktualni_slajd >= this.pocet_slajdu  )){
      return false;
    }  
    else if (this.smer == 1) {
      this.aktualni_slajd = prvek.value * 1;
      this.aktualni_slajd = this.aktualni_slajd + 1;  
    }  
    
  //  alert(this.aktualni_slajd + 'zfghsfh');
    
    prvek.value = this.aktualni_slajd;
    this.krok = 1;
    clearTimeout(this.timer);    
    this.smer = orientace;
    this.pocitadlo_prodlev = 0;
    return true;
  }
  
  //function PresunSlajd(cislo_pom) {
  this.presunSlajd = function(cislo_pom) {
    this.krok = 50;

    if ((this.delka_posunu + this.krok) > cislo_pom) {
      this.krok = cislo_pom - this.delka_posunu;
    }
    //alert('delka posunu  = '+ this.delka_posunu + ' < '+ cislo_pom )
    if (this.delka_posunu >= cislo_pom) {
      this.ukonceni();
    }   
    else
      setTimeout(this.nazev_tridy+".posun("+ this.smer +");", this.prodleva);      
  }
  
     
 // function Zrychlujem() {
  this.zrychlujem = function() {
  
    if (this.status != 4) {
      this.pocitadlo_prodlev++;
      if (this.pocitadlo_prodlev > this.nasobek_prodlevy) {
        this.pocitadlo_prodlev = 0;
        this.zrychli();
      }
    }
    else 
      this.zrychli();
      setTimeout(this.nazev_tridy+".posun("+ this.smer +");", this.prodleva);
  }
  
  //function Zpomalujem()  {
  this.zpomalujem = function() {
    if (this.status != 5) {
      this.pocitadlo_prodlev++;
      if (this.pocitadlo_prodlev > this.nasobek_prodlevy) {
        this.pocitadlo_prodlev = 0;
        this.zpomal();
      }
    }
    else 
      this.zpomal();
    
    if (this.krok > 1) 
      setTimeout(this.nazev_tridy+".posun("+ this.smer +");", this.prodleva);  
    else {
      if ((this.delka_posunu < 990) && (this.status == 5)) {
  
        setTimeout(this.nazev_tridy+".posun("+ this.smer +");", this.prodleva);       
      }
      else {
        clearTimeout(this.timer); 
        this.smer = -1;
        this.delka_posunu = 0;
        this.status = 0;
      }
    }  
  }  
     
  // function Posun() {
  this.posun = function() {
  
    var prvek;
    prvek = document.getElementById(this.id_prefix+"kolekce_navigace");
 //   prvek = $(" #"+this.id_prefix+" #kolekce_navigace ");
    this.sirka = document.getElementById(this.id_prefix+"kolekce_navigace").offsetWidth;
  //  this.sirka = prvek.offsetWidth;
   // var souradnice0 = document.getElementById("left0");
  
  
    if (this.explorer) {
      if (this.sirka < this.sirka_iframe) {
        prvek.style.pixelLeft = 0;
        this.pixelLeft = 0;
        if ((this.status != 4) && (this.status != 5) && (this.status != 6))
          this.posuvnik(0);
        this.ukonceni();  
        return;
      }
  
      if ((this.pixelLeft + this.krok > 0) && (this.smer == 0)) {
        prvek.style.pixelLeft = 0;
        this.pixelLeft = 0;     
        if ((this.status != 4) && (this.status != 5) && (this.status != 6))
          this.posuvnik(0);
        this.ukonceni();
        return;
      }   
      if ((this.pixelLeft - this.krok < -1 * this.sirka + this.sirka_iframe) && (this.smer == 1)) {
        prvek.style.pixelLeft = -1 * this.sirka + this.sirka_iframe;
        this.pixelLeft = -1 * this.sirka + this.sirka_iframe;  
        if ((this.status != 4) && (this.status != 5) && (this.status != 6))
          this.posuvnik(-1 * this.sirka + this.sirka_iframe);
     //   alert('posun3  this.sirka');
        this.ukonceni();
        return;
      }      
    }
    else {
      if (this.sirka < this.sirka_iframe) {
        prvek.style.left = '0px';
        this.pixelLeft = 0;
        if ((this.status != 4) && (this.status != 5) && (this.status != 6))
          this.posuvnik(0);
        this.ukonceni();
        return;
      }
  
      if ((this.pixelLeft + this.krok > 0) && (this.smer == 0)) {
        prvek.style.left = '0px';
        this.pixelLeft = 0;
        if ((this.status != 4) && (this.status != 5) && (this.status != 6))
          this.posuvnik(0);
        this.ukonceni();
        return;
      }   
      if ((this.pixelLeft - this.krok < -1 * this.sirka + this.sirka_iframe) && (this.smer == 1)) {
        prvek.style.left = "" + (-1 * this.sirka + this.sirka_iframe) + "px";
        this.pixelLeft = -1 * this.sirka + this.sirka_iframe;
        if ((this.status != 4) && (this.status != 5) && (this.status != 6))
          this.posuvnik(-1 * this.sirka + this.sirka_iframe);
        this.ukonceni();
        return;
      } 
    }
  
    if (this.smer == 1) {
      this.pixelLeft -= this.krok;
      if ((this.status != 4) && (this.status != 5) && (this.status != 6))  // zde se vypíná posuvník
        this.posuvnik(this.pixelLeft);
  
      this.delka_posunu += this.krok; 
      if (this.explorer) 
        prvek.style.pixelLeft = this.pixelLeft;         
      else {          
        prvek.style.left = this.pixelLeft + 'px';
      }          
    }
    else {
      if ((this.status != 4) && (this.status != 5) && (this.status != 6))    // zde se vypíná posuvník
        this.posuvnik(this.pixelLeft);
      this.pixelLeft += this.krok;
      this.delka_posunu += this.krok;
      if (this.explorer)
        prvek.style.pixelLeft = this.pixelLeft;
      else 
        prvek.style.left = this.pixelLeft + 'px';
   
    }
   // souradnice0.value = this.delka_posunu;  
  
    if (this.status == 1)
      this.zrychlujem();   
    else if (this.status == 2)   
      this.zpomalujem();  
    else if (this.status == 3)
      this.boostOn();  
    else if (this.status == 4)
      this.presunSlajd(this.cislo_pom_detail); 
    else if (this.status == 5)
      this.presunSlajd((this.cislo_pom_detail / 2));
     else if (this.status == 6)
      this.presunSlajd(this.cislo_pom_prodejce);         
  }
  
 // function Zrychli() {
  this.zrychli = function() {
    if (this.status == 4) {
      if (this.krok < this.slajd_rychlost)
        this.krok += this.zmena_detail;
    }
    else                                                                                                        
      if (this.krok < this.max_rychlost) 
        this.krok += 1;
    
    return;
  }
  
//  function Zpomal() {
  this.zpomal = function() {
    if (this.status != 5) {
      if (this.krok > 1)
        this.krok -= 1;
    }
    else {
      if (this.krok > 1)
        this.krok -= this.zmena_detail;
    }  
    return;
  }
  
  //function BoostOn() {
  this.boostOn = function() {
    this.krok = this.boost_rychlost;
    this.status = 3;
    setTimeout(this.nazev_tridy+".posun("+ this.smer +");", this.prodleva);
  }
  
  //function BoostOff() {
  this.boostOff = function() {
    this.krok = 1;
    clearTimeout(this.timer); 
    this.status = 0;
  }
  
  //function Posuvnik(pixelLeft) {
  this.posuvnik = function() {    
    var sirka_kolekce = document.getElementById(this.id_prefix+"kolekce_navigace").offsetWidth;
    var posuvnik = document.getElementById(this.id_prefix+"posuvnik");
    var max_posuv = sirka_kolekce - this.sirka_iframe;
    
    var souradnice = document.getElementById(this.id_prefix+"left");
    var souradnice2 = document.getElementById(this.id_prefix+"left2");
      
    if (max_posuv > 0) {
      if (this.pixelLeft > 0) {
     
        if (this.explorer) 
          posuvnik.style.pixelLeft = 0;         
        else           
          posuvnik.style.left =  0 + 'px';
      }  
      else {
        var podil = this.posuvnik_navigace / max_posuv;
        var pom = this.pixelLeft * -1;
        var posun = pom * podil; 
        
        if (posun > this.krok)
          posun = Math.round(posun);
        else
          posun = 0;            
        /*           
        if (this.explorer) 
          posuvnik.style.pixelLeft = posun;         
        else           
          posuvnik.style.left =  posun + 'px';     */
      } 
    }             
  //  souradnice.value = posun;  
  //  souradnice2.value = pom;       
  }
  
  
  
  //function SipkyVisible() {
  this.sipkyVisible = function() {
    this.sirka = document.getElementById(this.id_prefix+"kolekce_navigace").offsetWidth;
    
   // alert('pixelLeft = '+ pixelLeft + '; max =' + (this.sirka - this.sirka_iframe) +'' );
    
    PomLeft = this.pixelLeft * -1; 
    var visible = false;
    
    if ((PomLeft == 0) && (this.smer == 1)) 
      visible = true;
      
    if ((this.smer == 0) && (PomLeft == (this.sirka - this.sirka_iframe))) 
      visible = true;
      
    if ((PomLeft > 0) && (PomLeft < (this.sirka - this.sirka_iframe))) 
      visible = true;
    
   
  //  if (visible)
  
    if ( ((PomLeft == 0) && (this.smer == 1)) || ((this.smer == 0) && (PomLeft == (this.sirka - this.sirka_iframe)))  || ((PomLeft > 0) && (PomLeft < (this.sirka - this.sirka_iframe)))  )  
      if (this.smer == 0) {
        var sipka = document.getElementById(this.id_prefix+"leva_sipka_posuvu");
        sipka.style.visibility = 'visible';    
      }
      else {
        var sipka = document.getElementById(this.id_prefix+"prava_sipka_posuvu");
        sipka.style.visibility = 'visible';
      }  
  }
  
 // function SipkyHidden() {
  this.sipkyHidden = function() {
      var sipka = document.getElementById(this.id_prefix+"leva_sipka_posuvu");
      sipka.style.visibility = 'hidden';    
  
      var sipka = document.getElementById(this.id_prefix+"prava_sipka_posuvu");
      sipka.style.visibility = 'hidden';
  }
  
  //function Ukonceni() {
  this.ukonceni = function() {
    
    if (this.status == 4) {
      prvek_text = document.getElementById(this.id_prefix+'pocitadlo_slajdu_text');   
      prvek_text.value = this.aktualni_slajd + '/'+ (this.pocet_slajdu);
      this.smer = -1;
    }
      if ((this.status == 5) || (this.status == 6)) {
      prvek_text = document.getElementById(this.id_prefix+'pocitadlo_slajdu_text');   
      prvek_text.value = this.aktualni_slajd + '/'+ (this.pocet_slajdu);
      this.smer = -1;
    }    
    
    this.delka_posunu = 0;
    this.status = 0;
    this.sipkyHidden();
    clearTimeout(this.timer);
    return;
  }

};

/*--------------------------- slide show ----------------------------------*/


var SlideShow = function(id, class_name, obsluzna_trida, lag, pocet_slajdu) {

  this.id_prefix = id;
  this.nazev_tridy = class_name;
  this.slide_show_lag = lag;
  this.slide_show_smer = 1;
  this.slide_show_run = true;
  this.slide_show_pocet_slajdu = pocet_slajdu;
  this.slide_show_poc_slajdu = 0;
  this.presun = clearTimeout(this.presun);
  this.slide_show_obsluha = obsluzna_trida;
            
  //function SlideShow() {
  this.slideShow = function() {
  //  alert("test = "+this.slide_show_obsluha+"");
  
    if ( !this.slide_show_run )
      return "Ukončeno";
  
    this.slide_show_poc_slajdu = $('  #'+this.id_prefix+'pocitadlo_slajdu ').val();
  
    if ( this.slide_show_poc_slajdu == this.slide_show_pocet_slajdu )  
      this.slide_show_smer = 0;
  
    if ( this.slide_show_poc_slajdu == 1 )  
      this.slide_show_smer = 1;
  
    this.presun = setTimeout(this.slide_show_obsluha+".presunProdejce("+this.slide_show_smer+", "+this.slide_show_pocet_slajdu+")", 1);
    slide_show = setTimeout(this.nazev_tridy+".slideShow()", this.slide_show_lag);
  }
  
  //function SpustSlideShow() {
  this.spustSlideShow = function() {

     $(" #"+this.id_prefix+"spustit_slide_show ").hide("slow");
     this.slide_show_run = true;
     slide_show = setTimeout(this.nazev_tridy+".slideShow()", this.slide_show_lag);
  }
  
  //function ZastavSlideShow() {
  this.zastavSlideShow = function() {

     $(" #"+this.id_prefix+"spustit_slide_show ").show("slow");
     this.slide_show_run = false;  
  }

};

var slide_show_lag = 3000;

$(document).ready(function() {  
       
            
    var obsluzna_struktura = "realizovano";
    var id_prefix = "realizovano_";
    
    realizovano = new Media(id_prefix, obsluzna_struktura);
    slide_show_realizovano = new SlideShow(id_prefix, "slide_show_realizovano", obsluzna_struktura, slide_show_lag, realizovano_pocet_slajdu);
    
    var slide_show_1 = setTimeout("slide_show_realizovano.slideShow()", slide_show_lag);
    
    $(" #"+id_prefix+"prava_sipka_obal ").click(function() {
       realizovano.presunProdejce(1, realizovano_pocet_slajdu);
       slide_show_realizovano.zastavSlideShow();
    });
    
    $(" #"+id_prefix+"leva_sipka_obal ").click(function() {
       realizovano.presunProdejce(0, realizovano_pocet_slajdu);
       slide_show_realizovano.zastavSlideShow();
    });
    
    $(" #"+id_prefix+"spustit_slide_show ").click(function() {
       slide_show_realizovano.spustSlideShow();
    });       
      
                 
});       


$(document).ready(function() {  
  
    slide_show_lag = 3500;
    var obsluzna_struktura = "undividualni";
    var id_prefix = "individualni_";
    
    undividualni = new Media(id_prefix, obsluzna_struktura);
    slide_show_individualni = new SlideShow(id_prefix, "slide_show_individualni", obsluzna_struktura, slide_show_lag, individualni_pocet_slajdu);
    

    var slide_show_2 = setTimeout("slide_show_individualni.slideShow()", slide_show_lag);
    
    $(" #"+id_prefix+"prava_sipka_obal ").click(function() {
       undividualni.presunProdejce(1, individualni_pocet_slajdu);
       slide_show_individualni.zastavSlideShow();
    });
    
    $(" #"+id_prefix+"leva_sipka_obal ").click(function() {
       undividualni.presunProdejce(0, individualni_pocet_slajdu);
       slide_show_individualni.zastavSlideShow();
    });
    
    $(" #"+id_prefix+"spustit_slide_show ").click(function() {
       slide_show_individualni.spustSlideShow();
    });   
                      
});       
