var Preloader = {
  callbacks: [],
  images: [],
  loadedImages: [],
  imagesLoaded: 0,

  add: function(image){
    if (typeof image == 'string') this.images.push(image);
    if (typeof image == 'array' || typeof image == 'object'){
      for (var i=0; i< image.length; i++){
        this.images.push(image[i]);
      }
    }
  },
  onFinish: function(func){
    if (typeof func == 'function') this.callbacks.push(func);
    if (typeof func == 'array' || typeof func == 'object'){
      for (var i=0; i< func.length; i++){
        this.callbacks.push(func[i]);
      }
    }
  },
  load: function(){
    for(var i=0; i<this.images.length; i++){
      this.loadedImages[i] = new Image();
      this.loadedImages[i].onload = function(){ Preloader.checkFinished.apply(Preloader) }
      this.loadedImages[i].src = this.images[i];
    }
  },

  checkFinished: function(){
    this.imagesLoaded++;
    if (this.imagesLoaded == this.images.length) this.fireFinish();
  },
  
  fireFinish: function(){
    for (var i=0; i<this.callbacks.length; i++){
      this.callbacks[i]();
    }
    this.images = [];
    this.loadedImages = [];
    this.imagesLoaded = 0;
    this.callbacks = [];
  }
}

function loadContent(){
	$('#squares_right').fadeTo(400, 1.0);
	$('#squares_news').fadeTo(400, 1.0);
	$('#main_container').fadeTo(400, 1.0, function() {
	$('.css-scrollbar').scrollbar();
    $('#waiting').fadeTo(150, 0.0);
    });
}

function preloadImage(tabImg){
	$('#main_container').css('display','none');
	for(i=0; i<tabImg.length; i++){
		Preloader.add(tabImg[i]);
	}
	Preloader.onFinish(loadContent);
	Preloader.load();
}

function loadContent_First(){
		$('#tour').fadeTo(1000, 1.0, function() {
		$('.css-scrollbar').scrollbar();
      	$('#tour_init').fadeTo(300, 0.0);
    });
}


function loadContentInit(){setTimeout("loadContent_First()",1500);}

function preloadImageInit(tabImgInit){
	$('#tour').css('display','none');
	$('#tour_init').css('display','block');
	for(i=0; i<tabImgInit.length; i++){
		Preloader.add(tabImgInit[i]);
	}
	Preloader.onFinish(loadContentInit);
	Preloader.load();
}

