window.addEvent('domready', function()
{
	var eForm = $("form_contact");
	eForm.addEvent("submit", check_form);
	
	// on montre
	$('cb_objet_devis').addEvent("click", function(){
	
		$("puce_contact").setStyle("font-weight", "normal");
		$("puce_devis").setStyle("font-weight", "bold");
		
		
		$("contact_type").value="devis";
		
		$("lieu").setProperty('disabled', false);
		$("date").setProperty('disabled', false);
		$("nb").setProperty('disabled', false);
		$("evenements").setProperty('disabled', false);
		$("date-reponse").setProperty('disabled', false);

		if ($('bloc-devis').hasClass("bloc-devis-hide")){
			$('bloc-devis').removeClass("bloc-devis-hide");
			$('bloc-devis').addClass("bloc-devis-show");
		}
	});
	
	// on cache
	$('cb_objet_contact').addEvent("click", function(){
		
		$("puce_contact").setStyle("font-weight", "bold");
		$("puce_devis").setStyle("font-weight", "normal");
		
		$("contact_type").value="contact";
		
		$("lieu").setProperty('disabled', true);
		$("date").setProperty('disabled', true);
		$("nb").setProperty('disabled', true);
		$("evenements").setProperty('disabled', true);
		$("date-reponse").setProperty('disabled', true);
		
		if ($('bloc-devis').hasClass("bloc-devis-show")) {
			$('bloc-devis').removeClass("bloc-devis-show");
			$('bloc-devis').addClass("bloc-devis-hide");
		}
		
	});
});

// version mootools
function _set_style(element, classname)
{
	if (!element.hasClass(classname)){
		element.addClass(classname);
	}
}

function _set_wrong_style(id_element, type_style, type_element)
{
	//alert(id_element);
	var element     = $(id_element);
	var right_style = type_element;
	var wrong_style = type_element + "-erreur";

	if ($(id_element)){
		if (type_style == "right"){
			if (element.hasClass(wrong_style)){
				element.removeClass(wrong_style);
				element.addClass(right_style);
			}
		}
		else{
			if (element.hasClass(right_style)){
				element.removeClass(right_style);
				element.addClass(wrong_style);
			}
		}
	}
}
function check_form()
{
	var eForm     = $("form_contact");
	var aElements = eForm.elements; // les éléments du formulaire
	var bError    = false; // erreur ou pas
	var sMsg = "Vous n'avez pas saisi les champs suivants :";
	
	var sType = eForm.objet.value;

	var objet_ok = false;
	var civilite_ok    = false;


	// je réinitialise le style des labels
	$("erreur-valid").innerHTML = "";
	$("erreur-valid").setStyles({"display" : "none", "visibility" : "hidden"});
	
	for (var i = 0; i < aElements.length; i++)
	{
		switch (aElements[i].type){
			case "select-one":
				_set_wrong_style(aElements[i].id, "right", "dropdown");
			break;
			case "textarea":
				_set_wrong_style(aElements[i].id, "right", "message");
			break;
			default :
				_set_wrong_style(aElements[i].id, "right", "champstexte");
		}
	}

	$("puce_contact").setStyle("color", "#ffffff");
	$("puce_devis").setStyle("color", "#ffffff");
	
	$("puce_mlle").setStyle("color", "#ffffff");
	$("puce_mme").setStyle("color", "#ffffff");
	$("puce_mr").setStyle("color", "#ffffff");
	
	// je parcours les éléments du formulaire
	for (var i = 0; i < aElements.length; i++)
	{
		var id_element = aElements[i].id;
		
		if ($(id_element) && !$(id_element).getProperty('disabled'))
		{
			//alert(id_element+" -> "+$(id_element).getProperty('disabled'));
			
			var optional  = $(id_element).getProperty("optional");
			var classname = $(id_element).getProperty("class");
			//alert(id_element+" -- > "+classname);
			if (optional == "false")
			{
				
				//alert(classname);
				
				if (classname == "champstexte")
				{
					if (id_element == "email")
					{
						if (!_checkMail(aElements[i].value))
						{
							aElements[i].removeClass("champstexte");
							aElements[i].addClass("champstexte-erreur");
							bError = true;
						}
					}
					else if (id_element == "tel")
					{
						if (!_isNumeric (aElements[i].value ))
						{
							aElements[i].removeClass("champstexte");
							aElements[i].addClass("champstexte-erreur");
							bError = true;
						}
					}
					else
					{
						if (aElements[i].value == "")
						{
							aElements[i].removeClass("champstexte");
							aElements[i].addClass("champstexte-erreur");
							bError = true;
						}
					}
				}
				else if (classname == "dropdown")
				{
					if (aElements[i].getSelected()[0].value == 0){
						aElements[i].removeClass("dropdown");
						aElements[i].addClass("dropdown-erreur");
						bError = true;
					}
				}
				else if (classname == "message")
				{
					if (aElements[i].value == "")
					{
						aElements[i].removeClass("message");
						aElements[i].addClass("message-erreur");
						bError = true;
					}
				}
				else{
					if ((aElements[i].name == "objet") && (aElements[i].checked)) {
						objet_ok = true;
					}
					if ((aElements[i].name == "civilite") && (aElements[i].checked)) {
						civilite_ok = true;
					}
				}
			}
			else // sinon
			{
				if (id_element == "cp" || id_element == "fax")
				{
					if ((aElements[i].value != "") && !_isNumeric (aElements[i].value))
					{
						aElements[i].removeClass("champstexte");
						aElements[i].addClass("champstexte-erreur");
						bError = true;
					}
				}
			}
		}
	}
	if (!objet_ok){
		$("puce_contact").setStyle("color", "#E2AE5A");
		$("puce_devis").setStyle("color", "#E2AE5A");
		bError = true;
	}
	if (!civilite_ok){
		$("puce_mlle").setStyle("color", "#E2AE5A");
		$("puce_mme").setStyle("color", "#E2AE5A");
		$("puce_mr").setStyle("color", "#E2AE5A");
		bError = true;
	}
	
	if (bError)
	{
		$("erreur-valid").setStyles({"display" : "block", "visibility" : "visible"});
		$("erreur-valid").innerHTML = sMsg;
		return false;
	}
	else{
		return true;
	}
}
