<!--
 
// this is simply a shortcut for the eyes and fingers
function $(id)
{
	return document.getElementById(id);
}
 
var _startX = 0;			// mouse starting positions
var _startY = 0;
var _offsetX = 0;			// current element offset
var _offsetY = 0;
var _dragElement;			// needs to be passed from OnMouseDown to OnMouseMove
var _oldZIndex = 0;			// we temporarily increase the z-index during drag
var lock = 0;
function delock()
{
	lock = 0;
}
 
InitDragDrop();
function InitDragDrop()
{
	document.onmousedown = OnMouseDown;
	document.onmouseup = OnMouseUp;
}


 
function OnMouseDown(e)
{
	if (e == null) 
		e = window.event; 
	var target = e.target != null ? e.target : e.srcElement;
 
	// for IE, left click == 1
	// for Firefox, left click == 0
	if ((e.button == 1 && window.event != null || 
		e.button == 0) && 
		target.className == 'ramka')
	{
		_startX = e.clientX;
		_startY = e.clientY;
		_dragElement = $('matryca');
		_offsetX = ExtractNumber(_dragElement.style.left);
		_offsetY = ExtractNumber(_dragElement.style.top);
		_oldZIndex = target.style.zIndex;
		target.style.zIndex = 10000;
		_dragElement = $('matryca');
		document.onmousemove = OnMouseMove;
		document.body.focus();
		document.onselectstart = function () { return false; };
		target.ondragstart = function() { return false; };
		return false;
	}
}
 
function ExtractNumber(value)
{
	var n = parseInt(value);
	return n == null || isNaN(n) ? 0 : n;
}
 
function OnMouseMove(e)
{
	if (e == null) var e = window.event;
	var x = _offsetX + e.clientX - _startX;
	var y = _offsetY + e.clientY - _startY;
	if (x <= -k.szer_x) {
		if (k.st_x < (k.ilosc_x-k.wysw_kom_x))
		{
			k.st_x++;
			odswiez();
			_startX -= k.szer_x;
			x = _offsetX + e.clientX - _startX;
		}
		else { if (x < -(k.szer_x+k.nd_x)) x = -(k.szer_x+k.nd_x); }
		}
	if (x > 0) {
		if (k.st_x > 0) {
			k.st_x--;
			odswiez();
			_startX += k.szer_x;
			x = _offsetX + e.clientX - _startX;
			}
		else x = 0;
		}
		

	if (y < -k.szer_y) {
		if (k.st_y < (k.ilosc_y-k.wysw_kom_y))
		{
		_startY -= k.szer_y;
		k.st_y++;
		odswiez();
		y = _offsetY + e.clientY - _startY;
		}
		else {
			if (y <= -(k.szer_y+k.nd_y)) y = -(k.szer_y+k.nd_y); }
		}
	if (y > 0) {
		if (k.st_y > 0) {
			_startY += k.szer_y;
			k.st_y--;
			odswiez();
			y = _offsetY + e.clientY - _startY;
			}
		else y = 0;
		}

	_dragElement.style.left = x + 'px';
	_dragElement.style.top = y + 'px';
	
}
 
function OnMouseUp(e)
{
	if (_dragElement != null)
	{
		_dragElement.style.zIndex = _oldZIndex;
 
		// we're done with these events until the next OnMouseDown
		document.onmousemove = null;
		document.onselectstart = null;
		_dragElement.ondragstart = null;
 
		// this is how we know we're not dragging
		_dragElement = null;
	}
}
