var mark = function (element, value) {
	$(':input[name=' + element + ']').filter( function () {
		return $(this).attr('type') === 'text' || $(this).attr('type') === 'textarea';
	}).val(value);
/*	
	var box = $(':input[name=' + element + ']').filter( function () {
		return $(this).attr('type') !== 'text'  && $(this).attr('type') !== 'textarea';
	})[0];	

	if (box) {
		debugger;
	}
*/	
};

var init = function () {

	if ($(":input[name=stan-cywilny]").val() === "zonaty") {
		$("#zona-dane").fadeIn(500);
		$("#zona-dochody-div").fadeIn(500);	
	}
	
	var dochody = $(":input[name=dochody]").val();
	
	switch (dochody) {
		case "dzialalnosc":
			$("#dochod-zatrudnienie").css("display", "none");
			$("#dochod-inne").css("display", "none");
			$("#dochod-dzialalnosc").fadeIn(500); 
			break;
		case "zatrudnienie":
			$("#dochod-dzialalnosc").css("display", "none");
			$("#dochod-inne").css("display", "none");
			$("#dochod-zatrudnienie").fadeIn(500); 
			break;
		case "inne":
			$("#dochod-dzialalnosc").css("display", "none");
			$("#dochod-zatrudnienie").css("display", "none");				
			$("#dochod-inne").fadeIn(500); 
			break;
		case "":
			$("#dochod-dzialalnosc").css("display", "none");
			$("#dochod-zatrudnienie").css("display", "none");
			$("#dochod-inne").css("display", "none");
			break;
	}	
	
	$($('input[name=zona-dochody]')[0]).val('dzialalnosc');
	$($('input[name=zona-dochody]')[1]).val('zatrudnienie');
	
	var zonaDochody = $('input[name=zona-dochody]').filter( function () { return $(this).attr('checked') === true; });
	//$(":input[name=zona-dochody]").val();
	
	switch (zonaDochody) {
		case "dzialalnosc":
			$("#zona-dochod-zatrudnienie").fadeOut(500, function(){ $("#zona-dochod-dzialalnosc").fadeIn(500); });
			break;
			
		case "zatrudnienie":
			$("#zona-dochod-dzialalnosc").fadeOut(500, function(){ $("#zona-dochod-zatrudnienie").fadeIn(500); });
			break;

		case "":
			$("#zona-dochod-dzialalnosc").css("display", "none");
			$("#zona-dochod-zatrudnienie").css("display", "none");
			break;
	}	
};

var checkForm = function () {
	var ch = true;
	
	/* rodzaj pojazdu */
	
	var rodzajPojazdu = $("input[name=rodzaj-pojazdu]").filter(function () {
		return $(this).attr('checked') === true;
	})[0];
	if (!rodzajPojazdu) {
		ch = false;
		$('#rodzajPojazduError').text('To pole jest wymagane');
	} else {
		$('#rodzajPojazduError').text('');
	}
	if (!ch) {
		$('#rodzaj-pojazdu-osobowy').focus();
	}
	
	/* dochody */
	var dochody = $("input[name=dochody]").filter(function () {
		return $(this).attr('checked') === true;
	})[0];
	if (!dochody) {
		ch = false;
		$('#dochodyError').text('To pole jest wymagane');
	} else {
		$('#dochodyError').text('');
	}
	if (!ch) {
		$('#rodzaj-pojazdu-osobowy').focus();
	}	
	
	/* stan-cywilny $("select option:selected")*/
	var stanCywilny = $(":input[name=stan-cywilny]").val();
	if (!stanCywilny) {
		ch = false;
		$('#stanCywilnyError').text('To pole jest wymagane');
	} else {
		$('#stanCywilnyError').text('');
	}
	if (!ch) {
		$('#rodzaj-pojazdu-osobowy').focus();
	}	
	
	return ch;
};

$(document).ready(function(){

	$($('input[name=zona-dochody]')[0]).val('dzialalnosc');
	$($('input[name=zona-dochody]')[1]).val('zatrudnienie');

	// -------------------------------------------------------------------------
	// dynamiczne elementy formularza
	// -------------------------------------------------------------------------
	$(":input[name=stan-cywilny]").change(function() {
		if ($(this).val() == "zonaty") {
			$("#zona-dane").fadeIn(500);
			$("#zona-dochody-div").fadeIn(500);
		}
		else {
			if ($(this).css("display") != "none") {
				$("#zona-dane").fadeOut(500);
				$("#zona-dochody-div").fadeOut(500);
				$(":input[name=zona-dochody]").removeAttr("checked");
				$("#zona-dochod-dzialalnosc").css("display", "none");
				$("#zona-dochod-zatrudnienie").css("display", "none");
			}
		}
	});
	
	$(":input[name=dochody]").change(function() {
		switch ($(this).val()) {
			case "dzialalnosc":
				$("#dochod-zatrudnienie").css("display", "none");
				$("#dochod-inne").css("display", "none");
				$("#dochod-dzialalnosc").fadeIn(500); 
				break;
			case "zatrudnienie":
				$("#dochod-dzialalnosc").css("display", "none");
				$("#dochod-inne").css("display", "none");
				$("#dochod-zatrudnienie").fadeIn(500); 
				break;
			case "inne":
				$("#dochod-dzialalnosc").css("display", "none");
				$("#dochod-zatrudnienie").css("display", "none");				
				$("#dochod-inne").fadeIn(500); 
				break;
			case "":
				$("#dochod-dzialalnosc").css("display", "none");
				$("#dochod-zatrudnienie").css("display", "none");
				$("#dochod-inne").css("display", "none");
				break;
		}
	});

	$(":input[name=zona-dochody]").change(function() {

		switch ($(this).val()) {
			case "dzialalnosc":
				$("#zona-dochod-zatrudnienie").fadeOut(500, function(){ $("#zona-dochod-dzialalnosc").fadeIn(500); });
				break;
				
			case "zatrudnienie":
				$("#zona-dochod-dzialalnosc").fadeOut(500, function(){ $("#zona-dochod-zatrudnienie").fadeIn(500); });
				break;

			case "":
				$("#zona-dochod-dzialalnosc").css("display", "none");
				$("#zona-dochod-zatrudnienie").css("display", "none");
				break;
		}
	});
	
	$(":input[name=uwagi]").growfield({min: 100});
	$(":input[name=dochod-inne-szczegoly]").growfield({min: 50});
	
	// -------------------------------------------------------------------------
	// reset formularza
	// -------------------------------------------------------------------------
	$(":input[name=rodzaj-pojazdu]").removeAttr("checked");
	$(":input[name=dochody]").removeAttr("checked");
	$(":input[name=zona-dochody]").removeAttr("checked");
	$(":input[name=stan-cywilny]").val("");
	$(":input[name=imie-nazwisko]").focus();
	
	// -------------------------------------------------------------------------
	// walidacja formularza
	// -------------------------------------------------------------------------
	$("#formularz").validate({
		errorClass: "Error",
		errorPlacement: function(error, element) {
			error.appendTo( element.parent("td").next("td") );
		},
		rules: {
				"samochod-marka": 		{ required: true, minlength: 2, maxlength: 50 },
				"samochod-model": 		{ required: true, minlength: 2, maxlength: 50 },
				"samochod-typ": 		{ required: true, minlength: 2, maxlength: 50 },				
				"rok-produkcji": 		{ required: true, minlength: 4, maxlength: 30 },
				"pojemnosc": 			{ required: true, minlength: 2, maxlength: 30 },
				"km-kw":				{ required: true },
				/*"rodzaj-pojazdu":		{ required: true },*/
				"wartosc": 				{ required: true, minlength: 4, maxlength: 30 },
				"udzial-wlasny":		{ required: true, minlength: 2, maxlength: 30 },
				"okres-kredytowania":	{ required: true, minlength: 2, maxlength: 30 },
				"dzien-raty":			{ required: true, minlength: 2, maxlength: 30 },
				
				"imie-nazwisko": 		{ required: true, minlength: 10, maxlength: 50 },
				"pesel": 				{ required: true, minlength: 11, maxlength: 11 },
				"dowod-osobisty":		{ required: true},
				"dowod-waznosc":		{ required: true, date: true },

				/*"stan-cywilny":			{ required: true },*/

				"adres-zameldowania":	{ required: true, minlength: 10, maxlength: 100 },
				"email": 				{ required: true, email: true },
				"telefon": 				{ required: true, minlength: 9, maxlength: 50 },
				"pora-kontaktu": 		{ required: true, minlength: 2, maxlength: 50 },
				
				"ilosc-osob":			{ required: true, minlength: 1, maxlength: 2 },
				"wyksztalcenie":		{ required: true },
				"limity-na-kartach-kredytowych" : { required: true, digits: true },
				"odnawialne-limity":	{ required: true, digits: true },
				//removed "wysokosc-dochodow":	{ required: true, minlength: 3, maxlength: 100 },
				/*"dochody":				{ required: true },*/
				
				"zobowiazania-suma-rat" :		{ required: true, digits: true },
				"zobowiazania-suma-poreczen" :	{ required: true, digits: true },
				"zobowiazania-alimenty-renty" :	{ required: true, digits: true },
				
				"nazwa-dzialalnosci":	{ required: "#dochodydzialalnosc:checked"},
				"adres-dzialalnosci":	{ required: "#dochodydzialalnosc:checked", minlength: 5, maxlength: 100 },
				"telefon-dzialalnosci":	{ required: "#dochodydzialalnosc:checked"},
				"branza-dzialalnosci":	{ required: "#dochodydzialalnosc:checked"},
				"forma-prawna-dzialalnosci": { required: "#dochodydzialalnosc:checked"},			
				"wpis-dzialalnosci":	{ required: "#dochodydzialalnosc:checked"},
				"regon":				{ required: "#dochodydzialalnosc:checked", minlength: 7, maxlength: 14 },
				"nip":					{ required: "#dochodydzialalnosc:checked", minlength: 10, maxlength: 13 },
				"data-dzialalnosci":	{ required: "#dochodydzialalnosc:checked", date: true },
				"ilosc-pracownikow":	{ required: "#dochodydzialalnosc:checked", digits: true },
				"dzialalnosc-dochod-netto":	{ required: "#dochodydzialalnosc:checked", digits: true },
				"dzialalnosc-przychod":	{ required: "#dochodydzialalnosc:checked", digits: true },

				"nazwa-firmy":			{ required: "#dochodyzatrudnienie:checked"},
				"adres-firmy":			{ required: "#dochodyzatrudnienie:checked", minlength: 5, maxlength: 100 },
				"stanowisko":			{ required: "#dochodyzatrudnienie:checked", minlength: 5, maxlength: 50 },
				"telefon-firmy":		{ required: "#dochodyzatrudnienie:checked", minlength: 9, maxlength: 50 },
				"data-zatrudnienia":	{ required: "#dochodyzatrudnienie:checked", date: true },
				"zatrudnienie-dochod-netto":			{ required: "#dochodyzatrudnienie:checked", digits: true, minlength: 3, maxlength: 6},
				
				"dochod-inne-szczegoly":{ required: "#dochodyinne:checked", minlength: 5 },
				
				"zobowiazania":			{ required: true, minlength: 1, maxlength: 100 },

				"zona-imie-nazwisko": 	{ required: function(element) { return $("#stancywilny").val() == "zonaty"; }, minlength: 10, maxlength: 50 },
				"zona-pesel": 			{ required: function(element) { return $("#stancywilny").val() == "zonaty"; }, minlength: 11, maxlength: 11 },
				"zona-dowod-osobisty":	{ required: function(element) { return $("#stancywilny").val() == "zonaty"; }, minlength: 6, maxlength: 30 },
				"zona-dowod-waznosc":	{ required: function(element) { return $("#stancywilny").val() == "zonaty"; }, date: true },
				
				"zona-wysokosc-dochodow":	{ required: function(element) { return $("#stancywilny").val() == "zonaty"; }, minlength: 3, maxlength: 100 },
				/*"zona-dochody":				{ required: function(element) { return $("#stancywilny").val() == "zonaty"; } },*/
				
				"zona-nazwa-dzialalnosci":	{ required: "#zonadochodydzialalnosc:checked"},
				"zona-adres-dzialalnosci":	{ required: "#zonadochodydzialalnosc:checked", minlength: 5, maxlength: 100 },
				"zona-wpis-dzialalnosci":	{ required: "#zonadochodydzialalnosc:checked"},
				"zona-regon":				{ required: "#zonadochodydzialalnosc:checked", minlength: 7, maxlength: 14 },
				"zona-nip":					{ required: "#zonadochodydzialalnosc:checked", minlength: 10, maxlength: 13 },
				"zona-data-dzialalnosci":	{ required: "#zonadochodydzialalnosc:checked", date: true },

				"zona-nazwa-firmy":			{ required: "#zonadochodyzatrudnienie:checked"},
				"zona-adres-firmy":			{ required: "#zonadochodyzatrudnienie:checked", minlength: 5, maxlength: 100 },
				"zona-stanowisko":			{ required: "#zonadochodyzatrudnienie:checked", minlength: 5, maxlength: 50 },
				"zona-telefon-firmy":		{ required: "#zonadochodyzatrudnienie:checked", minlength: 9, maxlength: 50 },
				"zona-data-zatrudnienia":	{ required: "#zonadochodyzatrudnienie:checked", date: true }
		}
	});
});

