//*************************************************************************
//FUNCIÓN OPEN_WINDOW();
//
//FUNCIONALIDAD:
//		La función OPEN_WINDOW se utilizará para abrir una ventana secundaria
//	del browser. Esta nueva ventana podrá ser manipulada a través de los distintos
//	parámetros que contiene la función.      
//            
//ENTRADAS OBLIGATORIAS:
//		str_URL: es una cadena que identifica a la página html que estará 
//contenida en la nueva ventana. 
//		Como es una cadena tiene que ir rodeada de comillas simples. 
//		Si queremos abrir una página en blanco pondremos '' (cadena vacía).
//		Si no ponemos este parámetro la función no se ejecutará.
//		
//		str_identifier: es una cadena que identifica a la instancia del
//objeto window que acabamos de crear. 
//		Como es una cadena tiene que ir rodeada de comillas simples.
//		Para acceder a cualquier propiedad de esta nueva ventana o para 
//ejecutar algún método lo haremos a través de str_identifier.
//		(p.ej. str_identifier.name o str_identifier.close).
//		Si no ponemos este parámetro la función no se ejecutará.
//      
//		UTILIZACIÓN DE LAS ENTRADAS OBLIGATORIAS: ver la página de prueba
// 
//ENTRADAS OPCIONALES:   
//
//	PARÁMETRO RELATIVO AL FOCO:			
//		bln_focus: si ponemos true o 1, le da el foco a la nueva ventana cada vez que se
//activa el enlace. Si no ponemos nada, el valor por defecto es 0 (o 'no')
//	
//	PARÁMETROS RELATIVOS AL TAMAÑO DE LA VENTANA:	   
//		int_width: anchura de la nueva ventana, en píxels.
//		int_height: altura de la nueva ventana, en píxels.
//	    int_top, int_left: posición desde la cual se abre la ventana (coordenadas x,y)	
//		bln_full: si ponemos true o 1 muestra la nueva ventana a pantalla completa. 
//En este caso los valores int_width, int_height, int_top e int_left son indiferentes.
//
//	PARÁMETROS RELATIVOS A LA VISUALIZACIÓN DE LA VENTANA:
//		bln_locationbar: si ponemos 'yes' o 1, la  línea de direcciones aparecerá en la nueva ventana.
//		bln_menubar: si ponemos 'yes' o 1, la barra de menús aparecerá en la nueva ventana.
//	    bln_toolbar: si ponemos 'yes' o 1, la barra de herramientas aparecerá en la nueva ventana.
//		bln_statusbar: si ponemos 'yes' o 1, la barra de estado aparecerá en la nueva ventana.
//  	bln_scroolbars: si ponemos 'yes' o 1, la barra de desplazamiento aparecerá en la nueva ventana.
//		bln_resizable: si ponemos 'yes' o 1, se permite el cambio de tamaño de la nueva ventana.

//
//	PARÁMETRO RELATIVO AL CENTRADO DE LA VENTANA:
//		bln_center: si ponemos 'yes' o 1, muestra la nueva ventana en el centro de la pantalla.
//
//	UTILIZACIÓN DE LAS ENTRADAS OPCIONALES: ver la página de prueba
//	
//DEVUELVE: 
//      Una nueva ventana del browser.
// 
//**************************************************************************

function open_window(str_URL, str_identifier, bln_focus, int_width, int_height, int_top, int_left, bln_full, bln_locationbar, bln_menubar, bln_toolbar, bln_statusbar, bln_scrollbars, bln_resizable, bln_center) {
  //si queremos ver la nueva ventana a pantalla completa, machacamos
	//los valores de int_width, int_height, int_top e int_left (IE)
	if (bln_full == true) {
    int_width = window.screen.availWidth;
		int_height = window.screen.availHeight;
    int_top = 0;
    int_left = 0;
		}
	 
	//si bln_center = true centramos la nueva ventana
  if (bln_center == true) {
    int_top = (window.screen.availHeight - (int_height + 40)) / 2;
		int_left = (window.screen.availWidth - (int_width + 40)) / 2;
		}

	//abrimos la ventana con los parámetros elegidos
  //si el cuarto parámetro es nulo, es decir, si sólo están 
  //los dos o tres primeros parámetros...
  if (int_width == null) {
    //abre ventana normal
    if (eval("window.qs" + str_identifier)) eval("window.qs" + str_identifier + ".close();");
    eval("var qs" + str_identifier + " = window.open(str_URL, str_identifier)");
  }else{
    //si hay más de 2 parámetros...
    //abre ventana parametrizada
    var str_params = 'top=' + int_top + ' ,left=' + int_left; //posicion inicial
    str_params = str_params + ' ,width=' + int_width + ' ,height=' + int_height; //tamaño
    str_params = str_params + ' ,location=' + bln_locationbar + ' ,menubar=' + bln_menubar; //visualización
    str_params = str_params + ' ,scrollbars=' + bln_scrollbars + ' ,resizable=' + bln_resizable;
    str_params = str_params + ' ,toolbar=' + bln_toolbar + ' ,status=' + bln_statusbar;
    
    if (eval("window.qs" + str_identifier)) eval("window.qs" + str_identifier + ".close();");
    eval("var qs" + str_identifier + " = window.open(str_URL, str_identifier, str_params)");
    }
	
	//si bln_focus=true asignamos el foco a la nueva ventana 
	//cada vez que llamamos a la función 
	if (bln_focus == true) {	
    eval("qs" + str_identifier + ".focus()");
		}
		
	//redimensionamos y reposicionamos la ventana
  if (bln_full == true) {
    eval("qs" + str_identifier + ".moveTo(" + int_top + "," + int_left + ")");
    if (document.layers) eval("qs" + str_identifier + ".setResizable(true)");
    eval("qs" + str_identifier + ".resizeTo(" + int_width + "," + int_height + ")");
    if (document.layers) eval("qs" + str_identifier + ".setResizable(false)");
    }
	
  //guardamos en un vector global el nombre del pop-up 
  //excepto en las entradas: (QS·tutor y Autoregistro) y la salida (Desconexión)
  //if (str_identifier != 'logueo' && str_identifier != 'alta' && str_identifier != 'salida') {
	//1) guardamos la ventana creada en una variable global creada en el default.cfm de QS·tutor
	//top.str_identifierGlobal = eval("qs"+str_identifier);
	//ahora QS·tutor ya sabe que existe esta ventana
	//2) insertamos en el vector
	//top.pops[top.pops.length] = top.str_identifierGlobal;
  //}	
  }

function open_window_sin_ventana(str_URL, str_identifier, bln_focus, int_width, int_height, int_top, int_left, bln_full, bln_locationbar, bln_menubar, bln_toolbar, bln_statusbar, bln_scrollbars, bln_resizable, bln_center) {
  //si queremos ver la nueva ventana a pantalla completa, machacamos
	//los valores de int_width, int_height, int_top e int_left (IE)
	if (bln_full == true) {
    int_width = window.screen.availWidth;
		int_height = window.screen.availHeight;
    int_top = 0;
    int_left = 0;
		}
	 
	//si bln_center = true centramos la nueva ventana
  if (bln_center == true) {
    int_top = (window.screen.availHeight - (int_height + 40)) / 2;
		int_left = (window.screen.availWidth - (int_width + 40)) / 2;
		}

	//abrimos la ventana con los parámetros elegidos
  //si el cuarto parámetro es nulo, es decir, si sólo están 
  //los dos o tres primeros parámetros...
	if (int_width == null) {
    //abre ventana normal
    eval("var qs" + str_identifier + " = window.open(str_URL, str_identifier)");
  }else{
    //si hay más de 2 parámetros...
    //abre ventana parametrizada
    var str_params = 'top=' + int_top + ' ,left=' + int_left; //posicion inicial
    str_params = str_params +' ,width='+int_width+' ,height='+int_height; //tamaño
    str_params = str_params +' ,location='+bln_locationbar+' ,menubar='+bln_menubar; //visualización
    str_params = str_params +' ,toolbar='+bln_toolbar+' ,status='+bln_statusbar;
    str_params = str_params +' ,scrollbars='+bln_scrollbars+' ,resizable='+bln_resizable;
    str_params = str_params + ' ,fullscreen=1';
    
    eval("var qs" + str_identifier + " = window.open('', str_identifier, str_params)");
    eval("qs" + str_identifier + ".moveTo(" + int_top + "," + int_left + ")");
    if (document.layers) eval("qs" + str_identifier + ".setResizable(true)");
    eval("qs" + str_identifier + ".resizeTo(" + int_width + "," + int_height + ")");
    if (document.layers) eval("qs" + str_identifier + ".setResizable(false)");
    }
	
	//si bln_focus=true asignamos el foco a la nueva ventana 
	//cada vez que llamamos a la función 
	if (bln_focus == true) {	
    eval("qs" + str_identifier + ".focus()");
		}
		
	//redimensionamos y reposicionamos la ventana
  if (bln_full == true) {
    eval("qs" + str_identifier + ".moveTo(" + int_top + "," + int_left + ")");
    if (document.layers) eval("qs" + str_identifier + ".setResizable(true)");
    eval("qs" + str_identifier + ".resizeTo(" + int_width + "," + int_height + ")");
    if (document.layers) eval("qs" + str_identifier + ".setResizable(false)");
    }
  
  eval("qs" + str_identifier + ".document.location = str_URL");
	}
