function soumettre(url,componentName,confirmMsg,controlNeeded){ 
	if ((url!='#')&&(url!='null')){
		document.getElementById(componentName).form.action=url;
	}
	var ok = true;
	
	if (confirmMsg!=''){
		ok = window.confirm(confirmMsg);
	}	
	 
  if ( ok ){
		try{
			// On construit le nom de la méthode JS qui sera créée par le framework de validation
			//Si la phase de contrôle est requise, on passe à 'true' le champ hidden 'controlNeeded'
			if(controlNeeded=='true'){
				document.getElementById("controlNeeded").value="true";
			 }
			firstLetter = document.getElementById(componentName).form.name.substring(0,1);
			firstLetter = firstLetter.toUpperCase();
			end = document.getElementById(componentName).form.name.slice(1,document.getElementById(componentName).form.name.length);
			methodName = "validate" + firstLetter + end +"(" + document.getElementById(componentName).form.name + ")";
			try{
				//on appelle la méthode générée pour la validation
				result = eval(methodName);
				if (result==true) {
					document.getElementById(componentName).form.submit();
				}
			} catch(e){ document.getElementById(componentName).form.submit(); 
			}
			try{beginTask();} catch(e){}; 
		} finally {
			//try{endTask();} catch(e){};
		} 
	}
}

function confirmButton(url, confirmMsg){
	if (url!='null'){
		var ok = true;
		
		if (confirmMsg!=''){
			ok = window.confirm(confirmMsg);
		}
		if ( ok ){
			window.location.href = url; 
		}
	}
}

function confirmReset(confirmMsg){
 var ok = true;
 
 if (confirmMsg!=''){
  ok = window.confirm(confirmMsg);
 }
 
  if ( ok ) {
  reset();
  }
}

function beginTask(){
	if (window.waitingMessage) {
		document.getElementById('waitingBox').style.position="absolute";
		document.getElementById('waitingBox').style.display="block";
		lock_form();
	}
}

function endTask(){
	if (window.waitingMessage) {
		unlock_form();
		document.getElementById('waitingBox').style.position="absolute";
		document.getElementById('waitingBox').style.display="none";
	}
}

function lock_form() {
	var f = document.forms[0];
	if (!f) return;
	try{
		for(var i=0; i<f.elements.length;i++){
			try{
				f.elements[i].disabled = true;
			}catch(e){}
		}
	}catch(e){}
	Element.setOpacity(f, 0.5);
	f.old_onsubmit = f.onsubmit;
	f.onsubmit = function() {return false;}
	return false;
}

function unlock_form() {
	var f = document.forms[0];
	if (!f) return;
	try{
		for(var i=0; i<f.elements.length;i++){
			try{
				f.elements[i].disabled = false;
			}catch(e){}
		}
	}catch(e){}
	Element.setOpacity(f, 1.0);
	if (typeof f.old_onsubmit == 'function') f.onsubmit = f.old_onsubmit;
	return false;
}
