//globals
var DOM = (document.createElement && document.getElementsByTagName);
var IE = window.attachEvent?true:false;
var nbsp = 160;
var flds = new Array();
var trcS = new Array();
var trcH = new Array();

function setFocus(id) {
	if (!DOM) return;
	var el = document.getElementById(id);
	if (el) el.focus();
}

//form validation
function skipFormValidation() {
	flds = null;
}
function trim(str) {
  return str.replace(/^\s+|\s+$/g, '');
}
function showMsg(fld,text) {
	var el = document.getElementById(fld);
	var span = document.createElement('span');
	var txt = document.createTextNode(text);
	span.setAttribute('style','color:red;font-size:80%;clear:right');
	span.name = 'msg';
	span.appendChild(txt);
	if (el.parentNode.firstChild.name != 'msg')
		el.parentNode.insertBefore(span,el.parentNode.firstChild);
	if (IE) { //IE sucks
		span.style.color = 'red';
		span.style.fontSize = '80%';
	}
}
function clearMsg(fld) {
	var el = document.getElementById(fld);
	if (el.parentNode.firstChild.name == 'msg') {
		el.parentNode.removeChild(el.parentNode.firstChild);
	}
}
function setField(name,canEmpty) {
	flds[name] = (canEmpty==null)?false:canEmpty;
}
function checkForm(form) {
	if (!DOM) return;
	var firstFocus = false;
	var errors = false;
	for (fld in flds) {
		if (!flds[fld]) {
			var fldNode = document.getElementById(fld);
			var data = trim(fldNode.value);
			if (data.length==0) {
				showMsg(fld,"(*) ");
				if (!firstFocus) {
					setFocus(fld);
					firstFocus = true;
				}
				errors = true;
			} else clearMsg(fld);
		}
	}
	if (errors)	{
		showMsg('submit'," * Oznaczone pola nie mogą być puste!");
		return false;
	} else return true;
}
function initTracing(radioN) {
	var el = document.getElementsByName(radioN);
	if (!el[0].checked) el[0].value = 2;
	trace(el[0]);
	if (!el[0].checked) el[0].value = 1;
}
function setTracePairs(radioN,val1,id1,val2,id2) {
	trcS[radioN] = new Array();
	trcS[radioN][val1] = id1;
	trcS[radioN][val2] = id2;
	trcH[radioN] = new Array();
	trcH[radioN][val1] = id2;
	trcH[radioN][val2] = id1;
}
function trace(el) {
	var show = trcS[el.name][el.value];
	var hide = trcH[el.name][el.value];
	showHide(show,hide);
}
function showHide(ids,idh) {
	if (!DOM) return;
	var elS = document.getElementById(ids);
	var elH = document.getElementById(idh);
	if (!IE) {
		elH.setAttribute('style','display:none');
		elS.setAttribute('style','display:inherit');
	} else {
		elH.style.display = 'none';
		elS.style.display = 'block';
	}
}