var gInstru, gTonalite;
var gTonaliteInitial;

function initSelects() {
	if (gInstru == null) gInstru = document.getElementById("instru");
	if (gTonalite == null) gTonalite = document.getElementById("tonalite");
	if (gTonalite == null) return false;
	if (gTonaliteInitial == null) gTonaliteInitial = gTonalite.cloneNode(true);
	return true;
}

function filtreTonalite(pKeepSelected) {
	if (!initSelects()) return;
	var fPays = gTonalite.value;
	var fOldIndex = 0;
	if (fPays == "") fPays = null;
	var fInstru = gInstru.value;
	var fChilds = gInstru.options;
	var fDoSelect = null;
	for (var i=0; i < fChilds.length; i++) {
		var lNode = fChilds[i];
		if (lNode.disabled == true && lNode.selected == true) {
			fDoSelect = true;
		}
	}
	if (fDoSelect && fChilds.length == 2) {
		fInstru = fChilds[1].value;
		fChilds[1].selected = true;
	}
	if (fInstru == "") fInstru = null;
	fChilds = gTonaliteInitial.options;
	var fNewNoms = gTonaliteInitial.cloneNode(false);
	for (var i=0; i < fChilds.length; i++) {
		var lNode = fChilds[i];
		if (lNode.disabled == true) {
			lNode = fNewNoms.appendChild(lNode.cloneNode(true));
			lNode.selected = true;
			continue;
		}
		var lIndex = lNode.className.indexOf("tonalite_");
		var lInstru = lNode.className.substring(lIndex + 9);
		if ((fInstru == null || fInstru == lInstru)) {
			lNode = fNewNoms.appendChild(lNode.cloneNode(true));
			lNode.selected = false;
			if (pKeepSelected && lNode.value == fPays) fOldIndex = lNode.index;
		}		
	}
	gTonalite.parentNode.replaceChild(fNewNoms, gTonalite);
	gTonalite = fNewNoms;
	if (pKeepSelected) {
		gTonalite.selectedIndex = fOldIndex;
	} else	gTonalite.selectedIndex = 0;
	show(gTonalite);
}

function checkSubmit() {

}
