function activeContainer(obj) {
	var controlId = obj.id;
	var controlContainer = controlId + '_container';
	var controlHelp = controlId + '_help';
	if ($(controlContainer)) $(controlContainer).addClassName('formActiveZone');
	if ($(controlHelp)) $(controlHelp).show();
}

function desactiveContainer(obj) {
	var controlId = obj.id;
	var controlContainer = controlId + '_container';
	var controlHelp = controlId + '_help';
	if ($(controlContainer)) $(controlContainer).removeClassName('formActiveZone');
	if ($(controlHelp)) $(controlHelp).hide();
}

	//////////////////////////////////////////////
	//
	// Ajoute un bloc (répétabilité)
	//
	function addBlock(sBlockModelName, niv) {
		sBlockModelName = sBlockModelName+'#';
		sBlockCounterName = sBlockModelName+"_number";
		//document.getElementById(sBlockCounterName).value = document.getElementById(sBlockCounterName).parentNode.childNodes.length-3-((niv==undefined)?0:3);
		iBlockCounterValue = document.getElementById(sBlockCounterName).value*1;
		dest = document.getElementById(sBlockModelName).cloneNode(true);
		dest.id = sBlockModelName.substring(0, sBlockModelName.length-1)+(iBlockCounterValue+1);
		dest.style.display = "block";
		dest.innerHTML = replaceAll(dest.innerHTML, [[sBlockModelName, sBlockModelName.substring(0, sBlockModelName.length-1)+(iBlockCounterValue+1)]]);
		document.getElementById(sBlockModelName).parentNode.appendChild(dest);

		//document.getElementById(sBlockCounterName).value = document.getElementById(sBlockCounterName).parentNode.childNodes.length-3-((niv==undefined)?0:3);
		document.getElementById(sBlockCounterName).value = iBlockCounterValue + 1;


	}

	//////////////////////////////////////////////
	//
	// Supprime un bloc (répétabilité)
	//
	function removeBlock(sBlockModelName, sBlockName) {

		var deleted = 0;
		sBlockModelName = sBlockModelName+'#';
		sBlockCounterName = sBlockModelName+"_number";
		iBlockCounterValue = document.getElementById(sBlockCounterName).value*1;

		//document.getElementById(sBlockCounterName).value = document.getElementById(sBlockCounterName).parentNode.childNodes.length-3-((niv==undefined)?0:3);

		/*for(index=1;index<=document.getElementById(sBlockCounterName).value;index++) {
			currentNode = document.getElementById(sBlockModelName.replace(/#/g, index));
			if (currentNode) {
				if (deleted==0) {
					if (currentNode.id==sBlockName) {
						currentNode.parentNode.removeChild(currentNode);
						deleted = 1;
					}
				} else {
					currentNode.id = sBlockModelName.substring(0, sBlockModelName.length-1)+(index-1);
					currentNode.innerHTML = replaceAll(currentNode.innerHTML, [[sBlockModelName.substring(0, sBlockModelName.length-1)+index, sBlockModelName.substring(0, sBlockModelName.length-1)+(index-1)]]);
				}
			}
		}*/

		
		document.getElementById(sBlockName).style.display='none';
		dest = document.getElementById(sBlockModelName).cloneNode(true);
		dest.id = sBlockName;
		dest.innerHTML = replaceAll(dest.innerHTML, [[sBlockModelName, sBlockName]]);
		
		document.getElementById(sBlockName).innerHTML=dest.innerHTML;
		document.getElementById(sBlockName+'_deleted').value='1';


		//document.getElementById(sBlockCounterName).value = document.getElementById(sBlockCounterName).parentNode.childNodes.length-3-((niv==undefined)?0:3);

	}

//////////////////////////////////////////////
//
// Fonction de remplacement (récursivité)
//
function replaceAll( str, replacements ) {

	for ( i = 0; i < replacements.length; i++ ) {
		var idx = str.indexOf( replacements[i][0] );
		while ( idx > -1 ) {
			str = str.replace( replacements[i][0], replacements[i][1] );
			idx = str.indexOf( replacements[i][0] );
		}
	}

	return str;

}

