visorHtml = function(vPadre, vMiVentana, config){
	
	this.el = vMiVentana.el;
	this.config = config;
	
	// Ventana padre en este caso la ventana de la aplicacion
	this.vPadre = vPadre;
	this.vMiVentana   = vMiVentana;
	// mi ventana
	
	var dh = Ext.DomHelper;
	
	this.miDiv = dh.append(this.el.dom, {tag: 'div'}, true);
	YAHOO.util.Dom.generateId(this.miDiv);
	
	if(this.config.objeto) { 
			
			// crea el objeto indicado
			var objetoEl = this.miDiv;
			var objetoConfig = config.objeto.config;
			// informa a la instancia quien es su padre			
			objetoConfig.padre = this.config.id;
			objetoConfig.key = '';
			var objetoClase = config.objeto.clase;
			// verifica si se ha creado el objeto
			if (!config.objeto.instancia){	
				// crea el objeto
				this.config.objeto.instancia = eval( 'new ' + objetoClase + '( objetoEl,  objetoConfig )' ); 
			}
				else {		
					// muestra el objeto
					this.config.objeto.instancia.mostrar(objetoConfig);
			}
	}
		else {
			Ext.get(this.miDiv.id).addClass('detalleDatos');
			var um = Ext.get(this.miDiv.id).getUpdateManager();
			um.disableCaching = true;
			um.showLoadIndicator = false;	
			um.setRenderer({
						 render : function(el, o){
							 var contenido = o.responseText.htmlDecode();
							  // pasa el id del elemento contenedor a la pagina alojada
							 contenido = contenido.replace(/%el%/g,el.id);
							 el.update(contenido,true);
						 }
						});
			um.update(config.url);	
	}
//	this.tag = dh.append(document.body, config.tag);
//
//	this.tag.id = config.id;
	
	vPadre.ventana.beginUpdate();
	//Obtiene el layout del visor
	
	this.layout = new Ext.NestedLayoutPanel(vMiVentana.ventana, config.layout );
	// se subcribe al evento destroy del content
	this.layout.on('destroy', this.destroy ,this, true);
	
	vPadre.ventana.add(config.region, this.layout);
	
	this.panel = new Ext.ContentPanel(this.miDiv.id, config.panel)
	
	vMiVentana.ventana.add('center', this.panel);	
	vPadre.ventana.restoreState();
   	vPadre.ventana.endUpdate();

};

visorHtml.prototype =  {
	
	id	: function(){
	 return this.layout.getEl().id;
	},
	
	activar			: function(){
		
		this.vPadre.ventana.showPanel(this.layout.getEl().id);
	},
	getEl			: function (){
		return this.layout.getEl();
	},	
	destroy : function(){
		
	},	
	objetoAnexo : function(){
		return this.config.objeto.instancia;
	}
	
};
