$(document).ready(
	function()
	{
		var sectorNum = 0;
		var sendLogo = '';
		var sectorString = '';
		var formSectorName = '';
			
		$("select[name=selectOrder]").change(function () {
			if ( $("select[name=selectOrder] option:selected").val() == 'inne' || $("select[name=selectOrder] option:selected").val() == 'polecenie' ) {
				$("#hidOrder").fadeIn();			
			}
			else {
				$("#hidOrder").fadeOut();	
			}
		}); 
		
		//$("input[name=formFirmPhone]").change(function() {
			//$("input[name=formContactPhone]").val($("input[name=formFirmPhone]").val());
		//});
		
		$("input[name=formFirmEmail]").change(function() {
			//$("input[name=formContactEmail]").val($("input[name=formFirmEmail]").val());
		});
		
		$("input[name=formFirmStreet]").change(function() {
			$("input[name=formContactStreet]").val($("input[name=formFirmStreet]").val());
		});
		
		$("input[name=formFirmStreetNumber]").change(function() {
			$("input[name=formContactStreetNumber]").val($("input[name=formFirmStreetNumber]").val());
		});
		
		$("input[name=formFirmCode]").change(function() {
			$("input[name=formContactCode]").val($("input[name=formFirmCode]").val());
		});
		
		$("input[name=formFirmCity]").change(function() {
			$("input[name=formContactCity]").val($("input[name=formFirmCity]").val());
		});
		
		$("select[name=formFirmProvince]").change(function() {
			$("select[name=formContactProvince]").val($("select[name=formFirmProvince] :selected").val());
		});
		
		$("input[name=formContactEmail]").change(function() {
			$("#yourLogin").text($("input[name=formContactEmail]").val());
		});
		
		$("textarea[name=formDescription]").keyup(
			function() {
				var lengthLimit = 1000 - $("textarea[name=formDescription]").val().length;
				
				if ( lengthLimit > 0 ) {
					$("#descLengthNum").text(lengthLimit);
					$("#descStatus").text("");
				}
				else {
					$("#descLengthNum").text(lengthLimit);
					$("#descStatus").text(" przekroczono dozwoloną ilość znaków!");
					//$("textarea[name=formDescription]").val($("textarea[name=formDescription]").val().substr(0, 300));
				}
				
				if ( lengthLimit < 50 ) {
					$("#descLengthNum").css("color" , "#A29908");
					if ( lengthLimit < 20 ) {
						$("#descLengthNum").css("color" , "#FF8A00");
						if ( lengthLimit < 1 ) {
							$("#descLengthNum").css("color" , "#FF0000");
						}
					}
				}
				else {
					$("#descLengthNum").css("color" , "#087B08");
				}
			});
		
		jQuery.validator.addMethod("password", function( value, element ) {
			var result = this.optional(element) || value.length >= 4;
			if (!result) {
				element.value = "";
				var validator = this;
				setTimeout(function() {
					validator.blockFocusCleanup = true;
					element.focus();
					validator.blockFocusCleanup = false;
				}, 1);
			}
			return result;
		}, "Hasło musi mieć przynajmniej 4 znaki!");
		
		jQuery.validator.addMethod('nipCheck', function(nip) {
			$.ajax({
				cache: false,
				async: false,
				type: "POST",
				data: "nip=" + nip,
				url: 'firm/checknip',
				success: function(msg) {
					var status = $.evalJSON(msg).status;
					
					if ( status == "OK" ) {
						result = true;
					}
					if ( status == "DUB" ) {
						result = false;
					}
				}
			});
			
			return result;
		}, '');
	
		jQuery.validator.messages.required = "";
		$("#registerForm").bind("invalid-form.validate", function(e, validator) {
			var err = validator.numberOfInvalids();
			if (err) {
				$("div.errorBox div.message").html("Znaleziono " + err + " błędów");
				$("div.errorBox").show();
			} 
			else {
				$("div.errorBox").hide();
			}
		}).validate({
			onkeyup: false,
			//errorLabelContainer: $("div.errorBox"),
			submitHandler: function() {
				$("div.errorBox").hide();
				$("input[name=formFactFirmName]").val($("input[name=formFullName]").val());
				$("input[name=formFactFirmNip]").val($("input[name=formFirmNip]").val());
				$("input[name=formFactFirmStreet]").val($("input[name=formFirmStreet]").val());
				$("input[name=formFactFirmStreetNumber]").val($("input[name=formFirmStreetNumber]").val());
				$("input[name=formFactFirmCode]").val($("input[name=formFirmCode]").val());
				$("input[name=formFactFirmCity]").val($("input[name=formFirmCity]").val());
				$.changeStep(2);
			},
			rules: {
				formFullName: {
					required: true,
					minlength: 3
				},
				formFirmNip: {
					required: true,
					nipCheck: true
				},
				formFirmPhone: {
					required: true
				},
				formFirmStreet: {
					required: true,
					minlength: 4
				},
				formFirmStreetNumber: {
					required: true,
					minlength: 1
				},
				formFirmCode: {
					required: true,
					minlength: 5
				},
				formFirmCity: {
					required: true,
					minlength: 4
				},
				formDescription: {
					required: true,
					minlength: 10
				},
				formContactPosition: {
					required: true,
					minlength: 4
				},
				formContactName: {
					required: true,
					minlength: 4
				},
				formContactPhone: {
					required: true
				},
				formPassword: {
					required: true,
					minlength: 4
				},
				formRePassword: {
					required: true,
					minlength: 4
				},
				formFirmEmail: {
					email: true
				},
				formContactEmail: {
					required: true,
					email: true
				}
            },
			messages: {
				formFullName: "Podaj nazwę skróconą",
				formFirmNip: {
					required: "Podaj NIP firmy",
					nipCheck: "Firma z podanym numerem NIP już istnieje"	
				},
				formFirmPhone: "Podaj numer telefonu",
				formPassword: "Hasło musi mieć przynajmniej 4 znaki!",
				formFirmStreet: "",
				formFirmStreetNumber: "",
				formFirmCode: "",
				formFirmCity: "",
				formContactName: "Podaj osobę kontaktową",
				formContactPhone: "Podaj telefon",
				formContactEmail: "Podaj adres email",
				formContactPosition: "Podaj stanowiskow  firmie",
				formRePassword: {
					required: " ",
					equalTo: "Podane hasła różnią się od siebie"	
				},
				formFirmEmail: {
					required: " ",
					email: "Niepoprawny adres email"	
				},
				formDescription: ""
			},
			debug:true
		});
		
		$("#btnBackStep1").click(function() {
			$.changeStep(1);
		}); 
		$("#btnNextStep2").click(function() {
			$("#informationBox").hide();
			$("#registerForm").submit();
		}); 
		$("#btnBackStep2").click(function() {
			$.changeStep(2);
		}); 
		$("#btnNextStep3").click(function() {
			$.changeStep(3);
		}); 
		$("#btnBackStep3").click(function() {
			$.changeStep(3);
		}); 
		$("#btnNextStep4").click(function() {
			var idki = '';
			var sectorName = '';
			var aSectorName = new Array();
			sectorString = '';
			formSectorName = '';
			
			$("#sectorMessage").text("");
			$("#cformSector").html("");
			
			$("#sectorAdd").find(".right").parent().attr("value", function (arr) {
				return "div-id" + arr;
			})
			.each(function () {
				idki += ( idki.length > 0 ) ? ':' + this.id : this.id;
			});
			
			aSectorName = idki.split(':');
			sectorString = idki;
			
			for ( i = 0; i < aSectorName.length; i++ ) {
				$("#cformSector").html($("#cformSector").html() + '<div class="data">' + $("#" + aSectorName[i] + " .left").html() + '</div>');
				formSectorName += $("#" + aSectorName[i] + " .left").html() + '<br />';
			}

			
			$("#cformShortName").text($("input[name=formShortName]").val());
			$("#cformFullName").text($("input[name=formFullName]").val());
			$("#cformFirmNip").text($("input[name=formFirmNip]").val());
			$("#cformFirmPhone").text($("input[name=formFirmPhone]").val());
			$("#cformFirmPhone2").text($("input[name=formFirmPhone2]").val());
			$("#cformFirmFax").text($("input[name=formFirmFax]").val());
			$("#cformFirmEmail").text($("input[name=formFirmEmail]").val());
			$("#cformFirmWww").text($("input[name=formFirmWww]").val());
			$("#cformFirmStreet").text($("input[name=formFirmStreet]").val() + ' ' + $("input[name=formFirmStreetNumber]").val());
			$("#cformFirmCity").text($("input[name=formFirmCode]").val() + ' ' +  $("input[name=formFirmCity]").val());
			$("#cformFirmProvince").text($("select[name=formFirmProvince] :selected").text());
			$("#cformDescription").text($("textarea[name=formDescription]").val());
			$("#cformKeywords").text($("textarea[name=formKeywords]").val());
			$("#cformContactName").text($("input[name=formContactName]").val());
			$("#cformContactPhone").text($("input[name=formContactPhone]").val());
			$("#cformContactEmail").text($("input[name=formContactEmail]").val());
			$("#cformContactPosition").text($("input[name=formContactPosition]").val());
			$("#cformContactStreet").text($("input[name=formContactStreet]").val() + ' ' + $("input[name=formContactStreetNumber]").val());
			$("#cformContactCity").text($("input[name=formContactCode]").val() + ' ' +  $("input[name=formContactCity]").val());
			$("#cformContactProvince").text($("select[name=formContactProvince] :selected").text());
			$("#cformPassword").text($("input[name=formPassword]").val());
			$("#cformLogin").text($("input[name=formContactEmail]").val());
			$("#cformRange").text($("select[name=formFirmRange] :selected").text());
			//$("#cformFactFirmCity").text($("input[name=formFactFirmCity]").val());
			$("#cformFactFirmName").text($("input[name=formFactFirmName]").val());
			$("#cformFactFirmNip").text($("input[name=formFactFirmNip]").val());
			$("#cformFactFirmStreet").text($("input[name=formFactFirmStreet]").val() + ' ' + $("input[name=formFactFirmStreetNumber]").val());
			$("#cformFactFirmCity").text($("input[name=formFactFirmCode]").val() + ' ' + $("input[name=formFactFirmCity]").val());
			
			if ( sectorNum == 0 ) {
				$("#sectorMessage").text("nie wybrano branży");
			}
			else {
				$.changeStep(4);
			}
			
		}); 
		
		$("#btnNextStep5").click(function() {
			var formData = '';
			var formOrder = '';

			if ( $("select[name=selectOrder] :selected").val() == 'inne' || $("select[name=selectOrder] :selected").val() == 'polecenie' ) {
				formOrder = $("input[name=formOrder]").val();
			}
			else {
				formOrder = $("select[name=selectOrder] :selected").val();
			}
			
			formData = {
				firmShortName: $("input[name=formShortName]").val(),
				firmFullName: $("input[name=formFullName]").val(),
				firmNip: $("input[name=formFirmNip]").val(), 
				firmPhone: $("input[name=formFirmPhone]").val(),
				firmPhone2: $("input[name=formFirmPhone2]").val(),
				firmFax: $("input[name=formFirmFax]").val(),
				firmEmail: $("input[name=formFirmEmail]").val(),
				firmWww: $("input[name=formFirmWww]").val(),
				firmStreet: $("input[name=formContactStreet]").val() + ' ' + $("input[name=formContactStreetNumber]").val(),
				firmCode: $("input[name=formContactCode]").val(),
				firmCity: $("input[name=formContactCity]").val(),
				firmProvince: $("select[name=formFirmProvince] :selected").val(),
				firmDescription: $("textarea[name=formDescription]").val(),
				firmKeywords: $("textarea[name=formKeywords]").val(),
				firmRange: $("select[name=formFirmRange] :selected").val(),
				firmContactName: $("input[name=formContactName]").val(),
				firmContactPhone: $("input[name=formContactPhone]").val(),
				firmContactEmail: $("input[name=formContactEmail]").val(),
				firmContactPosition: $("input[name=formContactPosition]").val(),
				firmContactStreet: $("input[name=formContactStreet]").val() + ' ' + $("input[name=formContactStreetNumber]").val(),
				firmContactCode: $("input[name=formContactCode]").val(),
				firmContactCity: $("input[name=formContactCity]").val(),
				firmContactProvince: $("select[name=formContactProvince] :selected").val(),
				firmPassword: $("input[name=formPassword]").val(),
				firmFactName: $("input[name=formFactFirmName]").val(),
				firmFactNip: $("input[name=formFactFirmNip]").val(),
				firmFactStreet: $("input[name=formFactFirmStreet]").val() + ' ' + $("input[name=formFactFirmStreetNumber]").val(),
				firmFactCode: $("input[name=formFactFirmCode]").val(),
				firmFactCity: $("input[name=formFactFirmCity]").val(),
				firmOrder: formOrder,
				firmSectors: sectorString,
				firmSectorsName: formSectorName
			};
			
			$.ajax({  
				type: "POST",
				url: "rejestracja",
				dataType: "text",
				data: formData,
				beforeSend: function() {$.changeStep(5);$("#sendDataStatus").show();},
				//beforeSend: function() {$("#sendDataStatus").show();},
				complete: function() {$("#sendDataStatus").hide()},
				success: function(msg) {
					//alert(msg);
					//$("#test").html(msg);
					var idreg = $.evalJSON(msg).idreg;
					//$("#sendDataStatus").hide();
					$("#sendDataMessage").html('Dziękujemy za rejestrację<br />Możesz obejrzeć swój wpis pod adresem <a href="oczekujace,' + idreg + '.html" target="_blank" class="greyBold">www.fachoweuslugi.pl/oczekujace,' + idreg + '.html</a>');
					//$("#sendDataMessage").html(msg);
					//$("#cformSector").html(msg + ' ' + encoded + );
				},
				error: function(request,error) {
					if (error = "timeout") {
						$("#sendDataMessage").html("Wystąpił błąd: Przekroczony czas żądania");
					}
					else {
						$("#sendDataMessage").html("Wystąpił błąd: " + error);
					}
				},
				resetForm: true
			});
		});
		
		$("input[name=formFirmNip]").mask("999-999-99-99");
		$("input[name=formFactFirmNip]").mask("999-999-99-99");
		$("input[name=formFirmCode]").mask("99-999");
		$("input[name=formContactCode]").mask("99-999");
		
		jQuery.changeStep = function(layer) {
			$("div.registerStep").hide();
			$("#layerStep" + layer).show();
		};
		
		$("#sectorBtnAdd").click(function() {
			var grName = $("select[name=id_gr] :selected").text();
			var brName = $("select[name=id_br] :selected").text();
			var grId = $("select[name=id_gr] :selected").attr("value");
			var brId = $("select[name=id_br] :selected").attr("value");
			var sectorId = grId + '-' + brId;
			
			
			if ( $("#sectorAdd").find("#" + sectorId).text().length > 0 ) {
				$("#sectorMessage").text("dublikacja branży");
			}
			else {
				$("#sectorAdd").html($("#sectorAdd").html() + '<div id="' + grId + '-' + brId + '"><div class="left"><strong>' +
				grName + ':</strong> ' + brName + '</div><div class="right">usuń</div><div class="line"></div></div>');
				
				sectorNum++;
				$("#sectorNum").text(sectorNum);
				
				if ( sectorNum == 10 ) {
					$("#sectorSelectForm").hide();
				}
				
				$("#sectorAdd").find("div.right").click(function() {
					if ( sectorNum == 10 ) {
						$("#sectorSelectForm").show();
					}
					sectorNum--;
					$("#sectorNum").text(sectorNum);
					$(this).parent().remove();
				});
				$("#sectorMessage").text("");
			}
		});
		
		//$.changeStep(4);

	});
