// Juan Matias de la Camara Beovide
// TJF - Tiger JavaScrip Framework
// Abril 2008

// Este script incluye el objeto para superponer
// un frame grisado que inhabilita toda la pantalla
// Este frame no puede aparecer sobre ciertos controles
// como un flash

/* ******************************************************************* */
/* Definicion de la clase */  
var TJF_WaitFrame = Class.create();
/* para agregar valores por dafault seguir el siguiente ejemplo */
/*Formula. DEFAULTS = {
  VARIABLE : VALOR,
};*/
TJF_WaitFrame.DEFAULTS = {
  color: "#555555",
  opacity: "0.45",
  image: "http://destinia.com/headers/destinia/img/destinia_wait.gif",
  width : "100%",
  height : "100%"
}

/* Aplico el prototipo */
TJF_WaitFrame.prototype = {
  initialize : function (options) {
    this.options = Extend(options, TJF_WaitFrame.DEFAULTS);
    var miDiv;
 /* creo el objeto */ 
    if(!$("TJF_WaitFrame")){
      miDiv = CE("DIV");
      miDiv.setAttribute("id","TJF_WaitFrame");
    } else {
      miDiv =$("TJF_WaitFrame");
    }
  /* preparo el objeto */
    miDiv.style.width = this.options.width;
    miDiv.style.height = this.options.height;
    miDiv.style.position = "absolute";
    miDiv.style.top = "5px";
    miDiv.style.backgroundColor = this.options.color;
    if(__navigator__.isMoz = 1) {
      miDiv.style.MozOpacity = this.options.opacity;
    } else {
      this.options.opacity = (this.options.opacity * 100); 
      miDiv.style.filters.alpha.opacity = this.options.opacity;
    }
    miDiv.style.opacity =  this.options.opacity;
  /* lo guardo y lo muestro */
    this.Div = miDiv;
    this.hide();
    document.body.appendChild(this.Div);
  /* le agrego la imagen */
    this.inserImg();
  },

/* funcion para insertar una imagen en el medio de la pantalla con el div opaco */
  inserImg : function () {
    miImg = CE("IMG");
    miImg.src = this.options.image;
    var x = (__navigator__.getwindowinnerheight()/2);
    var y = (__navigator__.getwindowinnerwidth()/2);
    miImg.style.position = "absolute";
    try{miImg.style.top = x;}
    catch(e){miImg.top = x;}
    try{miImg.style.left= y;}
    catch(e){miImg.left= y;}
    this.Div.appendChild(miImg);
  },

/* oculta y muestra el DIV */
  hide : function () {
    this.Div.style.visibility = "hidden";
    this.Div.visibility = "hidden";
  },
  show : function () {
    this.Div.style.visibility = "visible";
    this.Div.visibility = "visible";
  }
}
