
function sprawdz_nip(inputVal)
{
/*
Składa się on z dziesięciu cyfr. Pierwsze dziewięć cyfr identyfikuje płatnika, ostatnia jest cyfrą kontrolną. 
Aby sprawdzić poprawność numeru należy użyć następującego algorytmu:
   1. pomnożyć kolejne cyfry przez odpowiednie wagi (657234567)
   2. następnie sumujemy wyniki mnożenia
   3. wynik sumowania dzielimy modulo przez 11
   4. otrzymana cyfra jest sumą kontrolną NIP'u 
	
	np. 951-155-23-14
*/

	if (!inputVal.match(/^[0-9]{3}-[0-9]{3}-[0-9]{2}-[0-9]{2}$/) &&
		 !inputVal.match(/^[0-9]{3}-[0-9]{2}-[0-9]{2}-[0-9]{3}$/) &&
		 !inputVal.match(/^[0-9]{10}$/))
  	{ 
   	return false; 
  	} 
	var arg = inputVal.replace(/-/g,''); 
	var wagi = "657234567";
	var sum = 0;
	for(var i=8; i>=0 ;i--)
	{
		sum += (parseInt(wagi.charAt(i)) * parseInt(arg.charAt(i)));
	}
  	if( ((sum % 11)==10) ? false : ((sum % 11) == parseInt(arg.charAt(9))) )
	{
		return true;
	}

  	return false;
}

function sprawdz_nr_karty_kredyt()
{
/*
Numer karty kredytowej składa się z szesnastu cyfr. Początkowe sześć cyfr to numer identyfikujący bank, który wydał kartę. Kolejne dziewięć cyfr ustala sam bank wydający kartę, a ostatnia cyfra jest cyfrą kontrolną. Aby zweryfikować poprawność numeru musimy postąpić według następujących zasad:

   1. pomnożyć kolejne cyfry przez odpowiednie wagi
   2. jeśli wynik mnożenia jest większy od 10 należy od otrzymanej liczby odjąć 9
   3. wyniki mnożenia po wykonaniu korekty (2) należy zsumować
   4. sumę należy podzielić modulo przez 10
   5. jeśli reszta wynosi 0 to numer karty jest poprawny 
*/

}

function sprawdz_pesel()
{
/*
Numer ten składa się z jedenastu cyfr. Pierwsze sześć cyfr to data urodzenia w formacie yy-mm-dd. Cztery kolejne to numer identyfikacyjny. Przedostatnia (dziesiąta) cyfra zawiera dodatkowo informację o płci osoby: nieparzysta - mężczyzna, parzysta - kobieta. Ostatnia jedenasta cyfra jest sumą kontrolną. Aby zweryfikować numer należy postąpić według zasad:

   1. pomnożyć kolejne cyfry przez odpowiednie wagi (1   3    7   9    1   3    7    9    1   3)
   2. następnie sumujemy otrzymane wyniki
   3. dzielimy modulo przez 10
   4. otrzymany wynik odejmujemy od 10
   5. wynik odejmowania jest cyfrą kontrolną 
*/

}

function sprawdz_regon()
{
/*
Składa się on z dziewięciu cyfr. Pierwsze osiem identyfikuje podmiot, a ostatnia dziewiąta cyfra jest sumą kontrolną. Aby sprawdzić poprawność numeru należy postąpić w następujący sposób:

   1. pomnożyć kolejne cyfry przez odpowiadające im wagi (8   9    2    3    4    5    6    7)
   2. zsumować wyniki mnożenia
   3. wynik sumowania podzielić modulo przez 11
   4. otrzymana liczba jest cyfrą kontrolną 
*/

}

function sprawdz_isbn()
{
/*
Składa on się z dziesięciu cyfr - pierwsze dziewięć jest unikalne dla książki, a ostatnia jest sumą kontrolną obliczoną według następującego algorytmu:

   1. poszczególne cyfry są mnożone przez odpowiadające im wagi (10   9    8    7   6    5    4   3    2),
   2. następnie sumowane,
	3. sumę należy podzielić modulo przez 11
   4. od 11 należy odjąć wynik operacji modulo
   5. porównujemy otrzymany wynik z ostatnią cyfrą - różnica oznacza błąd 
*/

}

function sprawdz_kod_pocztowy(inputVal)
{
	if(inputVal=="")
	{
	   return false;
   } 
	
	return true;
}

function sprawdz_email(inputVal)
{
	if(!inputVal.match(/^[a-z0-9][_a-z0-9.-]*@[a-z0-9][_a-z0-9.-]*[.][a-z]{2,3}$/))
	{
      return false;
   }
	
	return true;
}

function sprawdz_telefon(inputVal)
{
	if(!inputVal.match(/^[0-9()\s-]*$/))
	{
      return false;
   }
	
	return true;
}

function sprawdz_telefon_2(inputVal)
{	
	//000 000-00-00 lub +00 000-000-000
	if(inputVal=="")
	{
      return false;
   }
	
	return true;
}

function sprawdz_imie_nazwisko(inputVal)
{
	if(!inputVal.match(/^[a-zA-Z\s-ĄĆĘŁŃÓŚŻŹąćęłńóśżź]*$/))
	{
      return false;
   }
	
	return true;
}

function sprawdz_login(inputVal)
{
	if(!inputVal.match(/^[0-9a-zA-Z\s-_ĄĆĘŁŃÓŚŻŹąćęłńóśżź]*$/))
	{
      return false;
   }
	
	return true;
}

function sprawdz_date(inputVal)
{
	var rok_przestepny = 1900;
	var ile_dni = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
	
	var rok = parseInt(inputVal.substring(0,4));
	var miesiac = parseInt(inputVal.substring(5,7));
	var dzien = parseInt(inputVal.substring(8,10));
	
	if(!((rok - rok_przestepny) % 4)) //gdy reszta z dzielenia przez 4 równa sie 0
	{
   	ile_dni[1] = 29;
   }
	if(dzien > ile_dni[miesiac-1])
	{
		return false;
	}
	
	return true;
}

function sprawdz_znaki_zabronione(inputVal)
{
	if(!inputVal.match(/^[^<>\\\"\']*$/))
	{
      return false;
   }
	
	return true;
}

function sprawdz_haslo(inputVal)
{
	//min 6 znaków, liczby, litery
	if(inputVal.length < 6)
	{
		return false;
	}
	if(!inputVal.match(/[0-9]+[A-Za-z]+[.]*|[A-Za-z]+[0-9]+[.]*/))
	{
      return false;
   }
			
	return true;
}
