// zmienne
var submitcount=0;
var submitset=true;
function ValidNIP(input_data)
{
  if(!input_data.match(/^[0-9]{3}-[0-9]{2}-[0-9]{2}-[0-9]{3}$/)&&!input_data.match(/^[0-9]{3}-[0-9]{3}-[0-9]{2}-[0-9]{2}$/))return false;
	var my_nums=input_data.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==parseInt(my_nums.charAt(9))||sum%11==10)return true;else return false;
}
function validateForm_Rejestracja(AForm)
{
  var sel=AForm.typ_konta;
  var typ_konta=sel.options[sel.selectedIndex].value;
  typ_konta_tab=typ_konta.split("|");
  var error='';
  var licznik_LP=0;
  var submitset=true;
  if(typ_konta_tab[0]==2){
    //1. Nazwa firmy
  	reg=/^[a-zA-Z0-9±ćęłńó¶żĽˇĆĘŁŃÓ¦Ż¬.\-, ]{1,255}$/;
  	wyn=AForm.firmowe_nazwa.value.match(reg);
  	if(wyn==null){
	  	if(AForm.firmowe_nazwa.value!=""){
		  	licznik_LP++;
		  	error=error+"<div class=\"error_akcja_head\">"+licznik_LP+". Proszę podać poprawn± nazwę firmy.</div><div class=\"error_akcja_main\">Pole musi zawierać od 1 do 255 liter.<br>Żadne znaki poza my¶linkiem, kropk±, przecinkiem, literami i cyframi nie s± dozwolone.</div>";
   			submitset=false;
			}else{
			  licznik_LP++;
		  	error=error+"<div class=\"error_akcja_head\">"+licznik_LP+". Proszę wprowadzić nazwę firmy.</div><div class=\"error_akcja_main\">Pole musi zawierać od 1 do 255 liter.<br>Żadne znaki poza my¶linkiem, kropk±, przecinkiem, literami i cyframi nie s± dozwolone.</div>";
   			submitset=false;
			}
  	}
	  //2. Ulica
  	reg=/^[a-zA-Z0-9±ćęłńó¶żĽˇĆĘŁŃÓ¦Ż¬/., ]{2,255}$/;
  	wyn=AForm.firmowe_ulica.value.match(reg);
  	if(wyn==null){
	  	if(AForm.firmowe_ulica.value!=""){
		  	licznik_LP++;
		  	error=error+"<div class=\"error_akcja_head\">"+licznik_LP+". Proszę podać poprawn± ulicę.</div><div class=\"error_akcja_main\">Pole musi zawierać od 2 do 255 liter.<br>Żadne znaki poza literami i cyframi nie s± dozwolone oprócz znaków:[<b>/</b>][<b>,</b>][<b>.</b>].</div>";
   			submitset=false;
			}else{
			  licznik_LP++;
		  	error=error+"<div class=\"error_akcja_head\">"+licznik_LP+". Proszę wprowadzić ulicę.</div><div class=\"error_akcja_main\">Pole musi zawierać od 2 do 255 liter.<br>Żadne znaki poza literami i cyframi nie s± dozwolone oprócz znaków:[<b>/</b>][<b>,</b>][<b>.</b>].</div>";
   			submitset=false;
			}
  	}
	  //3. Kod pocztowy
  	if(AForm.firmowe_kod_p.value==""){
		 	licznik_LP++;
		 	error=error+"<div class=\"error_akcja_head\">"+licznik_LP+". Proszę podać kod pocztowy.</div><div class=\"error_akcja_main\">Pole musi zawierać 6 znaków.</div>";
   		submitset=false;
  	}
  	//4. Miejscowo¶ć
  	reg=/^[a-zA-Z0-9±ćęłńó¶żĽˇĆĘŁŃÓ¦Ż¬/., ]{2,255}$/;
  	wyn=AForm.firmowe_miejscowosc.value.match(reg);
  	if(wyn==null){
	  	if(AForm.firmowe_miejscowosc.value!=""){
		  	licznik_LP++;
		  	error=error+"<div class=\"error_akcja_head\">"+licznik_LP+". Proszę podać poprawn± miejscowo¶ć.</div><div class=\"error_akcja_main\">Pole musi zawierać od 2 do 255 liter.<br>Żadne znaki poza literami i cyframi nie s± dozwolone oprócz znaków:[/][,][.].</div>";
   			submitset=false;
			}else{
			  licznik_LP++;
		  	error=error+"<div class=\"error_akcja_head\">"+licznik_LP+". Proszę wprowadzić miejscowo¶ć.</div><div class=\"error_akcja_main\">Pole musi zawierać od 2 do 255 liter.<br>Żadne znaki poza literami i cyframi nie s± dozwolone oprócz znaków:[/][,][.].</div>";
   			submitset=false;
			}
  	}
	  //5. NIP
	  if(!ValidNIP(AForm.firmowe_nip.value)){
			licznik_LP++;
			error=error+"<div class=\"error_akcja_head\">"+licznik_LP+". Proszę podać poprawny numer NIP.</div><div class=\"error_akcja_main\">Pole musi zawierać 13 znaków.<br>Żadne znaki poza cyframi i '-' nie s± dozwolone.<br>Dla przykładu NIP: [999-999-99-99] [999-99-99-999]<br>Jeżeli NIP jest błędnie wprowadzony to też będzie generował się ten sam bł±d.</div>";
   		submitset=false;
  	}
  	// Je¶li zaznaczono dodanie do bazy danych
  	if(AForm.pages_konto_firmowe_dbfirm_onoff.checked==true){
    	//6. Województwo
    	if(AForm.wojewodztwo.value==""){
	 			licznik_LP++;
	 			error=error+"<div class=\"error_akcja_head\">"+licznik_LP+". Proszę wybrać województwo.</div><div class=\"error_akcja_main\">Pole to musi być ustawione na województwo.</div>";
 				submitset=false;
			}
			//7. Branże wybrane
    	if(AForm.branze_wybrane.length==0){
	 			licznik_LP++;
	 			error=error+"<div class=\"error_akcja_head\">"+licznik_LP+". Proszę wybrać branże.</div><div class=\"error_akcja_main\">Pole to musi mieć na li¶cie wybrane branże.</div>";
 				submitset=false;
			}
  	}
  }
	//8. Imię i nazwisko
  reg=/^[a-zA-Z±ćęłńó¶żĽˇĆĘŁŃÓ¦Ż¬ ]{3,190}$/;
  wyn=AForm.prywatne_imie_nazwisko.value.match(reg);
  if(wyn==null){
	  if(AForm.prywatne_imie_nazwisko.value!=""){
		  licznik_LP++;
		  error=error+"<div class=\"error_akcja_head\">"+licznik_LP+". Proszę podać poprawne imie i nazwisko.</div><div class=\"error_akcja_main\">Pole musi zawierać od 3 do 190 liter.<br>Żadne znaki poza literami nie s± dozwolone.</div>";
   		submitset=false;
		}
  }
  //9. Login
  reg=/^[a-zA-Z0-9._-]{6,32}$/;
  wyn=AForm.login.value.match(reg);
	if(wyn==null || AForm.login.value==""){
 		licznik_LP++;
	  error=error+"<div class=\"error_akcja_head\">"+licznik_LP+". Proszę podać poprawny login.</div><div class=\"error_akcja_main\">Pole login powinno zawierać od 6 do 32 znaków<br>i może być złożone z liter oraz cyfr.</div>";
 		submitset=false;
 	}
  //10. Email 
  reg=/^[a-zA-Z0-9±ćęłńó¶żĽˇĆĘŁŃÓ¦Ż¬._-]{2,160}@[a-zA-Z0-9±ćęłńó¶żĽˇĆĘŁŃÓ¦Ż¬._-]+(\.[a-zA-Z0-9±ćęłńó¶żĽˇĆĘŁŃÓ¦Ż¬]+)+$/;
  wyn=AForm.email.value.match(reg);
  if(wyn==null ||  AForm.email.value==""){
	  licznik_LP++;
  	error=error+"<div class=\"error_akcja_head\">"+licznik_LP+". Proszę podać poprawny adres email.</div><div class=\"error_akcja_main\">Adres email musi zawierać znak @ oraz co najmniej dwa człony nazwy serwera.</div>";
    submitset=false;
  }
  //11. Hasło
  reg=/^[a-zA-Z0-9±ćęłńó¶żĽˇĆĘŁŃÓ¦Ż¬]{6,32}$/;
  wyn=AForm.haslo1.value.match(reg);
	if(wyn==null){
 		licznik_LP++;
 		if(AForm.haslo1.value!="" && AForm.haslo2.value!=""){
			if(AForm.haslo1.value!=AForm.haslo2.value)error=error+"<div class=\"error_akcja_head\">"+licznik_LP+". Proszę podać poprawne hasło.</div><div class=\"error_akcja_main\">Wpisane hasła s± różne.<br>Proszę spóbuj wprowadzić hasła ponownie.</div>"; else
		   error=error+"<div class=\"error_akcja_head\">"+licznik_LP+". Proszę podać poprawne hasło.</div><div class=\"error_akcja_main\">Pole hasła powinno zawierać znaki od 6 do 32 znaków<br>i może być złożone z liter oraz cyfr.</div>";
 	    submitset=false;
   	}else{
 		  error=error+"<div class=\"error_akcja_head\">"+licznik_LP+". Proszę podać poprawne hasło.</div><div class=\"error_akcja_main\">Pole hasła powinno zawierać znaki od 6 do 32 znaków<br>i może być złożone z liter oraz cyfr.</div>";
 	 		submitset=false;
	 	}
 	}
	 //12. Akceptacja danych osobowych
	if(AForm.zgoda_regulaminu.checked==false){
 		licznik_LP++;
    error=error+"<div class=\"error_akcja_head\">"+licznik_LP+". Proszę wyrazić zgodę.</div><div class=\"error_akcja_main\">Pole akceptacja warunków powinna być zaznaczona,<br>aby można było wysłać formularz.</div>";
    submitset=false;
 	} 	
  // pokazanie ewentualnych błędów.
  if(submitset==false){
    var ns6=document.getElementById&&!document.all;
  	var ie4=document.all;
		var ns4=document.layers;
		//pokazanie okna z błędami
    document.getElementById("error_rejestracja").style.display="block";
    if(ie4)document.all["error_rejestracja"].style.visibility="visible";
    if(ns6)document.getElementById("error_rejestracja").style.visibility="visible";
    if(ns4)document.layers["error_rejestracja"].visibility="show";
    document.getElementById('errorDane_rejestracyjne').innerHTML=error;
 	}
  // sprawdzenie czy formularz jest wysyłany
  if(submitset==true){
    if(submitcount==0){
      submitcount++;
      submitset=true;
    }else submitset=false;
  }
  return submitset;
}

function validateForm_Przypomnienie(AForm)
{
  var error='';
  var licznik_LP=0;
  var submitset=true;
  //1. Email
  reg=/^[a-zA-Z0-9±ćęłńó¶żĽˇĆĘŁŃÓ¦Ż¬._-]{2,160}@[a-zA-Z0-9±ćęłńó¶żĽˇĆĘŁŃÓ¦Ż¬._-]+(\.[a-zA-Z0-9±ćęłńó¶żĽˇĆĘŁŃÓ¦Ż¬]+)+$/;
  wyn=AForm.email_przypomnienie.value.match(reg);
  if(wyn==null || AForm.email_przypomnienie.value==""){
	  licznik_LP++;
  	error=error+"<div class=\"error_akcja_head\">"+licznik_LP+". Proszę podać poprawny adres email.</div><div class=\"error_akcja_main\">Adres email musi zawierać znak @ oraz co najmniej dwa człony nazwy serwera.</div>";
    submitset=false;
  }
  // pokazanie ewentualnych błędów.
  if(submitset==false){
    var ns6=document.getElementById&&!document.all;
  	var ie4=document.all;
		var ns4=document.layers;
		//pokazanie okna z błędami
    document.getElementById("error_przypomnienie").style.display="block";
    if(ie4)document.all["error_przypomnienie"].style.visibility="visible";
    if(ns6)document.getElementById("error_przypomnienie").style.visibility="visible";
    if(ns4)document.layers["error_przypomnienie"].visibility="show";
    document.getElementById('errorDane_przypomnienie').innerHTML=error;
 	}
  // sprawdzenie czy formularz jest wysyłany
  if(submitset==true){
    if(submitcount==0){
      submitcount++;
      submitset=true;
    }else submitset=false;
  }
  return submitset;
}

function validateForm_KontoPoprawaDanychHasla(AForm)
{
  var error='';
  var licznik_LP=0;
  var submitset=true;
  //1. Haslo stare
  reg=/^[a-zA-Z0-9±ćęłńó¶żĽˇĆĘŁŃÓ¦Ż¬]{6,32}$/;
  wyn=AForm.stare_haslo.value.match(reg);
  if(wyn==null ||  AForm.stare_haslo.value==""){
 		licznik_LP++;
    error=error+"<div class=\"error_akcja_head\">"+licznik_LP+". Proszę podać poprawne hasło.</div><div class=\"error_akcja_main\">Pole (stare hasło)powinno zawierać znaki od 6 do 32 znaków<br>i może być złożone z liter oraz cyfr.</div>";
    submitset=false;
 	}
 	//1. Hasla nowe
 	wyn=AForm.nowe_haslo1.value.match(reg);
	if(wyn==null){
 		licznik_LP++;
 		if(AForm.nowe_haslo1.value!="" || AForm.nowe_haslo2.value!=""){
			if(AForm.nowe_haslo1.value!=AForm.nowe_haslo2.value)error=error+"<div class=\"error_akcja_head\">"+licznik_LP+". Proszę podać poprawne hasło.</div><div class=\"error_akcja_main\">Wpisane (nowe i powtórzone hasło)s± różne.<br>Proszę spóbuj wprowadzić hasła ponownie.</div>"; else
		   error=error+"<div class=\"error_akcja_head\">"+licznik_LP+". Proszę podać poprawne hasło.</div><div class=\"error_akcja_main\">Pole (nowe hasło)powinno zawierać znaki od 6 do 32 znaków<br>i może być złożone z liter oraz cyfr.</div>";
 	    submitset=false;
   	}else{
 		  error=error+"<div class=\"error_akcja_head\">"+licznik_LP+". Proszę podać poprawne hasło.</div><div class=\"error_akcja_main\">Pole (nowe hasło)powinno zawierać znaki od 6 do 32 znaków<br>i może być złożone z liter oraz cyfr.</div>";
 	 		submitset=false;
	 	}    
 	}
  // pokazanie ewentualnych błędów.
  if(submitset==false){
    var ns6=document.getElementById&&!document.all;
  	var ie4=document.all;
		var ns4=document.layers;
		//zamknięcie okna KomunikatOK
		if(document.getElementById("komunikat_ok")!=null){
    	document.getElementById("komunikat_ok").style.display="none";
    	if(ie4)document.all["komunikat_ok"].style.visibility="hide";
    	if(ns6)document.getElementById("komunikat_ok").style.visibility="hide";
    	if(ns4)document.layers["komunikat_ok"].visibility="hidden";
 		}
    //pokazanie okna z błędami
    if(document.getElementById("error_konto_popraw_haslo")!=null){
   		document.getElementById("error_konto_popraw_haslo").style.display="block";
   		if(ie4)document.all["error_konto_popraw_haslo"].style.visibility="visible";
   		if(ns6)document.getElementById("error_konto_popraw_haslo").style.visibility="visible";
   		if(ns4)document.layers["error_konto_popraw_haslo"].visibility="show";
		}
   	document.getElementById('errorDane_konto_popraw_haslo').innerHTML=error;
 	}
  // sprawdzenie czy formularz jest wysyłany
  if(submitset==true){
    if(submitcount==0){
      submitcount++;
      submitset=true;
    }else submitset=false;
  }
  return submitset;
}

