var 	dx = 0,
		dy = 0,
		bx = 0;

function correct_layer_position(e) {
  try {
	var x = (document.body.scrollTop  < dx) ? dx : document.body.scrollTop;
	var y = (document.body.scrollLeft < dy) ? dy : document.body.scrollLeft;


	el = document.getElementById('column_fixed');
	if (el)	el.style.left = y+'px';
	el = document.getElementById('header_float');
	if (el) el.style.top = x+'px';
	el = document.getElementById('header_fixed');
	if (el) {
		el.style.top = x+'px';
		el.style.left = y+'px';
	}

	el = document.getElementById('button-container');
	if (el)
		if (el.style.position == 'absolute')
			el.style.top = (document.body.scrollTop+bx)+'px';
		else if (el.style.position == 'fixed')
			el.style.left = (by-document.body.scrollLeft)+'px';
  } catch(e) {
  		alert ('error '+e);
  }
}

function NMmakeFixed() {
	header_float_layer = document.getElementById('header_float');
	header_fixed_layer = document.getElementById('header_fixed');

	if (header_float_layer) {
		layer_container = header_float_layer.parentNode;
		layer_container.style.width =  header_float_layer.scrollWidth+'px';
		layer_container.style.height =  header_float_layer.scrollHeight+'px';
		header_float_layer.style.position = 'absolute';
	}
	if (header_fixed_layer) {
		layer_container = header_fixed_layer.parentNode;
		layer_container.style.width =  header_fixed_layer.scrollWidth+'px';
		layer_container.style.height =  header_fixed_layer.scrollHeight+'px';
		header_fixed_layer.style.position = 'absolute';
	}
	if (header_float_layer && header_fixed_layer) {
		fixed_tr = header_fixed_layer.getElementsByTagName('tr');
		float_tr = header_float_layer.getElementsByTagName('tr');
		if (fixed_tr.length > 0 && float_tr.length == fixed_tr.length) {

			//wyrównujemy wysokości wierszy
			for (var i=0; i<fixed_tr.length; i++)
				if (fixed_tr[i].scrollHeight > float_tr[i].scrollHeight)
					float_tr[i].style.height = fixed_tr[i].scrollHeight+'px';
				else
					fixed_tr[i].style.height = float_tr[i].scrollHeight+'px';
		}
	}

	fixed_layer = document.getElementById('column_fixed');
	float_layer = document.getElementById('column_float');

	if (fixed_layer && float_layer) {
		fixed_tr = fixed_layer.getElementsByTagName('tr');
		float_tr = float_layer.getElementsByTagName('tr');
		if (fixed_tr.length > 0 && float_tr.length == fixed_tr.length) {

			//wyrównujemy wysokości wierszy
			for (var i=0; i<fixed_tr.length; i++)
				if (fixed_tr[i].scrollHeight > float_tr[i].scrollHeight)
					float_tr[i].style.height = fixed_tr[i].scrollHeight+'px';
				else
					fixed_tr[i].style.height = float_tr[i].scrollHeight+'px';

			//ustawiamy wielkość elementu zawierającego warstwę
			layer_container = fixed_layer.parentNode;
			//window.status = fixed_layer.scrollWidth+'px';
			//layer_container.style.width =  fixed_layer.scrollWidth+'px';
			//layer_container.style.height =  fixed_layer.scrollHeight+'px';
			fixed_layer.style.position = 'absolute';
		}
	}

	if (header_float_layer)
		dx = header_float_layer.offsetTop;
	else if (float_layer)
		dx = float_layer.offsetTop;

	if (header_fixed_layer)
		dy = header_fixed_layer.offsetLeft;
	else if (fixed_layer)
		dy = fixed_layer.offsetLeft;
	else if (float_layer)
		dy = float_layer.offsetTop;

	if (header_float_layer || fixed_layer)
		window.onscroll = correct_layer_position;


	button_layer = document.getElementById('button-container');
	if (button_layer) {
		if (button_layer.style.position == 'fixed') {
			//button_layer.style.position = 'absolute';
			by = button_layer.offsetLeft;
			//window.status=by;
		}
	}
}

NMmakeFixed();

layer_container = document.getElementById('table_container');
if (layer_container) layer_container.style.visibility = 'visible';

//window.status = 'dx: '+dx;

