//registration

window.addEvent('load', function (e)
{
	var cf = $('iwfv');
	if (cf)
	{
		cf.addEvent('change', function (e)
		{
			for (var i = 1; i <= 8; i++)
			{
				var ne = $('fakt_' + i);
				if (ne.hasClass('donotdisplay'))
					ne.removeClass('donotdisplay');
				else
					ne.addClass('donotdisplay');
			}
		});
	}
});

window.addEvent('load', function (e)
{
	var cf = $('czy_firma');
	if (cf)
	{
		cf.addEvent('change', function (e)
		{
			for (var i = 1; i <= 3; i++)
			{
				var ne = $('fh_' + i);
				if (ne.hasClass('donotdisplay'))
					ne.removeClass('donotdisplay');
				else
					ne.addClass('donotdisplay');
			}
		});
	}
});

function checkReg(fid)
{
	var af = document.getElementById(fid);
	var ret = true;

	if (af != null)
	{
		var inputs = af.elements;
		var s = '';
		var rex = new RegExp('\\brequired\\b');
		var sa = ['required'];

		var af_pu = document.getElementById('af_pu');
		var af_ph = document.getElementById('af_ph');
		var af_pl = document.getElementById('af_pl');

		af_pu.style.display = 'none';
		af_pl.style.display = 'none';

		for (var e in inputs)
		{
			var ei = inputs[e];

			if (checkClassName(ei, 'required'))
			{
				if (ei.value == '')
				{
					appendClass(ei.parentNode.parentNode.getElementsByTagName('th')[0], sa);
					af_pu.style.display = 'table-cell';
					ret = false;
				}
				else
				{
					clearClass(ei.parentNode.parentNode.getElementsByTagName('th')[0], rex);
				}
			}
		}

		//check passwords
		var p1 = inputs['pass1'].value;
		var p2 = inputs['pass2'].value;

		if (p1 != '' && p1 != p2)
		{
			af_ph.style.display = 'table-cell';
			ret = false;
		}
		else
			af_ph.style.display = 'none';
	}
	else
		ret = false;

	return ret;
}

function checkZap(fid)
{
	var af = document.getElementById(fid);
	var ret = true;

	if (af != null)
	{
		var inputs = af.elements;
		var s = '';
		var rex = new RegExp('\\brequired\\b');
		var sa = ['required'];

		var af_pu = document.getElementById('af_pu');

		af_pu.style.display = 'none';

		for (var e in inputs)
		{
			var ei = inputs[e];

			if (checkClassName(ei, 'required'))
			{
				if (ei.value == '')
				{
					appendClass(ei.parentNode.parentNode.getElementsByTagName('th')[0], sa);
					af_pu.style.display = 'table-cell';
					ret = false;
				}
				else
				{
					clearClass(ei.parentNode.parentNode.getElementsByTagName('th')[0], rex);
				}
			}
		}
	}
	else
		ret = false;

	return ret;
}

function checkClassName(obj, cn)
{
	if (obj != null && typeof(obj.className) != 'undefined')
	{
		var regex = new RegExp('\\b' + cn + '\\b');
		return (obj.className.match(regex));
	}

	return false;
}

function appendClass(obj, styles)
{
	if (obj != null && typeof(obj.className) != 'undefined')
	{
		var st = obj.className.split(' ');
		var stl = st.length;

nst:	for (var s in styles)
		{
			//find if this style is applied already
			for (var i in st)
			{
				if (styles[s] == st[i])
					continue nst;
			}
			//if not, then apply it
			st.push(styles[s]);
		}

		obj.className = st.join(' ');
	}
}

function clearClass(obj, regex)
{
	if (obj != null && typeof(obj.className) != 'undefined')
	{
		var st = obj.className.split(' ');

		for (var i in st)
		{
			if(st[i] == 'required')
			{		
				if (st[i].match(regex))
				{
					//delete
					delete st[i];
				}
			}
		}

		obj.className = st.join(' ');
	}
}

function getNodeText(node)
{
	if (typeof node.textContent != 'undefined')
	{
		return node.textContent;
	}
	else if (typeof node.innerText != 'undefined')
	{
		return node.innerText;
	}
	else if (typeof node.text != 'undefined')
	{
		return node.text;
	}
	else
	{
		switch (node.nodeType)
		{
			case 3:
			case 4:
				return node.nodeValue;
			case 1:
			case 11:
				var innerText = '';
				for (var i = 0; i < node.childNodes.length; i++)
				{
					innerText += getInnerText(node.childNodes[i]);
				}
				return innerText;
			default:
				return '';
		}
	}
}

function updateFW()
{
	var fwid = document.getElementById('lwz');

	if (fwid)
	{
		var op = $("fwselect");
		var order_p = $('fov').value;
		var op_cost = op.options[op.selectedIndex].getText().match(/- ([0-9\.]+) zł.$/)[1];
		var ncost = parseFloat(order_p) + parseFloat(op_cost);
		$('lwz').setText(ncost.toFixed(2) + " zł.");
	}
}
