/* -------------------------------------------------
JavaScript pro foto-barnodaj.cz

Autor: Jiří 'Nox' Petruželka  | www.nox-art.cz  |  petruzelka@nox-art.cz
Media: screen,projection

------------------------------------------------- */

var x;
var rychlost = 36;
    var krok = 2; 
var marqueec = 4;
marqueec++;

var index   = -1;
var reload  = 4;
var cesta   = "gal/";
var cesta_gal = "galerie/";
var galerie = new Array();
var nazvy   = new Array();
var odkazy  = new Array();

/* Web */

/* Index */
function GalerieShow(index){
  var browser = Prohlizec();

  if(index >= reload || index == -1){
    index = 0;
      
    if(browser[0]=="ie" && browser[1]<=6){
      ExtrahujGalerii(ie_input);
      }
    else{ send_xmlhttprequest(NahodnaGalerie, 'GET', 'nahodna-galerie.php'); }
    
    setTimeout(function(){ GalerieShow(0); },20);
    return true;
    }
  
  if(typeof galerie[index] == "undefined"){
    if(index >= (galerie.length-1)){ index = -1; }
    else{ index++; }
    
    setTimeout(function(){ GalerieShow(index); },20);
    return true;
    }
  
  x = document.getElementById("x");
  var obrazky = document.getElementById("obrazky"+index);
  
  SetOpacity(obrazky,0);
  NulujID("obrazky",galerie.length);
  obrazky.style.visibility = "hidden";
  obrazky.style.display = "none";
  obrazky.innerHTML = "<a href='"+cesta_gal+odkazy[index]+"'><img src='" + cesta + odkazy[index] + "/" + galerie[index] + "'></a><h3>"+nazvy[index]+"</h3>";
  obrazky.style.display = "block";
  
  if(browser[0]=="ie" && browser[1]<=6){
    var zx = obrazky.getElementsByTagName("img")[0].offsetWidth;
    if(zx==30){ setTimeout(function(){GalerieShow(index);},200);return true; }
    var zy = obrazky.getElementsByTagName("img")[0].offsetHeight; 
    var max_width = 720;
    var max_height = 490;
    
    var tx = zx;
    var ty = zy;
            
    //max width
    tx = max_width;
    ty = (max_width/zx)*zy;
    
    if(ty > max_height){
      tx = tx * (max_height/ty);
      ty = max_height;
      }
    
    tx = parseInt(tx);
    ty = parseInt(ty);
    
    obrazky.getElementsByTagName("img")[0].style.width=tx+"px";
    obrazky.getElementsByTagName("img")[0].style.height=ty+"px";
  }
  setTimeout(function(){
  obrazky.style.visibility = "visible";
  
  //zobrazit
  setTimeout(function(){
  Zobraz(obrazky,100,krok,rychlost);
  },50);
  //skrýt
  setTimeout(function(){
    Zobraz(obrazky,0,-krok,rychlost);
    }, (5*100/krok)*rychlost+550 );
  
  //opakovat
  setTimeout(function(){
  if(prohlizec[0]=="ie" && prohlizec[1]<=6 && index >= (galerie.length-1)){
    location.reload();
  }
  else{
    if(index >= (galerie.length-1)){ index = -1; }
    else{ index++; }
    GalerieShow(index);
    }
  }
  , (2*4*100/krok)*rychlost);
    
  },100);
  
  }

function NahodnaGalerie(xmlhttp){

  if (xmlhttp.readyState == 4) {
    if(xmlhttp.responseText!=""){
      ExtrahujGalerii(xmlhttp.responseText);
      }
      else{
        return false;
      }
    }
  
  index = 0;
  return true;
  }

function ExtrahujGalerii(txt){
  data=txt.split("|");
  for(a=0;a<reload;a++){
    temp = data[a].split(">");
    galerie[a]= temp[0];
    nazvy[a]  = temp[1];
    odkazy[a] = temp[2];
    }
  }

function Zobraz(objekt,cil,krok,interval){
  var op = GetOpacity(objekt);
  
  op += krok;
  SetOpacity(objekt,op);
  
  if(!((op >= cil && krok > 0) || (op <= cil && krok < 0))){
    setTimeout(function(){ Zobraz(objekt,cil,krok,interval) }, rychlost);
    }
  }


/* Běžící text */
function Marquee(parent,child,speed,step){
  var text = parent.getElementsByTagName(child)[0];
  var limit = text.getElementsByTagName("em")[0].offsetWidth;
  
  text.style.left = parseInt(text.style.left)+speed+"px";
  
  if( parseInt(text.style.left) < 2*speed && marqueec == 2 ){ text.style.left = "-1500px"; }
  if( parseInt(text.style.left)< -limit && marqueec>1 ){
    text.style.left = parseInt(parent.offsetWidth)+"px";
    marqueec -= 1;
    }
  if( marqueec<2 ){ text.style.left = "-1500px"; }
  
  setTimeout( function(){ Marquee(parent,child,speed,step); }, step);
  }


/* Kniha návštěv */
function Antispam(){
  anti = document.getElementById("antispam");
  anti.style.display = "none";
  anti.getElementsByTagName("input")[0].value = "ne";

  return true;
  }


function KnihaRoletka(odkaz){
  form = document.getElementById("kniha-form");
  
  if(form.style.display == "none"){
    form.style.display = "block";
    odkaz.innerHTML = "[-] skrýt formulář";
    }
  else{
    form.style.display = "none";
    odkaz.innerHTML = "[+] přidat příspěvek";
    }  
  
  return true;
  }
  
function Oautorovi(ind){
  index = ind;
  var block = document.getElementById("obrazky"+index);
  SetOpacity(block,0);

  // nastavení zobrazení
  setTimeout(function(){Zobraz(block,100,krok,rychlost)},100);
  // nastavení skrytí
  setTimeout(function(){Zobraz(block,0,(-1)*krok,rychlost)},14000);

  // další iterace 
  index+=1; 
  index=index%4;
  setTimeout(function(){Oautorovi(index)},16000);
  }
  
/* Obecné -------------------------------------------------------------- */
  
function NulujID(base,max){
  for(a=0;a<max;a++){
    if(document.getElementById(base+a)){ 
      document.getElementById(base+a).innerHTML = "";
      document.getElementById(base+a).style.display = "none";
      }
    else{ return false; }
    }
  return true;
  }
  
// http://www.javascriptkit.com/javatutors/navigator.shtml
function Prohlizec(){
  var res = new Array(false,false);
  
  // Firefox
  if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)){
    res[0]="ff";
    res[1]=new Number(RegExp.$1);
  }
  
  // IE
  if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){
    res[0]="ie";
    res[1]=new Number(RegExp.$1);
  }
  
  // Opera
  if (/Opera[\/\s](\d+\.\d+)/.test(navigator.userAgent)){
    res[0]="opera";
    res[1]=new Number(RegExp.$1);
  }
  
  return res;
  }

function GetOpacity(objekt){
  if(objekt.style.opacity){ return objekt.style.opacity * 100; }
  if(objekt.style.MozOpacity){ return objekt.style.MozOpacity * 100; }
  return GetFiltr(objekt.style.filter);
  }
  
function GetFiltr(obj){
  return parseInt(obj.substring(14,obj.length));
  }
  
function SetOpacity(objekt,opacity){
  var browser = Prohlizec();

  if(browser[0]=="ie" && browser[1]<=8){
    objekt.style.filter = "alpha(opacity="+opacity+")";
    return true;
    }
  if(browser[0]=="ff" && browser[1]<2){
    objekt.style.MozOpacity = opacity/100;
    return true;
    }
    
  objekt.style.opacity = opacity/100;
  return true;
  }
  
/* AJAX ------------------------------------------------------------------- */
var sel;

function send_xmlhttprequest(state_change, method, url, content, headers) {
    var xmlhttp = (XMLHttpRequest ? new XMLHttpRequest : (ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : false));
    if (!xmlhttp) {
        return false;
    }
    xmlhttp.open(method, url);
    xmlhttp.onreadystatechange = function () {
        state_change(xmlhttp);
    };
    if (headers) {
        for (var key in headers) {
            xmlhttp.setRequestHeader(key, headers[key]);
        }
    }
    xmlhttp.send(content);
    return true;
}
