function OpenGFAChildWindow(sURL)
{
	var sFeature = "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes";
	var sWinName = "GFAChildWindow";
	var bModal = false;
	var nWidth, nHeight;

	if ((screen.availHeight > 601) && (screen.availWidth > 801))
	{
		// Better than 800x600
		nWidth = 650;
		nHeight = 575;
	}
	else
	{
		// 800x600 or lower
		nWidth = 650;
		nHeight = 500;
	}

	OpenBrWindow(sURL, sWinName, nWidth, nHeight, sFeature, bModal);
}

function OpenBrWindow(sURL, sWinName, nWidth, nHeight, sFeature, bModal)
{
	var sDefaultWinName = "ChildWindow";
	var nDefaultWidth = 600;
	var nDefaultHeight = 400;
	var sDefaultFeature = "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no";

	var bIsAOL = (navigator.appName.search(/AOL/i) != -1);
	var bIsIE = (navigator.appName.search(/Microsoft Internet Explorer/i) != -1);
	var bIsNS6 = ((navigator.appName.search(/Netscape/i) != -1) && (navigator.appVersion[0] == "6"));
  
	if (arguments.length <= 5)
	{
		bModal = false;
	}

	if (arguments.length <= 4)
	{
		sFeature = sDefaultFeature;
	}

	if (arguments.length <= 3)
	{
		nHeight = nDefaultHeight;
	}

	if (arguments.length <= 2)
	{
		nWidth = nDefaultWidth;
	}

	if (arguments.length <= 1)
	{
		sWinName = sDefaultWinName;
	}

	/*
	if(! bIsAOL)
	{
		sFeature += ",top=100" + "px";
	}
	*/

	// No width specified in feature
	if (sFeature.search(/width/i) == -1)
	{
		sFeature += ",width=" + nWidth + "px";
	}

	// No height specified in feature
	if (sFeature.search(/height/i) == -1)
	{
		sFeature += ",height=" + nHeight + "px";
	}

	var nTopBorderWidth = 28;

	// No top specified in feature
	if (sFeature.search(/top/i) == -1)
	{
		if (screen.height > (nHeight + nTopBorderWidth))
		{
			// Center the new window
			sFeature += ",top=" + Math.floor((screen.height - (nHeight + nTopBorderWidth)) / 2) + "px";
		}
		else
		{
			sFeature += ",top=0" + "px";
		}
	}

	// No left specified in feature
	if (sFeature.search(/left/i) == -1)
	{
		if (screen.width > nWidth)
		{
			// Center the new window
			sFeature += ",left=" + Math.floor((screen.width - nWidth) / 2) + "px";
		}
		else
		{
			sFeature += ",left=0" + "px";
		}
	}

	sFeature = sFeature.replace(/^,/, "");

	//alert(screen.height + "|" + screen.width + "|" + sFeature);

	if ((! bModal) || (! bIsIE))
	{
		var oWin = window.open(sURL, sWinName, sFeature);

		oWin.focus();
	}
	else
	{
		sFeature = sFeature.replace(/left=/i, "dialogLeft");
		sFeature = sFeature.replace(/top/i, "dialogTop");
		sFeature = sFeature.replace(/width/i, "dialogWidth");
		sFeature = sFeature.replace(/height/i, "dialogHeight");

		sFeature = sFeature.replace(/scrollbars/i, "scroll");

		sFeature = sFeature.replace(/location.*=.*,/i, "");
		sFeature = sFeature.replace(/menubar.*=.*,/i, "");
		sFeature = sFeature.replace(/titlebar.*=.*,/i, "");

		sFeature = sFeature.replace(/=/g, ":");
		sFeature = sFeature.replace(/,/g, ";");

		sFeature += ";edge:sunken";

		var oWin = window.showModalDialog(sURL, window, sFeature);
	}
}
