function openFixedWindow(url, width, height, name)
{
	if (typeof(name) != 'string')
	{
		name = '_blank';
	}
	window.open(url, name, 'width='+Number(width)+',height='+Number(height)+',directories=no,location=no,menubar=no,scrollbars=no,status=no,toolbar=no,resizable=no');
}

function packWindow(window)
{
	var size = getDocumentSize(document);
	if (typeof(window.innerWidth) != 'undefined')
	{
		window.innerWidth = size.w;
		window.innerHeight = size.h;
		size = getDocumentSize(document); /* second time to let firefox settle :) */
		window.innerWidth = size.w;
		window.innerHeight = size.h;
	}
	else
	{
		window.resizeTo(size.w, size.h + 21/*windows caption?*/);
	}
	//var b = window.document.body;
	//b.insertBefore(document.createTextNode(size.w+"x"+size.h+" "), b.firstChild);
}

function getDocumentSize(document)
{
	var ret = new Object();
	var b = document.body;
	b.style.position = 'absolute';
	ret.w = Number(b.offsetWidth);
	ret.h = Number(b.offsetHeight);
	if (typeof(b.leftMargin) != 'undefined')
	{
		ret.w += Number(b.leftMargin) + Number(b.rightMargin);
		ret.h += Number(b.topMargin) + Number(b.bottomMargin);
	}
	else if (typeof(document.width) != 'undefined')
	{
		ret.w = Number(document.width);
		ret.h = Number(document.height);
	}
	//alert('offsetWidth='+b.offsetWidth+', scrollWidth='+b.scrollWidth+', leftMargin='+b.leftMargin+', rightMargin='+b.rightMargin+', clientLeft='+b.clientLeft+', scrollLeft='+b.scrollLeft);
	//alert(document.width+", "+window.innerWidth);
	return ret;
}

function openWindow(url, width, height, name)
{
	if (typeof(name) != 'string')
	{
		name = '_blank';
	}
	window.open(url, name, 'width='+Number(width)+',height='+Number(height)+',directories=no,location=no,menubar=no,status=no,toolbar=no');
}
