function processTextareaContent() {
	var question = $(this).val();
	if (question.length >= 800) {
		$('#questionCounter').text('vous avez atteint la limite de caractères');
		$(this).val(question.substr(0, 800)).scrollTop(this.scrollHeight);
	
	} else {
		$('#questionCounter').text('vous avez encore ' + (800 - question.length) + ' caractère' + (800 - question.length > 1 ? 's' : '') + ' à disposition');
	
	}		
}

$(function() {
	$('#theForm').validate({		
		errorPlacement: function(error, element) {
			//error.prependTo(element.parent());
		},	
	  highlight: function(element, errorClass) {
	     $(element).prev().addClass('required');
	  },
	  unhighlight: function(element, errorClass) {
	     $(element).prev().removeClass('required');
	  },
		rules: { 
			f_confirm: { required: true },
			f_pseudo: { required: true },
			f_lastname: { required: true },
			f_firstname: { required: true },
			f_email: { required: true, email: true },
			f_telephone: { required: true },
			f_question: { required: true }
    },
		messages: {
			f_confirm: "vous devez accepter les conditions pour continuer",
			f_pseudo: "ce champ est requis",
			f_lastname: "ce champ est requis",
			f_firstname: "ce champ est requis",
			f_email: { required: "ce champ est requis", email: "ce champ doit être une adresse email valide" },
			f_telephone : "ce champ est requis",
			f_question : "ce champ est requis"
		}
	});
	
	$('#f_question').keyup(processTextareaContent).keypress(processTextareaContent).blur(processTextareaContent);
	
	$('#askQuestionBtn a').click(function() {
		var link = $(this);
		if ($('#askQuestion:visible').length) {
			$('#askQuestion').fadeOut(function() {
				link.text('Transmettre une question');
			});
		
		} else {
			$('#askQuestion').fadeIn(function() {
				link.text('Fermer');
			});
			
		}
		return false;
	});
});
