function init() {
	if ( document.getElementById("renseigne") ) document.getElementById("renseigne").onsubmit = function() { return verif_form(this,"fr") }
	if ( document.getElementById("type") ) document.getElementById("type").onchange = function() { champsSup(this.options[this.selectedIndex]) }
}

// vérification de formulaire
test_text = ""; // à renseigner si on utilise une chaîne de caractère identique pour chaque label de champs obligatoire
test_class = "oblig"; // à renseigner si on identifie les labels par une class css
message_fr = "merci de remplir tous les champs obligatoires";
message_uk = "please complete all the required fields";

function verif_form(formulaire,langue) {
	vide = 0;
	for ( var i=0; i<formulaire.getElementsByTagName("label").length; i++ ) {
		element_label = formulaire.getElementsByTagName("label")[i];
		txt_label = element_label.firstChild.nodeValue;
		class_label = element_label.className;
		if ( (test_text != "" && txt_label.indexOf(test_text) != -1) || (test_class != "" && class_label == test_class) ) {
			if ( element_label.getAttribute("htmlFor") || element_label.getAttribute("for") ) {
				if ( document.all ) id_champs = element_label.getAttribute("htmlFor");
				else id_champs = element_label.getAttribute("for");
				champs = document.getElementById(id_champs);
				if ( champs.tagName == "INPUT" && champs.getAttribute("type") == "text" ) {
					if ( champs.value == "" ) vide ++;
				}
				else if ( champs.tagName == "TEXTAREA" && champs.value == "" ) vide ++;
			}
			else {
				if ( element_label.getElementsByTagName("input")[0] ) {
					input_label = element_label.getElementsByTagName("input")[0];
					if ( input_label.getAttribute("type") == "text" && input_label.value == "" ) vide ++;
				}
				else if ( element_label.getElementsByTagName("textarea")[0] && element_label.getElementsByTagName("textarea")[0].value == "" ) vide ++;
			}
		}
	}
	for (var j=0; j<formulaire.getElementsByTagName("select").length; j++ ) {
		liste = formulaire.getElementsByTagName("select")[j];
		for ( var k=0; k<liste.options.length; k++) {
			if ( liste.options[k].selected == true && liste.options[k].value == "" ) vide ++;
		}
	}
	if ( vide != 0 ) {
		if (langue == 'fr') message = message_fr;
		else message = message_uk;
		alert(message);
		return false;
	}
	else {
		return true;
	}
}

window.onload = init;

function champsSup(champsSelect) {
	if ( champsSelect.value.indexOf("numerologie") != -1 ) {
		document.getElementById("infoSup").style.display = "block";
		document.getElementsByName("champs")[0].value = 1;
	}
	else {
		document.getElementById("infoSup").style.display = "none";
		document.getElementsByName("champs")[0].value = 0;
	}
}
