
var formError = "";

function showFormErrors() { document.getElementById('form-error-box').innerHTML = '<div id="js_error_box"><div id="title">W formularzu występują błędy. Wszystkie błędne pola są wyróżnione czerwonym tłem. Popraw dane i spróbuj ponownie.</div><div id="scroll"><div>Błędy:</div>' + formError + '</div><div id="ok"><input type="button" value="Zamknij okno" onclick="removeElement(\'form-error-box\', \'js_error_box\')" /></div></div>'; formError = ''; }

function checkForm(inputID, inputName, type, checkID, inputID2, empty) {
	var obj = document.getElementById(inputID); var obj2 = document.getElementById(inputID2); var blad = false;
	obj.value = trim(obj.value);
	var reg = '';
	if (checkID != 'true') { var checkObj = document.getElementById(checkID); if (checkObj.checked != true) { return true; } }
	switch (type) {
		case 'istrue': if (!obj.Value) { formError += "<div>Pole <span>"+inputName+"</span> jest nieprawidłowe</div>"; blad = true; obj = obj2; } break;
		case 'email':  if (empty && !obj.value.length) {} else { var reg =/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9_\-])+\.)+([a-zA-Z0-9]{2,10})+$/; if (!reg.test(obj.value)) { formError += "<div>Adres email <span>" + obj.value + "</span> jest nieprawodłowy.</div>"; blad = true; } } break;
		case 'email_confirm': if (obj.value != obj2.value) { formError += "<div>Adres email <span>" + obj.value + "</span> nie został poprawnie potwierdzony.</div>"; blad = true; } break;
		case 'password': if (obj.value.length < 5) { formError += "<div>Hasło nie ma wymaganej ilości znaków.</div>"; blad = true; } break;
		case 'password_confirm': if (obj.value != obj2.value) { formError += "<div>Hasło nie zostało potwierdzone poprawnie.</div>"; blad = true; } break;
		case 'citycode': reg = /^\d{2}(-)\d{3}$/; if (obj.value.search(reg) == -1) { formError += "<div>Kod pocztowy ma nieprawidłowy format.</div>"; blad = true; } break;
		case 'date': reg = /^\d{4}(\-)\d{1,2}\1\d{1,2}$/; if (obj.value.search(reg) == -1) { formError += '<div>Format daty <span>' + inputName + '</span> jest nieprawidłowy.</div>'; blad = true; } break;
		case 'nip': if ( !obj.value.match( /^[0-9]{3}-[0-9]{2}-[0-9]{2}-[0-9]{3}$/ ) && !obj.value.match( /^[0-9]{3}-[0-9]{3}-[0-9]{2}-[0-9]{2}$/ ) && !obj.value.match( /^[0-9]{10}$/ ) ) { formError += "<div>Nip jest nieprawidłowy.</div>"; blad = true; }; var my_nums = obj.value.replace(/-/g,''); var valid_nums = "657234567"; var sum=0; for (var temp=8;temp>=0;temp--) sum += (parseInt(valid_nums.charAt(temp)) * parseInt(my_nums.charAt(temp))); if ( !((sum % 11) == 10 ? false : ((sum % 11) == parseInt(my_nums.charAt(9))) ) ) { formError += "<div>NIP jest nieprawidłowy.</div>"; blad = true; } break;
		case 'empty': if (!obj.value.length) { formError += "<div>Pole <span>" + inputName + "</span> nie zostało wypełnione.</div>"; blad = true; } break;
		case 'selected': if (obj.options.selectedIndex == 0) { formError += "<div>Nie wybrano żadnej opcji z listy <span>" + inputName +"</span>.</div>"; blad = true; } break;
		case 'checked': if (obj.checked) {return true;} else { formError += "<div>Nie zaznaczono pola: <span>" + inputName + "</span>.</div>"; return false;}
		case 'selectedAndDifferent': if (obj.options.selectedIndex == obj2.options.selectedIndex) { formError += "<div>Wybrane w obu listach opcje nie mogą się powtarzać!</div>"; blad=true; } break; 
	}
	if (blad == true) { obj.style.backgroundColor = '#FFBBBB'; return false; } else { obj.style.backgroundColor = '#FFF'; return true; }
}

function isElementEmpty(eid) { return (document.getElementById(eid).value == ''); }

function freeFromInput(inputId) { document.getElementById(inputId).style.backgroundColor = '#FFF'; }
