function ComponentProxy(componentWindow) {
	this._componentWindow = componentWindow;
	this.facade = this._componentWindow.getFacade();

	// Atributo para poder comprobar la validez del proxy
	// Necesario para marcarlo como 'inválido' sin tener que
	// anularlo (permitirá detectar excepciones cuando se
	// cierre la ventana destino)
	this._isValid = true;
}

ComponentProxy.prototype.setIsValid = function(isValid) {
	this._isValid = isValid;
}

ComponentProxy.prototype.checkProxyReady = function() {
	return ((this._isValid) 
		&& (this._componentWindow != null) 
		&& (!this._componentWindow.closed)  
		&& (this._componentWindow.isLoaded)  
		&& (this.facade.isClientReady()));
}

ComponentProxy.prototype.isComponentClosed = function() {
	try {
		return (this._componentWindow.closed);
	} catch (e) {
		// si no se ha podido acceder a la prop closed
		// es que se ha recargado la ventana destino
		// --> a todos los efectos es como si estuviera cerrada
		return false;
	}
}

ComponentProxy.prototype.focus = function() {
	this._componentWindow.focus();
}

ComponentProxy.prototype.getWindowName = function() {
	return this._componentWindow.name;
}

ComponentProxy.prototype.getURL = function() {
	return this._componentWindow.location.href;
}

ComponentProxy.prototype.setLanguage = function(language) {
	// Por ahora nada ...
}
