/*
 * Abre una ventana emergente para mostrar una imagen
 * y ajusta el tamaño de la ventana a dicha imagen
 *
 * Ejemplo de uso:
 *     <a href="/lib/img/foto.jpg" onclick="return imagen('/lib/img/foto.jpg', 'Título')">Ver imagen</a>
 */
function imagen(){
	var argv=imagen.arguments;
	var argc=imagen.arguments.length;
	
	var minimoH=125;
	var minimoV=125;
	
	if(argc>0){
		var archivo=argv[0];
		var titulo=((argc>1)?argv[1]+' | ':'') + 'La Casona de Escalada';
		
		salida='<html><head><title>';
		salida+=titulo;
		salida+='</title></head><style>\n';
		salida+='body{background-color: #E8E3D9; margin: 0;}\n';
		salida+='</style><script>\n';
		salida+='var img=new Image();\n';
		salida+='img.onload=ajustarVentana;\n';
		salida+='img.onerror=archivoErroneo;\n';
		salida+='img.src="'+escape(archivo)+'";\n';
		salida+='function ajustarVentana(){\n';
		
		salida+='    self.resizeBy(img.width-'+minimoH+', img.height-'+minimoV+');\n';
		
		// Gecko muestra barras de desplazamiento aleatoriamente (aunque no haga falta).
		// Solución: redimensionamos para forzar redibujado
		if(!document.all){
			salida+='    self.resizeBy(20, 20);\n';
			salida+='    self.resizeBy(-20, -20);\n';
		}
		
		// JavaScript no nos indica el tamaño de la ventana, conque lo aproximamos
		salida+='    self.moveTo((screen.availWidth-img.width-10)/2,(screen.availHeight-img.height-30)/2);\n';
		
		salida+='}\n';
		salida+='function archivoErroneo(){\n';
		salida+='    alert("Se ha producido un error al descargar la imagen:\\n'+escape(archivo)+'");\n';
		salida+='    self.close();\n';
		salida+='}\n';
		salida+='\n';
		salida+='\n';
		salida+='</script><body><a href="javascript:self.close()"><img align="absmiddle" src="';
		salida+=escape(archivo);
		salida+='" border=0 title="Clic para cerrar"></a>';
		salida+='</body></html>\n';
		
		var v=window.open('', '', 'width='+minimoH+',height='+minimoV+',resizable=1,scrollbars=0');
		v.document.write(salida);
		v.document.close();
	}
	return false;
}


/*
 * Abre una ventana emergente para mostrar una imagen y un texto
 *
 * Ejemplo de uso:
 *     <a href="/lib/img/foto.jpg" onclick="return mas_info('/lib/img/foto.jpg', 'Esto es una fotografía de ejemplo')">Ver imagen</a>
 */
function mas_info(archivo, texto, /* opcional */ espacio_extra){
	var titulo='La Casona de Escalada';
	var minimoH=125;
	var minimoV=125;
	var css_externo='/lib/css/mas_info.css';
	
	if(!espacio_extra){
		var espacio_extra=100;
	}
	
	salida='<html><head><title>' + titulo + '</title>\n';
	salida+='<link href="' + css_externo + '" rel="stylesheet" type="text/css">\n';
	salida+='<script>\n';
	salida+='var img=new Image();\n';
	salida+='img.onload=ajustarVentana;\n';
	salida+='img.onerror=archivoErroneo;\n';
	salida+='img.src="'+escape(archivo)+'";\n';
	salida+='function ajustarVentana(){\n';

	salida+='    self.resizeBy(img.width-'+minimoH+', img.height-'+minimoV+');\n';

	// Gecko muestra barras de desplazamiento aleatoriamente (aunque no haga falta).
	// Solución: redimensionamos para forzar redibujado
	if(!document.all){
		salida+='    self.resizeBy(20, 20);\n';
		salida+='    self.resizeBy(-20, -20);\n';
	}

	// JavaScript no nos indica el tamaño de la ventana, conque lo aproximamos
	salida+='    self.moveTo((screen.availWidth-img.width-10)/2,(screen.availHeight-img.height-30)/2);\n';

	salida+='}\n';
	salida+='function archivoErroneo(){\n';
	salida+='    alert("Se ha producido un error al descargar la imagen:\\n'+escape(archivo)+'");\n';
	salida+='    self.close();\n';
	salida+='}\n';
	salida+='\n';
	salida+='\n';
	salida+='</script></head><body><a href="javascript:self.close()"><img align="absmiddle" src="';
	salida+=escape(archivo);
	salida+='" border=0 title="Clic para cerrar"></a>';
	
	salida+='<div id="texto">' + texto + '</div>';
	
	salida+='</body></html>\n';

	var v=window.open('', '', 'width='+minimoH+',height='+(minimoV+espacio_extra)+',resizable=1,scrollbars=0');
	v.document.write(salida);
	v.document.close();

	return false;
}
