var PRODLEVA = 10; //milisekund pro animaci - interval mezi kroky animace
var VYSKA_OVLADACIHO_PANELU = 50; //px
var POCATECNI_SIRKA = 1; //px
var POCATECNI_VYSKA = 50; //px
var KROK = 20; //px
var KROK_VELKY = 100; //px
var KROK_PRIRUSTEK = 50; //px
var MEZ_ANIMACE = 2; //sekundy, vzdy cela cisla, mez slouzi pro pomalejsi PC, po jejim dosahnuti se krok zvetsuje

var fotografie = "";
var vyskaTelaDetailuGalerie = 0;
var otevrenoPoprve = true; //systemovejsi nez koukat, jestli se rozmer rovna nule
var sirka = POCATECNI_SIRKA; //pocatecni nastaveni
var vyska = POCATECNI_VYSKA; //pocatecni nastaveni
var novaSirka = 0;
var novaVyska = 0;
var startCas = 0;
var krok = KROK; //px pro animaci

function ajax_sendRequest(obsluha, metoda, url) { 
  var xmlHttp = (window.XMLHttpRequest ? new XMLHttpRequest : (window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : false)); 
  if (!xmlHttp) {
    return false;
  }  
  xmlHttp.open(metoda, url); /*otevře spojení*/
  xmlHttp.onreadystatechange = function() { 
    obsluha(xmlHttp); 
  };  
  xmlHttp.send(''); /*odešle požadavek na server*/
  return true; 
}
function upravKrok() {
  var aktualniCas = new Date();
  var rozdil = aktualniCas.getSeconds() - startCas.getSeconds();
  if(rozdil >= MEZ_ANIMACE)
    if(krok == KROK)
      krok = KROK_VELKY;
    else
      krok += KROK_PRIRUSTEK;
  else
    krok = KROK;
} 
function zobrazDetailGalerie(idFotografie) {
  document.getElementById("detailGalerie").style.visibility = 'visible';
  document.getElementById("detailGalerie").style.height = document.body.offsetHeight + "px";
  document.getElementById("detailGalerie").style.width = document.documentElement.clientWidth + "px";
  document.getElementById("obalTelaDetailuGalerie").style.height = document.body.offsetHeight +"px";
  document.getElementById("obalTelaDetailuGalerie").style.width = document.documentElement.clientWidth + "px";
  document.getElementById("teloDetailuGalerie").style.marginTop = (document.documentElement.scrollTop+10)+"px";
	ajax_sendRequest(vypisDetailGalerie, 'GET', 'ajax_vratDataFotogalerie.php?idFotografie='+idFotografie+'&jazyk=cz&rnd='+Math.random());
  return false;
}
function sbalLightbox() {
  if(vyskaTelaDetailuGalerie < krok) {  //koncove hodnoty dosazeny
    document.getElementById("detailGalerie").style.visibility = 'hidden';
    sirka = POCATECNI_SIRKA;
    vyska = POCATECNI_VYSKA;
    novaSirka = 0;
    novaVyska = 0;
    otevrenoPoprve = true;
  }
  else {
    vyskaTelaDetailuGalerie -= krok;
    //divku lze menit velikost pouze pres styl
    document.getElementById("teloDetailuGalerie").style.height = vyskaTelaDetailuGalerie+"px";
    upravKrok();
    window.setTimeout("sbalLightbox()", PRODLEVA);  
  }
}
function skrytDetailGalerie() {
  startCas = new Date();
  krok = KROK;
  document.getElementById("detailGalerie_fotografie").innerHTML = ""; //zmizeni obrazku
  vyskaTelaDetailuGalerie = vyska + VYSKA_OVLADACIHO_PANELU;
  document.getElementById("detailGalerie_tlacitkoZavrit").style.visibility = 'hidden';
  document.getElementById("detailGalerie_tlacitkaPosunu").style.visibility = 'hidden';
  document.getElementById("detailGalerie_popis").style.visibility = 'hidden';
  if(window.navigator.appName == "Microsoft Internet Explorer")
    {
      document.getElementById("obalTelaDetailuGalerie").style.background = "none";
      document.getElementById("obalTelaDetailuGalerie").style.filter = "none";    
    }
  else
    document.getElementById("obalTelaDetailuGalerie").style.backgroundImage = "none";
  window.setTimeout("sbalLightbox()", 1);
}
function zvetsi(rozbalenoNaVysku) {
//napred rozbali prouzek 1px na vysku a pak do stran celou fotku
  if(rozbalenoNaVysku) {
    if(Math.abs(sirka-novaSirka) > krok) {
      if(sirka < novaSirka)
        sirka += krok;
    }
    else
      sirka = novaSirka;
    document.getElementById("detailGalerie_fotografie").style.width = sirka + "px";
  }
  else {
    if(Math.abs(vyska-novaVyska) > krok) {
      if(vyska < novaVyska)
        vyska += krok;
    }
    else {
      vyska = novaVyska;
      rozbalenoNaVysku = true;
    }
    document.getElementById("detailGalerie_fotografie").style.height = vyska + "px";
    document.getElementById("teloDetailuGalerie").style.height = (vyska + VYSKA_OVLADACIHO_PANELU) + "px";
  }  
  if((sirka < novaSirka) || (vyska < novaVyska)) { //jeste jsme nedosahli koncovych hodnot
    upravKrok();
    window.setTimeout("zvetsi("+rozbalenoNaVysku+")", PRODLEVA);
  }
  else { //koncove hodnoty dosazeny
    //zobrazeni png
    if(window.navigator.appName == "Microsoft Internet Explorer")
      {
        document.getElementById("obalTelaDetailuGalerie").style.background = "none";
        document.getElementById("obalTelaDetailuGalerie").style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, src='desimg/detailGalerie_pozadi.png', sizingMethod='scale')";    
      }
    else
      document.getElementById("obalTelaDetailuGalerie").style.backgroundImage = "url(desimg/detailGalerie_pozadi.png)";
    //zobrazeni obrazku
    document.getElementById("detailGalerie_fotografie").innerHTML = "<img id='fotografie_detail' src='"+fotografie+"' />";
    document.getElementById("fotografie_detail").width = sirka;
    document.getElementById("fotografie_detail").height = vyska;
    //zobrazeni ostatnich prvku
    document.getElementById("detailGalerie_tlacitkoZavrit").style.visibility = 'visible';
    document.getElementById("detailGalerie_tlacitkaPosunu").style.visibility = 'visible';
    document.getElementById("detailGalerie_popis").style.visibility = 'visible';
    otevrenoPoprve = false;
  }
}
function upravaRozmeru() {
  //pri prechodu fotek plynula zmena velikosti
  if(Math.abs(sirka-novaSirka) > krok) {
    if(sirka < novaSirka)
      sirka = sirka + krok;
    else 
      sirka -= krok;
  }
  else
    sirka = novaSirka;
    
  if(Math.abs(vyska-novaVyska) > krok) {
    if(vyska < novaVyska)
      vyska += krok;
    else
      vyska -= krok;
  }
  else
    vyska = novaVyska; 
  
  document.getElementById("detailGalerie_fotografie").style.width = sirka + "px";
  document.getElementById("detailGalerie_fotografie").style.height = vyska + "px";
  document.getElementById("teloDetailuGalerie").style.height = (vyska + VYSKA_OVLADACIHO_PANELU) + "px";
  
  if((sirka != novaSirka) || (vyska != novaVyska)) { // jeste jsme nedosahli koncovych romeru
    upravKrok();
    window.setTimeout("upravaRozmeru()", PRODLEVA);
  }
  else { //po dosazeni koncovych rozmeru 
    //zobrazeni obrazku
    document.getElementById("detailGalerie_fotografie").innerHTML = "<img id='fotografie_detail' src='"+fotografie+"' />";
    document.getElementById("fotografie_detail").width = sirka;
    document.getElementById("fotografie_detail").height = vyska;
  }
}
function vypisDetailGalerie(xmlHttp) {
  if (xmlHttp.readyState == 4) { // 4 znamená požadavek dokončen
    //alert(xmlHttp.responseText);
    fotografie = unescape(xmlHttp.responseXML.getElementsByTagName('fotografie')[0].firstChild.data);
    var popis = xmlHttp.responseXML.getElementsByTagName('popis')[0].firstChild.data;
    var idPredchozi = xmlHttp.responseXML.getElementsByTagName('idPredchozi')[0].firstChild.data;
    var idDalsi = xmlHttp.responseXML.getElementsByTagName('idDalsi')[0].firstChild.data;
    novaSirka = parseInt(xmlHttp.responseXML.getElementsByTagName('sirkaFotografie')[0].firstChild.data); //musime prevadet na int, aby fungovaly matematicke operace
    novaVyska = parseInt(xmlHttp.responseXML.getElementsByTagName('vyskaFotografie')[0].firstChild.data); //musime prevadet na int, aby fungovaly matematicke operace
    
    if (otevrenoPoprve) {
      startCas = new Date();
      krok = KROK;
      document.getElementById("detailGalerie_fotografie").style.width = sirka + "px";
      document.getElementById("detailGalerie_fotografie").style.height = vyska + "px";
      window.setTimeout("zvetsi(false)", 1);
    }
    else {
      startCas = new Date();
      krok = KROK;
      document.getElementById("detailGalerie_fotografie").innerHTML = ""; //zmizeni obrazku
      document.getElementById("detailGalerie_fotografie").style.width = sirka + "px";
      document.getElementById("detailGalerie_fotografie").style.height = vyska + "px";
      window.setTimeout("upravaRozmeru()", 1);
    }    
    
    document.getElementById("detailGalerie_popis").innerHTML = "<p>"+popis+"</p>";
    var hrefPredchozi = "&lt;&lt;";
    var hrefDalsi = "&gt;&gt;";
    if(idPredchozi != 0)
      hrefPredchozi = "<a href='.' onClick='return zobrazDetailGalerie("+idPredchozi+")'>"+hrefPredchozi+"</a>";
    if(idDalsi != 0)  
      hrefDalsi = "<a href='.' onClick='return zobrazDetailGalerie("+idDalsi+")'>"+hrefDalsi+"</a>";    
    document.getElementById("detailGalerie_tlacitkaPosunu").innerHTML = hrefPredchozi+"&nbsp;"+hrefDalsi;
  }
}
