$(document).ready(function(){
	if ($('#comment-add-form').size()>0) {
		$('#comment-add-form').validate({
			
			
			errorContainer: "#add-error-messages",
			errorLabelContainer: "#add-error-messages ul",
			errorClass: "error",
			wrapper: "li",
			
			rules: {
				UserName: {
					required: true,
					minlength: 3
				},
				VisitStart: {
					required: true,
					dateISO: true
				},
				"Punctuality[Content]": {
					required: function(element) {
						if($("#Punctuality-Rating").val() > 0) {
							return true;
						}
						return false;
			      	}
				},
				"Staff[Content]": {
					required: function(element) {
						if($("#Staff-Rating").val() > 0) {
							return true;
						}
						return false;
			      	}
				},
				"ConnectionsNetwork[Content]": {
					required: function(element) {
						if($("#ConnectionsNetwork-Rating").val() > 0) {
							return true;
						}
						return false;
			      	}
				},
				"TicketPrice[Content]": {
					required: function(element) {
						if($("#TicketPrice-Rating").val() > 0) {
							return true;
						}
						return false;
			      	}
				},
				"TravelComfort[Content]": {
					required: function(element) {
						if($("#TravelComfort-Rating").val() > 0) {
							return true;
						}
						return false;
			      	}
				},
				"BaggageCarriage[Content]": {
					required: function(element) {
						if($("#BaggageCarriage-Rating").val() > 0) {
							return true;
						}
						return false;
			      	}
				},
				"Meals[Content]": {
					required: function(element) {
						if($("#Meals-Rating").val() > 0) {
							return true;
						}
						return false;
			      	}
				},
				"Meals[Rating]": {
					required: function(element) {
						
						if($("#Meals-Content").val() || $("#Punctuality-Content").val() || $("#Staff-Content").val() || $("#ConnectionsNetwork-Content").val() || $("#TicketPrice-Content").val() || $("#TravelComfort-Content").val() || $("#BaggageCarriage-Content").val()) {
							return false;
						}
						return true;
			      	}
				}
				
			},
			messages: {
				UserName: {
					required: 'Prosimy o uzupełnienie pola <b>nazwa użytkownika</b>',
					minlength: 'Pole nazwa użytkownika powinno mieć więcej niż 2 znaki'
				},
				VisitStart: {
					required: 'Prosimy o uzupełnienie pola <b>data lotu</b>',
					dateISO: 'Pole <b>data lotu</b> powinno być w formacie <b>RRRR-MM-DD</b>'
				},
				"Punctuality[Content]": {
					required: 'Prosimy o dodanie <b>komentarza</b> do oceny <b>punktualności</b>'
				},
				"Staff[Content]": {
					required: 'Prosimy o dodanie <b>komentarza</b> do oceny <b>personelu</b>'
				},
				"ConnectionsNetwork[Content]": {
					required: 'Prosimy o dodanie <b>komentarza</b> do oceny <b>sieci połączeń</b>'
				},
				"TicketPrice[Content]": {
					required: 'Prosimy o dodanie <b>komentarza</b> do oceny <b>ceny biletu</b>'
				},
				"TravelComfort[Content]": {
					required: 'Prosimy o dodanie <b>komentarza</b> do oceny <b>komfortu podróży</b>'
				},
				"BaggageCarriage[Content]": {
					required: 'Prosimy o dodanie <b>komentarza</b> do oceny <b>przewozu bagażu</b>'
				},
				"Meals[Content]": {
					required: 'Prosimy o dodanie <b>komentarza</b> do oceny <b>posiłków</b>'
				},
				"Meals[Rating]": {
					required: 'Prosimy o dodanie przynajmniej jednego <b>komentarza i oceny</b>'
				}
			},
			success: function(label) {
				//$('div#add-error-messages').remove();
			},
			submitHandler: function() {
				ObjectComments.addComment();
			},
			highlight: function(element, errorClass) {
				$(element).prev().addClass(errorClass);
			},
			unhighlight: function(element, errorClass) {
				$(element).prev().removeClass(errorClass);
			}
		});
	}
});