/**
  * modifie le style d'affichage de la ligne de detail d'un produit
  */
function toggleDetail(product)
{
	var detailRowId = "detail_" + product;
	var detailRow = document.getElementById(detailRowId);

	if (detailRow.style.display == 'none'){
		detailRow.style.display = '';
	}
	else
		detailRow.style.display = 'none';
}

/**
  * formatte une chaine numerique flottante (xxx,xx)
  * 
  * @param float money
  * @return string formatted
  */
function formatAsMoney(mnt) {
    mnt -= 0;
    mnt = (Math.round(mnt*100))/100;
    var res =  (mnt == Math.floor(mnt)) ? mnt + '.00' 
              : ( (mnt*10 == Math.floor(mnt*10)) ? 
                       mnt + '0' : mnt);

    res = String(res);
    var retString = res;    

    if (res && res.indexOf(".") != -1)
    	retString = res.replace(".", ",");

    return retString;
}


/**
  * met a jour les champs tarifs propres a un produit donné
  * 
  * @param form element checkbox
  * @return void
  */
function updateTarif(element)
{

	var optionArray = element.id.split("_");
	var productId = optionArray[3];
	var optionId = optionArray[1];
	var optCheck = element.checked;
	var materielId = optionArray[5];
	var productTarifs = tarifs[productId];
	var nbOptions = (productTarifs.length / 2) - 1;
	
	var tarifCatalogue = productTarifs[0];
	var tarifReduit = productTarifs[1];
	
	//alert("cat: " + tarifCatalogue + " - red: " + tarifReduit);
	
	for (i = 1; i <= nbOptions; i++)
	{
		var optionName = "opt_" + i + "_prd_" + productId + "_mat_" + materielId 
		var optionInput = document.getElementById(optionName);
		/*console.log(optionName);
		console.log(optionInput);
		*/
		if (optionInput.checked){
			var optionTarifCat = productTarifs[i + i];
			var optionTarifRed = productTarifs[i + i + 1];
			
			//alert("option: " + optionName + " - tcat: " + optionTarifCat + " - tred: " + optionTarifRed);
			tarifCatalogue = tarifCatalogue + optionTarifCat;
			tarifReduit = tarifReduit + optionTarifRed;
		}
	}
	
	var prdTarifCatTarget = document.getElementById("tcat_" + productId + "_" + materielId);
	var prdTarifRedTarget = document.getElementById("tred_" + productId + "_" + materielId);
	
	prdTarifCatTarget.innerHTML = "" + formatAsMoney(tarifCatalogue) + " &euro;";
	prdTarifRedTarget.innerHTML = "" + formatAsMoney(tarifReduit) + " &euro;";
}


/**
  * met a jour les champs tarifs propres a un produit donné
  * 
  * @param form element checkbox
  * @return void
  */
function updateTarifV2(element)
{

	var optionArray = element.split("_");
	var productId = optionArray[3];
	var optionId = optionArray[1];
	var optCheck = element.checked;

	var productTarifs = tarifs[productId];
	var nbOptions = (productTarifs.length / 2) - 1;
	
	var tarifCatalogue = productTarifs[0];
	var tarifReduit = productTarifs[1];
	
	//alert("cat: " + tarifCatalogue + " - red: " + tarifReduit);
	
	for (i = 1; i <= nbOptions; i++)
	{
		var optionName = "opt_" + i + "_prd_" + productId;
		var optionInput = document.getElementById(optionName);
		if (optionInput.checked){
			var optionTarifCat = productTarifs[i + i];
			var optionTarifRed = productTarifs[i + i + 1];
			
			//alert("option: " + optionName + " - tcat: " + optionTarifCat + " - tred: " + optionTarifRed);
			tarifCatalogue = tarifCatalogue + optionTarifCat;
			tarifReduit = tarifReduit + optionTarifRed;
		}
	}
	
	var prdTarifCatTarget = document.getElementById("tcat_" + productId);
	var prdTarifRedTarget = document.getElementById("tred_" + productId);
	
	prdTarifCatTarget.innerHTML = "" + formatAsMoney(tarifCatalogue) + " &euro;";
	prdTarifRedTarget.innerHTML = "" + formatAsMoney(tarifReduit) + " &euro;";
}

function doAddToCart(prdname)
{
	var prdArray = prdname.split("_");
	var productId = prdArray[1];
	
	var productTarifs = tarifs[productId];
	var nbOptions = (productTarifs.length / 2) - 1;

	var realOptionId = '';
	
	var submitUrl = "http://" + window.location.hostname + "/";
	submitUrl += "/LocationSki:Step20/action/addToCart/product/" + productId;
	
	
	
	for (i = 1; i <= nbOptions; i++)
	{
		var optionName = "opt_" + i + "_prd_" + productId;
		var optionInput = document.getElementById(optionName);
		if (optionInput.checked){
		    realOptionId = options[productId][i];
			submitUrl = submitUrl + "/option_" + realOptionId + "/selected"; 
		}
	}
	//alert(submitUrl);
	window.location = submitUrl;
	//alert(submitUrl);

}

function doAddToCartWithMat(prdname, matid)
{
	var prdArray = prdname.split("_");
	var productId = prdArray[1];
	
	var productTarifs = tarifs[productId];
	var nbOptions = (productTarifs.length / 2) - 1;

	var realOptionId = '';
	
	var submitUrl = "http://" + window.location.hostname + "/";
	submitUrl += "/LocationSki:Step20/action/addToCart/product/" + productId + "/modele/" + matid;
		
	 
		
	for (i = 1; i <= nbOptions; i++)
	{
		var optionName = "opt_" + i + "_prd_" + productId + "_mat_" + matid;
		var optionInput = document.getElementById(optionName);
		if (optionInput.checked){
		    realOptionId = options[productId][i];
			submitUrl = submitUrl + "/option_" + realOptionId + "/selected"; 
		}
	}
	//alert(submitUrl);
	window.location = submitUrl;
	//alert(submitUrl);

}

function changeProduit(id){
	var produits = $$('div.produitCatalogue');
	produits.each(function(a) {
		if(a.id != id)
			a.style.display = 'none';
		else
			a.style.display = 'block';
	});
	var liens = $$('a.case-numero');
	
	liens.each(function(a) {
		
		if(a.id != 'lien_' + id)
			a.removeClassName('current');
		else
			a.addClassName('current');
		
	});
	return false;
	//produitCatalogue
}

function apercuProduit(id){
	var produits = $$('div.apercuProduitCatalogue');
	produits.each(function(a) {
		if(a.id != id)
			a.style.display = 'none';
		else
			a.style.display = 'block';
	});
	
	//produitCatalogue
}
