function cyfry(a)
{
	blad=0;
	for(q=0;q<a.length;q++)
	{
		z=a.substring(q,q+1);
		if(!((z>="0" && z<="9") || z=="-" || z==" "))
		{
			blad=1;
		}
	}
	return blad;
}

function kodPocztowy(a)
{

	kod="";
	for(q=0;q<a.length;q++)
	{
		z=a.substring(q,q+1);
		if(z>="0" && z<="9")
		{
			kod = kod + "*";
		}
		else if (z=="-")
		{
			kod = kod + "-";
		}
		else
		{
			kod = kod + z;
		}
	}

	if(kod!="**-***") return 0;
	return 1;
}

function checkFormPowrot(formId,nr)
{
	form=document.getElementById(formId);
	form.tylkoPowrot.value=1;
	checkForm(formId,nr);
}

function checkForm(formId,nr)
{
	form=document.getElementById(formId);

	blad=0;
	if(nr==1)
	{
		oznaczBladReg("frmEmail",1); oznaczBladReg("frmHaslo",1); oznaczBladReg("frmHaslo2",1); oznaczBladReg("frmImie",1); oznaczBladReg("frmNazwisko",1); oznaczBladReg("frmUlica",1); 
		oznaczBladReg("frmKod",1); oznaczBladReg("frmMiasto",1); oznaczBladReg("frmTelefon",1); 

		if(form.frmEmail.value=="")
		{
			oznaczBladReg("frmEmail",0);
			alert("Proszę podać adres e-mail.");
			blad=1;
		}
		else if(emailCheck(form.frmEmail.value)==false)
		{
			oznaczBladReg("frmEmail",0);
			blad=1;
		}
		else if(form.frmHaslo.value=="" || form.frmHaslo2.value=="")
		{
			oznaczBladReg("frmHaslo",0);
			alert("Proszę podać hasło i jego powtórzenie.");
			blad=1;
		}
		else if(form.frmHaslo.value != form.frmHaslo2.value)
		{
			oznaczBladReg("frmHaslo2",0);
			alert("Powtórzenie hasła jest nieprawidłowe.");
			blad=1;
		}
		else if(form.frmHaslo.value.length < 4)
		{
			oznaczBladReg("frmHaslo",0);
			alert("Hasło powinno mieć minimum 4 znaki.");
			blad=1;
		}
		else if(form.frmImie.value=="")
		{
			oznaczBladReg("frmImie",0);
			alert("Proszę podać imię.");
			blad=1;
		}
		else if(form.frmNazwisko.value=="")
		{
			oznaczBladReg("frmNazwisko",0);
			alert("Proszę podać nazwisko.");
			blad=1;
		}
		else if(form.frmUlica.value=="")
		{
			oznaczBladReg("frmUlica",0);
			alert("Proszę podać ulicę i nr. domu/mieszkania.");
			blad=1;
		}
		else if(form.frmKod.value=="")
		{
			oznaczBladReg("frmKod",0);
			alert("Proszę podać kod pocztowy.");
			blad=1;
		}
		else if(cyfry(form.frmKod.value)==1)
		{
			oznaczBladReg("frmKod",0);
			alert("Kod pocztowy może zawierać jedynie cyfry i znak \"-\"");
			blad=1;
		}
		else if(!kodPocztowy(form.frmKod.value))
		{
			oznaczBladReg("frmKod",0);
			alert("Kod pocztowy powinien mieć postać XX-XXX np. 01-222");
			blad=1;
		}
		else if(form.frmMiasto.value=="")
		{
			oznaczBladReg("frmMiasto",0);
			alert("Proszę podać nazwę miejscowości.");
			blad=1;
		}
		else if(form.frmTelefon.value=="")
		{
			oznaczBladReg("frmTelefon",0);
			alert("Proszę podać telefon.");
			blad=1;
		}
		else if(cyfry(form.frmTelefon.value)==1)
		{
			oznaczBladReg("frmTelefon",0);
			alert("Telefon może zawierać jedynie cyfry, spacje, znaki \"-\"");
			blad=1;
		}
	}

	if(nr==2 || nr==3 || nr==31)
	{
		if(nr==31)
		{
			oznaczBlad("frmImie",1); oznaczBlad("frmNazwisko",1); oznaczBlad("frmUlica",1); oznaczBlad("frmKod",1); oznaczBlad("frmMiasto",1);
			oznaczBlad("frmTelefon",1); oznaczBlad("frmEmail",1);

			if(form.frmImie.value=="")
			{
				oznaczBlad("frmImie",0);
				alert("Proszę podać imię.");
				blad=1;
			}
			else if(form.frmNazwisko.value=="")
			{
				oznaczBlad("frmNazwisko",0);
				alert("Proszę podać nazwisko.");
				blad=1;
			}
			else if(form.frmUlica.value=="")
			{
				oznaczBlad("frmUlica",0);
				alert("Proszę podać ulicę i nr. domu/mieszkania.");
				blad=1;
			}
			else if(form.frmKod.value=="")
			{
				oznaczBlad("frmKod",0);
				alert("Proszę podać kod pocztowy.");
				blad=1;
			}
			else if(cyfry(form.frmKod.value)==1)
			{
				oznaczBlad("frmKod",0);
				alert("Kod pocztowy może zawierać jedynie cyfry i znak \"-\"");
				blad=1;
		}
			else if(kodPocztowy(form.frmKod.value)==0)
			{
				oznaczBlad("frmKod",0);
				alert("Kod pocztowy powienien mieć postać XX-XXX np. 01-234");
				blad=1;
			}
			else if(form.frmMiasto.value=="")
			{
				oznaczBlad("frmMiasto",0);
				alert("Proszę podać nazwę miejscowości.");
				blad=1;
			}
			else if(form.frmTelefon.value=="")
			{
				oznaczBlad("frmTelefon",0);
				alert("Proszę podać telefon.");
				blad=1;
			}
			else if(cyfry(form.frmTelefon.value)==1)
			{
				oznaczBlad("frmTelefon",0);
				alert("Telefon może zawierać jedynie cyfry, spacje, znaki \"-\"");
				blad=1;
			}
			else if(form.frmEmail.value=="")
			{
				oznaczBlad("frmEmail",0);
				alert("Proszę podać adres e-mail.");
				blad=1;
			}
			else if(emailCheck(form.frmEmail.value)==false)
			{
				blad=1;
			}
			else if(form.regAkcept.checked==false)
			{
				alert("Proszę zaznaczyć potwierdzenie akceptacji regulaminu.");
				blad=1;
			}
		}

		if(form.chk_inny_adres) {
			if(form.chk_inny_adres.checked==1 && blad==0)
			{
				oznaczBlad("wysInnyNazwisko",1); oznaczBlad("wysInnyUlica",1); oznaczBlad("wysInnyKod",1); oznaczBlad("wysInnyMiasto",1); 

				if(form.wysInnyNazwisko.value=="")
				{
					oznaczBlad("wysInnyNazwisko",0);
					alert("Proszę podać imię i nazwisko w innym adresie dostawy.");
					blad=1;
				}
				else if(form.wysInnyUlica.value=="")
				{
					oznaczBlad("wysInnyUlica",0);
					alert("Proszę podać ulicę i nr domu w innym adresie dostawy.");
					blad=1;
				}
				else if(form.wysInnyKod.value=="")
				{
					oznaczBlad("wysInnyKod",0);
					alert("Proszę podać kod pocztowy w innym adresie dostawy.");
					blad=1;
				}
				else if(kodPocztowy(form.wysInnyKod.value)==0)
				{
					oznaczBlad("wysInnyKod",0);
					alert("Kod pocztowy powienien mieć postać XX-XXX np. 01-234");
					blad=1;
				}
				else if(form.wysInnyMiasto.value=="")
				{
					oznaczBlad("wysInnyMiasto",0);
					alert("Proszę podać miejscowość w innym adresie dostawy.");
					blad=1;
				}
			} 
		}
		
		if(form.chce_prezent.checked==1 && blad==0)
		{
			oznaczBlad("wysNazwisko",1); oznaczBlad("wysUlica",1); oznaczBlad("wysKod",1); oznaczBlad("wysMiasto",1); 

			if(form.wysNazwisko.value=="")
			{
				oznaczBlad("wysNazwisko",0);
				alert("Proszę podać imię i nazwisko adresata prezentu.");
				blad=1;
			}
			else if(form.wysUlica.value=="")
			{
				oznaczBlad("wysUlica",0);
				alert("Proszę podać ulicę i nr domu adresata prezentu.");
				blad=1;
			}
			else if(form.wysKod.value=="")
			{
				oznaczBlad("wysKod",0);
				alert("Proszę podać kod pocztowy adresata prezentu.");
				blad=1;
			}
			else if(kodPocztowy(form.wysKod.value)==0)
			{
				oznaczBlad("wysKod",0);
				alert("Kod pocztowy powienien mieć postać XX-XXX np. 01-234");
				blad=1;
			}
			else if(form.wysMiasto.value=="")
			{
				oznaczBlad("wysMiasto",0);
				alert("Proszę podać miejscowość adresata prezentu.");
				blad=1;
			}
		}

		if(form.chk_faktura.checked==1 && blad==0)
		{
			oznaczBlad("wysVatNazwisko",1); oznaczBlad("wysVatUlica",1); oznaczBlad("wysVatKod",1); oznaczBlad("wysVatMiasto",1); oznaczBlad("wysVatNip",1); 

			if(form.wysVatNazwisko.value=="")
			{
				oznaczBlad("wysVatNazwisko",0);
				alert("Proszę podać firmę w danych do faktury VAT.");
				blad=1;
			}
			else if(form.wysVatUlica.value=="")
			{
				oznaczBlad("wysVatUlica",0);
				alert("Proszę podać ulicę i nr domu w danych do faktury VAT.");
				blad=1;
			}
			else if(form.wysVatKod.value=="")
			{
				oznaczBlad("wysVatKod",0);
				alert("Proszę podać kod pocztowy w danych do faktury VAT.");
				blad=1;
			}
			else if(kodPocztowy(form.wysVatKod.value)==0)
			{
				oznaczBlad("wysVatKod",0);
				alert("Kod pocztowy powienien mieć postać XX-XXX np. 01-234");
				blad=1;
			}
			else if(form.wysVatMiasto.value=="")
			{
				oznaczBlad("wysVatMiasto",0);
				alert("Proszę podać miejscowość w danych do faktury VAT.");
				blad=1;
			}
			else if(form.wysVatNip.value=="")
			{
				oznaczBlad("wysVatNip",0);
				alert("Proszę podać NIP w danych do faktury VAT.");
				blad=1;
			}
		}
	}

	if((nr==3 || nr==31) && blad==0)
	{
		if(form.platnosc[0].checked==0 && form.platnosc[1].checked==0 && form.platnosc[2].checked==0 && form.platnosc[3].checked==0 && form.platnosc[4].checked==0 && form.platnosc[5].checked==0 && form.platnosc[6].checked==0)
		{
			alert("Proszę wybrać formę płatności");
			blad=1;
		}
	}

	if(nr==4 || nr==41)
	{
		oznaczBlad("frmNewPass",1); oznaczBlad("frmNewPass2",1); oznaczBlad("frmImie",1); oznaczBlad("frmNazwisko",1); oznaczBlad("frmUlica",1); oznaczBlad("frmKod",1);
		oznaczBlad("frmMiasto",1); oznaczBlad("frmTelefon",1); 

		if(form.frmNewPass.value!="" && form.frmNewPass2.value=="")
		{
			oznaczBlad("frmNewPass2",0);
			alert("Proszę wpisać powtórzenie hasła. Jeśli nie chcesz zmieniać hasła pozostaw oba pola puste.");
			blad=1;
		}
		else if(form.frmNewPass.value!="" && form.frmNewPass2.value!="" && form.frmNewPass.value != form.frmNewPass2.value)
		{
			oznaczBlad("frmNewPass2",0);
			alert("Powtórzenie hasła się nie zgadza. Jeśli nie chcesz zmieniać hasła pozostaw oba pola puste.");
			blad=1;
		}
		else if(form.frmImie.value=="")
		{
			oznaczBlad("frmImie",0);
			alert("Proszę podać imię.");
			blad=1;
		}
		else if(form.frmNazwisko.value=="")
		{
			oznaczBlad("frmNazwisko",0);
			alert("Proszę podać nazwisko.");
			blad=1;
		}
		else if(form.frmUlica.value=="")
		{
			oznaczBlad("frmUlica",0);
			alert("Proszę podać ulicę i nr. domu/mieszkania.");
			blad=1;
		}
		else if(form.frmKod.value=="")
		{
			oznaczBlad("frmKod",0);
			alert("Proszę podać kod pocztowy.");
			blad=1;
		}
		else if(cyfry(form.frmKod.value)==1)
		{
			oznaczBlad("frmKod",0);
			alert("Kod pocztowy może zawierać jedynie cyfry i znak \"-\"");
			blad=1;
		}
		else if(kodPocztowy(form.frmKod.value)==0)
		{
			oznaczBlad("frmKod",0);
			alert("Kod pocztowy powienien mieć postać XX-XXX np. 01-234");
			blad=1;
		}
		else if(form.frmMiasto.value=="")
		{
			oznaczBlad("frmMiasto",0);
			alert("Proszę podać nazwę miejscowości.");
			blad=1;
		}
		else if(form.frmTelefon.value=="")
		{
			oznaczBlad("frmTelefon",0);
			alert("Proszę podać telefon.");
			blad=1;
		}
		else if(cyfry(form.frmTelefon.value)==1)
		{
			oznaczBlad("frmTelefon",0);
			alert("Telefon może zawierać jedynie cyfry, spacje, znaki \"-\"");
			blad=1;
		}
	}


	if(blad==0) 
	{
		if(nr==1)
		{
			form.formOperacja.value="rejestracja";
		}
		if(nr==2)
		{
			form.action="1_dane_do_wysylki";
			form.formOperacja.value="dodajBilecik";
		}
		if(nr==3 || nr==31)
		{
			if(form.tylkoPowrot.value==1) form.action="index.php";
			else form.action="2_podsumowanie_zamowienia";
			form.formOperacja.value="potwierdzenie";
		}
		if(nr==4)
		{
			form.formOperacja.value="aktualizacja";
		}
		if(nr==41)
		{
			form.formOperacja.value="aktualizacja2";
		}
		form.submit();
	}
}


function emailCheck (emailStr) 
{

	var checkTLD=1;
	var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
	var emailPat=/^(.+)@(.+)$/;
	var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
	var validChars="\[^\\s" + specialChars + "\]";
	var quotedUser="(\"[^\"]*\")";
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom=validChars + '+';
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
	var matchArray=emailStr.match(emailPat);

	if (matchArray==null) {

	alert("Niepoprawny adres e-mail.");
	return false;
	}
	var user=matchArray[1];
	var domain=matchArray[2];

	for (i=0; i<user.length; i++) {
	if (user.charCodeAt(i)>127) {
	alert("Niepoprawny adres e-mail.");
	return false;
	   }
	}
	for (i=0; i<domain.length; i++) {
	if (domain.charCodeAt(i)>127) {
	alert("Niepoprawny adres e-mail.");
	return false;
	   }
	}

	if (user.match(userPat)==null) {

	alert("Niepoprawny adres e-mail.");
	return false;
	}

	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null) {

	for (var i=1;i<=4;i++) {
	if (IPArray[i]>255) {
	alert("Niepoprawny adres e-mail.");
	return false;
	   }
	}
	return true;
	}

	var atomPat=new RegExp("^" + atom + "$");
	var domArr=domain.split(".");
	var len=domArr.length;
	for (i=0;i<len;i++) {
	if (domArr[i].search(atomPat)==-1) {
	alert("Niepoprawny adres e-mail.");
	return false;
	   }
	}

	if (checkTLD && domArr[domArr.length-1].length!=2 && 
	domArr[domArr.length-1].search(knownDomsPat)==-1) {
	alert("Niepoprawny adres e-mail.");
	return false;
	}

	if (len<2) {
	alert("Niepoprawny adres e-mail.");
	return false;
	}

	// If we've gotten this far, everything's valid!
	return true;
}

function oznaczBlad(zm,ok)
{
	o = document.getElementById("dom_"+zm);
	if (o)
	{
		if (ok==0) 
		{
			o.className="okienko_blad";
			window.scrollTo(0,350 + (iloscProduktow*100));
		}
		else o.className="okienko";
	}
	
}

function oznaczBladReg(zm,ok)
{
	o = document.getElementById("dom_"+zm);
	if (o)
	{
		if (ok==0) o.className="okienko_reg_blad";
		else o.className="okienko_reg";
	}
}