function transformChmpFormToSpan(obj){
	var childs=obj.childNodes;
	
	for (var i=0;i<childs.length;i++){
		var child=childs[i];
		var id;
				
		if (	(child.tagName=="INPUT" && child.type=="text")
			||	(child.tagName=="TEXTAREA")	
		){
			var valeur="";
			if (child.tagName=="TEXTAREA"){
				var idObj=child.id;
				valeur=$(idObj).value;
				if (!valeur)valeur=child.innerHTML;
				if (!valeur)valeur=child.value;
			}else valeur=child.value;
			var newElem=document.createElement("SPAN");
			newElem.innerHTML="<strong>"+valeur+"</strong>";
			obj.replaceChild(newElem,child);
		}	
		
		if (child.tagName=="INPUT" && (child.type=="checkbox" || child.type=="radio")){
			if (child.checked || $(child).checked || (child.id && $(child.id).checked))child.setAttribute("checked","checked");
			else obj.removeChild(child);
		}
		
		if (child.tagName=="SELECT"){
			if (child.id){
				var newElem=document.createElement("SPAN");
				newElem.innerHTML="<strong>"+$(child.id).options[$(child.id).selectedIndex].value+"</strong>";
				obj.replaceChild(newElem,child);
			}else obj.removeChild(child);
		}
		
		if ( child.childNodes.length>0 )child=transformChmpFormToSpan(child)
	}
	return obj;
}


function getTabChmpForm(obj){
	var childs=obj.childNodes;
	
	var tabOut=new Array();
	var tabFils=new Array();
	
	for (var i=0;i<childs.length;i++){
		var child=childs[i];
		
		if (	(child.tagName=="INPUT" && child.type=="text")
			||  (child.tagName=="INPUT" && child.type=="checkbox")
			||	(child.tagName=="TEXTAREA")	
			||	(child.tagName=="SELECT")	
		){
			tabOut.push(child);	
		}	
		if ( child.childNodes.length>0 )tabFils.merge(getTabChmpForm(child));
	}
	if (tabFils.length>0)tabOut.merge(tabFils);
		
	return tabOut;
}

/*
function getTabChmpFormAvecInputCheckbox(obj){
	var childs=obj.childNodes;
	
	var tabOut=new Array();
	var tabFils=new Array();
	
	for (var i=0;i<childs.length;i++){
		var child=childs[i];
		
		if (	(child.tagName=="INPUT" && child.type=="text")
			||  (child.tagName=="INPUT" && child.type=="checkbox")
			||	(child.tagName=="TEXTAREA")	
			||	(child.tagName=="SELECT")	
		){
			tabOut.push(child);	
		}	
		if ( child.childNodes.length>0 )tabFils.merge(getTabChmpFormAvecInputCheckbox(child));
	}
	if (tabFils.length>0)tabOut.merge(tabFils);
		
	return tabOut;
}
*/

function supprDomElem(obj){
	if (obj){
		var parent=obj.parentNode;
		if (parent){
			parent.removeChild(obj);
			return true;
		}else return false;
	}else return false; 
}
function dupliqueDomElemversHautByObj(obj){
	if (obj){
		var parent=obj.parentNode;
		if (parent){
			var newObj=obj.cloneNode(true);
			parent.insertBefore(newObj,obj);
			newObj=modifIdForObj(newObj);			
			return newObj;
		}else {return false;}
	}else {return false;}
	
}

function dupliqueDomElemversBasByObj(obj){
	if (obj){
		var parent=obj.parentNode;
		if (parent){
			var newObj=obj.cloneNode(true);
			parent.insertBefore(newObj,obj.nextSibling);
			newObj=modifIdForObj(newObj);
			return newObj;
		}else return false;
	}else return false;
}

function setIdUniqueToObj(obj){
	if (obj && !obj.id){
		var str=new String();
		if (obj.getAttribute && obj.getAttribute("class")!="undefined")str=new String(obj.getAttribute("class"));
		if (str.length==0 && obj.tagName && obj.tagName!="undefined")str=new String(obj.tagName).toLower();
		if (str.length==0)str=new String("obj");
		
		obj.id=str+"-"+getUniqueId(5);
	}
}


function modifIdForObj(obj){
	if (!obj)return null;
	else{
		if (obj.id){
			var def=false;
			var idCurr=new String(obj.id);
			
			var re=new RegExp(".*-[0-9]+");
			if (re.test(idCurr)){
				var tabChps=idCurr.split("-")
				tabChps.pop();
				idCurr=tabChps.join("-");
			}
			
			for (var j=1;j<500 && !def;j++){
				var newId=idCurr+"-"+j;
				var obj2=document.getElementById(newId);
				if (!obj2){def=true;obj.id=newId;}
			}
		}else setIdUniqueToObj(obj);
		
		var childs=obj.childNodes;
		if (childs && childs.length){
			for (var i=0;i<childs.length;i++){
				var child=childs[i];
				if (child)child=modifIdForObj(child);
			}
		}
		return obj;
	}
	
}


