/*    ############################################
      ##    PROGRAMADO POR  /  PROGRAMMED BY    ##
      ##                                        ##
      ##           \\\\\\\\||////////           ##
      ##           - CODIGO GRAFICO -           ##
      ##           ////////||\\\\\\\\           ##
      ##                                        ##
      ##              www.cg21.net              ##
      ############################################  */

function bloqImagenes() {
  this.ObjetosPrecarga = new Array();
  this.Archivos = new Array();
  this.numImagenes = 0;
  this.numImCargadas = 0;

  this.nombre = "barrera" + (bloqImagenes.contador++);
  eval((this.obj = this.nombre + "Objeto") + "=this");
}
bloqImagenes.contador = 0;
bloqImagenes.prototype.imagen = imagen_;
bloqImagenes.prototype.cargar = cargar_;
bloqImagenes.prototype.esperarImagenes = esperarImagenes_;
bloqImagenes.prototype.onCargado = new Function();
bloqImagenes.prototype.onCiclo = new Function();

function imagen_(objetoImagen, archivoImagen) {
  this.ObjetosPrecarga[this.ObjetosPrecarga.length] = objetoImagen;
  this.Archivos[this.Archivos.length] = archivoImagen;
  this.numImagenes++;
}

function cargar_() {
  for (var c = 0; c < this.ObjetosPrecarga.length; c++) {
    if ((arch = this.Archivos[c]) != null) eval("preload('" + this.ObjetosPrecarga[c] + "', '" + arch + "')");
  }
}

function esperarImagenes_() {
  var cont = 0;

  for (var c = 0; c < this.numImagenes; c++)
    if (eval(this.ObjetosPrecarga[c] + ".complete") == true) cont++;

  if ((this.numImCargadas = cont) == this.numImagenes) {
    this.onCargado();
  } else {
    setTimeout(this.obj + '.esperarImagenes()', 50);
    this.onCiclo();
  }
}