/************************************************************************
* version 2003-06-21							*
*									*
* made for kult editionen						*
* (c) ari @ gddn.org, 1999-2003.					*
************************************************************************/

var blur_timeout = 60*1000;	// 1 minute
var ImagesLoaded = 0;
var baseWndName  = 'kult';
var popupWndName = baseWndName + '_popup';
var offsiteWnd   = 'offsite';
var wndPopup;
var vForward;
var vTimeout;
var isPopup;
var dir_up;
var extra_loader;
var win_adj	 = 4;

isPopup = (self.name == popupWndName);
if (isPopup || (self.name == baseWndName)) {
	if (self.focus) self.focus();
}
else
if (self.name.indexOf(baseWndName + '_')==0) {
}
else
if (top.frames.length) {
	top.location.href = self.location.href;
}
else {
	self.name = baseWndName;
}

b_OK = 0;
b_NN = navigator.appName.indexOf('Netscape') != -1;
b_Version = parseInt(navigator.appVersion);

if (navigator.appName == 'Opera' && b_Version >= 7)
	win_adj = 0;

//****************************************
// get screen metric

if (b_Version >= 4) {
	var screen_topX = screen.height - screen.availHeight;
	var screen_minX = 48;
	var screen_maxH;
	var want_width  = 600;

	if (b_NN) {
		if (screen_topX <= 16) screen_topX = 36;
		screen_maxH = screen.availHeight - 2*screen_topX;
	} else {
		if (screen_topX >= 54) screen_topX = (screen_topX/2)+2;
		screen_maxH = screen.height - 2*screen_topX;
	}
}

//****************************************
// internals

function on_error()	{ return true; }
function on_focus()	{ window.clearTimeout(vTimeout); }

function on_blur()	{
	window.clearTimeout(vForward);
	vTimeout = window.setTimeout("self.close()", blur_timeout);
}

function adjust_height(h) {
	if (h < screen_minX || h > screen_maxH) h = screen_maxH;
	return h;
}

function adjust_width(w) {
	if (w < screen_minX || w > screen.availWidth) w = screen.availWidth;
	return w;
}

var tag_img;
function initAllImages() {
	var i = document.images.length;

	if (ImagesLoaded) return;

	while (i--) {
		lib_InitImage(document.images[i]);
	}
	ImagesLoaded = 1;
}

//****************************************
// exports

function lib_onLoad() {
	if (! b_OK) return;

	initAllImages();

	if (extra_loader) extra_loader();
}

function trim_popup() {
	var obj;

	if (! document.images) return;

	obj = document.images.one_img;
	if (! obj) return;
	h = obj.height;
	w = obj.width;

	self.resizeTo(w,h);

	if (document.all) {
		obj = document.all.body;
		w = 2*w + win_adj - obj.offsetWidth;
		h = 2*h + win_adj - obj.offsetHeight;
		self.resizeTo(w,h);
	}
	else
	if (self.innerWidth)
	if (self.innerWidth != w || self.innerHeight != h) {
		w = w + 9;		// (self.outerWidth  - self.innerWidth)
		h = h + (self.outerHeight - self.innerHeight);
		self.resizeTo(w,h);
	}

	window.onblur  = on_blur;
	window.onfocus = on_focus;
}

function swp_i(img_name,state) {
	if (! document.images) return;

	var img = document.images[img_name];
	var nxt;

	if (! img) return;
	if (! ImagesLoaded) lib_InitImage(img);

	if (!(img.i_0 && img.i_1)) return;

	nxt = (state) ? img.i_1 : img.i_0;
	if (nxt.complete) img.src = nxt.src;
}

function ref_p(l,m,w,h)
{
	var popup;
	var arg = 'resizable=yes,left=20,top=20';

	if (b_NN) {
	    arg = arg + ",innerWidth="  + w +
			",innerHeight=" + h;
	}
	else {
	    arg = arg + ",width="  + w +
			",height=" + h;
	}

	popup = window.open(l.href, l.target, arg);

	window.onerror = on_error;
	popup.focus();
	return false;
}

//****************************************
// helper

function lib_InitImage(img) {
	var i_0;
	var i_1;

	if (img.i_0 && img.i_1) return;

	i_0 = img.src;
	i_1 = i_0.replace('_pas\.gif','_akt.gif');
	if (i_0 == i_1) return;

	img.i_0 = new Image; img.i_0.src = i_0;
	img.i_1 = new Image; img.i_1.src = i_1;
}

//****************************************

b_OK = b_Version >= 4;

// done
