/**
 * @encoding UTF-8
 */

/**
 * 
 * @param {Object} myElementId
 * @param {Object} myOptionValue
 */
function autoSelect(myElementId, myOptionValue) {
  myElement = document.getElementById(myElementId);
  myOptions = myElement.options;
  n = myOptions.length;
  for (i = 0; i < n; i++) {
    if (myOptions[i].value == myOptionValue) {
      myElement.selectedIndex = i;
      break;
    }
  }
}

/**
 * 
 */
function unFrame() {
  if (window!=top) { top.location=window.location; }
}

/**
 * 
 */
function doTheCookieStuff() {
  sp = getCookie('selected_panel');
  if (sp != null) {
    p.show(sp, document.getElementById(sp + '_cursor'));
  }
}

/**
 * 
 * @param {Object} ElementID
 * @param {Object} Path
 */
function setLoadingDiv(ElementID, Path, Message) 
{
	if(arguments.length <= 1 || arguments[1].length < 1)
	{
		Path = '../..';
	}
	if(arguments.length <= 2 || arguments[2].length < 1)
	{
		Message = '';
	}
	$(ElementID).innerHTML = '<img src="' + Path + '/shop/images/ajax_loading.gif" /> '+ Message;
}

/**
 * 
 * @param {Object} ElementID
 */
function unsetLoadingDiv(ElementID) 
{
  $(ElementID).innerHTML = '';
}

/**
 * 
 * @param {Object} ProductID
 * @param {Object} quantityToAdd
 * @param {Object} maxQuantity
 */
function setQuantity(inputID, quantityToAdd, maxQuantity, fonctionCalcul)
{
	var currentQuantity = parseInt($F(inputID));
	var futureQuantity  = currentQuantity + parseInt(quantityToAdd);
	if (futureQuantity < 0)
	{
		alert('Vous ne pouvez pas disposer d\'un produit en quantité négative !');
	}
	else
	{
		$(inputID).value = futureQuantity;
	}
	
	switch (fonctionCalcul)
	{
		case 'panier':
			var name = "quantity"; 
			var id = inputID.substring(name.length, inputID.length);
			calculTotalPanier(id);
			break;
		case 'cartoucheCompat':
			calculTotalCartoucheCompat();
			calculTotalCartoucheOem();
			break;
		case 'cartoucheOem':
			calculTotalCartoucheOem();
			calculTotalCartoucheCompat();
			break;
	}
}

function calculTotalCartoucheCompat()
{
	var nbArticle = parseInt($F('nbCompat'));
	var totalPrice = 0;
	var totalPriceHT = 0;
	var totalQuantite = 0;
	var price = 0;
	var quantite = 0;
	
	for (var i = 1; i <= nbArticle; i++)
	{
		price = parseFloat($F('priceCompat' + i));
		quantite = parseInt($F('qteCompat' + i));
		
		totalPrice = parseFloat(totalPrice + (price * quantite));
		totalQuantite = totalQuantite + quantite;
	}
	
	totalPriceHT = parseFloat(totalPrice) / 1.196;
	
	$('totalCartoucheCompat').innerHTML = totalPrice.toFixed(2);
	$('totalHTCartoucheCompat').innerHTML = totalPriceHT.toFixed(2);
	$('nbCartoucheCompat').innerHTML = totalQuantite;
	
	calculTotalEconomisez('Compat');
}

function calculTotalCartoucheOem()
{
	var nbArticle = parseInt($F('nbOem'));
	var totalPrice = 0;
	var totalPriceHT = 0;
	var totalQuantite = 0;
	var price = 0;
	var quantite = 0;
	
	for (var i = 1; i <= nbArticle; i++)
	{
		price = parseFloat($F('priceOem' + i));
		quantite = parseInt($F('qteOem' + i));
		
		totalPrice = parseFloat(totalPrice + (price * quantite));
		totalQuantite = totalQuantite + quantite;
	}
	
	totalPriceHT = parseFloat(totalPrice) / 1.196;
	
	$('totalCartoucheOem').innerHTML = totalPrice.toFixed(2);
	$('totalHTCartoucheOem').innerHTML = totalPriceHT.toFixed(2);
	$('nbCartoucheOem').innerHTML = totalQuantite;
	
	calculTotalEconomisez('Oem');
}

function calculTotalEconomisez(type)
{
	var nbArticle = parseInt($F('nb' + type));
	var totalEconomisez = 0;
	var totalEconomisezMl = 0;
	var totalPriceOem = 0;
	var totalPriceCompat = 0;
	var totalOem = 0;
	var totalCompat = 0;
	var priceOem = 0;
	var priceCompat = 0;
	
	var mlOem = 0;
	var mlCompat = 0;
	var totalmloem = 0;
	var totalmlcompat = 0;
	var totalEconomisezMlPourcent = 0;
	var capacitePageOem = 0;
	var capacitePageCompat = 0;
	var totalCapacitePageOem = 0;
	var totalCapacitePageCompat = 0;
	var totalEconomisezCapacitePagePourcent = 0;
	
	var quantite = 0;
	var totalEconomisezPourcent = 0;
	
	for (var i = 1; i <= nbArticle; i++)
	{
		//Debut nouvelle version calcul
		
		//On recupere tout le groupe 1 (OEM ou COmpat selon le cas)
		// 0 => Prix, 1=> Qty, 2=> productID, 3 => ml (a ajouter)
		cote1 = $('price'+ type + i).up();
		if (typeof(cote1) != 'undefined' && cote1 != null) {//il existe un produit i pour le cote 1
		
			cote1Infos = cote1.descendants();
			cote1Prix = parseFloat(cote1Infos[0].value);
			cote1Qty = cote1Infos[1].value;
			cote1ml = parseFloat(cote1Infos[3].value);
			cote1ID = cote1.id;
			if (type == "Oem") {
				cote2ID = cote1ID.replace('Oem_', 'Compat_');
			}
			else {
				cote2ID = cote1ID.replace('Compat_', 'Oem_');
			}
			cote2 = $(cote2ID);
			
			if (typeof(cote2) != 'undefined' && cote2 != null) {//la ref existe dans les 2 tableaux
				cote2Infos = cote2.descendants();
				cote2Prix = parseFloat(cote2Infos[0].value);
				cote2Qty = cote2Infos[1].value;	
				cote2Infos[1].value = cote1Qty;
				cote2ml = parseFloat(cote2Infos[3].value);
			}
			else
			{
				cote2Prix = 0;
				cote2Qty = 0;
				cote2ml = 0;
			}

		}
		
		if (type == "Oem") {
			priceCompat = cote2Prix;
			priceOem = cote1Prix;
			
			mlCompat = cote2ml;
			mlOem = cote1ml;
		}
		else {
			priceCompat = cote1Prix;
			priceOem = cote2Prix;
			
			mlCompat = cote1ml;
			mlOem = cote2ml;
		}
			
		totalPriceOem = totalPriceOem + (priceOem * cote1Qty);
		totalPriceCompat = totalPriceCompat + (priceCompat * cote1Qty);
		
		totalmloem = totalmloem + (mlOem * cote1Qty);
		totalmlcompat = totalmlcompat + (mlCompat * cote1Qty);
	}
	
	totalEconomisez = totalEconomisez + (totalPriceOem - totalPriceCompat);

	if (totalPriceOem != 0)
	{
		totalEconomisezPourcent = ((totalPriceOem - totalPriceCompat) / totalPriceOem) * 100;
	}
	
	if (totalmloem > 0)
	{
		totalEconomisezMlPourcent = ((totalmlcompat - totalmloem) / totalmloem) * 100;
	}
	
	if (totalCapacitePageOem > 0 && totalCapacitePageCompat > 0)
	{
		totalEconomisezCapacitePagePourcent = ((totalCapacitePageOem - totalCapacitePageCompat) / totalCapacitePageOem) * 100;
	}
	
	var montantEcoPourcent = '...';
	var montantEco = '...';
	var montantEcoMlPourcent = '...';
	var montantEcoCapacitePagePourcent = '...';
	
	if(totalEconomisez > 0)
	{
		montantEco = Math.abs(totalEconomisez.toFixed(2));
		montantEcoPourcent = Math.abs(totalEconomisezPourcent.toFixed(2));
	}
	
	if (totalEconomisezMlPourcent > 0)
	{
		montantEcoMlPourcent = Math.abs(totalEconomisezMlPourcent.toFixed(2));
	}
	
	if (totalEconomisezCapacitePagePourcent > 0)
	{
		montantEcoCapacitePagePourcent = Math.abs(totalEconomisezCapacitePagePourcent.toFixed(2));
	}
	
	if ($('totalEconomisezPourcent'))
	{
		$('totalEconomisezPourcent').innerHTML = montantEcoPourcent;
	}
	
	if ($('totalEconomisez'))
	{
		$('totalEconomisez').innerHTML = montantEco;
	}
	
	if ($('totalEconomisezMl'))
	{
		$('totalEconomisezMl').innerHTML = montantEcoMlPourcent;
	}
	if ($('totalEconomisezCapacitePage'))
	{
		$('totalEconomisezCapacitePage').innerHTML = montantEcoCapacitePagePourcent;
	}
}

function calculTotalPanier(id)
{
	var nbArticle = parseInt($F('nbArticle'));
	var total = 0;
	var price = 0;
	var quantite = 0;
	var totalTTC = 0;
	var totalHT = 0;
	var totalTVA = 0;
	
	for (i = 1; i <= nbArticle; i++)
	{
		price = parseFloat($F('price' + i));
		quantite =  parseInt($F('quantity' + i));
		total = parseFloat(total + (price * quantite));
		totalProductTTC = parseFloat(price * quantite);
		totalProductTTC = totalProductTTC.toFixed(2);
		totalTTC = total.toFixed(2);
		
		totalProductHT = parseFloat(totalProductTTC) / 1.196;
		totalProductTTC = parseFloat(totalProductTTC);
		$('totalHT' + i).innerHTML = totalProductHT.toFixed(2);
		$('totalTTC' + i).innerHTML = totalProductTTC.toFixed(2);
	}
	
	if (id != 0)
	{
		// Ajax MAJ du panier
		new Ajax.Request('../../../shop/ajax/updateShoppingCart.php',
						{
							method: 'post',
							asynchronous: false,
							parameters: 'productID=' + $F('productID' + id) +
										'&quantity=' + $F('quantity' + id)
						});
	}
	
	$('totalPanier').innerHTML = totalTTC;
	
	if ($('pmv') && $('pmv').checked)
	{
		var sousTotal = totalTTC - parseFloat($F('pmv'));
		$('sousTotal').innerHTML = sousTotal.toFixed(2);
		totalTTC = sousTotal;
	}
	
	var freeShipping = parseFloat($F('freeShipping'));
	var voucher = parseFloat($F('vouchersValue'));
	var voucherID = parseInt($F('voucherID'));
	
	if (nbArticle != 0)
	{
		if (totalTTC < freeShipping)
		{
			reste = freeShipping - totalTTC;
			reste = reste.toFixed(2);
			$('fraisPort').innerHTML = '6.50 &euro;';
			totalTTC = parseFloat(totalTTC) + 6.50;
			$('msg_seuil').innerHTML = 'Encore <b>' + reste + ' euros</b> de commande pour b&eacute;n&eacute;ficier des frais de port offerts (6.50 &euro;)';
		}
		else
		{
			$('fraisPort').innerHTML = 'offerts !';
			$('msg_seuil').innerHTML = 'Votre commande est sup&eacute;rieure &agrave; ' + freeShipping + ' euros, les frais de port sont offerts (6.50 &euro;)';
		}
	}
	
	if (voucherID != 0)
	{
		var xmlHttp = new Ajax.Request('../../../shop/ajax/checkVoucher.php',
						{
							method: 'post',
							asynchronous: false
						});
		
		if (xmlHttp.transport.responseText == '1')
		{			
			window.location.reload();
		}
	}
	
	totalTTC = totalTTC - voucher;
	
	totalHT = parseFloat(totalTTC / 1.196);	
	totalTTC = parseFloat(totalTTC);
	totalTVA = parseFloat(totalTTC - totalHT);
	
	$('totalHT').innerHTML = totalHT.toFixed(2);
	$('totalTVA').innerHTML = totalTVA.toFixed(2);
	$('totalTTC').innerHTML = totalTTC.toFixed(2);
}

function emptyCart()
{
	if (confirm('Voulez-vous vraiment vider votre panier ?'))
	{
		var xmlHttp = new Ajax.Request('../../../shop/ajax/emptyShoppingCart.php',
									{
										asynchronous: false
									});
		
		if (xmlHttp.transport.responseText == '1')
		{			
			window.location.reload();
		}
	}
}

/**
 * 
 * @param {Object} id
 */
function openClose(id)
{
	var o = document.getElementById(id);
	if(o)
	{
		if(o.style.display == 'none')
		{
			o.style.display = 'block';
		}
		else
		{
			o.style.display = 'none';
		}
	}
}

function openClose2(id)
{
	var o = document.getElementById(id);
	if(o)
	{
		if(o.style.display == 'block')
		{
			o.style.display = 'none';
		}
		else
		{
			o.style.display = 'none';
		}
	}
}


function showBubble(e){
	if (document.all) {
		e = event;
	}
	var obj  = document.getElementById('bubble');
	obj.style.display = 'block';
	var st = Math.max(document.body.scrollTop,document.documentElement.scrollTop);
	if (navigator.userAgent.toLowerCase().indexOf('safari')>=0) {
		st = 0; 
	}
	var leftPos = e.clientX - 190;
	if (leftPos<0) {
		leftPos = 0;
	}
	obj.style.left = leftPos + 'px';
	obj.style.top = e.clientY - obj.offsetHeight -1 + st + 'px';
}	
	
function hideBubble() {
	document.getElementById('bubble').style.display = 'none';
}


function attrSelect(Main, Sub)
{		
	new Ajax.Request('../../../ajax/attrSelect.php', {
		method: 'post', 
		parameters: 'main=' + Main  +'&sub='+ Sub,
		onComplete: function(t) {
			eval(t.responseText);
		},
		evalScripts: true
	});
}
	
function addAttr(selectName, Ovalue, Otext, Otitle, Oclass, Oselection)
{
	var oOption = document.createElement("option");
	oOption.text= Otext;
	oOption.title = Otitle;
	oOption.value = Ovalue;
	oOption.className = Oclass;
	oOption.label = Otext;
	if(Oselection == 1)
	{
		oOption.selected = true;
	}
	$(selectName).appendChild(oOption);	
}

function setAttrStock(Stock)
{
	$("stock_level").src = "/images/icons/stock_vert_level_"+ Stock +".gif";
}

