
function TMUpdateTotal(qtyObject,rateElementId,totalElementId,runningTotalElementId,infoMsgElementId,pricingMethod,totalReqRoom)
{
	var total = 0;
	var qty = 0;
	//alert (totalReqRoom);
	var rateFieldObject = document.getElementById(rateElementId);
	var totalFieldObject = document.getElementById(totalElementId);
	var runningTotalFieldObject = document.getElementById(runningTotalElementId);
	var infoFieldObject = document.getElementById(infoMsgElementId);

	//alert (qtyObject.value);
	if(qtyObject !=null)
	{
		if(isNaN(qtyObject.value))
		{
			qtyObject.value=0;
			totalFieldObject.value=0;
			runningTotalFieldObject.value=0;
			return;
		}
		qty=qtyObject.value;
		//reset  Totals
		totalFieldObject.value=0;
		runningTotalFieldObject.value=0;
		infoFieldObject.value="";
		if(pricingMethod=="G")
		{
			if(qty > 1)
			{
			  infoFieldObject.value="*Error: Group Quantity must be 0 or 1.";
			  qtyObject.value=0;
			  return;
			}
			else
			{
			 infoFieldObject.value="";
			}
		}
		else if(pricingMethod=="D")
		{
			if(qty > 1)
			{
			  infoFieldObject.value="*Error: Quantity must be 0 or 1.";
			  qtyObject.value=0;
			  return;
			}
			else
			{
			 infoFieldObject.value="";
			}
		}
		else if(pricingMethod=="R" || pricingMethod=="P" )
		{
			var totalRmReq =0;
			if(totalReqRoom !=null && totalReqRoom !="")
			{
				totalRmReq = new Number(totalReqRoom);
				if(qty > totalRmReq)
				{
					infoFieldObject.value="*WARNING: Quantity exceeds plan.";
				}
				else
				{
					infoFieldObject.value="";
				}
			}
		}
	}
	if(rateFieldObject !=null && rateFieldObject.value !=null )
	{
		total =qty * rateFieldObject.value;
	}
	if(totalFieldObject !=null  )
	{
		var num1 = new Number(total);
		totalFieldObject.value=formatCurrency(num1.toFixed(2));
		runningTotalFieldObject.value=num1.toFixed(2);
	}
	//alert (totalFieldObject.value);
	UpdateGrandTotal();
}

function UpdateGrandTotal()
{
try
{
  var escortedTourOrgVal=document.getElementById('HiddenEscortedTotal');
  var optionsTourOrgVal=document.getElementById('HiddenSelectedOptTotal');

  var escortedTourAmount=document.getElementById('txtEscortedTourAmount');
  var escortedAmount=0;
  
  var optionsAmount=document.getElementById('txtOptionsAmount');
  var optAmt=0;
  
  var totalSaleAmount=document.getElementById('txtTotalSaleAmount');
  var totalsalAmt=0;

  var clientAllIds=document.getElementById('HiddenData').value;
 
  var arrayIds=clientAllIds.split(",");
  
  if(escortedTourOrgVal !=null && escortedTourOrgVal.value !=null )
  {
	escortedAmount =escortedTourOrgVal.value;
	//alert (escortedAmount);
  }
  
  if(arrayIds !=null)
  {
	for( var id =0; id < arrayIds.length; id++)
	{ 
		var runTotalFld="";
		if(arrayIds[id] !=null && arrayIds[id] !="")
		{
			//alert (arrayIds[id]);
			runTotalFld =document.getElementById(arrayIds[id]);
			//alert (runTotalFld.value);
			if(runTotalFld !=null && runTotalFld.value !=null && runTotalFld.value !="")
			{ 
			 //alert (runTotalFld.value);
				var amt=0;
					amt=parseFloat(runTotalFld.value);
				if(!isNaN(amt))
				{
					optAmt += amt;
				}
			}
		}
	}
  }
  if(optionsAmount !=null )
  {
	optionsAmount.value=formatCurrency(optAmt);
  }
  totalsalAmt =parseFloat(escortedAmount)+parseFloat(optAmt);
  //alert (totalsalAmt);
  if(totalSaleAmount !=null )
  {
	totalSaleAmount.value=formatCurrency(totalsalAmt);
  }
     
}
catch(err)
{
	alert (err.description );
}
}

function formatCurrency(num) 
{
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
	num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
	cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
	num = num.substring(0,num.length-(4*i+3))+','+
	num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + '$' + num + '.' + cents);
}
