function checkId(str){
	var error = "";
	if (str == "") {
		error = "Nie podano numeru Id projektanta.\n";
	}
	else{
		var pattern = /^[0-9]+$/; //allow digits
		if (str.length !== 10){
			error = "Numer Id klienta powinien składać się z 10 cyfr.\n";
		}
		else if(!pattern.test(str)){
			error = "Numer Id klienta powinien składać się tylko z cyfr.\n"
		}
	}
	
	return error;
}


function checkPostal(str){
	var error = "";
	if (str == ""){
		error = "Nie wprowadzono kodu pocztowego projektanta.\n";
	}
	else{
		var pattern = /^[0-9]{2}\-[0-9]{3}$/;
		if (str.length !== 6){
			error = "Niepoprawna długość kodu pocztowego. Poprawny format: xx-xxx.\n";
		}
		else if(!pattern.test(str)){
			error = "Kod pocztowy może składać się tylko z cyfr i myślnika. Poprawny format: xx-xxx\n"
		}
	}
	
	return error;
}


function checkName(strng) {
	var error = "";
	if (strng == "") {
	   error = "Nie wprowadzono nazwy projektanta.\n";
	}
	
	else{
    //var illegalChars = /[\w\s\.\-]/; // allow letters, numbers, and underscores
    if ((strng.length < 2) || (strng.length > 100)) {
       error = "Nazwa klienta jest za długa. Poprawna długość <2;100>.\n";
    }
    //else if (!illegalChars.test(strng)) {
    //error = "W nazwie klienta dozwolone są tylko litery, cyfry, myślnik i kropka.\n";
    //} 
  }
  
	return error;
}       


function checkCity(str){
	var error = "";
	if (str == ""){
		error = "Nie wprowadzono miasta.\n";
	}
		
	return error;
}

function checkStreet(str){
	var error = "";
	if (str == ""){
		error = "Nie wprowadzono adresu (ulicy).\n";
	}
		
	return error;
}

function checkPhone(str){
	var error = "";
	if (str != ""){
		var pattern = /^([0-9]+(\s)?)+$/; //allow digits
		if(!pattern.test(str)){
			error = "Niepoprawny numer telefonu. Numer może składać się tylko z cyfr i spacji.\n"
		}
	}
	
	return error;
}

function checkMobile(str){
	var error = "";
	if (str != ""){
		var pattern = /^([0-9]+(\s)?)+$/; //allow  & white spaces
		if(!pattern.test(str)){
			error = "Niepoprawny numer telefonu komórkowego. Numer może składać się tylko z cyfr i spacji.\n"
		}
	}
	return error;
}
function checkEmail(str){
 	var error = "";
	if (str == "") {
		error = "Nie podano adresu e-mail.\n";
	}
	else{
		var pattern = /^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$/;
		if(!pattern.test(str)){
			error = "Niepoprawny format adresu e-mail.\n"
		}
	}
	return error;
}


function checkform(theForm) {
    var why = "";
    why += checkId(theForm.id.value);
    why += checkPostal(theForm.kod.value);
    why += checkName(theForm.nazwa.value);
    why += checkCity(theForm.miasto.value);
    why += checkStreet(theForm.ulica.value);
    why += checkPhone(theForm.telefon.value);
    why += checkMobile(theForm.telefon_kom.value);
    why += checkEmail(theForm.email.value);
    if (why != "") {
       alert("Pojawiły się następujące błędy:\n\n"+why);
       return false;
    }
return true;
}


			
function checkform_registration(theForm) {
    var why = "";
    why += checkName(theForm.nazwa.value);
    why += checkPostal(theForm.kod.value);
    why += checkCity(theForm.miasto.value);
    why += checkStreet(theForm.ulica.value);
    why += checkPhone(theForm.telefon.value);
    why += checkMobile(theForm.telefon_kom.value);
    why += checkEmail(theForm.email.value);
    if (why != "") {
       alert("Pojawiły się następujące błędy:\n\n"+why);
       return false;
    }
return true;
}




function checkTypKotla(str){
	var error = "";
	if(str == ""){
		error = "Nie wybrano typu kotła.\n";
	}
	return error;
}
function checkMocKotla(str, condition){
	var error = "";
	if(str == "" && condition == "wodny"){
		error = "Nie podano mocy kotła.\n";
	}
	else{
		var pattern = /^[0-9]+$/; //allow digits
		if(!pattern.test(str)){
			error = "Moc kotła powinna być liczbą całkowitą.\n";
		}
	}
	return error;
}
function checkWydajnoscKotla(str, condition){
	var error = "";
	if(str == "" && condition == "parowy"){
		error = "Nie podano wydajności kotła.\n";
	}
	else if(condition == "parowy"){
		var pattern = /^[0-9]+$/; //allow digits
		if(!pattern.test(str)){
			error = "Wydajność kotła powinna być liczbą całkowitą.\n";
		}
	}
	return error;
}
function checkCisnienieKotla(str){
	var error = "";
	if(str == ""){
		error = "Nie podano ciśnienia kotła.\n";
	}
	else{
		var pattern = /^[0-9]+$/; //allow digits
		if(!pattern.test(str)){
			error = "Ciśnienie kotła powinno być liczbą całkowitą.\n";
		}
	}
	return error;
}
function checkRokProdukcji(str){
	var error = "";
	if(str == ""){
		error = "Nie podano roku produkcji kotła.\n";
	}
	else{
		if(isNaN(parseInt(str)) || parseInt(str)>2008){
			error = "Rok produkcji kotła powinien być liczbą całkowitą nie większą niż 2008.\n";
		}
	}
	return error;
}
function checkCzasEksploatacji(str){
	var error = "";
	if(str == ""){
		error = "Nie podano czasu eksploatacji kotła.\n";
	}
	else{
		if(isNaN(parseInt(str))){
			error = "Czas eksploatacji kotła powinien być liczbą całkowitą.\n";
		}
	}
	return error;
}
function checkPalnik(str){
	var error = "";
	if(str == ""){
		error = "Nie wybrano żadnej z opcji dotyczących obecności palnika.\n";
	}
	return error;
}
function checkSzafa(str){
	var error = "";
	if(str == ""){
		error = "Nie wybrano żadnej z opcji dotyczących obecności szafy sterowniczej.\n";
	}
	return error;
}
function checkAparatura(str){
	var error = "";
	if(str == ""){
		error = "Nie wybrano żadnej z opcji dotyczących obecności aparatury obiektowej.\n";
	}
	return error;
}
function checkPompy(str){
	var error = "";
	if(str == ""){
		error = "Nie wybrano żadnej z opcji dotyczących obecności pomp zasilających.\n";
	}
	return error;
}
function checkKomin(str){
	var error = "";
	if(str == ""){
		error = "Nie wybrano żadnej z opcji dotyczących obecności komina.\n";
	}
	return error;
}
function checkTextareaPalnik(str, condition){
	var error = "";
	if ((str == "" || str=="typ...") && condition == "tak") {
		error = "Nie podano typu palnika.\n";
	}
	return error;
}
function checkTextareaKomin(str, condition){
	var error = "";
	if ((str == "" || str=="opis...") && condition == "tak") {
		error = "Nie podano opisu komina.\n";
	}
	return error;
}
function checkTextareaPompy(str, condition){
	var error = "";
	if ((str == "" || str=="opis...") && condition == "tak") {
		error = "Nie podano opisu pomp zasilających.\n";
	}
	return error;
}
function checkStanTechniczny(str){
	var error = "";
	if ((str == "")) {
		error = "Nie podano stanu technicznego kotła.\n";
	}
	return error;
}
function checkNazwa(str){
	var error = "";
	if ((str == "")) {
		error = "Nie podano nazwy firmy.\n";
	}
	return error;
}
function checkNrLokalu(str){
	var error = "";
	if ((str == "")) {
		error = "Nie podano numeru lokalu.\n";
	}
	return error;
}
function checkOsobaKontaktowa(str){
	var error = "";
	if ((str == "")) {
		error = "Nie uzupelniono pola 'Osoba kontaktowa'.\n";
	}
	return error;
}

function checkform_komis(theForm) {
    var why = "";
    why += checkTypKotla(theForm.typ_kotla.value);
    why += checkMocKotla(theForm.moc.value, theForm.typ_kotla.value);
    why += checkWydajnoscKotla(theForm.wydajnosc.value, theForm.typ_kotla.value);
    why += checkCisnienieKotla(theForm.cisnienie.value);
    why += checkRokProdukcji(theForm.rok_produkcji.value);
    why += checkCzasEksploatacji(theForm.czas_eksploatacji.value);
    why += checkPalnik(theForm.palnik.value);
    why += checkTextareaPalnik(theForm.palnik_opis.value, theForm.palnik.value);
    why += checkSzafa(theForm.szafa.value);
    why += checkAparatura(theForm.aparatura.value);
    why += checkPompy(theForm.pompy.value);
    why += checkTextareaPompy(theForm.pompy_opis.value, theForm.pompy.value);
    why += checkKomin(theForm.komin.value);
    why += checkTextareaKomin(theForm.komin.value, theForm.komin.value);
    why += checkStanTechniczny(theForm.stan_techniczny.value);
    
		why += checkNazwa(theForm.nazwa.value);
    why += checkStreet(theForm.ulica.value);
		why += checkNrLokalu(theForm.nr_lokalu.value);
    why += checkPostal(theForm.kod.value);
    why += checkCity(theForm.miasto.value);
    why += checkOsobaKontaktowa(theForm.osoba_kontaktowa.value);
    why += checkPhone(theForm.telefon.value);
		why += checkEmail(theForm.email.value);
    if (why != "") {
       alert("Pojawiły się następujące błędy:\n\n"+why);
       return false;
    }
    alert('Przetwarzanie formularza może potrwać do kilku minut w zależności od rozmiaru załączonego zdjęcia oraz prędkości łącza.');
return true;
}

function checkform_komis_buy(theForm) {
    var why = "";
		why += checkNazwa(theForm.nazwa.value);
    why += checkStreet(theForm.ulica.value);
		why += checkNrLokalu(theForm.nr_lokalu.value);
    why += checkPostal(theForm.kod.value);
    why += checkCity(theForm.miasto.value);
    why += checkOsobaKontaktowa(theForm.osoba_kontaktowa.value);
    why += checkPhone(theForm.telefon.value);
		why += checkEmail(theForm.email.value);
    if (why != "") {
       alert("Pojawiły się następujące błędy:\n\n"+why);
       return false;
    }
return true;
}