/******************************************************************************
* ixlufBasket.js
******************************************************************************/

isoYUILoader.onReady(function () {
    YAHOO.util.Event.onContentReady("ixLufBasketItems", function() {
	
		function panierUrl() {
			var extension = document.location.pathname;
			var pos = extension.lastIndexOf(".");
			extension = extension.substr(pos + 1).toLowerCase();
			if(extension == "aspx") {
				return "panier.aspx";
			}
			return "panier.asp";
		}	
		var conteneurPanier = document.getElementById('ixLufBasketItems');	
		var btnPanier = document.getElementById('ixLufBasketButton');	
		var basketSummury = document.getElementById('ixLufBasketSummury');	
			
		var em1 = basketSummury.appendChild(document.createElement("em"));
		var span1 = basketSummury.appendChild(document.createElement("span"));
		var em2 = basketSummury.appendChild(document.createElement("em"));
		var span2 = basketSummury.appendChild(document.createElement("span"));
		span1.setAttribute("id","ixLufBasketSpan");

		basketSummury.appendChild(em1);	
		basketSummury.appendChild(span1);	
		basketSummury.appendChild(document.createElement("br"));		
		basketSummury.appendChild(em2);	
		basketSummury.appendChild(span2);	
		
		/* Panier Prêt */
		gshp.basket.on('ready', function () {
			updateBasketView ();
		});
		
		gshp.basket.on('change', function () {	
			updateBasketView ();
		});
			
		/* Panier start working */
		gshp.basket.on('busyStart', function () {

		});
	
		/* Panier end working */
		gshp.basket.on('busyEnd', function () {

		});
		
		/* Vider panier */
		var ixFrArDeleteAll = document.getElementById('ixLufDeleteItems');	
		YAHOO.util.Event.addListener(ixFrArDeleteAll, "click", function () {
			gshp.basket.deleteAll();
		});	
		
		function ixLufDeleteItems () {
			gshp.basket.deleteAll();
		}
		
		/* Rendu Panier */
		function updateBasketView () {	
			var nbreProduit = 0;	
			var prixTotalHT = 0;
			var prixTotalTTC = 0;
			conteneurPanier.innerHTML = '';
			btnPanier.innerHTML = '';

			gshp.basket.eachItem(function (item) {
				nbreProduit = nbreProduit + parseFloat(item.getField('quantity'));
			});
			
	
			if (!gshp.basket.isEmpty()) {			
				var table = document.createElement('table');
				table.setAttribute("id","basketProducts");
				conteneurPanier.appendChild(table);
				var tableProduit = document.createElement('tbody');
				table.appendChild(tableProduit);

				var lignePanier = document.createElement('tr');
				tableProduit.appendChild(lignePanier);	
				var entetePanier = document.createElement('th');
				entetePanier.setAttribute("id","enteteQte");				
				lignePanier.appendChild(entetePanier);
				entetePanier.innerHTML = "Qt&eacute;";	
				var entetePanier = document.createElement('th');
				entetePanier.setAttribute("id","enteteLabel");						
				lignePanier.appendChild(entetePanier);
				entetePanier.innerHTML = "D&eacute;signation";	
				var entetePanier = document.createElement('th');
				entetePanier.setAttribute("id","entetePrice");	
				lignePanier.appendChild(entetePanier);
				entetePanier.innerHTML = "Prix";
				var entetePanier = document.createElement('th');
				entetePanier.setAttribute("id","deleteItem");					
				lignePanier.appendChild(entetePanier);
				
				var table = document.createElement('table');
				table.setAttribute("id","basketTotaux");
				conteneurPanier.appendChild(table);	
				var tableTotaux = document.createElement('tbody');
				table.appendChild(tableTotaux);	
				
				
				var lignePanier = document.createElement('tr');
				tableTotaux.appendChild(lignePanier);	
				var entetePanier = document.createElement('th');			
				lignePanier.appendChild(entetePanier);
				entetePanier.innerHTML = "Total HT :";
				var totalHT = document.createElement('td');
				lignePanier.appendChild(totalHT);

				var lignePanier = document.createElement('tr');
				tableTotaux.appendChild(lignePanier);	
				var entetePanier = document.createElement('th');			
				lignePanier.appendChild(entetePanier);
				//entetePanier.innerHTML = "Total panier TTC :";
				var totalTTC = document.createElement('td');
				//lignePanier.appendChild(totalTTC);
				
				
				var bgColorLigne = "even";
				gshp.basket.eachItem(function (item) {
					var lignePanier = document.createElement('tr');
					if (bgColorLigne == "even") {
						bgColorLigne = "odd";
					} 
					else if (bgColorLigne == "odd") {
						bgColorLigne = "even";
					}
					YAHOO.util.Dom.addClass(lignePanier, bgColorLigne); 
					tableProduit.appendChild(lignePanier);	
					var qteProd = document.createElement('td');
					YAHOO.util.Dom.addClass(qteProd, 'qteProd'); 
					lignePanier.appendChild(qteProd);
					qteProd.innerHTML = item.getField('quantity');
					var labelProd = document.createElement('td');
					YAHOO.util.Dom.addClass(labelProd, 'labelProd'); 
					lignePanier.appendChild(labelProd);
					labelProd.innerHTML = item.getField('label');
					var prixProd = document.createElement('td');
					YAHOO.util.Dom.addClass(prixProd, 'priceProd'); 
					lignePanier.appendChild(prixProd);
					var deleteProd = document.createElement('td');	
					YAHOO.util.Dom.addClass(deleteProd, 'deleteProd'); 
					lignePanier.appendChild(deleteProd);
					var deleteProdLink = document.createElement('a');
					deleteProdLink.setAttribute("id","deleteProdLink");	
					deleteProdLink.onclick=function(){
						if (item.getOid() != null) {
							gshp.basket.deleteItem(item.getOid());
						}
					}

					deleteProd.appendChild(deleteProdLink);
					
					var prodPrice = item.getField('effectiveTotalPrice');	
					prodPrice = parseFloat(prodPrice.replace(',','.'));
					prodPrice = prodPrice.toFixed(2);
					prodPrice = prodPrice.toString();
					prodPrice = prodPrice.replace('.',',');
					prixProd.innerHTML = prodPrice + " &euro;";

					
					var basketItem = item.getField('effectiveTotalPrice');	
					prixTotalHT = prixTotalHT + parseFloat(basketItem.replace(',','.'));
					prixTotalTTC = prixTotalTTC + parseFloat(basketItem.replace(',','.'));
	
	
					em1.innerHTML = "Nombre d'article : ";
					YAHOO.util.Dom.removeClass("ixLufBasketSpan", 'ixLufBasketEmpty'); 
					span1.innerHTML = nbreProduit;

					em2.innerHTML = "Montant total : ";
					span2.innerHTML = prixTotalTTC.toFixed(2) + " &euro;";
				});
		
				//totalHT.innerHTML = prixTotalHT.toFixed(2) + " &euro;";	
				//totalTTC.innerHTML = prixTotalTTC.toFixed(2) + " &euro;";	
				
				
				
				prixTotalHT = prixTotalHT.toFixed(2);
				prixTotalHT = prixTotalHT.toString();
				prixTotalHT = prixTotalHT.replace('.',',');
				totalHT.innerHTML = prixTotalHT + " &euro;";

				prixTotalTTC = prixTotalTTC.toFixed(2);
				prixTotalTTC = prixTotalTTC.toString();
				prixTotalTTC = prixTotalTTC.replace('.',',');
				totalTTC.innerHTML = prixTotalTTC + " &euro;";				
				
				var btnDeleteAllItems = document.createElement('a');
				btnDeleteAllItems.setAttribute("id","ixLufDeleteItems");
				btnDeleteAllItems.setAttribute("onclick","ixLufDeleteItems()");
				btnDeleteAllItems.innerHTML ="Vider panier";
				btnPanier.appendChild(btnDeleteAllItems);
				
				var btnOrder = document.createElement('a');
				btnOrder.setAttribute("id","ixLufBasketOrder");
				btnOrder.setAttribute("href",panierUrl());
				btnOrder.innerHTML ="Commander";
				btnPanier.appendChild(btnOrder);
				
				if (YAHOO.util.Dom.getStyle('ixLufBasket', 'height') == "auto") {
					YAHOO.util.Dom.setStyle('ixlufBasketUp', 'display','block');
				} else {
					YAHOO.util.Dom.setStyle('ixlufBasketDown', 'display','block');
				}
				
				
				

				

			} else {
				var div = basketSummury.appendChild(document.createElement("div"));
				em1.innerHTML = "";
				em2.innerHTML = "";
				span1.innerHTML = "Panier vide";
				span2.innerHTML = "";
				btnPanier.innerHTML = '';
				YAHOO.util.Dom.addClass("ixLufBasketSpan", 'ixLufBasketEmpty'); 
				YAHOO.util.Dom.setStyle('ixlufBasketDown', 'display','none');
				YAHOO.util.Dom.setStyle('ixlufBasketUp', 'display','none');
				YAHOO.util.Dom.setStyle('ixLufBasket', 'height','46px');
				
				
			}
		}	
	});
});


function ixLufAddToBasket() {
	var oidInput = document.getElementById("ixlufAjaxAddRefOid");
	var oid = oidInput.innerHTML;
	
	if (oid != null) {
		var quantityInput = document.getElementById("ixlufAjaxAddRefQuantity");
		var q = quantityInput.value;
	
		if (q.match(/^[1-9][0-9]*$/)) {
			gshp.basket.addReference(oid,parseInt(q,10));
			
			/* Affichage d'une animation lors de l'ajout */
			YAHOO.util.Dom.setStyle('ixlufAjaxAddRefButton', 'background', 'transparent url(iso_icons/ixluf_loadingBasket.gif) no-repeat scroll 0 0');
			
			/* Arrêter l'animation apés l'ajout */
			gshp.basket.on('busyEnd', function () {
				YAHOO.util.Dom.setStyle('ixlufAjaxAddRefButton', 'background', 'transparent url(iso_icons/ixluf_basket.png) no-repeat scroll 0 0');
			});
		}
		else
			alert("La quantité saisie n'est pas valide");
	}
}


function ixLufAddToBasket2(oid) {
	if (oid != null) {
		var quantityInput = document.getElementById("gshpBasketQuantityInputId"+oid);
		var q = quantityInput.value;
		var gshpBasketBtn = document.getElementById("gshpBasketBtn"+oid);
		
		if (q.match(/^[1-9][0-9]*$/)) {
			gshp.basket.addReference(oid,parseInt(q,10));
			
			/* Affichage d'une animation lors de l'ajout */
			YAHOO.util.Dom.addClass("gshpBasketBtn"+oid, 'addToBasketBtOnBusy'); 
			gshpBasketBtn.innerHTML = 'Ajout ';
			
			/* Arrêter l'animation apés l'ajout */
			gshp.basket.on('busyEnd', function () {
				YAHOO.util.Dom.removeClass("gshpBasketBtn"+oid, 'addToBasketBtOnBusy'); 
				gshpBasketBtn.innerHTML = 'Ajouter au panier';
			});
		}
		else
			alert("La quantité saisie n'est pas valide");
	}
}

function ixLufDeleteItems () {
	gshp.basket.deleteAll();
}
