// ************************************************************
// Generelle javascript functioner til brug for layers
// ************************************************************
// Version 4.51 (c) Datagraf Auning AS
// ************************************************************
// BEMÆRK!!!
// ************************************************************
// Microsoft Internet Explorer 5.x kender ikke positionen på et
// lag før den er sat via Javascript. Microsoft Internet
// Explorer 5.x og Netscape Navigator 6 ved ikke om et lag er
// vist før det er blevet vist gennem Javascript
// ************************************************************

// Browser check
var agt=navigator.userAgent.toLowerCase();

var is_major = parseInt(navigator.appVersion);
var is_minor = parseFloat(navigator.appVersion);

var is_nav      = ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('spoofer')==-1) && (agt.indexOf('compatible') == -1) && (agt.indexOf('opera')==-1) && (agt.indexOf('webtv')==-1) && (agt.indexOf('hotjava')==-1));
var is_nav2     = (is_nav && (is_major == 2));
var is_nav3     = (is_nav && (is_major == 3));
var is_nav4     = (is_nav && (is_major == 4));
var is_nav4up   = (is_nav && (is_major >= 4));
var is_navonly  = (is_nav && ((agt.indexOf(";nav") != -1) || (agt.indexOf("; nav") != -1)) );
var is_nav6     = (is_nav && (is_major == 5));
var is_nav7     = (is_nav && (is_major == 5) && (agt.indexOf("netscape/7.") != -1));
var is_nav7up   = (is_nav7);
var is_nav6_2   = (is_nav && (is_major == 5) && (agt.indexOf("netscape6/6.2") != -1));
var is_nav6_2up = (is_nav7up || is_nav6_2);
var is_nav6up   = (is_nav6_2up || (is_nav && (is_major >= 5)));

var is_gecko    = (agt.indexOf('gecko') != -1);

var is_moz1     = (is_gecko && (agt.indexOf("rv:1.") != -1));
var is_moz1up   = (is_moz1);

var is_ie       = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
var is_ie3      = (is_ie && (is_major < 4));
var is_ie4      = (is_ie && (is_major == 4) && (agt.indexOf("msie 5") == -1) );
var is_ie4up    = (is_ie && (is_major >= 4));
var is_ie5      = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.0") !=-1) );
var is_ie5_5    = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.5") !=-1));
var is_ie6      = (is_ie && (is_major == 4) && (agt.indexOf("msie 6.0") !=-1) );
var is_ie7      = (is_ie && (is_major == 4) && (agt.indexOf("msie 7.0") !=-1) );
var is_ie7up    = (is_ie7);
var is_ie6up    = (is_ie6   ||  is_ie7up);
var is_ie5up    = (is_ie6up || (is_ie  && !is_ie3 && !is_ie4));
var is_ie5_5up  = (is_ie6up || (is_ie && !is_ie3 && !is_ie4 && !is_ie5));

// is_aol, is_aol3, og is_aol4 er ikke helt sikre, idet AOL4 nogle gange returnerer sandt og andre gange falsk...
var is_aol   = (agt.indexOf("aol") != -1);
var is_aol3  = (is_aol && is_ie3);
var is_aol4  = (is_aol && is_ie4);

var is_opera = (agt.indexOf("opera") != -1);
var is_opera4 = (agt.indexOf("opera 4") != -1);
var is_opera5 = (agt.indexOf("opera 5") != -1);
var is_opera5up = (is_opera && (is_major >=4));

var is_webtv = (agt.indexOf("webtv") != -1);

var is_TVNavigator = ((agt.indexOf("navio") != -1) || (agt.indexOf("navio_aoltv") != -1));
var is_AOLTV = is_TVNavigator;

var is_hotjava = (agt.indexOf("hotjava") != -1);
var is_hotjava3 = (is_hotjava && (is_major == 3));
var is_hotjava3up = (is_hotjava && (is_major >= 3));

// Javascript check
var is_js;
if (is_nav2 || is_ie3) is_js = 1.0;
else if (is_nav3 || is_opera) is_js = 1.1;
else if ((is_nav4 && (is_minor <= 4.05)) || is_ie4) is_js = 1.2;
else if ((is_nav4 && (is_minor > 4.05)) || is_ie5) is_js = 1.3;
else if (is_hotjava3up) is_js = 1.4;
else if (is_nav6 || is_gecko) is_js = 1.5;
else if (is_nav6up) is_js = 1.5;
else if (is_ie && (is_major > 5)) is_js = 1.3
else is_js = 0.0;

// Platform check
var is_win   = ( (agt.indexOf("win")!=-1) || (agt.indexOf("16bit")!=-1) );
// Opera 3.0 viser altid "Windows 95/NT4" på Win32
var is_win95 = ((agt.indexOf("win95")!=-1) || (agt.indexOf("windows 95")!=-1));
var is_win16 = ((agt.indexOf("win16")!=-1) ||
                (agt.indexOf("16bit")!=-1) || (agt.indexOf("windows 3.1")!=-1) ||
                (agt.indexOf("windows 16-bit")!=-1) );
var is_win31 = ((agt.indexOf("windows 3.1")!=-1) || (agt.indexOf("win16")!=-1) ||
                (agt.indexOf("windows 16-bit")!=-1));

// Windows 98 kan nok ikke findes (Nav 4.x viser bare Windows, Mercury viser Win98 i 32-bit versionen, men Win95 i 16-bit versionen
var is_win98 = ((agt.indexOf("win98")!=-1) || (agt.indexOf("windows 98")!=-1));
var is_winnt = ((agt.indexOf("winnt")!=-1) || (agt.indexOf("windows nt")!=-1));
var is_win32 = (is_win95 || is_winnt || is_win98 ||
              ((is_major >= 4) && (navigator.platform == "Win32")) ||
               (agt.indexOf("win32")!=-1) || (agt.indexOf("32bit")!=-1));

var is_os2   = ((agt.indexOf("os/2")!=-1) ||
                (navigator.appVersion.indexOf("OS/2")!=-1) ||
                (agt.indexOf("ibm-webexplorer")!=-1));

var is_mac    = (agt.indexOf("mac")!=-1);
var is_mac68k = (is_mac && ((agt.indexOf("68k")!=-1) ||
                            (agt.indexOf("68000")!=-1)));
var is_macppc = (is_mac && ((agt.indexOf("ppc")!=-1) ||
                            (agt.indexOf("powerpc")!=-1)));

var is_sun   = (agt.indexOf("sunos")!=-1);
var is_sun4  = (agt.indexOf("sunos 4")!=-1);
var is_sun5  = (agt.indexOf("sunos 5")!=-1);
var is_suni86= (is_sun && (agt.indexOf("i86")!=-1));
var is_irix  = (agt.indexOf("irix") !=-1);    // SGI
var is_irix5 = (agt.indexOf("irix 5") !=-1);
var is_irix6 = ((agt.indexOf("irix 6") !=-1) || (agt.indexOf("irix6") !=-1));
var is_hpux  = (agt.indexOf("hp-ux")!=-1);
var is_hpux9 = (is_hpux && (agt.indexOf("09.")!=-1));
var is_hpux10= (is_hpux && (agt.indexOf("10.")!=-1));
var is_aix   = (agt.indexOf("aix") !=-1);      // IBM
var is_aix1  = (agt.indexOf("aix 1") !=-1);
var is_aix2  = (agt.indexOf("aix 2") !=-1);
var is_aix3  = (agt.indexOf("aix 3") !=-1);
var is_aix4  = (agt.indexOf("aix 4") !=-1);
var is_linux = (agt.indexOf("inux")!=-1);
var is_sco   = (agt.indexOf("sco")!=-1) || (agt.indexOf("unix_sv")!=-1);
var is_unixware = (agt.indexOf("unix_system_v")!=-1);
var is_mpras    = (agt.indexOf("ncr")!=-1);
var is_reliant  = (agt.indexOf("reliantunix")!=-1);
var is_dec   = ((agt.indexOf("dec")!=-1) || (agt.indexOf("osf1")!=-1) ||
                (agt.indexOf("dec_alpha")!=-1) || (agt.indexOf("alphaserver")!=-1) ||
                (agt.indexOf("ultrix")!=-1) || (agt.indexOf("alphastation")!=-1));
var is_sinix = (agt.indexOf("sinix")!=-1);
var is_freebsd = (agt.indexOf("freebsd")!=-1);
var is_bsd = (agt.indexOf("bsd")!=-1);
var is_unix  = ((agt.indexOf("x11")!=-1) || is_sun || is_irix || is_hpux ||
                 is_sco ||is_unixware || is_mpras || is_reliant ||
                 is_dec || is_sinix || is_aix || is_linux || is_bsd || is_freebsd);

var is_vms   = ((agt.indexOf("vax")!=-1) || (agt.indexOf("openvms")!=-1));
var is_apple_web_kit = (agt.indexOf('applewebkit')!=-1);
var is_safari = (is_apple_web_kit);

// Browser check, simplere, passer til adskillelse mellem MSIE pre W3C, NN pre W3C og bedre post W3C
var w3c = (document.getElementById) ? 1 : 0;
var ns4 = (document.layers) ? 1 : 0;
var ie4 = (document.all) ? 1 : 0;
// Bedst at tjekke for W3C først, derefter de øvrige. Dermed kan både NN6 og MSIE5 behandles med samme kode

// Følg ikke link
function click_return() {
	var bAgent = window.navigator.userAgent;
	var bAppName = window.navigator.appName;
	if (is_ie3 && is_mac) {
		return true;
	} else {
		return false;
	}
}

// Layer funktioner i frame
function get_frame(framename) {
	var frame;
	if ((!(framename)) || (framename == window)) {
		frame = window;
	} else {
		var listOfFramesets = new Array;
		listOfFramesets[listOfFramesets.length] = window.top;
		while (listOfFramesets.length) {
			var win = listOfFramesets[0];
			listOfFramesets = listOfFramesets.slice(1);
			for (var i = 0; i < win.frames.length; i++) {
				if (win.frames[i].frames.length) {
					listOfFramesets[listOfFramesets.length] = win.frames[i];
				}
				if (win.frames[i].name == framename) {
					frame = win.frames[i];
					i = win.frames.length;
					listOfFramesets = new Array;
				}
			}
		}
	}
	return frame;
}
function get_document_frame(frame) {
	if (frame == '') {
		return window.document;
	}
	var win = get_frame(frame);
	var doc = document;
	if (win) {
		doc = win.document;
	}
	return doc;
}
function get_layer_frame_ie4first(frame, layername) {
	var doc = get_document_frame(frame);
	var lay;
	if (doc) {
		if (ie4) {
			lay = doc.all.tags("div")[layername];
		} else if (w3c) {
			lay = doc.getElementById(layername);
		} else if (ns4) {
			lay = doc.layers[layername];
		}
	}
	return lay;
}
function get_layer_frame(frame, layername) {
	var doc = get_document_frame(frame);
	var lay;
	if (doc) {
		if (w3c) {
			lay = doc.getElementById(layername);
		} else if (ie4) {
			lay = doc.all.tags("div")[layername];
		} else if (ns4) {
			lay = doc.layers[layername];
		}
	}
	return lay;
}
function get_layer(layername) {
	return get_layer_frame('', layername);
}
function set_position_frame(frame, layer, x, y) {
	var doc = get_document_frame(frame);
	x = Math.floor(x);
	y = Math.floor(y);
	if (doc) {
		if (ie4) {
			if (doc.all.tags("div")[layer]) {
				var element = doc.all.tags("div")[layer];
				if (element) {
					var parent  = element.parentElement;
					if ((is_ie5up) && (is_mac) && (parent)) {
						x = x - get_x_position(parent);
						y = y - get_relative_y_position_for_macie5up(parent);
					}
					if (element.style) {
						element.style.posLeft = x;
						element.style.posTop  = y;
					}
				}
			}
		} else if (w3c) {
			var element = doc.getElementById(layer);
			if ((element) && (element.style)) {
				element.style.left = x + "px";
				element.style.top  = y + "px";
			}
		} else if (ns4) {
			if (doc.layers[layer]) {
				doc.layers[layer].left = x;
				doc.layers[layer].top  = y;
			}
		}
	}
}
function set_position(layer, x, y) {
	return set_position_frame('', layer, x, y);
}

function set_left_position_frame(frame, layer, x) {
	var doc = get_document_frame(frame);
	x = Math.floor(x);
	if (doc) {
		if (ie4) {
			if (doc.all.tags("div")[layer]) {
				var element = doc.all.tags("div")[layer];
				if (element) {
					var parent  = element.parentElement;
					if ((is_ie5up) && (is_mac) && (parent)) {
						x = x - get_x_position(parent);
					}
					if (element.style) {
						element.style.posLeft = x;
					}
				}
			}
		} else if (w3c) {
			var element = doc.getElementById(layer);
			if ((element) && (element.style)) {
				element.style.left = x + "px";
			}
		} else if (ns4) {
			if (doc.layers[layer]) {
				doc.layers[layer].left = x;
			}
		}
	}
}
function set_left_position(layer, x) {
	return set_left_position_frame('', layer, x);
}

function set_top_position_frame(frame, layer, y) {
	var doc = get_document_frame(frame);
	y = Math.floor(y);
	if (doc) {
		if (ie4) {
			if (doc.all.tags("div")[layer]) {
				var element = doc.all.tags("div")[layer];
				if (element) {
					var parent  = element.parentElement;
					if ((is_ie5up) && (is_mac) && (parent)) {
						y = y - get_relative_y_position_for_macie5up(parent);
					}
					if (element.style) {
						element.style.posTop  = y;
					}
				}
			}
		} else if (w3c) {
			var element = doc.getElementById(layer);
			if ((element) && (element.style)) {
				element.style.top  = y + "px";
			}
		} else if (ns4) {
			if (doc.layers[layer]) {
				doc.layers[layer].top  = y;
			}
		}
	}
}
function set_top_position(layer, y) {
	return set_top_position_frame('', layer, y);
}

function get_top_position_frame(frame, layer) {
	var doc = get_document_frame(frame);
	if (doc) {
		if (w3c) {
			var element = doc.getElementById(layer);
			if (element) {
				return parseInt(element.style.top);
			}
		} else if (ie4) {
			if (doc.all.tags("div")[layer]) {
				return doc.all.tags("div")[layer].style.posTop;
			}
		} else if (ns4) {
			if (doc.layers[layer]) {
				return doc.layers[layer].top;
			}
		}
	}
}
function get_top_position(layer) {
	return get_top_position_frame('', layer);
}
function get_left_position_frame(frame, layer) {
	var doc = get_document_frame(frame);
	if (doc) {
		if (is_ie4up) {
			if ((doc.all.tags("div")[layer]) && (doc.all.tags("div")[layer].style)) {
				return doc.all.tags("div")[layer].style.posLeft;
			}
		} else if (is_gecko) {
			var element = doc.getElementById(layer);
			if ((element) && (element.style)) {
alert(element + '\n' + element.style);
alert(element.style.left);
alert(parseInt(element.style.left));
				return parseInt(element.style.left);
			}
		} else if (is_nav4up) {
			if (doc.layers[layer]) {
				return doc.layers[layer].left;
			}
		}
	}
}
function get_left_position(layer) {
	return get_left_position_frame('', layer);
}
var timeoutCollection = new Object;
function move_to_position_frame(frame, layer, x, y, steps) {
	var doc = get_document_frame(frame);
	if (doc) {
		old_x = get_left_position_frame(frame, layer);
		old_y = get_top_position_frame(frame, layer);
		dif_x = (x - old_x) / steps;
		dif_y = (y - old_y) / steps;
		steps--;
		set_position_frame(frame, layer, old_x + dif_x, old_y + dif_y);
		if (steps > 0) {
			var semiUniqueName = frame + "_" + layer;
			if (timeoutCollection[semiUniqueName]) {
				window.clearTimeout(timeoutCollection[semiUniqueName]);
			}
			command = "move_to_position_frame('" + frame + "', '" + layer + "', " + x + ", " + y + ", " + steps + ")";
			timeoutCollection[semiUniqueName] = window.setTimeout(command, 1);
		}
	}
}
function move_to_position(layer, x, y, steps) {
	return move_to_position_frame('', layer, x, y, steps);
}
function show_layer_frame(frame, layer) {
	var doc = get_document_frame(frame);
	if (doc) {
		if (is_ie4up) {
			if (doc.all.tags("div")[layer]) {
				doc.all.tags("div")[layer].style.visibility = 'visible';
			}
		} else if (is_gecko) {
			var element = doc.getElementById(layer);
			if (element) {
				element.style.visibility = 'visible';
			}
		} else if (is_nav4up) {
			if (doc.layers[layer]) {
				doc.layers[layer].visibility = 'visible';
			}
		}
	}
}
function show_layer(layer) {
	return show_layer_frame('', layer);
}
function hide_layer_frame(frame, layer) {
	var doc = get_document_frame(frame);
	if (doc) {
		if (is_ie4up) {
			if (doc.all.tags("div")[layer]) {
				doc.all.tags("div")[layer].style.visibility = 'hidden';
			}
		} else if (is_gecko) {
			var element = doc.getElementById(layer);
			if (element) {
				element.style.visibility = 'hidden';
			}
		} else if (is_nav4up) {
			if (doc.layers[layer]) {
				doc.layers[layer].visibility = 'hidden';
			}
		}
	}
}
function hide_layer(layer) {
	return hide_layer_frame('', layer);
}
function hide_all_layers_frame(frame) {
	var doc = get_document_frame(frame);
	if (doc) {
		if (is_ie4up) {
			for (var i = 0; i < doc.all.tags("div").length; i++) {
				doc.all.tags("div")[i].style.visibility = 'hidden';
			}
		} else if (is_gecko) {
			for (var i = 0; i < doc.getElementsByTagName("DIV").length; i++) {
				doc.getElementsByTagName("DIV")[i].style.visibility = 'hidden';
			}
		} else if (is_nav4up) {
			for (var i = 0; i < doc.layers.length; i++) {
				doc.layers[i].visibility = 'hidden';
			}
		}
	}
}
function hide_all_layers() {
	hide_all_layers_frame('');
}
function is_shown_frame(frame, layer) {
	var doc = get_document_frame(frame);
	if (doc) {
		if (is_ie4up) {
			if (doc.all.tags("div")[layer]) {
				return (doc.all.tags("div")[layer].style.visibility == 'visible');
			}
		} else if (is_gecko) {
			var element = doc.getElementById(layer);
			if (element) {
				return (element.style.visibility == 'visible');
			}
		} else if (is_nav4up) {
			if (doc.layers[layer]) {
				return (doc.layers[layer].visibility == 'show');
			}
		}
	}
}
function is_shown(layer) {
	return is_shown_frame('', layer);
}

function display_block_frame(frame, elementname) {
	var doc = get_document_frame(frame);
	if (is_ie4up) {
		if (doc.all.item(elementname)) {
			doc.all.item(elementname).style.display = 'block';
		}
	} else if (is_gecko) {
		var element = doc.getElementById(elementname);
		if (element) {
			element.style.display = 'block';
		}
	} else if (is_nav4up) {
		// not supported in NN4...
	}
}
function display_block(elementname) {
	display_block_frame('', elementname);
}
function display_none_frame(frame, elementname) {
	var doc = get_document_frame(frame);
	if (is_ie4up) {
		if (doc.all.item(elementname)) {
			doc.all.item(elementname).style.display = 'none';
		}
	} else if (is_gecko) {
		var element = doc.getElementById(elementname);
		if (element) {
			element.style.display = 'none';
		}
	} else if (is_nav4up) {
		// not supported in NN4...
	}
}
function display_none(elementname) {
	display_none_frame('', elementname);
}
function display_change_frame(frame, elementname) {
	var doc = get_document_frame(frame);
	if (is_ie4up) {
		if (doc.all.item(elementname)) {
			if (doc.all.item(elementname).style.display == 'none') {
				doc.all.item(elementname).style.display = 'block';
			} else {
				doc.all.item(elementname).style.display = 'none';
			}
		}
	} else if (is_gecko) {
		var element = doc.getElementById(elementname);
		if (element) {
			if (element.style.display == 'none') {
				element.style.display = 'block';
			} else {
				element.style.display = 'none';
			}
		}
	} else if (is_nav4up) {
		// not supported in NN4...
	}
}
function display_change(elementname) {
	display_change_frame('', elementname);
}

function vertically_centered_alignment_frame(framename, layername, leftmargin, threshold, top) {
	var iw;
	if (window.innerWidth == null) {
		iw = document.body.clientWidth;
	} else {
		iw = window.innerWidth;
	}
	var left = leftmargin;
	var topp = top;
	if (iw >= threshold) {
		left = left + ((iw - threshold) / 2);
	}
	set_position_frame(framename, layername, left, topp);
}
function vertically_centered_alignment(layername, leftmargin, threshold, top) {
	vertically_centered_alignment_frame('', layername, leftmargin, threshold, top)
}

function horizontally_centered_alignment_frame(framename, layername, topmargin, threshold, left) {
	var iw;
	if (window.innerWidth == null) {
		iw = document.body.clientWidth;
	} else {
		iw = window.innerWidth;
	}
	var ih;
	if (window.innerHeight == null) {
		ih = document.body.clientHeight;
	} else {
		ih = window.innerHeight;
	}
	var toppos  = topmargin;
	if (ih >= threshold) {
		toppos = toppos + ((ih - threshold) / 2);
	}
	var topp = toppos;
	set_position_frame(framename, layername, left, topp);
}
function horizontally_centered_alignment(layername, topmargin, threshold, left) {
	horizontally_centered_alignment_frame('', layername, topmargin, threshold, left)
}

function centered_alignment_frame(framename, layername, leftmargin, topmargin, leftthreshold, topthreshold) {
	var iw;
	if (window.innerWidth == null) {
		iw = document.body.clientWidth;
	} else {
		iw = window.innerWidth;
	}
	var ih;
	if (window.innerHeight == null) {
		ih = document.body.clientHeight;
	} else {
		ih = window.innerHeight;
	}
	var leftpos = leftmargin;
	var toppos  = topmargin;
	if (iw >= leftthreshold) {
		leftpos = leftpos + ((iw - leftthreshold) / 2);
	}
	if (ih >= topthreshold) {
		toppos = toppos + ((ih - topthreshold) / 2);
	}
	var left = leftpos;
	var topp = toppos;
	set_position_frame(framename, layername, left, topp);
}
function centered_alignment(layername, leftmargin, topmargin, leftthreshold, topthreshold) {
	centered_alignment_frame('', layername, leftmargin, topmargin, leftthreshold, topthreshold)
}

function right_alignment_frame(framename, layername, rightmargin, threshold, width, top) {
	var iw;
	if (window.innerWidth == null) {
		iw = document.body.clientWidth;
	} else {
		iw = window.innerWidth;
	}
	var left;
	var topp = top;
	if (iw < threshold) {
		left = threshold - rightmargin - width;
	} else {
		left = iw - rightmargin - width;
	}
	set_position_frame(framename, layername, left, topp);
}
function right_alignment(layername, rightmargin, threshold, width, top) {
	right_alignment_frame('', layername, rightmargin, threshold, width, top)
}

function toggle(element, image1src, image2src) {
	if (element) {
		if (element.src.indexOf(image1src) != -1) {
			element.src = image2src;
		} else {
			element.src = image1src;
		}
	}
}


////////////////////////////////////////////////////////////////////

function get_height_frame(framename, layername) {
	var doc = get_document_frame(framename);
	if (is_ie4up) {
		return doc.all(layername).offsetHeight;
	} else if (is_gecko) {
		return doc.getElementById(layername).offsetHeight;
	} else if (is_nav4up) {
		// not supported in NN4...
		return 0;
	}
}
function get_height(layername) {
	return get_height_frame('', layername);
}
function get_width_frame(framename, layername) {
	var doc = get_document_frame(framename);
	if (is_ie4up) {
		return doc.all(layername).offsetWidth;
	} else if (is_gecko) {
		return doc.getElementById(layername).offsetWidth;
	} else if (is_nav4up) {
		// not supported in NN4...
		return 0;
	}
}
function get_width(layername) {
	return get_width_frame('', layername);
}
function set_height_frame(framename, layername, height) {
	var doc = get_document_frame(framename);
	if (is_ie4up) {
		doc.all(layername).style.pixelHeight = height;
	} else if (is_gecko) {
		doc.getElementById(layername).style.pixelHeight = height;
	} else if (is_nav4up) {
		// not supported in NN4...
	}
}
function set_height(layername, height) {
	set_height_frame('', layername, height);
}
function set_width_frame(framename, layername, width) {
	var doc = get_document_frame(framename);
	if (is_ie4up) {
		doc.all(layername).style.pixelWidth = width;
	} else if (is_gecko) {
		doc.getElementById(layername).style.pixelWidth = width;
	} else if (is_nav4up) {
		// not supported in NN4...
	}
}
function set_width(layername, width) {
	set_width_frame('', layername, width);
}
function set_height_to_minimum_frame(framename, layer1name, layer2name, layer3name) {
	var height1;
	var height2 = get_height_frame(framename, layer2name);
	var height3 = get_height_frame(framename, layer3name);
	if (height2 < height3) {
		height1 = height2;
	} else {
		height1 = height3;
	}
	set_height_frame(framename, layer1name, height1);
}
function set_height_to_minimum(layer1name, layer2name, layer3name) {
	set_height_to_minimum_frame('', layer1name, layer2name, layer3name);
}
function set_width_to_minimum_frame(framename, layer1name, layer2name, layer3name) {
	var width1;
	var width2 = get_width_frame(framename, layer2name);
	var width3 = get_width_frame(framename, layer3name);
	if (width2 < width3) {
		width1 = width2;
	} else {
		width1 = width3;
	}
	set_width_frame(framename, layer1name, width1);
}
function set_width_to_minimum(layer1name, layer2name, layer3name) {
	set_width_to_minimum_frame('', layer1name, layer2name, layer3name);
}

function get_x_position(element) {
	var w3c = (document.getElementById) ? 1:0;
	var ns4 = (document.layers) ? 1:0;
	var ie4 = (document.all) ? 1:0;
	var x = 0;
	if (ie4) {
		if (is_ie5up) {
			while ((element) && (element.tagName.search(/^(BODY|HTML)$/) == -1)) {
				if (element.tagName.search(/^(TR|TBODY|DIV)$/) == -1) {
					x += element.offsetLeft;
				}
				element = element.parentElement;
			}
		} else {
			while ((element) && (element.tagName.search(/^(BODY|HTML)$/) == -1)) {
				if (element.tagName.search(/^(TR|TBODY)$/) == -1) {
					x += element.offsetLeft;
				}
				element = element.parentElement;
			}
		}
	} else if (w3c) {
		while ((element) && (element.tagName != 'BODY') && (element.tagName != 'HTML')) {
			if (is_moz1up||is_safari) {
				if ((element.tagName != 'TR') && (element.tagName != 'TBODY')) {
					x += element.offsetLeft;
				}
			} else if ((element.tagName != 'SPAN') && (element.tagName != 'TR') && (element.tagName != 'TD') && (element.tagName != 'TBODY') && (element.tagName != 'TABLE')) {
				x += element.offsetLeft;


			}
			element = element.parentNode;
		}
	} else if (ns4) {
		// Remember? It does not work in Netscape Navigator 4.x or less
		x = 0;
	}
	return x;
}

function get_y_position(element) {
	var w3c = (document.getElementById) ? 1:0;
	var ns4 = (document.layers) ? 1:0;
	var ie4 = (document.all) ? 1:0;
	var y = 0;
	if (ie4) {
		if (is_ie5up) {
			while ((element) && (element.tagName.search(/^(BODY|HTML)$/) == -1)) {
				if (element.tagName.search(/^(TR|TBODY|DIV)$/) == -1) {
					y += element.offsetTop;
				}
				element = element.parentElement;
			}
		} else {
			while ((element) && (element.tagName.search(/^(BODY|HTML)$/) == -1)) {
				if (element.tagName.search(/^(TR|TBODY)$/) == -1) {
					y += element.offsetTop;
				}
				element = element.parentElement;
			}
		}
	} else if (w3c) {
		while ((element) && (element.tagName != 'BODY') && (element.tagName != 'HTML')) {
			if ((is_moz1up) && (element.tagName != 'TD')){
				y += element.offsetTop;
			} else if ((element.tagName != 'SPAN') && (element.tagName != 'TR') && (element.tagName != 'TD') && (element.tagName != 'TBODY') && (element.tagName != 'TABLE')) {
				y += element.offsetTop;
			}
			element = element.parentNode;
		}
	} else if (ns4) {
		// Remember? It does not work in Netscape Navigator 4.x or less
		y = 0;
	}
	return y;
}

function get_relative_y_position_for_macie5up(element) {
	var y = 0;
	if ((is_ie5up) && (is_mac)) {
		while ((element) && (element.tagName.search(/^(BODY|HTML)$/) == -1)) {
			if (element.tagName.search(/^(TR|TBODY|DIV)$/) == -1) {
				y += element.offsetTop;
			}
			if (element.tagName == 'TABLE') {
				element = false;
			} else {
				element = element.parentElement;
			}
		}
	}
	return y;
}

function bottom_alignment_frame(framename, layername, bottommargin, left) {
	var ih;
	if (window.innerHeight == null) {
		ih = document.body.clientHeight;
	} else {
		ih = window.innerHeight;
	}
	set_position_frame(framename, layername, left, ih - bottommargin);
}

function bottom_alignment(layername, bottommargin, left) {
	bottom_alignment_frame('', layername, bottommargin, left)
}

// Special functions, probably only used in MAINZ_SL by Mikael

function show_layer_frame_menu(frame, layer) {
	var doc = get_document_frame(frame);
	if (doc) {
		if (is_ie4up) {
			if (doc.all.tags("div")[layer]) {
				doc.all.tags("div")[layer].style.visibility = 'visible';
				doc.all.tags("div")[layer].zIndex = '150';
			}
		} else if (is_gecko) {
			var element = doc.getElementById(layer);
			if (element) {
				element.style.visibility = 'visible';
				element.zIndex = '150';
			}
		} else if (is_nav4up) {
			if (doc.layers[layer]) {
				doc.layers[layer].visibility = 'visible';
				doc.layers[layer].zIndex = '150';
			}
		}
	}
}
function show_layer_menu(layer) {
	return show_layer_frame_menu('', layer);
}
function hide_layer_frame_menu(frame, layer) {
	var doc = get_document_frame(frame);
	if (doc) {
		if (is_ie4up) {
			if (doc.all.tags("div")[layer]) {
				doc.all.tags("div")[layer].style.visibility = 'hidden';
				doc.all.tags("div")[layer].zIndex = '10';
			}
		} else if (is_gecko) {
			var element = doc.getElementById(layer);
			if (element) {
				element.style.visibility = 'hidden';
				element.zIndex = '10';
			}
		} else if (is_nav4up) {
			if (doc.layers[layer]) {
				doc.layers[layer].visibility = 'hidden';
				doc.layers[layer].zIndex = '10';
			}
		}
	}
}
function hide_layer_menu(layer) {
	return hide_layer_frame('', layer);
}

function get_element_frame(frame, elementid) {
	var doc = get_document_frame(frame);
	var lay;
	if (doc) {
		if (w3c) {
			lay = doc.getElementById(elementid);
		} else if (ie4) {
			lay = doc.all.item[elementid];
		} else if (ns4) {
			// not supported in NN4...
		}
	}
	return lay;
}
function get_element(elementid) {
	return get_element_frame('', elementid);
}

var timed_layers = new Object;
function time_layer_frame(frame, layername, delay) {
	var doc = get_document_frame(frame);
	var semiUniqueName = frame + "_" + layername;
	if (timed_layers[semiUniqueName]) {
		window.clearTimeout(timed_layers[semiUniqueName]);
		timed_layers[semiUniqueName] = 0;
	}
	command = "time_hide_layer_frame('" + frame + "', '" + layername + "')";
	timed_layers[semiUniqueName] = window.setTimeout(command, delay);
}
function time_hide_layer_frame(frame, layername) {
	hide_layer_frame(frame, layername);
	var semiUniqueName = frame + "_" + layername;
	if (timed_layers[semiUniqueName]) {
		window.clearTimeout(timed_layers[semiUniqueName]);
		timed_layers[semiUniqueName] = 0;
	}
}
function time_reset_layer_frame(frame, layername) {
	var semiUniqueName = frame + "_" + layername;
	if (timed_layers[semiUniqueName]) {
		window.clearTimeout(timed_layers[semiUniqueName]);
		timed_layers[semiUniqueName] = 0;
	}
}
function time_layer(layername, delay) {
	time_layer_frame('', layername, delay);
}
function time_hide_layer(layername) {
	time_hide_layer_frame('', layername);
}
function time_reset_layer(layername) {
	time_reset_layer_frame('', layername);
}

