/*****************************************************************************
* File: flaviani_gal.js
* Author: Flavian Imlig
* Original Date: 23.12.2009
* Current Date: 3.8.2011
*
* Subject: Javascript functions for flaviani galery
* 
* (c) flaviani webdesign
******************************************************************************/

function init(s) {
  clearelement(mydiv);
  if (galtext==1) { // eingebauter Galtext
    insertgaltext();
    }
  if (authortext==1) { // eingebauter Authortext
    insertauthortext();
    }
  if (navigation==1) { // eingebaute Navigation
    insertnavigation();
    }
  updategaltext();
  updateauthortext();
  if(s==0) {
    //setTimeout("insertthumbindex()",2000);
    insertthumbindex();
    } else {
    insertimage(preImgs[(s-1)]);
    }
  }

function insertthumbindex() {
//  checkpreloadthumbs(0);
  for(i = 0; i < preThumbs.length; i++) {
    insertthumb(preThumbs[i]);
    if ((i+1) % thumbsperline == 0) {
      insertcleardiv();
      }
    }
  }

function clearelement(ref) {
  if ( ref.hasChildNodes() ) {
    while ( ref.childNodes.length >= 1 ) {
      ref.removeChild( ref.firstChild );
      }
    }
  }

function checkpreloadthumbs(done) { // currently not used
  for (i = 0; i < preThumbs.length; i++) {
    if (preThumbs[i].complete) {
      if (done<preThumbs.length) {
        done++;
        } else {
        return;
        }
      }
    }
  setTimeout("checkpreloadthumbs(0)",100);
  }

function checkandinsert(imageToCheck) { // currently not used
  if(imageToCheck.complete) {
    if(s==0) {
      insertthumb(imageToCheck);
      } else {
      insertimage(imageToCheck);
      }
    } else {
    setTimeout("checkandinsert("+imageToCheck+")",100);
    }
  }

function insertthumb(imageToInsert) {
  var myimgholder = document.createElement("div");
  if ((i+1) % thumbsperline == 0) {
    myimgholder.className = "thumbholder last-thumb-in-column";
    } else {
    myimgholder.className = "thumbholder";
    }
  var mylink = document.createElement("a");
  mylink.href = "javascript:goto("+(i+1)+")";
  mylink.className = 'dummy';
  if (getFromPreloadArray==0) {
    var myimage = new Image;
    myimage.src = imageToInsert.src;
    mylink.appendChild(myimage);
    } else {
    mylink.appendChild(imageToInsert);
    }
  myimgholder.appendChild(mylink);
  mydiv.appendChild(myimgholder);
  }

function insertimage(imageToInsert) {
  var myimgholder = document.createElement("div");
  myimgholder.className = "imgholder";
  var mylink = document.createElement("a");
  mylink.href = "javascript:plus()";
//  mylink.className = 'dummy';
  if (getFromPreloadArray==0) {
    myimage = new Image;
    myimage.src = imageToInsert.src;
    myimage.alt = "Loading.";
    myimage.id = "currentimage";
    mylink.appendChild(myimage)
    myimgholder.appendChild(mylink);
    } else {
    myimgholder.appendChild(imageToInsert);
    }
  mydiv.appendChild(myimgholder);
  loadingtext(0);
  }

function insertcleardiv() {
  var mycleardiv = document.createElement("div");
  mycleardiv.className = "cb";
  mydiv.appendChild(mycleardiv);
  }

function goto(gs) {
  s = gs;
  init(s);
  }

function plus() {
  if (s==images.length) {
    s = 0;
    } else {
    s += 1;
    }
  init(s);
  }
  
function minus() {
  if (s==0) {
    s = images.length;
    } else {
    s -= 1;
    }
  init(s);
  }

function updategaltext() {
  if (document.getElementById("galtext")) {
    if (s>0) {
      var newtext = document.createTextNode("Bild "+ s + " von " + images.length);
      } else {
      var newtext = document.createTextNode(images.length +" Bilder");
      }
    clearelement(document.getElementById("galtext"));
    document.getElementById("galtext").appendChild(newtext);
    }
  }

function updateauthortext() {
  if (document.getElementById("authortext")) {
    var newtext = document.createTextNode("");
    if (s>0) {
      newtext = document.createTextNode("Bild: "+authors[s-1]);
      } else {
      newtext = document.createTextNode("Bilder: "+authorline);
      }
    clearelement(document.getElementById("authortext"));
    document.getElementById("authortext").appendChild(newtext);
    }
  }

function insertgaltext() {
  var mygaltext = document.createElement("p");
  mygaltext.id = "galtext";
  mydiv.appendChild(mygaltext);
  }

function insertauthortext() {
  var myauthortext = document.createElement("p");
  myauthortext.id = "authortext";
  mydiv.appendChild(myauthortext);
  }

function insertnavigation() {
  // zurück
  var mynav_b = document.createElement("p");
  mynav_b.id = "galnav-b";
  mynav_b.className = "galnav";
  var mylink = document.createElement("a");
  mylink.href = "javascript:minus()";
  var mytext = document.createTextNode("vorheriges Bild");
  mylink.appendChild(mytext);
  mynav_b.appendChild(mylink);
  mydiv.appendChild(mynav_b);
  // Index
  var mynav_i = document.createElement("p");
  mynav_i.id = "galnav-i";
  mynav_i.className = "galnav";
  var mylink = document.createElement("a");
  mylink.href = "javascript:goto(0)";
  var mytext = document.createTextNode("Index");
  mylink.appendChild(mytext);
  mynav_i.appendChild(mylink);
  mydiv.appendChild(mynav_i);
  // weiter
  var mynav_f = document.createElement("p");
  mynav_f.id = "galnav-f";
  mynav_f.className = "galnav";
  var mylink = document.createElement("a");
  mylink.href = "javascript:plus()";
  var mytext = document.createTextNode("nächstes Bild");
  mylink.appendChild(mytext);
  mynav_f.appendChild(mylink);
  mydiv.appendChild(mynav_f);
  }

function replacetext(text) { // function for debugging
  clearelement(mydiv);
  var mytextelement = document.createElement("p");
  var mytext = document.createTextNode(text);
  mytextelement.appendChild(mytext);
  mydiv.appendChild(mytextelement);
  }

function placespinner(texttospinner) { // currently not used
  clearelement(mydiv);
  var spinner = new Image();
  spinner.src = "http://flavianimodules.imlig.info/spinner.gif";
  spinner.className = "spinner";
  var loadtext = document.createTextNode(texttospinner);
  mydiv.appendChild(spinner);
  mydiv.appendChild(loadtext);
  }

function loadingtext(dotnbr) {
  var maxdots = 4;
  if(dotnbr > maxdots) {
    dotnbr = 0;
    }
  text = "Loading.";
  for($loadit=0; $loadit<dotnbr; $loadit++) {
    text = text+'.';
    }
  var curimage = document.getElementById("currentimage");
  curimage.alt = text;
  dotnbr++;
  setTimeout("loadingtext("+dotnbr+")",750)
  }

