﻿/*
	13.12.2006
*/

function get_scroll_offset()
{
	var o = new Object();
	o.sx = 0;
	o.sy = 0;

	var sx = 0;
	var sy = 0;
	if(typeof(window.pageYOffset) == 'number')
	{
		//Netscape kompatibel
		sx = window.pageXOffset;
		sy = window.pageYOffset;
	}
	else if(document.body && (document.body.scrollLeft || document.body.scrollTop))
	{
		//Firefox u.ä. DOM kompatible, IE6+ im Normalmodus
		sx = document.body.scrollLeft;
		sy = document.body.scrollTop;
	}
	else if(document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop))
	{
		//IE6+ im Kompatibilitätsmodus
		sx = document.documentElement.scrollLeft;
		sy = document.documentElement.scrollTop;
	}

	o.sx = sx;
	o.sy = sy;
	return(o);
}

function get_client_size()
{
	var o = new Object();
	o.w = 1;
	o.h = 1;

	var cw = 0;
	var ch = 0;
	if(typeof(window.innerWidth) == 'number')
	{
		//alle ausser IE
		cw = window.innerWidth;
		ch = window.innerHeight;
	}
	else if(document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight))
	{
		//IE 6 und höher, Kompatibilitätsmodus
		cw = document.documentElement.clientWidth;
		ch = document.documentElement.clientHeight;
	}
	else if(document.body && (document.body.clientWidth || document.body.clientHeight))
	{
		//IE 4 o. höher, nicht im Kompatibilitätsmodus
		cw = document.body.clientWidth;
		ch = document.body.clientHeight;
	}

	o.w = cw;
	o.h = ch;
	return(o);
}

function zoom(src)
{
	if(! document.getElementById)return;
	var t = '<a href="javascript:close_zoom();"><img src="' + src + '" onload="zoom_img_onload(this);" title="Close" style="border:0px"/></a>';
	var mydiv = document.getElementById('winlayer1');
	if(mydiv != null)
	{
		body_div = document.getElementById('winlayer1_body');
		if(body_div != null)
		{
			body_div.innerHTML = t;
			mydiv.style.display = 'block';
			center_zoom(400, 300);
		}
	}
}
function zoom_img_onload(o)
{
	if(o == null)return;
	var w = o.offsetWidth;
	var h = o.offsetHeight;
	center_zoom(w, h);
}
function center_zoom(iw, ih)
{
	if(! document.getElementById)return;
	var mydiv = document.getElementById('winlayer1');
	if(mydiv != null)
	{
		var body_div = document.getElementById('winlayer1_body');

		var lw = iw + 20;
		var lh = ih + 20 + 20;

		var cs = get_client_size();
		var cw = cs.w;
		var ch = cs.h;

		if(lw > cw - 50)lw = cw - 50;
		if(lh > ch - 50)lh = ch - 50;

		var sc = get_scroll_offset();
		var xoff = sc.sx;
		var yoff = sc.sy;

		var new_x = Math.floor((cw / 2) + (xoff) - (lw / 2));
		var new_y = Math.floor((ch / 2) + (yoff) - (lh / 2));

var t = 'iw: ' + iw + ' / ih: ' + ih + '\n';
t += 'cw: ' + cw + ' / ch: ' + ch + '\n';
t += 'lw: ' + lw + ' / lh: ' + lh + '\n';
t += 'xoff: ' + xoff + ' / yoff: ' + yoff + '\n';
t += 'new_x: ' + new_x + ' / new_y: ' + new_y + '\n';
//alert(t);

		with(mydiv.style)
		{
			left = new_x + 'px';
			top = new_y + 'px';
			width = lw + 'px';
			height = lh + 'px';
		}
		with(body_div.style)
		{
			height = String(lh - 20) + 'px';
		}
	}
}
function close_zoom()
{
	if(! document.getElementById)return;
	var mydiv = document.getElementById('winlayer1');
	if(mydiv != null)
	{
		body_div = document.getElementById('winlayer1_body');
		if(body_div != null)
		{
			body_div.innerHTML = '';
		}
		mydiv.style.display = 'none';
	}	
}