//var nr_nrb = "32 1500 1214 1012 1006 5381 0000";
//alert ('Rachunek: ' + nr_nrb + ' jest: ' + checkNRB(nr_nrb));
function checkNRB(p_iNRB){
  /////////////////////////////////////////////////////////////////////////////////////
  // Funkcja:   Sprawdza pprawność wprowadzonego numeru NRB - rachunek bankowy 26 znaków PLN
  // Zwarca:
  //                - dla błędnego - FALSE
  //                - dla poprawnego numer rachunku
  // Data:        2009.10.21
  // E-mail:      nsymowski@gmail.com
  /////////////////////////////////////////////////////////////////////////////////////
  
  // Usuniecie spacji
  var str = p_iNRB;
  var iNRB =str.replace(/\s+/g,'');

  
  // Sprawdzenie czy przekazany numer zawiera 26 znaków
  if(iNRB.length != 26){
    return false;
  }  
  
  // Zdefiniowanie tablicy z wagami poszczególnych cyfr
  var aWagiCyfr = new Array(1, 10, 3, 30, 9, 90, 27, 76, 81, 34, 49, 5, 50, 15, 53, 45, 62, 38, 89, 17, 73, 51, 25, 56, 75, 71, 31, 19, 93, 57);

  // Dodanie kodu kraju (w tym przypadku dodajemy kod PL)
  iNRB = iNRB+'2521';
  iNRB = iNRB.substring(2) + iNRB.substring(0,2);
  
  // Wyzerowanie zmiennej
  var iSumaCyfr = 0;

  // Pętla obliczająca sumć cyfr w numerze konta
  var tab = iNRB.split('');
  var pom = '';
  var i=0;
  for(i=0;i<=29;i++){
	pom += tab[i] + '\n';
    iSumaCyfr += tab[29-i] * aWagiCyfr[i];
    if (i==29) break;
    //alert(i+ ' ' + pom);
  }  

  // Sprawdzenie czy modulo z sumy wag poszczegolnych cyfr jest rowne 1
  //return iSumaCyfr;
    //alert(pom);
  return (iSumaCyfr % 97 == 1);
}

//sprawdza poprawnos NIP  NIP=5482417668
function is_numeric(cText)
{
	var sText=""+cText+"";
	var ValidChars = "0123456789.";
	var IsNumber=true;
	var Char;
 
	for (i = 0; i < sText.length && IsNumber == true; i++) 
	{ 
		Char = sText.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) IsNumber = false;
	}
	return IsNumber;   
}
 
function checkNIP(source)
{
	var tb=source.replace(/[-\s]+/g,''); 
	var tb = tb.split('');//mt
	
	if(tb.length>10)return false;
	//var err=document.getElementById(target);
	var nipnodash="";
	//for (licz=0; licz<tb.length; licz++) if (is_numeric(tb[licz])==true) nipnodash=nipnodash+tb[licz];
	for (licz=0; licz<tb.length; licz++) nipnodash=nipnodash+tb[licz];
	//alert(nipnodash.length +" "+nipnodash +"\n"+tb[licz]);
	var nipnodash = nipnodash.split('');//mt
	if (nipnodash.length<10) return false;
	if (nipnodash.length>10) return false;
	if (nipnodash.length==10)
	{
	//alert("jeste");
		var wagi = new Array ("6","5","7","2","3","4","5","6","7");
		var wynik = new Array(9);
		var suma=0;
		for (licz=0; licz<9; licz++) wynik[licz]=nipnodash[licz]*wagi[licz];
		for (licz=0; licz<9; licz++) suma+=wynik[licz];
		suma=suma%11;
		//alert(suma+" "+nipnodash[9]);
		if (suma==nipnodash[9]) return true;
		else return false;
	}
}

