/**
 * Permet d'obtenir le comportement souhaité sur les formulaires de
 * l'application
 */

$(function() {
	// gère le fonctionnement spécifique des checkbox
	$("input.zend[type='checkbox']").each(function(i) {
        var elt = $(this);
        
		if (elt.attr("checked")) {
			elt.attr("checked", false);
			$("input[type='hidden'][name='" + this.id + "']").attr("value", 1);
		} else {
			elt.attr("checked", false);
			$("input[type='hidden'][name='" + this.id + "']").attr("value", 0);
		}
	})

	/* ecouteur sur le formulaire */
	/* Vide les champs qui n'ont pas été rempli par l'utilisateur */
	$("form").submit(function() {
		$(".js_input").each(function() {
            var elt = $(this);

			if (elt.attr("value") == elt.attr("title")) {
				elt.attr("value", "");
			}
		});
	});

    var jsInputs = $(".js_input");

	// est chargé de reremplir un champs de input vide
	// on supprime ce qui est attendu dans le champs
	jsInputs.focus(function() {
        var elt = $(this);

		if (elt.attr("value") == elt.attr("title")) {
			elt.attr("value", "");
		}
		if (elt.attr("class").search(/js_explicationchamps/i) != -1) {
			elt.removeClass('js_explicationchamps');
			elt.addClass('js_explicationchampssommeil');
		}

	});
	// reindique ce qui est attendu dans le champs
	jsInputs.blur(
			function() {
                var elt = $(this);

				if (elt.attr("value") == '') {
					elt.attr("value", elt.attr("title"));
					if (elt.attr("class").search(
							/js_explicationchampssommeil/i) != -1) {
						elt.removeClass('js_explicationchampssommeil');
						elt.addClass('js_explicationchamps');
					}
				}
			});
	// on remplit des champs vide avec l'explication
	jsInputs.each(function() {
        var elt = $(this);

		if (elt.attr("value") == '') {
			elt.attr("value", elt.attr("title"));
		}
	});
	
	// remplacer le type passord text par son equivalent password password
	$(".js_password[type='text']").focus(function(){
        var parentElt = $(this).parent();

		parentElt.find(".js_password").toggle();
		parentElt.find(".js_password:not(:hidden)").focus();
	});

	$(".js_password[type='password']:not(:hidden)").blur(function(event) {
        var elt = $(this);

		if (elt.attr("value") == '') {
			elt.parent().find(".js_password").toggle();
		}
	});

	$("input[type='password']").hide();
});

