// [MODULE-HEADER]
// *************************************************************************************************
//
// Name:				ShoWareFrontEndGiftCertificate.js
//
// Created:			11/05/2004 VisionOne AG, St Gallen fbe
// Modified:		27/04/2010 VisionOne AG, St. Gallen NKU	: WI-2393- Fix for updating the remaining total of order
// Modified:		31/05/2004 VisionOne AG, St Gallen fbe	: The new order total is used to update gift certificate label
// Modified:		11/05/2004 VisionOne AG, St Gallen fbe	: Creation
//
// *************************************************************************************************

function SWFrontEndGiftCertificate_FormatDecimal(value)
{
	value = Math.round(value * 100) / 100;
	
	var DECIMAL_COUNT = 2;
	var currDecimal = DECIMAL_COUNT;
	var result = new String(value);
	var separator = ".";

	if(!isNaN(value))
	{
		var indexDecimalSeparator = result.indexOf(separator);
		if (indexDecimalSeparator != -1)
		{
			currDecimal = currDecimal - (result.length - (indexDecimalSeparator + 1));
			
			
			if (currDecimal > DECIMAL_COUNT)
			{
				result = result.substring(0, indexDecimalSeparator + DECIMAL_COUNT);
				currDecimal = 0;
			}
		}
		else
		{
			result += separator;
		}
	}

	for (var i = 0; i < currDecimal; i++)
	{
		result += "0";
	}

	return result;			
}


function SWFrontEndGiftCertificate_UpdateOrderTotal(newOrderTotal)
{
	if (window.SWFrontEndGiftCertificate_lblOrderTotal && window.SWFrontEndGiftCertificate_lblOrderTotalLeftToPay)
	{
		var lblOrderTotal          = document.getElementById(SWFrontEndGiftCertificate_lblOrderTotal);
		var lblOrderTotalLeftToPay = document.getElementById(SWFrontEndGiftCertificate_lblOrderTotalLeftToPay);
		
		var difference = 0;
		
		if (lblOrderTotal)
		{
			var orderTotal = 0;
			var orderTotalText = lblOrderTotal.innerHTML;
			if (!isNaN(orderTotalText))
				orderTotal = parseFloat(orderTotalText);
			
			difference = newOrderTotal - orderTotal;
			
			if (newOrderTotal >= 0)
			{
				lblOrderTotal.innerHTML = SWFrontEndGiftCertificate_FormatDecimal(newOrderTotal);
				
				var totalLeftToPay = 0;
				var totalLeftToPayText = lblOrderTotalLeftToPay.innerHTML;
				if (!isNaN(totalLeftToPayText))
					totalLeftToPay = parseFloat(totalLeftToPayText);
					
				totalLeftToPay += difference;		
				//WI-2392/always update this value even if its zero
				//if (totalLeftToPay >= 0)
				lblOrderTotalLeftToPay.innerHTML = SWFrontEndGiftCertificate_FormatDecimal(totalLeftToPay);
				//WI-2392/always update this value
			}
		}		
	}
} 
