  // ---------------------------------------------------------------------------------
  // Done by Paul Knecht in 2009 for Oded Korach
  // This is  N O T  published under a Creative Common license:
  // So don't copy without permission!
  // ---------------------------------------------------------------------------------


  // ---------------------------------------------------------------------------------
  // Hide Preload after loading all the pictures
  // ---------------------------------------------------------------------------------

  function loaded() {
    var time = 30;
    
    if(document.getElementById('preloading')) {
      var object = document.getElementById('preloading').style; 
      if(document.getElementById('loadandbar').style.display != 'none')
        document.getElementById('loadandbar').style.display = 'none';
      if(object.opacity > 0.4) {
          opacv = (object.opacity*100)-4; 
          object.opacity = (opacv / 100); 
          object.MozOpacity = (opacv / 100); 
          object.KhtmlOpacity = (opacv / 100); 
          object.filter = "alpha(opacity=" + opacv + ")";
        window.setTimeout("loaded()", time);
      } else {
        document.getElementById('preloading').style.display = 'none';
      }
    } else if (document.getElementById('fadepic')) {
      var object = document.getElementById('fadepic').style; 
      if(object.opacity < 1) {
          opacv = (object.opacity*100)+4; 
          object.opacity = (opacv / 100); 
          object.MozOpacity = (opacv / 100); 
          object.KhtmlOpacity = (opacv / 100); 
          object.filter = "alpha(opacity=" + opacv + ")";
        window.setTimeout("loaded()", time);
      }
    }
  }
  

  // ---------------------------------------------------------------------------------
  // Generating loading bar
  // ---------------------------------------------------------------------------------

  function loadingbar(pic) {
    var oldwidth = document.getElementById('bar').style.width.replace(/px/, "")*1;
    document.getElementById('bar').style.width = (oldwidth+98/(pic/1))+"px";
  }
  

  // ---------------------------------------------------------------------------------
  // XMLHTTP-Request
  // ---------------------------------------------------------------------------------

  var http = null;
  if (window.XMLHttpRequest)
    http = new XMLHttpRequest();
  else if (window.ActiveXObject)
    http = new ActiveXObject("Microsoft.XMLHTTP");


  // ---------------------------------------------------------------------------------
  // Main function for switching between thumbnails & picture
  // For example: Home or Projects or choosing a subcategory
  // ---------------------------------------------------------------------------------

  function goto(file, step, id, pos) {
    // loading list of projects

    http.open("GET", file+".php?nav=projects&"+id+"&firststep=1", true);
    http.onreadystatechange = function() {
	  if(http.readyState == 4) {

        if(file == 'dynheader' && step == 'project')
          for(var i=1; i<=16; i++)
            if(document.getElementById('thumb'+i) && i != pos) {
              document.getElementById('thumb'+i).style.visibility = 'hidden';
            }
        document.getElementById(file).innerHTML = http.responseText;

        // load infobar
        if(file == 'dynheader' && step == 'project')
          goto('info', '', id, pos);
        
        // load picture
        else if(file == 'info') {
          document.getElementById('home').style.overflow = 'hidden';
          goto('picture', '', id, pos);
        }
        // hide all unchoosen thumbnails
        else if(file == 'picture')
          fadeinpicture();
	  }
    }
    http.send(null);
  }
  
  function gotosubcat(file, step, xcat, pos) {
    // loading list of projects

    http.open("GET", file+".php?nav=projects&xcat="+xcat, true);
    http.onreadystatechange = function() {
	  if(http.readyState == 4) {

        if(file == 'dynheader' && step == 'project')
          for(var i=1; i<=4; i++)
            if(document.getElementById(i) && i != pos)
              document.getElementById(i).style.visibility = 'hidden';
        if(file == 'dynheader' && step == 'project')
          document.getElementById(file).innerHTML = http.responseText;
        else
          document.getElementById('home2').innerHTML = http.responseText;
        document.getElementById('projects').src = 'img/nav/projects_1.png';
        document.getElementById('slash').src = 'img/nav/doubleslash.png';

        // load infobar
        if(file == 'dynheader' && step == 'project') {
          document.getElementById('home').style.overflow = 'hidden';
          gotosubcat('subcat', '', xcat);
        }
        // hide all unchoosen thumbnails
        else if(file == 'picture')
          fadeinsubcat();
	  }
    }
    http.send(null);
  }
  
  
  // ---------------------------------------------------------------------------------
  // Fading picture
  // Responsible for fade in pictures
  // ---------------------------------------------------------------------------------

  function fadeinpicture() {
    var time = 30;
    var object = document.getElementById('picture').style; 
    if(object.visibility == 'hidden') {
      object.opacity = (0); 
      object.MozOpacity = (0); 
      object.KhtmlOpacity = (0); 
      object.filter = "alpha(opacity=0)";
      object.visibility = 'visible';
    } 
    if(object.opacity < 1) {
      opacv = (object.opacity*100)+4; 
      object.opacity = (opacv / 100); 
      object.MozOpacity = (opacv / 100); 
      object.KhtmlOpacity = (opacv / 100); 
      object.filter = "alpha(opacity=" + opacv + ")";

      window.setTimeout("fadeinpicture()", time);
    }
  }

  function fadeinsubcat() {
    var time = 30;
    var object = document.getElementById('home').style; 
    if(object.opacity > 1) {
      opacv = (object.opacity*100)-4; 
      object.opacity = (0); 
      object.MozOpacity = (0); 
      object.KhtmlOpacity = (0); 
      object.filter = "alpha(opacity=0)";
    } 
  }
  
  
  // --------------------------------------------------------------------------
  // -- Scroll in project list
  // --------------------------------------------------------------------------
  function textscroll(dir) {
    var object = document.getElementById('list');
    var actualpos = object.scrollTop; 
    if(dir == 'down')
      object.scrollTop = actualpos+6;
    else if(dir == 'up')
      object.scrollTop = actualpos-6;
    timer = setTimeout("textscroll('"+dir+"')", 30);
  }
  
  
  // --------------------------------------------------------------------------
  // -- Stop Scrolling
  // --------------------------------------------------------------------------
  function scrollstop() {
    clearTimeout(timer);
  }

  function scrolllist(pos) {
    var object = document.getElementById('list');
    object.scrollTop = pos;
  }
