//--- global variables ---
var winNew = null;
var winFocus = null;

//--- open a window ---
function spawnWindow(strContent, strURL)
	{
	winNew = null;

	//--- content to window name translation ---
	//--- array elements: (content,windowname) ---
	
	var nwfd_popup    = new Array ("wfd_popup","wfd_popup");

	var aNames = new Array (nwfd_popup);

	//--- window names, sizes and positions ---
	//--- array elements: (name,x,y,width,height,toolbar,status,menubar,resizable,scrollbars,location,directories) ---
	
	var spwfd_popup    = new Array ("wfd_popup",0,0,540,570,0,1,0,0,0,0,0);
	
	var aSizePos = new Array (spwfd_popup);

	//--- find window name by content ---
	var strWindowName = "";
	for(var nName=0; nName<aNames.length; nName++)
		{
		if(aNames[nName][0] == strContent)
			strWindowName = aNames[nName][1];
		}

	if(strWindowName == "")
		{
		alert("Unfortunately the window could not be displayed. Please inform the webmaster.");
		return;
		}

	//--- get window size and position by window name ---
	for(var nWindow=0; nWindow<aSizePos.length; nWindow++)
		{
		if(aSizePos[nWindow][0] == strWindowName)
			{
			//--- defaults ---
			var nBrowser = browserversion();
			var nScreenWidth = 800;
			var nScreenHeight = 600;
			var nLeft = aSizePos[nWindow][1];
			var nTop = aSizePos[nWindow][2];

			//--- get screen resolution ---
			if(nBrowser >= 4)
				{
				nScreenWidth = screen.width;
				nScreenHeight = screen.height;
				}

			//--- center on screen if higher than 800x600 ---
			if(nScreenWidth > 820)
				nLeft = nLeft + ((nScreenWidth - 800) / 2);
			if(nScreenHeight > 620)
       				nTop = nTop  + ((nScreenHeight - 600) / 2);

			//--- correction if toolbar or menu is visible ---
			if((aSizePos[nWindow][5] == 1) && (nTop >= 44))
				nTop = nTop - 44;
			if((aSizePos[nWindow][7] == 1) && (nTop >= 24))
				nTop = nTop - 24;

			//--- show menubar at Explorer's print-window ---
			if((explorer() == true) && (strContent == "printpage"))
				{
				aSizePos[nWindow][5] = 0;
				aSizePos[nWindow][7] = 1;
				}

			//--- open new / fill existing window ---
			var strOptions = "";
			var strOptions = strOptions +  "toolbar=" + aSizePos[nWindow][5];
			var strOptions = strOptions + ",location=" + aSizePos[nWindow][10];
			var strOptions = strOptions + ",directories" + aSizePos[nWindow][11];
			var strOptions = strOptions + ",status=" + aSizePos[nWindow][6];
			var strOptions = strOptions + ",menubar=" + aSizePos[nWindow][7];
			var strOptions = strOptions + ",resizable=" + aSizePos[nWindow][8];
			var strOptions = strOptions + ",scrollbars=" + aSizePos[nWindow][9];
			var strOptions = strOptions + ",left=" + nLeft;
			var strOptions = strOptions + ",top=" + nTop;
			var strOptions = strOptions + ",width=" + aSizePos[nWindow][3];
			var strOptions = strOptions + ",height=" + aSizePos[nWindow][4];

			winNew = window.open(strURL, strWindowName, strOptions);

			//--- Explorer 4 needs this, otherwise focus() will crash with an ---
			//--- access violation error in case the window is already open   ---
			if(winNew.opener == null)
				winNew.opener = this;

			//--- set focus to the new window ---
			if(((nBrowser == 3) && (netscape())) || (nBrowser >= 4))
				winNew.focus();

			//--- set the focus again in 2 seconds ---
			if(strWindowName == "topwindow")
				{
				winFocus = winNew;
				setTimeout("setfocustimer()", 2000);
				}
			}
		}

	return;
	}

//--- set focus to the new window ---
function setfocustimer()
	{
	if(winFocus == null)
		return;

	nBrowser = browserversion();

	//--- set focus to the new window ---
	if(((nBrowser == 3) && (netscape())) || (nBrowser >= 4))
		winFocus.focus();
	winFocus = null;
	}


