
var currentSelection = {};

var filtreCombo = {};
var refCombo = null;

var comboNames = ["gamme", "type", "montage", "signal", "ref"];
var columns = [4, 5, 6, 7, 0];
var champs = comboNames;
//var champs = ["gamme", "type", "montage", "signal", "ref"];
var toutes = ['Toutes Gammes', 'Tous Types', 'Tous Montages', 'Tous Signals'];

function initApp()
{

	for ( var i = 0; i < comboNames.length; i++ )
	{
		filtreCombo[comboNames[i]] = document.getElementById(comboNames[i]);
	}
	
	refCombo = document.getElementById("ref");
	
}

function selectionRef(apel,type)
{

	if ( apel && apel.length > 1 )
	{ 
		
		if (type=='r') 
		{
		
		openbox2('<b>Demande de devis</b>', 0,'devis');
		
		}
		
		if (type=='i')
		{
		openbox2('<b>Demande d\'information</b>', 0,'info');
		}
		
	refCombo.value = apel;
	
	}

	var data = getData();
	var valeur = refCombo.value;
		
	x = getRefIndex()[valeur];

	

	//Ggamme0.options[Ggamme0.selectedIndex].text = data[x][4];

	
	for ( var y = 0 ; y < comboNames.length - 1; y++ )
		{
			
			dja1 = 0;
			for (j=0; j<filtreCombo[comboNames[y]].length; j++) 
			{
			
				if (filtreCombo[comboNames[y]].options[j].text == data[x][y+4])
				{
					dja1 = 1;
					yop = j
					break;
				
				}
			}
			if ( dja1 == 1 )
			{
			    	filtreCombo[comboNames[y]].selectedIndex=yop;
			}	
			bdd(y+1)
		}
		
		

//	document.getElementById('gamme').selectedIndex=2;
//	alert(comboNames[1]);
	
//	bdd(1);
//	Ttype0.options[Ttype0.selectedIndex].text = data[x][5];
//	bdd(2);
//	Mmontage0.options[Mmontage0.selectedIndex].text = data[x][6];
//	bdd(3);
//	Ssignal0.options[Ssignal0.selectedIndex].text = data[x][7];
//	bdd(4);


	for ( var y = 0 ; y < document.getElementById("ref").length ; y++ )
	{                        
		if(document.getElementById("ref").options[y].text == apel)
		{
		document.getElementById("ref").selectedIndex = y
		}
	}
	
// suprimer les double dans les listes
//	Ggamme0.options[0]= null
//	Ttype0.options[0]= null
//	Mmontage0.options[0]= null
//	Ssignal0.options[0]= null
	
	//// enlever la dernière ligne dans gamme a chaque fois fois !!!!!!!
	//alert(Ggamme0.length)
		
	//Ajouter('gamme','Toutes Gammes');
	//Ajouter('type','Tous Types');
	//Ajouter('montage','Tous Montages');
	//Ajouter('signal','Tous Signals');
	
	//Ggamme0.options[Ggamme0.selectedIndex].text = data[x][4];
	//Ttype0.options[Ttype0.selectedIndex].text = data[x][5];
	//Mmontage0.options[Mmontage0.selectedIndex].text = data[x][6];
	//Ssignal0.options[Ssignal0.selectedIndex].text = data[x][7];
OPTION_PLUS()
	}
	
function OPTION_PLUS()
{	
SupprimerTout('supl1')
SupprimerTout('supl2')
SupprimerTout('supl3')

document.getElementById("suplement").style.display='none'
document.getElementById("suplement2").style.display='none'
document.getElementById("suplement3").style.display='none'

	var data = getData();
	var valeur = refCombo.value;
		
	x = getRefIndex()[valeur];

//OPTIONNEL
	if ((data[x][8][0]).length < 2)
	{
	document.getElementById("suplement").style.display='none'
	}
	else
	{
	document.getElementById("suplement").style.display='block'
	
	for ( var y = 0 ; y < data[x][8].length ; y++ )
		{                        
		Ajouter('supl1',data[x][8][y]) 
	
		}
	} 
	


//OPTIONNEL 2
	if ((data[x][9][0]).length < 2)
	{
	document.getElementById("suplement2").style.display='none'
	}
	else
	{
	document.getElementById("suplement2").style.display='block'

	for ( var y = 0 ; y < data[x][9].length ; y++ )
		{                        
		Ajouter('supl2',data[x][9][y]) 
		}
	 }
	


//OPTIONNEL 3
	if ((data[x][10][0]).length < 2)
	{
	document.getElementById("suplement3").style.display='none'
	}
	else
	{
	document.getElementById("suplement3").style.display='block'

	for ( var y = 0 ; y < data[x][10].length ; y++ )
		{                        
		Ajouter('supl3',data[x][10][y]) 
		}
	} 
	
}

function bdd(etat,apel)
{
  var data = getData();

  touS = data.length;
	
	if (etat=='r') // charge dans les liste tous
	{
	selectionRef(apel);
		
	}

	var filter = {};

	
	// definir filtre
	for ( var i = 0; i < etat; i++ )
	{
	    if ( filtreCombo[champs[i]].options[filtreCombo[champs[i]].selectedIndex].text != toutes[i] ) // si egale aux valeur TOUS
	    {
		    filter[columns[i]] = filtreCombo[champs[i]].options[filtreCombo[champs[i]].selectedIndex].text;
	    }
	    filtreCombo[champs[i]].disabled = false;
	}
	filtreCombo[champs[etat]].disabled = false;

	
	
	if ( etat > 0 && etat < comboNames.length - 1 && filtreCombo[champs[etat - 1]].options[filtreCombo[champs[etat - 1]].selectedIndex].text == toutes[etat - 1] )
	{
	    filtreCombo[champs[etat]].disabled = true;
	}
	
	// reset des combos
	
	for ( var i = etat; i < comboNames.length - 1; i++ )
	{
		SupprimerTout(comboNames[i]);
		
		Ajouter(comboNames[i], toutes[i]);
		
		//alert(comboNames[i], toutes[i] );
	}
	SupprimerTout('ref');
	
	// -2 pour epargner le champ ref
	for ( var i = etat + 1; i < comboNames.length - 1; i++ )
	{
		filtreCombo[champs[i]].disabled = true;
	}
	
	
	
	// recupere donnees filtrees
	var filteredData = getFilteredData(filter);
	for (i=0; i< filteredData.length; i++) 
	{
		var dja = 0
		for ( var champIndex = etat; champIndex < champs.length; champIndex++ )
		{
			var nomChamp = champs[champIndex];
			var column = columns[champIndex];
			var champCombo = document.getElementById(nomChamp);
			var valeur = filteredData[i][column];
			
			dja = 0;
			for (j=0; j<champCombo.length; j++) 
			{
				if (champCombo.options[j].text == valeur)
				{
					dja = 1;
					break;
				
				}
			}
			if ( dja == 0 )
			{
				if( valeur != '0X')
				{
			    Ajouter(nomChamp,valeur);
				}
			}	

		}
	}
	
	
	
apel = ""
sortlist()

}

