var imageSrc = new Array;
var imageActive = new Array;
var images = new Array;
var imagesCount = new Array;
var activeTimeout;
var overlayDuration = 1.5;
var interval = 3;

var Gallery = {
  initialize: function() {	
    this.updateImageList();
	},

	updateImageList: function() {	
		if (!document.getElementsByTagName){ return; }
		var anchors = document.getElementsByTagName('a');

		for (var i=0; i<anchors.length; i++){
			var anchor = anchors[i];
			var relAttribute = String(anchor.getAttribute('rel'));
			if (relAttribute.toLowerCase().match('gallery')){
        images[relAttribute.substr(8,relAttribute.length-9)] = anchor.getElementsByTagName("img")[0];
			}
		}
    
    for(var i=0; i<images.length; i++) {
      //imageSrc[i].removeDuplicates();
      imagesCount[i] = 0;
      imageActive[i] = 0;
      this.preload(i);
    }
    //for(var i=0; i<images.length-3; i+=5) {
      window.setTimeout('Gallery.go(0)', interval*1000);
    //}
	},
  
  preload: function(i) {
    //alert("jelonek!"+i);
    if(imagesCount[i]<imageSrc[i].length) {
      var preloader = new Image();
      preloader.onload = function() {imagesCount[i]++; Gallery.preload(i); }
      preloader.src = imageSrc[i][imagesCount[i]];
    }
  },
  
  go: function(i) {
    if(i>=images.length) i=0;
    if(imagesCount[i]>1) {
      imageActive[i]++;
      if(imageActive[i]>=imagesCount[i]) imageActive[i]=0;
      images[i].src = imageSrc[i][imageActive[i]];
      //Element.hide(images[i]);
      Element.setOpacity(images[i],0.01);
      new Effect.Appear(images[i], { duration: overlayDuration});
    }
    i++;
    window.setTimeout('Gallery.go('+i+')', interval*1000);
  }
}

function initGallery() { Gallery.initialize(); }
Event.observe(window, 'load', initGallery, false);
