var tab = new Array("int_long_int", "int_larg_int", "int_haut_int", "int_long_ext", "int_larg_ext", "int_haut_ext");


function ecrire_option(indice, indice_contraint, valeur, param){

	if (indice_contraint == -1){
		//cas du chargement de la page, on met toutes les valeurs dans la select box(on en remplit une par appel à la fonction
		document.forms.formulaire1.elements[param].options[document.forms.formulaire1.elements[param].options.length] = new Option("---", ""); 
		for (i=0;i<tab_dim.length;i++){
			tab_temp[tab_dim[i][indice]] = 1;
		}
		for (i=0;i<tab_temp.length;i++){
			if (tab_temp[i] == 1){
				document.forms.formulaire1.elements[param].options[document.forms.formulaire1.elements[param].options.length] = new Option(i, i); 
				if (i == valeur){
					document.forms.formulaire1.elements[param].options[document.forms.formulaire1.elements[param].options.length-1].selected = true; 
					document.forms.formulaire1.elements[param].disabled = true;
					document.forms.formulaire1.elements[param+"_prec"].value = valeur;
					
					var re = /_int/;
					if (re.test(param)) valid_bout_radio("int"); else valid_bout_radio("ext");
				}
			}
		}
		tab_temp = Array();
	}else if ((indice_contraint > -1) && (indice_contraint < 3)){
		document.forms.formulaire1.elements[tab[indice_contraint]].disabled = true;
		efface_select(indice_contraint);
		nb_c = compte_nb_contraintes('int');
		for (j=0 ; j<tab_dim[0].length ; j++){
			if (!j_is_contraint(j)){
				for (i=0 ; i<tab_dim.length ; i++){
					if (verif_contraintes(i,j, nb_c)){
//						alert(tab_dim[i][j]);
						tab_temp[tab_dim[i][j]] = 1;
					}
				}
				for (i=0;i<tab_temp.length;i++){
					if (tab_temp[i] == 1){
						document.forms.formulaire1.elements[tab[j]].options[document.forms.formulaire1.elements[tab[j]].options.length] = new Option(i, i); 
						if (document.forms.formulaire1.elements[tab[j]+"_prec"].value == i) document.forms.formulaire1.elements[tab[j]].options[document.forms.formulaire1.elements[tab[j]].options.length-1].selected = true;
					}
				}
			}
			tab_temp = Array();
		}
	}else if ((indice_contraint > 2) && (indice_contraint < 6)){
		document.forms.formulaire1.elements[tab[indice_contraint]].disabled = true;
		efface_select(indice_contraint);
		nb_c = compte_nb_contraintes('ext');
		for (j=0 ; j<tab_dim[0].length ; j++){
			if (!j_is_contraint(j)){
				for (i=0 ; i<tab_dim.length ; i++){
					if (verif_contraintes(i,j, nb_c)){
						tab_temp[tab_dim[i][j]] = 1;
					}
				}
				for (i=0;i<tab_temp.length;i++){
					if (tab_temp[i] == 1){
						document.forms.formulaire1.elements[tab[j]].options[document.forms.formulaire1.elements[tab[j]].options.length] = new Option(i, i); 
						if (document.forms.formulaire1.elements[tab[j]+"_prec"].value == i) document.forms.formulaire1.elements[tab[j]].options[document.forms.formulaire1.elements[tab[j]].options.length-1].selected = true;
					}
				}
			}
			tab_temp = Array();
		}
	}
}

function compte_nb_contraintes(param){
	cpt = 0;
	switch (param) {
    case "int" :
		if (document.forms.formulaire1.int_long_int_prec.value != "") cpt++;
		if (document.forms.formulaire1.int_larg_int_prec.value != "") cpt++;
		if (document.forms.formulaire1.int_haut_int_prec.value != "") cpt++;
        break;
    case "ext" :
		if (document.forms.formulaire1.int_long_ext_prec.value != "") cpt++;
		if (document.forms.formulaire1.int_larg_ext_prec.value != "") cpt++;
		if (document.forms.formulaire1.int_haut_ext_prec.value != "") cpt++;
        break;
	}
	return cpt;
}

function j_is_contraint(j){
	if (document.forms.formulaire1.elements[tab[j]+"_prec"].value != "") return true;
}


function verif_contraintes(i, j, nb_c){
	cpt = 0;
	if (j<3){
		k = 0;
		while(k < 3){		
			if (tab_dim[i][k] == document.forms.formulaire1.elements[tab[k]+"_prec"].value) cpt ++;
			k++;
		}
	}else if(j>=3){
		k = 3;
		while(k < 6){		
			if (tab_dim[i][k] == document.forms.formulaire1.elements[tab[k]+"_prec"].value) cpt ++;
			k++;
		}
	}
	if (nb_c == cpt){
		return true;
	}
	else return false;
}

function efface_select(indice_contraint){
	if (indice_contraint<3){
		i=0;
		while(i<3){
			if (document.forms.formulaire1.elements[tab[i]+'_prec'].value == ""){
					document.forms.formulaire1.elements[tab[i]].options.length=0;
					document.forms.formulaire1.elements[tab[i]].options[document.forms.formulaire1.elements[tab[i]].options.length] = new Option("---", "");
			}
			i++;
		}
	}else{
		i=3;
		while(i<6){
			if (document.forms.formulaire1.elements[tab[i]+'_prec'].value == ""){
					document.forms.formulaire1.elements[tab[i]].options.length=0;
					document.forms.formulaire1.elements[tab[i]].options[document.forms.formulaire1.elements[tab[i]].options.length] = new Option("---", "");
			}
			i++;
		}
	}
}



function getDim(ind, param, valeur){
	ecrire_option(ind, -1, valeur, param);
}

function valid_bout_radio(param){
	switch (param) {
    case "int" :
		document.forms['formulaire1'].elements['dimIntExt'][0].checked = true;
        break;
    case "ext" : 
		document.forms['formulaire1'].elements['dimIntExt'][1].checked = true;
        break;
	}
}

function select_dim_change(ind, param){
	if (ind < 3){
		document.forms.formulaire1.elements[tab[ind]+"_prec"].value = document.forms.formulaire1.elements[tab[ind]].options[document.forms.formulaire1.elements[tab[ind]].options.selectedIndex].value;
		valid_bout_radio('int');
	}else{
		document.forms.formulaire1.elements[tab[ind]+"_prec"].value = document.forms.formulaire1.elements[tab[ind]].options[document.forms.formulaire1.elements[tab[ind]].options.selectedIndex].value;
		valid_bout_radio('ext');
	}
	ecrire_option(-1, ind, document.forms.formulaire1.elements[tab[ind]].value, param);
//	document.forms.edouard.edtext.value = document.forms.formulaire1.int_long_int_prec.value + " / " + document.forms.formulaire1.int_larg_int_prec.value + " / " + document.forms.formulaire1.int_haut_int_prec.value + " // " + document.forms.formulaire1.int_long_ext_prec.value + " / " + document.forms.formulaire1.int_larg_ext_prec.value + " / " + document.forms.formulaire1.int_haut_ext_prec.value
}

function resetListe(param){
	switch (param) {
    case "int" :
		i = 0;
		while(i < 3){
			document.forms.formulaire1.elements[tab[i]].options.length=0;
			document.forms.formulaire1.elements[tab[i]+"_prec"].value="";
			document.forms.formulaire1.elements[tab[i]].disabled=false;
			i++;
		}
		getDim(0, "int_long_int");
		getDim(1, "int_larg_int");
		getDim(2, "int_haut_int");
		break;
    case "ext" : 
		i = 3;
		while(i < 6){
			document.forms.formulaire1.elements[tab[i]].options.length=0;
			document.forms.formulaire1.elements[tab[i]+"_prec"].value="";
			document.forms.formulaire1.elements[tab[i]].disabled=false;
			i++;
		}
		getDim(3, "int_long_ext");
		getDim(4, "int_larg_ext");
		getDim(5, "int_haut_ext");
		break;
	}
}


function valid_dim(){
	if((compte_nb_contraintes('int') == 3) && (document.forms['formulaire1'].elements['dimIntExt'][0].checked == true)){
//		alert("valid int");
		document.forms.formulaire1.submit();
	}else if((compte_nb_contraintes('ext') == 3) && (document.forms['formulaire1'].elements['dimIntExt'][1].checked == true)){
//		alert("valid ext");
		document.forms.formulaire1.submit();
	}else{
		alert("vous n'avez pas choisi assez de dimensions");
	}
}

function valid_dim_gb(){
	if((compte_nb_contraintes('int') == 3) && (document.forms['formulaire1'].elements['dimIntExt'][0].checked == true)){
//		alert("valid int");
		document.forms.formulaire1.submit();
	}else if((compte_nb_contraintes('ext') == 3) && (document.forms['formulaire1'].elements['dimIntExt'][1].checked == true)){
//		alert("valid ext");
		document.forms.formulaire1.submit();
	}else{
		alert("you didn't choose enough dimensions");
	}
}


function chargement(PRODUIT_LONG_INT, PRODUIT_LARG_INT, PRODUIT_HAUT_INT, PRODUIT_LONG_EXT, PRODUIT_LARG_EXT, PRODUIT_HAUT_EXT){
	if (PRODUIT_LONG_INT != ""){
		getDim(0, "int_long_int", PRODUIT_LONG_INT);
	}else{
		getDim(0, "int_long_int", -1);
	}
	if (PRODUIT_LARG_INT != ""){
		getDim(1, "int_larg_int", PRODUIT_LARG_INT);
	}else{
		getDim(1, "int_larg_int", -1);
	}
	if (PRODUIT_HAUT_INT != ""){
		getDim(2, "int_haut_int", PRODUIT_HAUT_INT);
	}else{
		getDim(2, "int_haut_int", -1);
	}
	if (PRODUIT_LONG_EXT != ""){
		getDim(3, "int_long_ext", PRODUIT_LONG_EXT);
	}else{
		getDim(3, "int_long_ext", -1);
	}
	if (PRODUIT_LARG_EXT != ""){
		getDim(4, "int_larg_ext", PRODUIT_LARG_EXT);
	}else{
		getDim(4, "int_larg_ext", -1);
	}
	if (PRODUIT_HAUT_EXT != ""){
		getDim(5, "int_haut_ext", PRODUIT_HAUT_EXT);
	}else{
		getDim(5, "int_haut_ext", -1);
	}
} 
