// fonctions menus
// window.onload=montre;

/**
 * @desc Montre / cache les sous menus
 * @param (string) id id de l'élément à afficher ou à cacher
 * @note les sous-menus ne sont plus utilisés sur Bafa
 */
function montre(id) {
	if (document.getElementById(id)) {
		var d = document.getElementById(id);
		for (var i = 1; i<=10; i++) {
			if (document.getElementById('smenu'+i)) { document.getElementById('smenu'+i).style.display='none'; }
		}
		if (d) { d.style.display='block'; }
	}
}

/**
 * @desc Rempli le formulaire de demande de devis
 * @param (integer) iIdArticle Numéro de l'article
 * @param (integer) iIdMatiere Id de la matière de l'article
 * @param (integer) iIdDiametre Id du diamètre sélectionné
 * @param (integer) iIdLongueur Id de la longueur sélectionnée
 * @todo Vérifier si on doit utiliser l'id de la longueur ou l'id de la valeur de la longeur
 */
function fillFormDevis(iIdArticle, iIdMatiere, iIdDiametre, iIdLongueur) {
	// Sélection du diamètre dans la liste
	for (i=0;i<document.getElementById('diametre').length;i++) {
		if (document.getElementById('diametre').options[i].value == iIdDiametre) {
			document.getElementById('diametre').selectedIndex = i;
		}
	}
	
	// Sélection de la longueur dans la liste
	for(i=0;i<document.getElementById('longueur').length;i++) {
		if (document.getElementById('longueur').options[i].value == iIdLongueur) {
			document.getElementById('longueur').selectedIndex = i;
		}
	}
	
	document.getElementById('quantite').className = 'box_qte_focus';
	document.getElementById('quantite').focus();
}


/**
 * @desc Rempli le formulaire de demande de devis (même fonction que la précédente mais sans longueur)
 * @param (integer) iIdArticle Numéro de l'article
 * @param (integer) iIdMatiere Id de la matière de l'article
 * @param (integer) iIdDiametre Id du diamètre sélectionné
 * @todo Vérifier si on doit utiliser l'id de la longueur ou l'id de la valeur de la longeur
 */
function fillFormDevis2(iIdArticle, iIdMatiere, iIdDiametre) {
	// Sélection du diamètre dans la liste
	for(i=0;i<document.getElementById('diametre').length;i++) {
		if (document.getElementById('diametre').options[i].value == iIdDiametre) {
			document.getElementById('diametre').selectedIndex = i;
		}
	}
	
	document.getElementById('quantite').className = 'box_qte_focus';
	document.getElementById('quantite').focus();
}

/**
 * @desc Fait apparaitre / cache la partie adresse de livraison
 * @param (bool) bToDisplay Indique si on doit faire apparaitre la partie adresse de livraison ou la cacher
 */
function toggleLivraisonLayer(bToDisplay) {
	document.getElementById('livraison_layer').style.display = (bToDisplay==true ? 'block' : 'none');
}


function submitCart(formPanier) {
	formPanier.form_action.value = 'submit_cart';
	return true;
}

function removeFromCart(formPanier, iIdLigneToRemove) {
	formPanier.form_action.value = 'remove_from_cart';
	formPanier.id_ligne_to_remove.value = iIdLigneToRemove;
	return true;
}

function emptyCart() {
	document.getElementById('form_action').value = 'empty_cart';
	return true;
}

function recreePanier(iIdDemandeDevis) {
	if (window.confirm('Etes-vous sûr de vouloir remplir un nouveau panier avec les articles de cette demande de devis ?')) {
		document.getElementById('id_demande_devis').value = iIdDemandeDevis;
		return true;
	} else {
		return false;
	}
}

/***** Fonctions Ajax *****/

/**
 * @desc Envoi une requête ajax pour l'ajout d'un article dans le panier
 */
/*
function addToCart() {
	var sFormValues = Form.serialize('form_ajout_panier');
	alert(sFormValues);
	
	var options = { method: "post", parameters: "func=addToCart&"+sFormValues }
	var ajaxCall = new Ajax.Request("ajax/ajax_functions.php", options);
	// var ajaxCall = new Ajax.Updater("ajax/ajax_functions.php", options);
	
	var options = { method: "post" }
	var ajaxCall = new Ajax.Updater("devis", "includes/panier.php", options);
} */


/**
 * @desc Envoi une requête Ajax pour ouvrir une popup d'oubli de mot de passe
 */
function openPopupForgetPassword() {
	var ajax = new Ajax.Request(
		'includes/ajax_functions.inc.php', 
		{
        	method: 'get',
			parameters: {func: 'popupForgetPassword'},
	        onSuccess: function(response) { handleResponseOpenPopupForgetPassword(response); }, 
			onFailure: function() { alert("Une erreur est survenue lors de l'appel AJAX.\nRecharger la page devrait résoudre le problème.") }
    	}
	);
}


/**
 * @desc Reçois la réponse de la requête Ajax envoyée dans la fonction openPopupForgetPassword()
 *       Ouvre une popup avec un formulaire d'oubli de mot de passe
 * @param (object) response
 */
function handleResponseOpenPopupForgetPassword(response) {
	var xml = response.responseXML;
	
	if (xml.getElementsByTagName('titre_bd')[0]) {
		sTitreBd = xml.getElementsByTagName('titre_bd')[0].firstChild.nodeValue;
	}
	if (xml.getElementsByTagName('contenu_bd')[0]) {
		sContenuBd = xml.getElementsByTagName('contenu_bd')[0].firstChild.nodeValue;
	}
	
	new Ajax.Updater(
		'dialog_box',
		'html/boite_dialogue.php',
		{
			method: 'get',
			parameters: {titre_bd: sTitreBd, contenu_bd: sContenuBd},
			onComplete: function() { makeItDraggable(); } 
		}
	);
	
	/**
	 * @desc Rend le div draggable
	 */
	function makeItDraggable() {
		new Draggable('BD', { scroll:window, handle:'titreBD', revert:false } );
	}
	
	/**
	 * @desc On fait un gestionnaire d'événement sur le submit du formulaire pour gérer la soumission
	 *//*
	Event.observe(window, 'load', function() {
		Event.observe('form_oubli_password', 'submit', handleFormSubmit);
	});
	*/
	
	/**
	 * @desc Fonction qui sera appelée à la validation du formulaire d'envoi de mot de passe
	 */ /*
	function handleFormSubmit(event) {
		Event.stop(event);
		// code Ajax
	}*/
}


 /**
 * @desc Envoi une requête Ajax pour réenvoyer le mot de passe à l'utilisateur
 */
function resendPassword() {
    var ajax = new Ajax.Request(
		'includes/ajax_functions.inc.php', 
		{
        	method: 'get',
			parameters: {func: 'resendPassword', email: $F('email')},
	        onSuccess: function(response) { handleResponseResendPassword(response); }, 
			onFailure: function() { alert("Une erreur est survenue lors de l'appel AJAX.\nRecharger la page devrait résoudre le problème.") }
    	}
	);
	return false;
}

 /**
 * @desc Recoi la réponse de la requête Ajax envoyée par lafonction resendPassword() 
 *  Affiche le message d'erreur ou de valiation dans la popup Ajax
 */
function handleResponseResendPassword(response) {
	var xml = response.responseXML;
	
	if (xml.getElementsByTagName('titre_bd')[0]) {
		sTitreBd = xml.getElementsByTagName('titre_bd')[0].firstChild.nodeValue;
	}
	if (xml.getElementsByTagName('message_validation')[0]) {
		sContenuBd = xml.getElementsByTagName('message_validation')[0].firstChild.nodeValue;
	} else if (xml.getElementsByTagName('error_message')[0]) {
		sContenuBd = xml.getElementsByTagName('error_message')[0].firstChild.nodeValue;
	}
	
	new Ajax.Updater(
		'dialog_box',
		'html/boite_dialogue.php',
		{
			method: 'get',
			parameters: {titre_bd: sTitreBd, contenu_bd: sContenuBd},
			onComplete: function() { makeItDraggable(); } 
		}
	);
	
	/**
	 * @desc Rend le div draggable
	 */
	function makeItDraggable() {
		new Draggable('BD', { scroll:window, handle:'titreBD', revert:false } );
	}
}

tinyMCE.init({
	mode : "textareas",
	editor_selector : "mceEditor",
	plugins : "paste",
	language : 'fr',
	theme : "advanced",
	theme_advanced_toolbar_location : "top",
	theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,bullist,numlist,outdent,indent,|,undo,redo,|,link,unlink,anchor",
	theme_advanced_buttons2 : "",
	/*theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,|,,cleanup,|,forecolor,backcolor",*/
	theme_advanced_buttons3 : "",
	paste_create_paragraphs : true,
	paste_create_linebreaks : true,
	paste_use_dialog : false,
	paste_auto_cleanup_on_paste : true,
	paste_convert_middot_lists : false,
	paste_unindented_list_class : "unindentedList",
	paste_convert_headers_to_strong : true
});