/**
 * @author Peter Hoose (C) 2007
 */

var isRunning;

function buildGallery() {
  if (!document.getElementById("gCategories")) return false;
  var gCats = document.getElementById("gCategories");
  var links = gCats.getElementsByTagName("a");
  for (var i=0;i<links.length;i++) {    
    links[i].onclick = function() {        
      return smoothImageSwap(this.href);
    }
  }
  if (!document.getElementById("photoNav")) return false;
  var nav = document.getElementById("photoNav");
  var navLinks = nav.getElementsByTagName("a");
  for (var j=0;j<navLinks.length;j++) {
    navLinks[j].onclick = function() {        
      return smoothImageSwap(this.href);
     }
  }
}
function showImgDetails() {
    if ($("mainImgDes")) {
      $("mainImgDes").setStyle('opacity', 0);  
    }
    var efx = new Fx.Style("mainImg", "opacity", {duration:1000}).start(0,1).chain(function() {     
      setTimeout('isRunning = 0', 800);     
      var efx2 = new Fx.Style("imgDetails", "opacity", {duration:800}).start(0,1).chain(function() {        
        if ($("mainImgDes")) {
          var efx3 = new Fx.Style("mainImgDes", "opacity", {duration:500}).start(0,0.6);                    
        }
        else {          
        }
      });      
    });    
}
function updateImgData(imgSrc, dataUrl) {
  new Asset.image(imgSrc, {id: "mainImg", onload: function() {    
    this.setStyle('opacity', 0);                  
    var myAjax = new Ajax(dataUrl, {method: 'get', update: 'imgDetails', onComplete: function(response) {showImgDetails();}});    
    myAjax.request();
    this.injectBefore($('imgDetails')); 
    //var newMar = ((($('mainImgWrap').getCoordinates().height / 2) - (this.height / 2)) -50);
    //var marChange = new Fx.Style(this, 'margin-top');                             
    //marChange.set(newMar);   
  }});
}
function smoothImageSwap(newImg) {

  if (isRunning == 1) {
    return false;
  }
  else {
    isRunning = 1;

    if (!$("mainImg")) {
      return true;
    }
    var imgUrl = newImg + "&o=iPath";
    var dataUrl = newImg + "&o=iData"; 
    var imgSrc;    
    var efx4 = new Fx.Style("imgDetails", "opacity", {duration:200}).start(1,0).chain(function() {
    var efx5 = new Fx.Style("mainImg", "opacity", {duration:500}).start(1,0).chain(function() {            
      $("mainImg").remove();
      if (!document.getElementById('mainImg')) {       
        //var myID = newImg.split("=");
        //location.href = "/cgi-bin/gallery/gallery.pl#?i=" + myID[1];      
        var myAjax = new Ajax(imgUrl, {method: 'get', onComplete: function(response) {updateImgData(response, dataUrl);}});
        myAjax.request();      
      }     
    })
    });  
  }
  location.replace('#');
  return false;  
}


window.addEvent('domready', function(){      
  buildGallery();
});      
