$(document).ready(function(){
	// -------------------------------------------------------------------------
	// 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").fadeOut(500, function(){ $("#dochod-dzialalnosc").fadeIn(500); });
				break;
				
			case "zatrudnienie":
				$("#dochod-dzialalnosc").fadeOut(500, function(){ $("#dochod-zatrudnienie").fadeIn(500); });
				break;

			case "":
				$("#dochod-dzialalnosc").css("display", "none");
				$("#dochod-zatrudnienie").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});
	
	// -------------------------------------------------------------------------
	// reset formularza
	// -------------------------------------------------------------------------
	$(":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: 				{ required: true, minlength: 5, maxlength: 50 },
				"rok-produkcji": 		{ required: true, minlength: 4, maxlength: 30 },
				pojemnosc: 				{ required: true, minlength: 2, maxlength: 30 },
				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 },
				"wysokosc-dochodow":	{ required: true, minlength: 3, maxlength: 100 },
				"dochody":				{ required: true },
				
				"nazwa-dzialalnosci":	{ required: "#dochodydzialalnosc:checked"},
				"adres-dzialalnosci":	{ required: "#dochodydzialalnosc:checked", minlength: 5, maxlength: 100 },
				"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 },

				"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 },
				
				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 }
		}
	});
});
