/*
** @(@) HWindow.js : Raccoglie funzioni di utilita' per gestire le finestre
**
** Author : A.Baldrighi/G.Zerbi
** Rel. : 1.0 07/08/03
*/
var hWinName 	= new Array();
var hWinArr 	= new Array();
/*
*	Torna alla pagina di Hermes HPackageList2.html
*/
function backHome()
{
	var x=screen.availWidth-10;
	var y=screen.availHeight-50;
	var nLeft = 0;
	var nTop  = 0;
	if (x > 980) { x=980; nLeft = 5; }
	if (y > 670) { y=670; nTop  = 6; }
	parent.close();
	op = window.open("HBackHome.hpl", "", "status=yes,scrollbars=yes,resizable=yes, left="+nLeft+", top="+nTop+", width="+x+",height="+y);
	return(true);
}
/*	
**	Author : G.Zerbi Rel. : 1.0 08/08/03; Rel. 27/11/03
**	Funzione che consente di aprire una finestra "figlia" di una finestra principale.
**	Parametri :
**		sURL     - URL+parametri della pagina da aprire
**		[dimW]	-	ampiezza in px
**		[dimH]	-	altezza px
**		[posL]	-	left in px
**		[posT]	-	top Y in px
**		[param] -	eventuali altri parametri
**		[pNomePage]	nome pagina forzato, per poter aprire piu' volte la stessa finestra
**	Se la finestra desiderata e' gia' aperta essa e' riattivata.
**	N.B.: La pagina deve avere nel TAG <TITLE>	il nome della pagina stessa.
**	ESEMPI di chiamata : 
**	showForm ("lista_nomi.hpl?CCOD=100", 300,300, 20, 20);
**		Il tag title puo' essere <TITLE>Lista_nomi - Lista dei nominativi</TITLE>
** 27/2/07 G.Zerbi: versione modificata x lancio pagine cartellizzate
*/
function showForm(sURL, dimW, dimH, posL, posT, param, pNomePage) 
{
var formFlags="status, scrollbars, resizable";

	if (arguments.length == 6)
		if (param != "") formFlags = param;
		
	if (arguments.length == 7)
		nomePage = pNomePage;
	else
	{
		var kk = sURL.indexOf("?");
		if (kk > 0)
			nomePage = sURL.substr(0,kk);
		else
			nomePage = sURL;
		kk = nomePage.lastIndexOf(".");
		if (kk>=0) nomePage = nomePage.substr(0,kk).replace('.','_');
		kk = nomePage.lastIndexOf("/");
		if (kk>=0) nomePage = nomePage.substr(kk+1);
	}	
	if (arguments.length == 1)
		var hWin = window.open(sURL, nomePage, formFlags);
	else
	{
		if (arguments.length <= 3)
		{
			posL = -1; posT = -1;
		}
		// 01/08/06 G.Zerbi: calcola top e left x centrare la pagina
		if (posL == -1) 
		{
			var xx=screen.availWidth-10;
			var yy=screen.availHeight-40;
			posL = (parseInt(xx) - parseInt(dimW))/2;
			posT = (parseInt(yy) - parseInt(dimH))/2;
			if (posL < 1) posL = 1;
			if (posT < 1) posT = 1;
		}
		sPos = ",left="+posL+",top="+posT;
		
		var hWin = window.open(sURL, nomePage, formFlags+",width="+dimW+",height="+dimH+sPos)
		
	}
	hWin.focus();
	// inserimento nomePage nel vettore pagine aperte
	for (ii=0; ii<hWinName.length; ii++)
	{
		if (hWinName[ii] == nomePage)
			return;
	}
	hWinName[ii] = nomePage;
	hWinArr[ii]=hWin;
}
/*	G.Zerbi 27/11/03
** Chiusura di tutte le finestre aperte (nessun parametro), oppure della finestra specificata
** Esempio:
**		<BODY onUnLoad="javascript:closeChilds()" >
*/
function closeChilds(nomePage)
{
	if (arguments.length == 0)
		var nomePage = "*";
		
	for (ii=0; ii<hWinName.length; ii++)
	{
		if (nomePage == "*" || hWinName[ii] == nomePage)
			hWinArr[ii].close();
	}
	if (nomePage == "*")
	{
		hWinName = null;
		hWinArr  = null;
	}
}
// Messa solo per compatibilita'
function apriChild (nomePage, pagina, dimX, dimY, posX, posY)
{ showForm (pagina, dimX, dimY, posX, posY);}
/*
** Messa solo per compatibilita'
*/
function closeAllChilds()
{ closeChilds();}
