// $Id: popup.js,v 1.4 2005/11/24 15:51:46 rpiotrow Exp $

//otwiera nowe okno przegladarki o rozmiarach 'w' x 'h' i laduje URL podany w parametrze 'plik'
//parametr scroll moze przyjmowac wartosci 'yes' lub 'no'

function winopen(plik, w, h, scroll)
{

	if(window.screen) {
	  aw=screen.availwidth;
	  ah=screen.availheight;
	}else{
	  aw=640;
	  ah=450;
	}
	 ustawienia=
	 "left="+(aw-w)/2+","
	 +"top="+(ah-h)/2+","
	 +"screenX="+(aw-w)/2+","
	 +"screenY="+(ah-h)/2+","
	 +"width="+w+","
	 +"height="+h+","
	 +"toolbar=no,"
	 +"location=no,"
	 +"directories=no,"
	 +"status=np,"
	 +"menubar=no,"
	 +"scrollbars="+scroll+","
	 +"name="+plik+","
	 +"resizable=yes";

	 noweokno=window.open(plik,
	 	('o_' + Math.random (100)).replace ('.','_'),
	 	ustawienia);
	 
	 // added by kba
	 // jesli robimy return
	 // to gdy wywolujemy funkcje
	 // jako link np.
	 // <a href="javascript:winopen(...)">Obrazek</a>
	 // strona macierzysta sie przeladowuje
	 // i pojawia sie na niej napis: [object]
	 
	 // return noweokno;
}

function winopen_modal(url, args, w, h, scroll, callback, callback_arg1)
{
	if (window.showModalDialog) {
		var result = window.showModalDialog(url, args, "dialogWidth:" + w + "px; dialogHeight:" + h + "px; status:no; scroll:" + scroll + ";");
		if (callback) {
			callback(result, callback_arg1);
		}
	}
	else {
		if (window.screen) {
		  aw=screen.availwidth;
		  ah=screen.availheight;
		} else {
		  aw=640;
		  ah=450;
		}
		ustawienia=
			"left="+(aw-w)/2+","
			+"top="+(ah-h)/2+","
			+"screenX="+(aw-w)/2+","
			+"screenY="+(ah-h)/2+","
			+"width="+w+","
			+"height="+h+","
			+"toolbar=no,"
			+"location=no,"
			+"directories=no,"
			+"status=np,"
			+"menubar=no,"
			+"scrollbars="+scroll+","
			+"name="+url+","
			+"resizable=no,"
			+"modal=1";
		noweokno=window.open(url,
			('o_' + Math.random (100)).replace ('.','_'),
			ustawienia);
		var modalFocus = function()
		{
			if (!noweokno.closed) {
				noweokno.focus();
			}
			else {
				window.removeEventListener("focus", modalFocus, false);
				modalFocus = null;
			}
		}
		noweokno.dialogArguments = args;
		window.addEventListener("focus", modalFocus, false);
		if (callback)
		{
			noweokno.onReturn = function(returnValue)
			{
				callback(returnValue, callback_arg1);
			}
		}
	}
}
