//Esta libreria utiliza el archivo urlParams.js


//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;


//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 ) {
  if( !roll_yaInicializada )  return;
  roll_changeBotonActivo( a_boton, true );
  if( window.handlerClick )  window.handlerClick( a_boton );
}

function ClickSinHundir( a_boton ) {
  if( !roll_yaInicializada )  return;
  roll_changeBotonActivo( a_boton, false );
  setTimeout( "if( window.handlerClick )  window.handlerClick( '" + a_boton + "');", 60 );
}


//Funcion de inicializacion
function roll_Init() {

  //Verifica si ya esta creado el arreglo de botones
  if( !window.roll_botones ) {
    setTimeout( "roll_Init()", 10 );
    return;
  }
  
  //Crea arreglo de imagenes asociadas a cada boton
  for( var i = 0; i < roll_botones.length; i++ ) {

    //Nombre del boton
    var boton = roll_botones[ i ];

    //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();

    //Obtiene URL del boton
    var urlBoton = document.images[ boton ].src

    //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_prefijoOut;
    roll_botonImagen[ boton ][ 'Over'  ].src = urlBoton + roll_prefijoOver;
    roll_botonImagen[ boton ][ 'Click' ].src = urlBoton + 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();
                            }

