/*
*  popup.js
* ----------------------------------------------------------------------------
*	Copyright © 1995-2002 Intesys S.r.l. Verona (I). All rights reserved.
* ----------------------------------------------------------------------------
*  Data e versione:
*	14/06/2002 - 1.0
* ----------------------------------------------------------------------------
*  Descrizione:
*	Libreria Javascript per la gestione delle finestre di popup.
* ----------------------------------------------------------------------------
*/


function alreadyOpen(nome) {
    var Match = document.cookie.match( /popup=([^;]+)/ )
    if (Match) {
        var popupNames = Match[1].split(",")
        for (var i=0; i<popupNames.length; i++) {
            if (popupNames[i] == nome) return true
        }
        document.cookie = "popup=" + Match[1] + "," + nome + "; PATH=/"
    } else {
        document.cookie = "popup=" + nome + "; PATH=/"
    }
    return false
}


function openPopup(url, windowParam, windowName) {
	var now = new Date();
	windowName = (windowName ? windowName : 't'+now.getTime()+'r'+Math.floor(Math.random()*1000)) 
	var popUpWindow = window.open(url, windowName, windowParam)
	if (popUpWindow && popUpWindow.focus) {
		popUpWindow.focus()
	}
}


function popup(url, kind, width, height, windowName, leftPos, topPos) {
	var toolbarFlag         = (kind % 2 ? 1 : 0);  kind = parseInt(kind / 2, 10);   //   1
	var locationFlag        = (kind % 2 ? 1 : 0);  kind = parseInt(kind / 2, 10);   //   2
	var directoriesFlag     = (kind % 2 ? 1 : 0);  kind = parseInt(kind / 2, 10);   //   4
	var statusFlag          = (kind % 2 ? 1 : 0);  kind = parseInt(kind / 2, 10);   //   8
	var menubarFlag         = (kind % 2 ? 1 : 0);  kind = parseInt(kind / 2, 10);   //  16
	var scrollbarsFlag      = (kind % 2 ? 1 : 0);  kind = parseInt(kind / 2, 10);   //  32
	var resizableFlag       = (kind % 2 ? 1 : 0);  kind = parseInt(kind / 2, 10);   //  64
	var centerFlag          = (kind % 2 ? 1 : 0);  kind = parseInt(kind / 2, 10);   // 128
	var openOnlyOneTimeFlag = (kind % 2 ? 1 : 0);  kind = parseInt(kind / 2, 10);   // 256
	if (centerFlag) {
		leftPos = window.screen.width/2  - width/2  - 10
		topPos = window.screen.height/2 - height/2 - 50
	}
	var param = 'toolbar='+toolbarFlag
			  + ',location='+locationFlag
			  + ',directories='+directoriesFlag
			  + ',status='+statusFlag
			  + ',menubar='+menubarFlag
			  + ',scrollbars='+scrollbarsFlag
			  + ',resizable='+resizableFlag
			  + (typeof(width)   != 'undefined' ? ',width=' +width  : '')
			  + (typeof(height)  != 'undefined' ? ',height='+height : '')
			  + (typeof(leftPos) != 'undefined' ? ",left=" + leftPos + ",screenX=" + leftPos : '')
			  + (typeof(topPos)  != 'undefined' ? ",top="  + topPos  + ",screenY=" + topPos  : '')

    if (!openOnlyOneTimeFlag || !alreadyOpen(windowName)) {
		openPopup(url, param, windowName)
    }
}

