function init_frm_edit_doc(){
	if( !jq("#frmEditLlbDocument").length > 0 )
		return;
	// génériques en fonction de leur classe
	jq("#frmEditLlbDocument input, #frmEditLlbDocument select,#frmEditLlbDocument textarea").each(
		function(){
			set_validation_rules( jq(this) );
			// Repérage des champs dates
			if( /isDate/.test(jq(this).attr('class'))){
				jq(this).datepicker({
					dateFormat: 'yy-mm-dd',
					changeYear: true,
					changeMonth: true,
					regional:'fr'
				});
			}
		});
	jq("#frmEditLlbDocument #doc_type_doc").change(
		function () {
			defineRequiredExtension()
		});
	//Spécifique au formulaire de selection de média à partir de la popup
	specPopupInit();
	//Fin spécifique
	jq("#frmEditLlbDocument #save").click(
		function (){
			if( validate_edit_doc() ){
				jq("#frmEditLlbDocument").submit();
			}else{
				return false;
			}
		}
		);
	defineRequiredExtension();
}

function defineRequiredExtension()
{
	ext = jq("#typdocext"+jq("#doc_type_doc").val()).val();
	jq("#doc_file_upload").attr("title"," Fichier média accepté avec extension "+ext);
}

jq.validator.addMethod("acceptExtTypeDoc", function(value, element, param) {
	ext = jq("#typdocext"+jq("#doc_type_doc").val()).val();
	return (!value.length||value.match(new RegExp("." + ext + "$")));
});

function validate_edit_doc(){

	var container = jq('#frmErrors');
	jq("#frmEditLlbDocument").validate({
		errorContainer: container,
		errorClass: "frm-error",
		wrapper: 'li',
		errorPlacement: function(error, element) {
			error.appendTo("#frmErrors ul");
		},
		invalidHandler: function(e, validator) {
			var errors = validator.numberOfInvalids();
			if (errors) {
				var message = errors == 1
				? 'Vous avez oublié le champ mentionné ci-dessous : '
				: 'Vous avez oublié les ' + errors + ' champs mentionnés ci-dessous : ';
				jq(container).html(message+"<ul></ul>");
				jq(container).show();
			} else {
				jq(container).hide();
			}
		}
	});

	return jq("#frmEditLlbDocument").valid()
}

//iniitialisation du formulaire popup
function specPopupInit()
{
	if(!jq("#frmEditLlbDocument #saveDoc").length)
	{
		return;
	}
	//Formulaire de sauvegarde
	jq("#frmEditLlbDocument #saveDoc").click(
		function (){
			jq("#frmEditLlbDocument").submit();
		}
		);
	jq("#frmEditLlbDocument").ajaxForm({
		beforeSubmit: function(){
			if(jq("#llbMessage").length)
				jq("#llbMessage").remove();
			if(validate_edit_doc())
			{
				jq("#ajax-response")
				.css({
					'right':'250px',
					'top':'250px',
					'z-index':'10000'
				})
				.html( "Action en cours..." )
				.attr("class", "frmInfo")
				.show();
				return true;
			}
			else {
				return false;
			}
		},
		type: 'POST',
		success: function(data) {
			if(data.type!="success")
			{
				jq("#ajax-response").hide();
				if(jq("#llbMessage").length)
					jq("#llbMessage").remove();
				msg= "<div id=\"llbMessage\" class=\""+data.type+"\">"+data.msg+"</div>";
				jq(msg).insertBefore("#frmEditLlbDocument");
			}
			else
			{
				jq("#ajax-response").html( data.msg ).attr("class", "frmSuccess").show();
				window.clearTimeout(window.timer);
				window.timer = window.setTimeout('jq("#ajax-response").fadeOut(\'slow\')', 2500);
				jq("#frmEditLlbDocument").resetForm();
				updateAssocDocList(data.key,data.entitie)
			}
		},
		dataType:'json'
	});
	//Formulaire de recherche
	jq("#frmSearchDoc #searchDocPopup").click(
		function (){
			jq("#pageNum").val(0);
			jq("#frmSearchDoc").submit();
		}
		);
	jq("#frmSearchDoc").ajaxForm({
		type: 'POST',
		success: function(data) {
			jq("#resultSearch").html(data);
		}
	});
}

function displaySearchDocPage(iPage)
{
	jq("#pageNum").val(iPage);
	jq("#frmSearchDoc").submit();
}