//--- global variables ---
var winNew   = null;

//--- open a window ---
function openwindow(strWindowName, strURL, nWidthOptional, nHeightOptional)
	{
	winNew = null;							// clear

	//--- window names, sizes and positions ---
	//--- array elements:               (name,                             x,   y, width,height,toolbar,status,menubar,resizable,scrollbars) ---
	var spCSCMain               = new Array("cscmain",                     0,   0,  1024,   768,      0,     1,      0,        1,         1);
	var spDataservice           = new Array("dvc",                        10,  10,   900,   770,      0,     1,      0,        1,         1);
	var spDownload              = new Array("download",                    2,  10,   900,   620,      0,     1,      0,        0,         0);
	var spExterneSites          = new Array("externesites",                8,  60,   784,   480,      1,     1,      0,        1,         0);
	var spFondsCalculator       = new Array("fondscalculator",            30,  88,   730,   470,      0,     0,      0,        0,         0);
	var spFondslisteHilfe       = new Array("fondslistehilfe",            80,  74,   588,   380,      0,     0,      0,        0,         0);
	var spFondsNamenHistory     = new Array("fondsnamenhistory",          80,  74,   588,   403,      0,     0,      0,        0,         0);
	var spFotoFenster           = new Array("fotofenster",                30,  20,   575,   590,      0,     0,      0,        0,         1);
	var spGlossary              = new Array("glossary",                  207, 155,   408,   512,      0,     0,      0,        0,         0);
	var spHistory               = new Array("history",                   200, 150,   503,   300,      0,     0,      0,        0,         1);
	var spHolding               = new Array("holding",                    80,  74,   588,   403,      0,     0,      0,        0,         0);
	var spKaufen                = new Array("kaufen",                     25,  10,   750,   580,      1,     0,      0,        1,         0);
	var spKaufHinweis           = new Array("kaufhinweis",                80, 135,   640,   330,      0,     0,      0,        0,         0);
	var spMarktLinks            = new Array("marktlinks",                208,  88,   384,   423,      0,     0,      0,        0,         0);
	var spPDFLandscape          = new Array("pdflandscape",               31,  88,   905,   653,      0,     0,      0,        1,         1);
	var spPDFPortrait           = new Array("pdfportrait",                 0,   0,   653,   755,      0,     0,      0,        1,         1);
	var spPerformanceCalculator = new Array("performancecalculator",      31,  88,   740,   621,      0,     0,      0,        0,         0);
	var spPerformanceHinweis    = new Array("performancehinweis",         80, 135,   640,   300,      0,     0,      0,        0,         1);
	var spPrintPerform          = new Array("printperform",               80,  74,   640,   455,      1,     0,      0,        1,         1);
	var spPrivBusinessNet       = new Array("privbusinessnet",             0,   0,  1024,   768,      1,     1,      1,        1,         1);
	var spPrivMain              = new Array("privmain",                    0,   0,  1024,   768,      1,     1,      1,        1,         1);
	var spRisiko                = new Array("risiko",                    250, 170,   580,   600,      0,     0,      0,        0,         0);
	var spStandort              = new Array("standort",                   20,  20,   800,   600,      0,     0,      0,        0,         0);
	var spSystemCheck           = new Array("systemcheck",                20,  20,   630,   540,      1,     1,      1,        1,         1);
	var spVorsorgeCalculator    = new Array("vorsorgecalculator",         30,  88,   740,   423,      0,     0,      0,        0,         0);

	var aSizePos = new Array(spCSCMain, spDataservice, spDownload, spExterneSites, spFondsCalculator, spFondslisteHilfe, spFondsNamenHistory, spFotoFenster, spGlossary, spHistory, spHolding, spKaufen, spKaufHinweis, spMarktLinks, spPDFLandscape, spPDFPortrait, spPerformanceCalculator, spPerformanceHinweis, spPrintPerform, spPrivBusinessNet, spPrivMain, spRisiko, spStandort, spSystemCheck, spVorsorgeCalculator);

	//--- find window name by content ---
	nWindow = 0;
	while(nWindow < aSizePos.length)
		{
		if(aSizePos[nWindow][0] == strWindowName)
			break;

		nWindow++;
		}

	if(nWindow >= aSizePos.length)					// window not defined?
		{
		alert("Leider konnte das Fenster nicht gezeigt werden. Bitte informieren Sie den Webmaster.");
		return;
		}

	//--- defaults ---
	var nBrowser = browserversion();
	var nScreenWidth = 800;
	var nScreenHeight = 600;
	var nLeft = aSizePos[nWindow][1];
	var nTop = aSizePos[nWindow][2];
	var nWidth = aSizePos[nWindow][3];
	var nHeight = aSizePos[nWindow][4];

	//--- get screen resolution ---
	if(nBrowser >= 4)
		{
		nScreenWidth  = screen.width;
		nScreenHeight = screen.height;
		}

	//--- center on screen if higher than 800x600 ---
	if(nWidthOptional > 0)
		{
		nWidth = nWidthOptional;
		nLeft = (nScreenWidth - nWidth - 20) / 2;
		}
	else
		{
		if(nScreenWidth > 820)
			nLeft = (nScreenWidth - nWidth) / 2;
		}

	if(nHeightOptional > 0)
		{
		nHeight = nHeightOptional;
		nTop = (nScreenHeight - 70 - nHeight) / 2;
		}
	else
		{
		if(nScreenHeight > 620)
			nTop = (nScreenHeight - nHeight) / 2;
		}

	//--- hide csc-statusbar if 800x600 ---
	if((strWindowName == "csc") && ((nScreenWidth < 820) || (nScreenHeight < 620)))
		aSizePos[nWindow][6] = 0;

	//--- 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;

	//--- catch negative window coordinates ---
	if(nLeft < 0)
		nLeft = 0;
	if(nTop < 0)
		nTop = 0;

	//--- catch windows that are too big ---
	if((nLeft + nWidth) >= nScreenWidth)
		nWidth = nScreenWidth - nLeft - nWidth - 20;
	if((nTop + nHeight) >= nScreenHeight)
		nHeight = nScreenHeight - nTop - nHeight - 70;

	//--- open new / fill existing window ---
	var strOptions = "";
	strOptions += "location=0";
	strOptions += ",directories=0";
	strOptions += ",toolbar=" + aSizePos[nWindow][5];
	strOptions += ",status=" + aSizePos[nWindow][6];
	strOptions += ",menubar=" + aSizePos[nWindow][7];
	strOptions += ",resizable=" + aSizePos[nWindow][8];
	strOptions += ",scrollbars=" + aSizePos[nWindow][9];
	strOptions += ",left=" + nLeft;
	strOptions += ",top=" + nTop;
	strOptions += ",width=" + nWidth;
	strOptions += ",height=" + nHeight;

	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)
	if((winNew != null) && (winNew.opener) && (winNew.opener == null))
		winNew.opener = this;

	//--- set focus to the new window ---
	if(((nBrowser == 3) && (netscape())) || (nBrowser >= 4))
		{
		if(winNew != null)					// not blocked?
			winNew.focus();
		}

	return;
	}


//--- open the glossary-window with one item ---
function glossary(nGlossaryID)
	{
	if(nGlossaryID > 0)
		openwindow("glossary", "/jsp/xslt.jsp?ctrl=glossary/all/&id=" + nGlossaryID.toString());
	else
		openwindow("glossary", "/jsp/xslt.jsp?ctrl=glossary/all/");
	}


//--- promotion-window (call the promotion on www.pioneerinvestments.at) ---
function promo(strDirectory, strLanguage)
	{
	var strLogPageJSP = "http://www.pioneerinvestments.at/jsp/all/all/handler/loghtmlpage.jsp";

	// called without arguments (call OstGarantie 3/2012) ---
	if(promo.arguments.length == 0)
		openwindow("promo", strLogPageJSP + "?url=" + escape("/promo/ostgarantie032012/german/"));

	//--- called with 1 argument (promotion-directory) ---
	else if((promo.arguments.length == 1) && (strDirectory != ""))
		openwindow("promo", strLogPageJSP +  "?url=" + escape("/promo/" + strDirectory + "/german/"));

	//--- called with 2 arguments (promotion-directory and language) ---
	else if((promo.arguments.length == 2) && (strDirectory != "") && (strLanguage != ""))
		openwindow("promo", strLogPageJSP + "?url=" + escape("/promo/" + strDirectory + "/" + strLanguage + "/"));
	}


