var Rodzina = {

	/**
	 * Funkcje pochodzą z rodzinanaswoim.pl
	 */
	checkControlSum: function(str, weights, modulo, allow_high) 
	{
		str = str.replace(/[^\d]/g,"");
		if (!str.length) return false;

		var nsize = str.length;
		var j = 0, sum = 0, control = 0;
		var csum = str.substring(nsize - 1);

		for (var i = 0; i < nsize - 1; i++)	{
				j = parseInt(str.charAt(i));
				sum += j * weights[i];
		}
		if (sum == 0 || str.length < 9)
			return false;
		control = sum % modulo;

		if (allow_high == false)
				control = 10 - control;

		if (control == 10)
			control = 0;
		return control == csum;
	},


	sprawdzCel: function(form) 
	{
		if(form.cel_kredytu[1].checked){
			form.obiekt[1].checked=true;
			form.obiekt[0].disabled=true;
			form.rynek[0].checked=true;
			form.rynek[1].disabled=true;
		}
		else {
			form.obiekt[0].disabled=false;
			form.rynek[1].disabled=false;
		}
	},


	checkForm: function(form) 
	{
		if (form.powierzchnia.value == '') {
			alert("Proszę podać powierzchnię!");
			return false;
		}

		var powierzchnia = document.getElementById('powierzchnia'); 
		powierzchnia.value = powierzchnia.value.replace(/,/,"."); 
		if (!this.isNumeric(powierzchnia)) {
			alert("Proszę podać powierzchnię w formacie liczbowym!");
			return false;
		}

		if (form.kwota_kredytu.value == '') {
			alert("Proszę podać kwotę kredytu!");
			return false;
		}

		var kwota_kredytu = document.getElementById('kwota_kredytu'); 
		kwota_kredytu.value=kwota_kredytu.value.replace(/,/,"."); 
		if (!this.isNumeric(kwota_kredytu)) {
			alert("Proszę podać kwotę kredytu w formacie liczbowym!");
			return false;
		} 
		var wartosc_nieruchomosci = parseFloat(form.wartosc_nieruchomosci.value);
		var kredyt = parseFloat(form.kwota_kredytu.value);
		if (kredyt>wartosc_nieruchomosci) {
			alert("Kwota kredytu nie może być większa niż wartość nieruchomości!");
			return false;
		}

		if (form.okres_kredytowania.value=='') {
			alert("Proszę podać okres kredytowania!");
			return false;
		}

		var okres_kredytowania = document.getElementById('okres_kredytowania');  
		if (!this.isInteger(okres_kredytowania.value)) {
			alert("Proszę podać okres kredytowania w postaci liczby całkowitej!");
			return false;
		}
		var okres = parseInt(form.okres_kredytowania.value);
		var wiek = parseInt(form.wiek_najstarszego.value);

		if (okres > 30) {
			alert("Maksymalny okres kredytowania wynosi 30 lat!");
			return false;
		}

		var stosunek = okres + wiek;
		if (stosunek > 70) {
			alert('Suma okresu spłaty i wieku kredytobiorcy nie może przekraczać 70 lat!');
			return false;
		}
	},


	isNumeric: function(ciag) 
	{
		var numericExpression = /^[0-9.0-9.0-9]+$/;
		if (ciag.value.match(numericExpression))
			return true;
		else 
			return false;
	},


	isInteger: function(strString) 
	{
		var strValidChars = "0123456789";
		var strChar;
		var blnResult = true;

		if (strString.length == 0) return false;

		for (i = 0; i < strString.length && blnResult == true; i++) {
			strChar = strString.charAt(i);
			if (strValidChars.indexOf(strChar) == -1) {
				blnResult = false;
			}
		}
		return blnResult;
	}
};
