var ferr = new Array();
var haslo = 0;

function validFormReg(alerts) {
 if (alerts == false) ferr = new Array();

	if (validLogin($("#rlogin").val()) == false) {
		$("#rlogin").css("border","3px solid red");
		if (alerts == true && ferr.length == 0)
		alert("Login może się składać tylko z małych i dużych liter oraz cyfr. Minimalna długość to 5 znaków.");
		ferr.push(1);
	} else {
		$("#rlogin").css("border","1px solid silver");
	}
	if ($("#rhaslo1").val().length < 6) {
		$("#rhaslo1").css("border","3px solid red");
		if (alerts == true && haslo == 0) {
		 alert("Hasło musi zawierać conajmniej 6 znaków.");
		 haslo = 1;
		}
		ferr.push(1);
	} else {
		$("#rhaslo1").css("border","1px solid silver");
		if ($("#rhaslo1").val() != $("#rhaslo2").val()) {
			$("#rhaslo2").css("border","3px solid red");
			ferr.push(1);
		} else{
			$("#rhaslo2").css("border","1px solid silver");
		}
	}
	if (isMail($("#email").val()) == false) {
		$("#email").css("border","3px solid red");
		ferr.push(1);
	} else {
		$("#email").css("border","1px solid silver");
	}
	if (validText($("#imie").val()) == false) {
		$("#imie").css("border","3px solid red");
		ferr.push(1);
	} else {
		$("#imie").css("border","1px solid silver");
	}
	if (validText($("#nazwisko").val(),0) == false) {
		$("#nazwisko").css("border","3px solid red");
		ferr.push(1);
	} else {
		$("#nazwisko").css("border","1px solid silver");
	}
	if (isNotNull($("#firma").val()) == false) {
		$("#firma").css("border","3px solid red");
		ferr.push(1);
	} else {
		$("#firma").css("border","1px solid silver");
	}
	if (isNip($("#nip").val()) == false) {
		$("#nip").css("border","3px solid red");
		ferr.push(1);
	} else {
		$("#nip").css("border","1px solid silver");
	}
	if (validText($("#miasto").val(),1) == false) {
		$("#miasto").css("border","3px solid red");
		ferr.push(1);
	} else {
		$("#miasto").css("border","1px solid silver");
	}
	if (isNotNull($("#adres").val(),1) == false) {
		$("#adres").css("border","3px solid red");
		ferr.push(1);
	} else {
		$("#adres").css("border","1px solid silver");
	}
	if (isKodPocztowy($("#kod").val(),1) == false) {
		$("#kod").css("border","3px solid red");
		ferr.push(1);
	} else {
		$("#kod").css("border","1px solid silver");
	}
	if (isNotNull($("#poczta").val(),1) == false) {
		$("#poczta").css("border","3px solid red");
		ferr.push(1);
	} else {
		$("#poczta").css("border","1px solid silver");
	}
	if (isTelefon($("#telefon").val(),1) == false) {
		$("#telefon").css("border","3px solid red");
		ferr.push(1);
	} else {
		$("#telefon").css("border","1px solid silver");
	}
	if ($("#region").val() == 0) {
		$("#region").css("border","3px solid red");
		ferr.push(1);
	} else {
		$("#region").css("border","1px solid silver");
	}
	if ($("#regulamin").attr('checked') == false && ferr.length == 0) {
   alert("Należy zaakceptować regulamin!");
  }
}

function validGen() {
 ferr = new Array();
 var err = 0;
 var objDate = $(".date_form");
 for (var i=0; i < objDate.length; i++) {
	 var objValue = $("#"+objDate[i].name).val();
	 var objLabel = $("#ll_"+objDate[i].name);
	 if (isDate(objValue) == false) {
		 objLabel.css('color','red').fadeOut(200);
		 objLabel.css('color','red').fadeIn(200);
		 ferr.push(1);
	 } else {
		 objLabel.css('color','black');
	 } 
 }
 checkErrors();
}

function checkErrors() {
 if (ferr.length>0) {
	 alert("Formularz nie został poprawnie wypełniony!");
	 return false;
 }
 return true;
}

function validLogin(s) {
 var regExp =/^[a-zA-Z0-9]{5,}$/i;
 if (regExp.test(s) == false) return false;
 return true;
}

function validText(s,other) {
	 var reg =/^[a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ]{3,}$/i;
	 if (other == 1) var reg =/^[a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ\-\.\s\,\t]{3,}$/i;
	 if (reg.test(s) == false) return false;
	 return true;
}

function isNotNull(s) {
	if (s.length <= 0 || s == '') return false;
	 return true;
}

function isDate(s)   {
 var regExp =/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/i;
 if (regExp.test(s) == false) {
 return false;
 }
 var tmp = s.split("-");
 if (tmp[1]>12) return false;
 if (tmp[2]>31) return false;
 
 return true;    

}

function isNumber(s) {
 if (s == 0) return false;
 var regKwota =/^([1-9]{1}[0-9]{0,}|0)(\.|\,)([0-9]{2})$/i;
 var regNumbers =/^[0-9]{1,}$/i;
 var regKropkaPrzecinek = /\.|\,/i;
 if (regKropkaPrzecinek.test(s) == false) {
    if (regNumbers.test(s) == false) return false;
 } else {
    if (regKwota.test(s) == false) return false;
 }
 return true;
}

function isMail(s) {
	 var regNumbers =/^[^@]+@([a-z0-9\-]+\.)+[a-z]{2,4}$/i;
	 if (regNumbers.test(s) == false) return false;
	 return true;
	}

function isNumberIlosc(s) {
 var regNumbers =/^[0-9]{1,}$/i;
 if (regNumbers.test(s) == false) return false;
 return true;
}

function isTelefon(s) {
	 var arg = s.replace(/-/g,'');
	 var regNumbers =/^[0-9\-\(\)]{7,}$/i;
	 if (regNumbers.test(arg) == false) return false;
	 return true;
}

function isPesel(s) {
if (s=='' || s == 0) return false;
var mnoznik = new Array("1","3","7","9","1","3","7","9","1","3","1"); 
var nSum = 0;
 for(i=0;i<11;i++) {
  nSum = nSum + s.charAt(i) * mnoznik[i];
 }
 if (nSum%10==0) return true;
 return false;
}

function trim10 (str) {
	var whitespace = ' \n\r\t\f\x0b\xa0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000';
	for (var i = 0; i < str.length; i++) {
		if (whitespace.indexOf(str.charAt(i)) === -1) {
			str = str.substring(i);
			break;
		}
	}
	for (i = str.length - 1; i >= 0; i--) {
		if (whitespace.indexOf(str.charAt(i)) === -1) {
			str = str.substring(0, i + 1);
			break;
		}
	}
	return whitespace.indexOf(str.charAt(0)) === -1 ? str : '';
}

function isNip(inputVal) {
var arg = inputVal.replace(/-/g,'');
arg = trim10(arg);
if (arg == '0000000000') return false;
if (arg == '00000000000') return false;
if (arg == '00000000001') return false;
if (arg == '00000000002') return false;
if (arg == '00000000003') return false;
if (arg == '00000000004') return false;
if (arg == '00000000005') return false;
if (arg == '00000000006') return false;
if (arg == '00000000007') return false;
if (arg == '00000000008') return false;
if (arg == '00000000009') return false;
if (arg == '1111111111') return false;
if (arg == '11111111110') return false;
if (arg == '11111111111') return false;
if (arg == '11111111112') return false;
if (arg == '11111111113') return false;
if (arg == '11111111114') return false;
if (arg == '11111111115') return false;
if (arg == '11111111116') return false;
if (arg == '11111111117') return false;
if (arg == '11111111118') return false;
if (arg == '11111111119') return false;
if (arg == '2222222222') return false;
if (arg == '22222222220') return false;
if (arg == '22222222221') return false;
if (arg == '22222222222') return false;
if (arg == '22222222223') return false;
if (arg == '22222222224') return false;
if (arg == '22222222225') return false;
if (arg == '22222222226') return false;
if (arg == '22222222227') return false;
if (arg == '22222222228') return false;
if (arg == '22222222229') return false;
if (arg == '3333333333') return false;
if (arg == '33333333330') return false;
if (arg == '33333333331') return false;
if (arg == '33333333332') return false;
if (arg == '33333333333') return false;
if (arg == '33333333334') return false;
if (arg == '33333333335') return false;
if (arg == '33333333336') return false;
if (arg == '33333333337') return false;
if (arg == '33333333338') return false;
if (arg == '33333333339') return false;
if (arg == '4444444444') return false;
if (arg == '44444444440') return false;
if (arg == '44444444441') return false;
if (arg == '44444444442') return false;
if (arg == '44444444443') return false;
if (arg == '44444444444') return false;
if (arg == '44444444445') return false;
if (arg == '44444444446') return false;
if (arg == '5555555555') return false;
if (arg == '55555555550') return false;
if (arg == '55555555551') return false;
if (arg == '55555555552') return false;
if (arg == '55555555553') return false;
if (arg == '55555555554') return false;
if (arg == '55555555555') return false;
if (arg == '55555555556') return false;
if (arg == '55555555557') return false;
if (arg == '55555555558') return false;
if (arg == '55555555559') return false;
if (arg == '6666666666') return false;
if (arg == '66666666660') return false;
if (arg == '66666666661') return false;
if (arg == '66666666662') return false;
if (arg == '66666666663') return false;
if (arg == '66666666664') return false;
if (arg == '66666666665') return false;
if (arg == '66666666666') return false;
if (arg == '66666666667') return false;
if (arg == '66666666668') return false;
if (arg == '66666666669') return false;
if (arg == '7777777777') return false;
if (arg == '77777777770') return false;
if (arg == '77777777771') return false;
if (arg == '77777777772') return false;
if (arg == '77777777773') return false;
if (arg == '77777777774') return false;
if (arg == '77777777775') return false;
if (arg == '77777777776') return false;
if (arg == '77777777777') return false;
if (arg == '77777777778') return false;
if (arg == '77777777779') return false;
if (arg == '8888888888') return false;
if (arg == '88888888880') return false;
if (arg == '88888888881') return false;
if (arg == '88888888882') return false;
if (arg == '88888888883') return false;
if (arg == '88888888884') return false;
if (arg == '88888888885') return false;
if (arg == '88888888886') return false;
if (arg == '88888888887') return false;
if (arg == '88888888888') return false;
if (arg == '88888888889') return false;
if (arg == '9999999999') return false;
if (arg == '99999999990') return false;
if (arg == '99999999991') return false;
if (arg == '99999999992') return false;
if (arg == '99999999993') return false;
if (arg == '99999999994') return false;
if (arg == '99999999995') return false;
if (arg == '99999999996') return false;
if (arg == '99999999997') return false;
if (arg == '99999999998') return false;
if (arg == '99999999999') return false;
var coefficients = "657234567";
var sum=0;
var index=8;
 for (index=8; index>=0 ;index--) 
 sum += (parseInt(coefficients.charAt(index)) * parseInt(arg.charAt(index)));
 if ( (sum % 11) == 10 ? false : ((sum % 11) == parseInt(arg.charAt(9))) ) return true;
return false; 
}

function isRegon(r) {
r=r.replace(/[^0-9]+/g,'');
var rLEN=r.length;
if(rLEN==9) var wagi=new Array(8,9,2,3,4,5,6,7);
else if(rLEN==14) var wagi=new Array(2,4,8,5,0,9,7,3,6,1,2,4,8);
else return false;
 for(var i=0,wagiLEN=wagi.length,sumaKontrolna=0; i < wagiLEN; i++)
  sumaKontrolna+=parseInt(r.charAt(i))*wagi[i];
var cyfraKontrolna=sumaKontrolna%11;
 if(r==(r.substring(0,wagiLEN)+((cyfraKontrolna==10)?'0':cyfraKontrolna)+'')) 
  return true
 else
  return false;
}

function validDowodOs(s) {
 var reg =/^[A-Za-z]{3,3}[0-9]{6,6}$/i;
 if (reg.test(s) == false) return false;
 return true;
}

function isKodPocztowy(s) {
  var reg =/^[0-9]{2}-[0-9]{3}$/i;
  if (reg.test(s) == false) return false;
  return true;
}

