// Objeto de deteccion del navegador
//**********************************
function DetectorNavegador() {
  this.NS4 = document.layers;
  this.IE4 = document.all;
  this.DHTML = this.NS4 || this.IE4;
}


//inicializacion de variables
//***************************
var soporta = new DetectorNavegador();
var optionActivo = null;
var menuActivo   = null;
var menuVeo      = null;
var cartelActivo = null;

var pregunta   =  new Array();       //vector con todas las preguntas
var respuesta  =  new Array();       //vector con las respuestas correctas de todas las preguntas
var veces      =  new Array();       //vector con las veces que se clickeo mal las respuestas de una pregunta
var sabermas   =  new Array();       //vector con las fichas para saber mas (despues de 2 respuestas malas en la misma preg)
var menu       =  new Array();

//-----------------------------------------
//  definiciones para la classe MENU
//-----------------------------------------

// Objeto activar Menu
//**********************
function activarMenu() {
  if (soporta.DHTML && menuActivo != this) {
    if (menuActivo) menuActivo.ocultar();
    menuActivo = this;
    this.mostrar();
  }
}

//Objeto veo menu
//*****************
function veoMenu() {
    if (menuVeo) menuVeo.ocultar();
    menuVeo = this;
    eval(this.capaRefStr + this.estiloRefStr + '.visibility = "visible"');
}

// Objeto mostrar Menu
//***********************
function mostrarMenu() {
  eval(this.capaRefStr + this.estiloRefStr + '.visibility = "visible"');
}

// Objeto ocultar Menu
//***********************
function ocultarMenu() {
  eval(this.capaRefStr + this.estiloRefStr + '.visibility = "hidden"');
}

// Objeto cambiar posicion Menu
//*******************************
function cambiarPosicionMenu(top, left) {
  if (soporta.DHTML) {
    eval(this.capaRefStr + this.estiloRefStr + this.topRefStr + ' = top');
    eval(this.capaRefStr + this.estiloRefStr + this.leftRefStr + ' = left');
  }
}

//definicion class Menu (constructor)
//*************************************
function Menu(capaID, top, left) {
  this.activar         = activarMenu;
  this.veo             = veoMenu;
  this.mostrar         = mostrarMenu;
  this.ocultar         = ocultarMenu;
  this.cambiarPosicion = cambiarPosicionMenu;
  this.capaRefStr      = (soporta.NS4) ? 'document["'+capaID+'"]' :  'document.all["'+capaID+'"]';
  this.estiloRefStr    = (soporta.NS4) ? ''                       : '.style';
  this.topRefStr       = (soporta.NS4) ? '.top'                   : '.pixelTop';
  this.leftRefStr      = (soporta.NS4) ? '.left'                  : '.pixelLeft';
  this.cambiarPosicion(top, left);
}

// Manejo de eventos
//******************
function ocultarMenuActivo(e) {
  if (menuActivo) {
    menuActivo.ocultar();
    menuActivo = null;
  }
  if (menuVeo) {
    menuVeo.ocultar();
    menuVeo = null;
  }
}


//-----------------------------------------
//  definiciones para la classe OPTION
//-----------------------------------------

// Objeto activar Option
//**********************
function activarOption() {
  if (soporta.DHTML && optionActivo != this) {
  //  if (optionActivo) optionActivo.ocultar();
    optionActivo = this;
    this.mostrar();
  }
}

// Objeto mostrar Option
//***********************
function mostrarOption() {
  eval(this.capaRefStr + this.estiloRefStr + '.visibility = "visible"');
}

// Objeto ocultar Option
//***********************
function ocultarOption() {
  eval(this.capaRefStr + this.estiloRefStr + '.visibility = "hidden"');
}

// Objeto cambiar posicion Option
//*******************************
function cambiarPosicionOption(top, left) {
  if (soporta.DHTML) {
    eval(this.capaRefStr + this.estiloRefStr + this.topRefStr  + ' = top');
    eval(this.capaRefStr + this.estiloRefStr + this.leftRefStr + ' = left');
  }
}

//definicion class Option (constructor)
//*************************************
function Option(capaID, top, left) {
  this.activar = activarOption;
  this.mostrar = mostrarOption;
  this.ocultar = ocultarOption;
  this.cambiarPosicion = cambiarPosicionOption;
  this.capaRefStr   = (soporta.NS4) ? 'document["'+capaID+'"]' : 'document.all["'+capaID+'"]';
  this.estiloRefStr = (soporta.NS4) ? ''                       : '.style';
  this.topRefStr    = (soporta.NS4) ? '.top'                   : '.pixelTop';
  this.leftRefStr   = (soporta.NS4) ? '.left'                  : '.pixelLeft';
  this.cambiarPosicion(top, left);
}

// Manejo de eventos
//******************
function ocultarOptionActivo(e) {
  if (optionActivo) {
    optionActivo.ocultar();
    optionActivo = null;
  }
}

//-----------------------------------------
//  definiciones para la classe CARTEL
//-----------------------------------------
// Objeto activar Cartel
//**********************
function activarCartel() {
  if (soporta.DHTML && cartelActivo != this) {
    if (cartelActivo) cartelActivo.ocultarCar();
    cartelActivo = this;
    this.mostrarCar();
  }
}

// Objeto mostrar cartel
//***********************
function mostrarCartel() {
  eval(this.capaCartel + this.estiloCartel + '.visibility = "visible"');
}

// Objeto ocultar cartel
//***********************
function ocultarCartel() {
  eval(this.capaCartel + this.estiloCartel + '.visibility = "hidden"');
}

// Objeto cambiar posicion cartel
//*******************************
function cambiarPosicionCartel(top, left) {
  if (soporta.DHTML) {
    eval(this.capaCartel + this.estiloCartel + this.topCartel  + ' = top');
    eval(this.capaCartel + this.estiloCartel + this.leftCartel + ' = left');
  }
}

//definicion class cartel (constructor)
//*************************************
function Cartel(capaID, top, left) {
  this.activarCar    = activarCartel;
  this.mostrarCar    = mostrarCartel;
  this.ocultarCar    = ocultarCartel;
  this.cambiarCar    = cambiarPosicionCartel;
  this.capaCartel    = (soporta.NS4) ? 'document["'+capaID+'"]' : 'document.all["'+capaID+'"]';
  this.estiloCartel  = (soporta.NS4) ? ''                       : '.style';
  this.topCartel     = (soporta.NS4) ? '.top'                   : '.pixelTop';
  this.leftCartel    = (soporta.NS4) ? '.left'                  : '.pixelLeft';
  this.cambiarCar(top, left);
}


// Manejo de eventos
//******************
function ocultarCartelActivo(e) {
  if (cartelActivo) {
    cartelActivo.ocultarCar();
    cartelActivo = null;
  }
}


//funciones en general

//funcion para mostrar resultado de la respuesta (correcta o no)
//**************************************************************
function cartel(tt){
  bienwin = window.open("","","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=250,height=100")
  bienwin.document.write ("<HEAD><TITLE>SU RESPUESTA..............................................</TITLE></HEAD>")
  bienwin.document.write ("<BODY bgcolor=wheat><CENTER><h3>"+tt+"</h3></CENTER>")
  bienwin.document.write ("<CENTER><a href='javascript:void(0)' onClick='self.close()'> O.K.</a></CENTER></BODY>")
}

