function FORM_record(type,idelem,conteneur,idelemsup,callBackName, attente, blocmsg)
{
	var type = type || "";
	var idelem = idelem || "";
	var conteneur = conteneur || "";
	var idelemsup = idelemsup || "";
	var callBackName = callBackName || "";
	var attente = attente || "attenterecord";
	var blocmsg = blocmsg || "msg";
	if(!$(attente))
		attente = 'attenterecord';
	new Effect.Appear($(attente), {queue:'front'});
	FORM_mustbeselected();
	chPost = FORM_buildpoststring(conteneur,"");
	if(idelemsup != "")
		chPost = chPost + "&idelemsup=" + idelemsup;
	new Ajax.Request(urltask, {
		asynchronous: 'true',
		postBody: 'tache='+type+"_enregistre&idelement="+idelem+chPost,
		onSuccess: function(xhr)
		{
			var result = treatTaskMsg(xhr.responseText);
			var msg_res = '';
			if(result == true)
			{
				if($(blocmsg))
					$(blocmsg).style.display = 'none';
				if($('msg_erreur'))
				{
					$('msg_erreur').style.display = 'none';
				}
				var response = xhr.responseText.substr(13);
				response = response.split('|');
				if(response.length > 1)
				{
					var msg_ok = response[0];
					var idtoupdate = response[1];
				}
				else
					var idtoupdate = response;
				if(callBackName != "")
				{
					if(window[callBackName])
						window[callBackName](response);
				}
				if($(blocmsg) && msg_ok)
				{
					FORM_videChampMsg(conteneur);
					$(blocmsg).innerHTML = msg_ok;
					if(blocmsg == "msg")
					{
						FORM_performPosition($(blocmsg));
						myEffect_FlashInfo($(blocmsg),2);
					}
					else
					{
						new Effect.Appear($(blocmsg), {queue:'end', duration:0.5});
					}
					if($('hideform_'+type))
					{
						if($('hideform_'+type).value == 1)
						{
							if($(conteneur))
								new Effect.Fade($(conteneur), {queue:'end', duration:0.2});
						}
					}
				}
				Behaviour.apply();
			}
			else if(result == false)
			{
				if($('msg_erreur'))
				{
					$('msg_erreur').innerHTML = xhr.responseText.substr(11);
					FORM_performPosition($('msg_erreur'));
					myEffect_FlashInfo($('msg_erreur'),2);
				}
			}
		},
		onComplete: function(xhr)
		{
			new Effect.Fade($(attente), {queue:'end', afterFinish: function(){Behaviour.apply();}});
		}
	});
}