// Almacena todas la imágenes precargadas
var imgImagenes = new Array();

// Almacena la opción activa
var objOpcionActiva = "";

// Almacena la imagen original de un Objeto Imagen antes de aplicarle la rotación de imagen
var objImagenOriginal = "";

function Imagen(strNombreImagen, strIdentificador)
{
  // Se crea el objeto Image para precargar la imagen
  this.objImagen = new Image();  

  // Se hace la asignación (precarga) de la imagen al objeto Image previamente creado
  this.objImagen.src = strNombreImagen  

  // Se le asigna un identificador a cada imagen
  this.strIdentificador = strIdentificador;
}

function Precargar(strNombreImagen, strIdentificador)
{
  var intIndice;
  
  intIndice = imgImagenes.length;
  // Se almacena en el vector de imágenes el objeto Imagen creado
  imgImagenes[intIndice] = new Imagen(strNombreImagen, strIdentificador);
}

function CambiarImagen(objImagen, strIdentificador)
{  
  if(objImagen == objImagenOriginal)
  {
    //return(false);
  }
  //alert(objImagen.src);
	//alert(BuscarImagen(strIdentificador));
  
	// Se almacena el objeto al que se le va a cambiar la imagen
  objImagenOriginal = objImagen;

  // Se le agrega una nueva propiedad al objeto Image que almacenará la imagen original
  objImagen.imgOriginal = objImagen.src;
	objImagen.src = BuscarImagen(strIdentificador);
  //alert("Imagen: " + objImagen.src);
}

function BuscarImagen(strIdentificadorImagen)
{
  var intIndice;

  for (intIndice=0; intIndice<imgImagenes.length; intIndice++)
  {
    if(imgImagenes[intIndice].strIdentificador == strIdentificadorImagen)
    {
      // Retorna el nombre de la Foto de un Auto asociada a una Paleta
      return(imgImagenes[intIndice].objImagen.src);
    }
  }
}

function RestaurarImagen()
{  
  /** 
    Se restaura la imagen original que está almacenada en la nueva propiedad 
    que se creó para el objeto Image 
  */
  objImagenOriginal.src = objImagenOriginal.imgOriginal;
}

function Activar(strOpcion)
{  
  if(objOpcionActiva != null)
  {
    //alert(objOpcionActiva.src);
    objOpcionActiva.src = objOpcionActiva.imgOriginal;
  }
    
  objOpcionActiva = strOpcion;
  //alert(objOpcionActiva.src);
}

function Activar2(objImagen)
{
  // Se verifica la existencia de alguna opción activa
  if(objOpcionActiva != null)
  {
    // Si existe una opción activa con anterioridad se desactiva
    objOpcionActiva.bolActivo = false;
    
    /**
      Se asigna el objeto al cual se le restaurará la imagen igual al objeto
      activo anteriormente para que se desactive
    */
    objImagenOriginal = objOpcionActiva;
    RestaurarImagen();
  }

  // Se activa la o`pción seleccionada
  objImagen.bolActivo = true;
  
  // Se almacena cual es la opción que actualmente está seleccionada
  objOpcionActiva = objImagen;
  return(true);
}