//Esta libreria utiliza el archivo urlParams.js


//Boton activo, dado como parametro inicial de la pagina o clickeado posteriormente
var roll_botones2 = new Array();

//Prefijos de archivos
var roll_prefijoOut    = "_1.";
var roll_prefijoOver   = "_2.";
var roll_prefijoActivo = "_3.";


//Boton activo, dado como parametro inicial de la pagina o clickeado posteriormente
var roll_botonActivo = "";

//Arreglo con objetos imagenes de cada boton
var roll_botonImagen = new Array();

//Flag que indica si ya se ha inicializado libreria o no
var roll_yaInicializada = false;


//Crea un boton y define la funcion que sera llamada
function roll_addButton( a_boton, a_accion ) {

  roll_botones2[roll_botones2.length] = new Array(a_boton, a_accion)
}


//Busca el indice de un boton dado
function roll_searchButton( a_boton ) {

  for( var i = 0; i < roll_botones2.length; i++ )
    if( roll_botones2[ i ][ 0 ] == a_boton ) return i;

  return -1;

}


//Cambia boton activo y lo deja hundido o no dependiendo de parametro
function roll_changeBotonActivo( a_boton, a_dejarHundido ) {

  if( a_dejarHundido )  {
    if( a_boton != roll_botonActivo )  {
      if( document.images[ roll_botonActivo ] )  document.images[ roll_botonActivo ].src = roll_botonImagen[ roll_botonActivo ][ 'Out'   ].src;
      document.images[ a_boton ].src = roll_botonImagen[ a_boton ][ 'Click' ].src;
      roll_botonActivo = a_boton;
    }
  }
  else {
    document.images[ a_boton ].src = roll_botonImagen[ a_boton ][ 'Click' ].src;
    roll_botonActivo = "";
    setTimeout( "document.images['" + a_boton + "'].src = roll_botonImagen['" + a_boton + "'][ 'Out' ].src", 50 );
  }
}


//Handlers de eventos Over, Out y Click
function Over( a_boton )  {
  if( !roll_yaInicializada )  return;
  if( a_boton != roll_botonActivo ) document.images[ a_boton ].src = roll_botonImagen[ a_boton ][ 'Over' ].src;
  if( window.handlerOver )  window.handlerOver( a_boton );
}

function Out( a_boton )  {
  if( !roll_yaInicializada )  return;
  if( a_boton != roll_botonActivo ) document.images[ a_boton ].src = roll_botonImagen[ a_boton ][ 'Out'  ].src;
  if( window.handlerOut )  window.handlerOut( a_boton );
}

function Click( a_boton ) {

  // Obtiene el indice del boton dentro del arreglo
  var indice = roll_searchButton( a_boton );

  if( navigator.platform.toLowerCase().indexOf("mac")==0 ) {
    if( indice >= 0 && roll_botones2[ indice ][ 1 ] != "" )
      eval( "window." + roll_botones2[ indice ][ 1 ] + ";" );
  }
  else
  {
    if( !roll_yaInicializada )  return;
    roll_changeBotonActivo( a_boton, true );
    if( indice >= 0 && roll_botones2[ indice ][ 1 ] != "" )
      eval( "if( window." + roll_botones2[ indice ][ 1 ] + " )  window." + roll_botones2[ indice ][ 1 ] + ";" );
  }
}

function ClickSinHundir( a_boton ) {
  // Obtiene el indice del boton dentro del arreglo
  var indice = roll_searchButton( a_boton );
  if( !roll_yaInicializada )  return;

  roll_changeBotonActivo( a_boton, false );
    if( indice >= 0 && roll_botones2[ indice ][ 1 ] != "" )
    setTimeout( "if( window." + roll_botones2[ indice ][ 1 ] + " )  window." + roll_botones2[ indice ][ 1 ] + ";", 60 );
}


//Funcion de inicializacion
function roll_Init() {
  //Verifica si ya esta creado el arreglo de botones
  if( !window.roll_botones2 ) {
    setTimeout( "roll_Init()", 10 );
    return;
  }

  //Crea arreglo de imagenes asociadas a cada boton
  for( var i = 0; i < roll_botones2.length; i++ ) {

    //Nombre del boton
    var boton = roll_botones2[ i ][ 0 ];

    //Crea nuevo elementos en arreglo
    roll_botonImagen[ boton ] = new Array();

    //Crea imagenes para cada estado del boton
    roll_botonImagen[ boton ][ 'Out'   ] = new Image();
    roll_botonImagen[ boton ][ 'Over'  ] = new Image();
    roll_botonImagen[ boton ][ 'Click' ] = new Image();

    //Trata de obtiener la URL del boton
    var urlBoton = '';
    if(document.images[ boton ])
      urlBoton = document.images[ boton ].src
    else
    	if(location.href.indexOf('localhost')!=-1)
    	   alert('No se encontro una imagen con el nombre:' + boton);
    	else
    	  continue;

    //Elimina ultima ocurrencia del prefijo out en URL para dejar solo la base de la URL
    //urlBoton = urlBoton.substring( 0, urlBoton.lastIndexOf( roll_prefijoOut ) );

    //Asigna URLs de imagenes en cada estado del boton
    roll_botonImagen[ boton ][ 'Out'   ].src = urlBoton;
    roll_botonImagen[ boton ][ 'Over'  ].src = urlBoton.replace(roll_prefijoOut, roll_prefijoOver);
    roll_botonImagen[ boton ][ 'Click' ].src = urlBoton.replace(roll_prefijoOut, roll_prefijoActivo);
  }

  //Recupera parametro con boton a destacar
  roll_botonActivo = getParam( "boton" );

  //Cambia imagen del boton seleccionado (dado como parametro)
  if( roll_botonActivo  &&  document.images[ roll_botonActivo ] )  {
    document.images[ roll_botonActivo ].src = roll_botonImagen[  roll_botonActivo ][ 'Click' ].src;
  }

  //Indica que libreria ya esta inicializada
  roll_yaInicializada = true;

}


//Instala funcion de inicializacion
window.onload_OldRollover = window.onload;
window.onload             = function() {
                              roll_Init();
                              if( window.onload_OldRollover )  window.onload_OldRollover();
                            }





//*********************************************************************************************/
//Funciones para hacer un rolloverSimple
    function ImgOver(obj){
      var nomImg = obj.src
      var nuevaImg = nomImg.substring(0,nomImg.length - 5) + "2" + nomImg.substring(nomImg.length - 4)
      obj.src = nuevaImg
    }
    function ImgOut(obj){
      var nomImg = obj.src
      var nuevaImg = nomImg.substring(0,nomImg.length - 5) + "1" + nomImg.substring(nomImg.length - 4)
      obj.src = nuevaImg
    }
