<!--//--><![CDATA[//><!--
// Handle Event Listener
Event.observe(window, 'load', initCartForm, false);

function initCartForm() {
	//--- Affichage en colonne
	multiColumn("order-header", "DL");
	multiColumn("order-addresses", "DL");
	multiColumn("order-form", "DIV");
	
	//--- Sélecteur du compteur de caractères
	var counterSelector = "div.char-counter";
	var fieldsSelector = "textarea";
	var fields = $("frm-cart").getElementsBySelector(fieldsSelector);
	//alert(fields.inspect());
	//--- CHAMPS TEXTE PERSONALISE
	limitFieldsChars(fields, counterSelector);
	
	//--- Masque le mini caddie
	if ($("minicart")) {
		$("minicart").hide();
	}
	//--- Soumission du panier
	var $btn_submit = $("btn_submit-cart");
	var $frm_cart = $("frm-cart");
	var $accept_terms = $("accept-terms");
	
	var $order_items = $("order-items");
	if (!$order_items) {
		$btn_submit.disabled="disabled";
		Element.addClassName($btn_submit, "disabled");
	} else {
		Event.observe($btn_submit, 'click', function(event) {
										($accept_terms) ? $("q").value="validate": $("q").value = "proceed";
										$frm_cart.submit();
										Event.stop(event);
										});
	}
	
	//--- Acceptation des conditions
	if ($accept_terms) {
		if(!$accept_terms.checked) {
			$btn_submit.disabled="disabled";
			Element.addClassName($btn_submit, "disabled");
		}
		Event.observe('accept-terms', 'click', function(event){ 
			if($accept_terms.checked) {
				$btn_submit.disabled="";
				Element.removeClassName($btn_submit, "disabled")
			} else {
				$btn_submit.disabled="disabled";
				Element.addClassName($btn_submit, "disabled");
			}
		});
	}
	//--- Gestion des evenements du panier
	handleCartEvents();
	
	//--- Gestion de l'expédition
	handleExpeditionEvents();
	
	//--- Gestion de l'affichage des zones d'expédition
	handleShippingZonesEvents();
	
	//--- Gestion des codes promotionnels
	handleDiscountEvents();
	
	//--- Gestion de la destination
	handleDestinationEvents();
	
	//--- Gestion du Mode de Paiement
	handlePaiementEvents();
}
function handlePaiementEvents() {
	if ($("paiement-options")) {
		var nodes = $("paiement-options").getElementsBySelector("INPUT[type='radio']");
		nodes.each(function(node) {
			if (node.checked==true) {
				//--- Etiquette
				var label = node.previous('LABEL');
				if ($("paiement-text")) {
					$("paiement-text").innerHTML=label.textContent;
				}
			}
			Event.observe(node, "click", function(event) {
											//--- Etiquette
											var label = node.previous('LABEL');
											if ($("paiement-text")) {
												$("paiement-text").innerHTML=label.textContent;
											}
							 });
		});
	}
}
function handleShippingZonesEvents() {
	if ($("shipping-zones")) {
		Event.observe("shipping-zones", "click", function(event) {
										 popShippingZones(this.href);
										 Event.stop(event);
						});
	}
}
function handleDestinationEvents() {
	if ($("Destination")) {
		if ($("destination-text")) {
			var index = $("Destination").selectedIndex;
			var text = $("Destination").options[index].text;
			$("destination-text").innerHTML=text.toUpperCase();
		}
		Event.observe("Destination", "change", function(event) {
									//--- Mise à jour du texte de l'entête
									if ($("destination-text")) {
										var index = $("Destination").selectedIndex;
										var text = $("Destination").options[index].text;
										$("destination-text").innerHTML=text.toUpperCase();
									}
									Event.stop(event);
						});
	}
}
function handleExpeditionEvents() {
	if ($("Code_Expedition")) {
		Event.observe("Code_Expedition", "blur", function(event) {
									Event.stop(event);
									var params = 'do=autocomplete&q=destinations&Code_Expedition='+$F("Code_Expedition");
									var myAjax = new Ajax.Request( sAjaxServer, {
																	method: "get", 
																	parameters: params, 
																	onSuccess: function (oReq) {
																		if ($("Destination")) $("Destination").innerHTML=oReq.responseText;
																	}
																});
							});
		Event.observe("Code_Expedition", "change", function(event) {
									Event.stop(event);
									$("q").value = "actualize-cart";
									//--- Mise à jour du texte de l'entête
									if ($("expedition-text")) {
										var index = $("Code_Expedition").selectedIndex;
										var text = $("Code_Expedition").options[index].text;
										$("expedition-text").innerHTML=text;
									}
									var sParam = "";
									manageCart(sParam);
									if ($("Destination")) $("Destination").focus();
							});
	}
}
function handleDiscountEvents() {
	if ($("btn_code_avantage")) {
		Event.observe("btn_code_avantage", "click", function(event) {
										$("q").value = "actualize-cart";
										var sParam = "Code_Avantage=" + $F("Code_Avantage");
										manageCart(sParam);
										Event.stop(event);
						});
	}
}
function handleCartEvents() {
	if ($("order-items")) {
		//--- Modification de la quantité d'articles dans le panier
		var editQtys = $("order-items").getElementsBySelector("input.edit-qte");
		editQtys.each(function(field, index) {
					 Event.observe(field, 'keyup', function(event) {
									//$("q").value = (this.id).split("_")[0];
									$("q").value = "actualize-cart";
									var sParam = "uid=" + (this.id).split("_")[1];
									manageCart(sParam);
									Event.stop(event);
									});
					 
					 });
		//--- Suppression d'articles dans le panier
		var trashBeans = $("order-items").getElementsBySelector("img.delete-item");
		trashBeans.each(function(bean, index) {
					 Event.observe(bean, 'click', function(event) {
									$("q").value = (this.id).split("_")[0];
									var sParam = "uid=" + (this.id).split("_")[1];
									manageCart(sParam);
									Event.stop(event);
									});
					 
					 });
	}
	
	//--- Vider et recalculer le panier
	if ($("btn_empty-cart") && $("btn_actualize-cart")) {
		var allButtons = $("btn_empty-cart", "btn_actualize-cart");
		allButtons.each(function(button, index) {
			if($("order-items")) {
					Event.observe(button, 'click', function(event) {
									$("q").value = (this.id).split("_")[1];
									var sParam = "Code_Avantage=" + $F("Code_Avantage");
									manageCart(sParam);
									Event.stop(event);
									});
			} else {
				allButtons[i].disabled="disabled";
				Element.addClassName(allButtons[i], "disabled");
			}
		 });
	}
}
function manageCart(sParams) {
	var pars = Form.serialize($("frm-cart"));
	if (sParams.length>0) {
		pars += "&" + sParams;
	}
	//alert(pars);
	var myAjax = new Ajax.Request( sAjaxServer, {method: 'get', parameters: pars, onComplete: showCart} );
}
function showCart(originalRequest) {
	//put returned XML in the textarea
	$('order-details').innerHTML = originalRequest.responseText;
	//--- Gestion des evenements du panier
	handleCartEvents();
}
//--><!]]>