// JavaScript Document
/*
	La fonction autoLoad permet d'executer automatiquement le champs onload des input contenu dans l'element 'id'
	Permet de recupere uniquement les input nommer comme "form::input"
	
	Necessite lib JS : prototype / kTrace
*/

function autoLoad(aParamFunc){	
	/*
	aParamFunc{
		'id'           : id de l'element a parser, * 
		'idForm'       : string, chaine a trouver sur les input (idForm=form1 -> form1::input)
	}
		 *  => Params Obligatoires
		($) => params passer sous forme de tableau :
			aParams[i]['name']
			          ['value']
	*/
	
	//Version

	version = 'version = 0.2clem';
	

	// Check aParamFunc
	if( aParamFunc == undefined ){ return version; }	
	if( (aParamFunc['idForm']==undefined) ) { aParamFunc['idForm']=''; }
	
	// Load Elements
	var oSelectObjet = new Array();
	var sParams      = '';
	var aParams      = new Array(); 

	oSelectObjet = AutoLoad_Load_Element(aParamFunc['id'], aParamFunc['idForm']);
}

function AutoLoad_Load_Element(sMainId, sIdSearch){
	// Init Vars pour traitement
	var oWorking_Obj = new Array();
	var oSelectObjet = new Array();
	
	if($(sMainId).hasChildNodes()){
		// Clone le contenant a parser
		oWorking_Obj = $(sMainId).cloneNode(true);
	
		// Recup elements	
		oSelectObjet = AutoLoad_getChildsElement(oWorking_Obj, sIdSearch);
		
	}
	
	return oSelectObjet;
}


function AutoLoad_getChildsElement(oWorking_Obj, sIdSearched){
	var oSelectObjet = new Array();
	// Boucle sur les children de oWorking_Obj
	while (oWorking_Obj.firstChild) {

		if(oWorking_Obj.firstChild.nodeName=="SCRIPT"  ){		

			var sCode=document.getElementById(oWorking_Obj.firstChild.id).text;
			
			 var scriptTag = document.createElement('script');  
			
			 scriptTag.text = sCode;//'var now = new Date();alert(now.getTime());'; 
			
			var bodyTag = document.getElementsByTagName('body')[0];
			
			bodyTag.appendChild(scriptTag);
			bodyTag.removeChild(scriptTag);
			
				 
		
		}			
		
		// Boucle sur les children de oWorking_Obj.firstChild
		if( oWorking_Obj.firstChild.hasChildNodes() ){
			var oChildrenElem = AutoLoad_getChildsElement(oWorking_Obj.firstChild, sIdSearched);
			//oSelectObjet = oSelectObjet.concat(oChildrenElem);
		}
		oWorking_Obj.removeChild(oWorking_Obj.firstChild);
	};
	
	return oSelectObjet;
}

/*

function AutoLoad_firstParent(the_obj){
	var obj=the_obj;
	var firstParent='';
	while(obj!=null){
		if( obj.id != undefined ){
			firstParent=obj.id;
			break;
		}
		obj=obj.offsetParent;
	}
	if(firstParent==''){firstParent=' Noeud principal';}
	return firstParent;
}
*/


