




function tfomoteur_initialiser(){
	var blocs = $$('li.tfoMoteurLiPere');
	var nbBlocs = blocs.length;
	// pour chaque bloc moteur
	for(i=0; i<nbBlocs; i++){
		var elTitreBloc = blocs[i].getElementsByTagName('span')[0];
		// on valorise le tableau des objets bloc
		tfo_blocs_moteur.push({titre:elTitreBloc.innerHTML, id:blocs[i].id});
		// un ecouteur sur le titre du bloc
		Event.observe(elTitreBloc, "click", tfomoteur_onClickTitreBloc);
		
		// selon le type de input
		var nodeListInput = blocs[i].getElementsByTagName('input');
		var nbInput = nodeListInput.length;
		// pour chaque input
		// on commence a 1 car le premier est un hidden
		for(j=1; j<nbInput; j++){ 
			// un ecouteur sur le input
			Event.observe(nodeListInput[j], "click", tfomoteur_onClickInput);					
		}
		
		var nodeListSelect = blocs[i].getElementsByTagName('select');
		var nbSelect = nodeListSelect.length;
		// pour chaque select
		for(j=0; j<nbSelect; j++){ 
			// un ecouteur sur le input
			Event.observe(nodeListSelect[j], "change", tfomoteur_onClickInput);					
		}


		
		//on reecrit le titre du bloc
		tfomoteur_refreshTitreBloc(blocs[i].id);
	}
}

function tfomoteur_onClickInput(event){
	var target = event.target || event.srcElement;
	// a quel bloc il appartient
	var liBloc = target.parentNode.parentNode.parentNode;	
	//alert(liBloc.id);
}


function tfomoteur_refreshTitreBloc(idBloc, effacer){
	//alert("tfomoteur_refreshTitreBloc " + idBloc);
	var liBloc = $(idBloc);
	
	// construire le resume des criteres pour ce bloc
	var resume = '';
	if(!effacer){
		var nodeListInput = liBloc.getElementsByTagName('input');
		var nbInput = nodeListInput.length;
		
		// pour chaque input
		// on commence a 1 car le premier est un hidden
		for(j=1; j<nbInput; j++){ 
			switch(nodeListInput[j].type){
				case 'text':
					if(nodeListInput[j].value!=''){
						resume += nodeListInput[j].value + ', ';
					}
					break;
				case 'checkbox':
					if(nodeListInput[j].checked){
						resume += nodeListInput[j].title + ', ';
					}
					break;
			}
		}	
		
		var nodeListInput = liBloc.getElementsByTagName('option');
		var nbInput = nodeListInput.length;
		// pour chaque input
		for(j=0; j<nbInput; j++){ 
			if(nodeListInput[j].selected){
				resume += nodeListInput[j].innerHTML + ', ';
			}
		}	
		
		resume = resume.substr(0, resume.length -2);
	}
	// ecrire le resume
	var elTitreBloc = liBloc.getElementsByTagName('span')[0];
	var indexBloc = tfomoteur_getBlocIndex(liBloc.id);
	elTitreBloc.innerHTML = tfo_blocs_moteur[indexBloc].titre + '<span>' + resume + '</span>';
	
}


function tfomoteur_onClickTitreBloc(event){
	var elt = Event.findElement(event, 'li.tfoMoteurLiPere');
	var inputs = elt.getElementsByTagName('input');
	var blocs = $$('li.tfoMoteurLiPere');
	var nbBlocs = blocs.length;
	// on change les styles
	for(i=0; i<nbBlocs; i++){
		// si on est sur le bloc clique
		if(blocs[i].id == elt.id){
			// si le bloc est actif
			if($(blocs[i].id).hasClassName('actif')){
				// on le passe inactif
				$(blocs[i].id).removeClassName('actif');
				$(blocs[i].id).addClassName('inactif');
				// on affiche le resume
				tfomoteur_refreshTitreBloc(blocs[i].id, false);
			}else{
				// on le passe actif
				$(blocs[i].id).removeClassName('inactif');
				$(blocs[i].id).addClassName('actif');
				// on masque le resume
				tfomoteur_refreshTitreBloc(blocs[i].id, true);
			}
		}else{
			// on met tous les autres inactifs
			$(blocs[i].id).removeClassName('actif');
			$(blocs[i].id).addClassName('inactif');		
			// on affiche le resume
			tfomoteur_refreshTitreBloc(blocs[i].id, false);			
		}
	}
}


function tfomoteur_getBlocIndex(idBloc){
	var nbBlocs = tfo_blocs_moteur.length;
	for(i=0; i<nbBlocs; i++){
		if(idBloc==tfo_blocs_moteur[i].id){
			return i;
		}
	}
	return -1;
}

// tableau des blocs moteurs
var tfo_blocs_moteur = [];

