var W3CDOM = (document.getElementsByTagName && document.createElement);

function validate(formName,checkboxName1,checkboxName2) {
	validForm = true;
	firstError = null;
	errorstring = '';
	var x = document.forms[formName].elements;
	for (var i=0;i<x.length;i++) {
		if ((!x[i].value)&&(x[i].nodeName.toUpperCase()!="FIELDSET")&&(x[i].type.toUpperCase()!="HIDDEN")&&(x[i].type.toUpperCase()!="SUBMIT")&&(x[i].type.toUpperCase()!="TEXTAREA"))
			writeError(x[i],'To pole jest obowiązkowe');
	}
if ((checkboxName1!='')&&(checkboxName2!=''))
	{
	if (x['email'].value.indexOf('@') == -1)
	{
		writeError(x['email'],'Podaj poprawny adres email');
		return false;
	}
	if (document.forms[formName].elements[checkboxName1].checked != true) {
		alert('Należy zaznaczyć opcję wyrażenia zgody na upoważnienie firmy p.p.u.p.Poczta Polska, Centrum Poczty Oddział Rejonowy, 85-950 Bydgoszcz, ul.Jagiellońska 6 do wystawienia faktury VAT bez podpisu odbiorcy');
		validForm = false;
	}
	if (document.forms[formName].elements[checkboxName2].checked != true) {
		alert('Należy zaznaczyć opcję zgody na przetwarzanie moich danych osobowych w celach marketingowych przez p.p.u.p.Poczta Polska, Centrum Poczty Oddział Rejonowy, 85-950 Bydgoszcz, ul.Jagiellońska 6');
		validForm = false;
	}
}
	if (!W3CDOM)
	{
		return true;
	}

	if (firstError)
	{
		firstError.focus();
	} 

	if (validForm)
	{
		return true;
	}

return validForm;

}

function writeError(obj,message) {
	validForm = false;
	if (obj.hasError) return;
	if (W3CDOM) {
		obj.className += ' error';
		obj.onchange = removeError;
		var sp = document.createElement('span');
		sp.className = 'error';
		sp.appendChild(document.createTextNode(message));
		obj.parentNode.appendChild(sp);
		obj.hasError = sp;
	}
	else {
		errorstring += obj.name + ': ' + message + '\n';
		obj.hasError = true;
	}
	if (!firstError)
		firstError = obj;
}

function removeError()
{
	this.className = this.className.substring(0,this.className.lastIndexOf(' '));
	this.parentNode.removeChild(this.hasError);
	this.hasError = null;
	this.onchange = null;
}