

/*
    Esta función detecta el navegador y su versión, en base a esto, asigna las propiedades de
    la ventana , la página que se debe abrir en ella y finalmente, centra dicha ventana
    dependiendo de si se ha introducido o no un valor en top. Y por supuesto abre la ventana.

    INSTRUCCIONES:
    - Hay cuatro valores numericos que a lo mejor es necesario cambiar (aunque lo dudo) y son
      los utilizados en las restas de ancho y alto (para mac) y en la operacion de centrado de 
      la ventana.
    - El codigo esta comentado, por lo que no creo que sea dificil de entender, asi que pasare
      directamente a comentar los parametros que recibe la funcion.
    - Parametros recibidos:
 	 1.- alto_ven = El alto de la ventana en pixels. Puede pasarse con o sin comillas.OBLIGATORIO
	 2.- ancho_ven = El ancho de la ventana en pixels. Puede pasarse con o sin comillas.OBLIGATORIO
	 3.- top = La distancia entre el borde superior de la ventana y el limite superior de la pantalla.
			  OPCIONAL (en caso de no pasar este valor la ventana se centrara).
	 4.- left = La distancia entre el borde izquierdo de la ventana y el limite izquierdo de la pantalla.
			   OPCIONAL, pero OBLIGATORIO si se pasa el parametro top.
			   
			   
	 5.- opciones: es un numero a partir de cuyo valor se obtienen las propiedades de la ventana. El valor
	 	que debe tener es la suma de los valores de las opciones.
	 
	     (+1)  status = Determina si aparece o no la barra de estado. Valores yes o no. OBLIGATORIO   
	     (+2)  resizable = Determina si se puede modificar el tamaño o no de la ventana. Valores yes o no. OBLIGATORIO
	     (+4)  toolbar = Determina si aparece o no, la barra de botones. Valores yes o no. OBLIGATORIO
	     (+8)  location = Determina si aparece o no, el campo donde se introducen las direcciones. Valores yes o no. OBLIGATORIO
	     (+16) directories = Determina si aparece o no, la barra de bookmarks personales. Valores yes o no. OBLIGATORIO
	     (+32) scrollbars = Determina si aparece o no, la barra de desplazamiento. Valores yes o no. OBLIGATORIO
	     (+64) menubar = Determina si aparece o no, la barra de menus. Valores yes o no. OBLIGATORIO
	
		Por ejemplo: para activar las opciones status y directories pasariamos el valor 1+16=17
	
	
	 6.- pagina_ns = Nombre con extension de la pagina para Netscape. OBLIGATORIO
	 7.- pagina_ie = Nombre con extension de la pagina para IExplorer. OBLIGATORIO
	 8.- nombreven = Nombe de la instancia de la ventana. OBLIGATORIO. Si se omite podría causar errores.
	
    NOTAS: 
    - Los paramentros han de meterse por orden, y para omitir un parametro, hay que escribir '' en su
      lugar.
    - En el caso de que la pagina, que se desea abrir, sea la misma tanto para ns como para ie se
      escribira dos veces una para cada navegador.
	
      Para cualquier duda consultar con el autor (MC), en la direccion joaquin@editial.es	
	
						By MC & RafaCom

	Revisado el 31-3-2000 por Luis Dorado

*/


function openWindow(alto_ven,ancho_ven,top,left,opciones,pagina_ns,pagina_ie,nombreven){

// Declaracion de variables de la ventana

var propiedades ="";		// propiedades de la ventana
var alto_mac = alto_ven - 90; 	// almacena el alto de la ventana en caso de que el SO sea Mac
var ancho_mac = ancho_ven - 50; // almacena el ancho de la ventana en caso de que el SO sea Mac
var arriba = ""; 		// almacena el valor aplicable a la propiedad top de la ventana
var izquierda = ""; 		// almacena el valor aplicable a la propiedad left de la ventana
var i;
			
// Deteccion del navegador utilizado y su version.

var esMS=(navigator.appVersion.indexOf("MSIE")>0);
var esIE4=(parseInt(navigator.appVersion.substring((navigator.appVersion.indexOf("MSIE"))+5,(navigator.appVersion.indexOf("MSIE"))+6))==4)&&(esMS);
var esIE5=(parseInt(navigator.appVersion.substring((navigator.appVersion.indexOf("MSIE"))+5,(navigator.appVersion.indexOf("MSIE"))+6))==5)&&(esMS);
var esNS=(navigator.appName==("Netscape"))
var esNS4=(parseInt(navigator.appVersion.substring(0,1))>=4);

// Colocacion de la ventana

// Si el navegador es inferior a version 4 no hago nada


if (esIE5 || esNS4){
	// Se generan las propiedades de la ventana y la posición

	// Si recibo el valor top
	if (top != ""){
		arriba = top;
		izquierda = left;
	}else{
		// MODIFICABLE (el decremento 75)
		arriba = ((screen.height-75) - alto_ven) / 2;
		// MODIFICABLE (el decremento 10)
		izquierda = ((screen.width-10) - ancho_ven) / 2;
	}
		
	// Creacion de las propiedades de la ventana
	
	// Si es MAC
	i=0;		
	while (i<7){
		switch(i){
			case(0):{
				if (opciones & 1){
					propiedades=propiedades + ",status=yes";
				}else{
					propiedades=propiedades + ",status=no";
				}
				break;
			}
			case(1):{
				if (opciones & 2){
					propiedades=propiedades + ",resizable=yes";
				}else{
					propiedades=propiedades + ",resizable=no";
				}
				break;
			}
			case(2):{
				if (opciones & 4){
					propiedades=propiedades + ",toolbar=yes";
				}else{
					propiedades=propiedades + ",toolbar=no";
				}
				break;
			}
			case(3):{
				if (opciones & 8){
					propiedades=propiedades + ",location=yes";
				}else{
					propiedades=propiedades + ",location=no";
				}
				break;
			}
			case(4):{
				if (opciones & 16){
					propiedades=propiedades + ",directories=yes";
				}else{
					propiedades=propiedades + ",directories=no";
				}
				break;
			}
			case(5):{
				if (opciones & 32){
					propiedades=propiedades + ",scrollbars=yes";
				}else{
					propiedades=propiedades + ",scrollbars=no";
				}
				break;
			}
			case(6):{
				if (opciones & 64){
					propiedades=propiedades + ",menubar=yes";
				}else{
					propiedades=propiedades + ",menubar=no";
				}
				break;
			}
			default:break;
		}		
		i++;
	}





	if ((navigator.userAgent.indexOf("Mac")) != -1){
		propiedades = propiedades + ",width=" + ancho_mac + ",height=" + alto_mac + ",top=" + arriba + ",left=" + izquierda;
	// Si es PC
	}else{
		propiedades = propiedades + ",width=" + ancho_ven + ",height=" + alto_ven + ",top=" + arriba + ",left=" + izquierda;
	}




	// Apertura de la ventana
	
	// Si es NS
	if (esNS){
		// Se abre la ventana
		var win=window.open (pagina_ns,nombreven,propiedades);
	//Si es IE
	}else{
		// Se abre la ventana
		var win=window.open(pagina_ie,nombreven,propiedades);
	}
		
}	// Fin del IF de la version

}
	
