
//======================================================================
//	FUNCTION:	Format_CentsToDollars
//
//	INPUT:		cents (int/string) - an integer or string representing a
//			    value in cents with no decimal point in the string
//
//	RETURNS:	a string representing the input value in dollars;
//				if 'cents' is null or undefined, returns -1.
//
//	DESC:		Converts an integer cents value into a string representing
//			    dollars and cents.  For example, converts 125 cents to
//			    1.25 dollars.  
//======================================================================
	function Format_CentsToDollars( cents )
	{
		var resultStr = "0.00";
	
		// Return immediately if an invalid value was passed in
		if (cents+"" == "undefined" || cents+"" == "null")	
			return null;
	
		// Convert to string in case we were passed a numeric value
		cents = cents + "";     
	
		if (cents.length == 1) // handle case where value is 1 to 9 cents
			resultStr = "0.0" + cents;
		else if (cents.length == 2) // handle case where value is 10 to 99 cents
					resultStr = "0." + cents;
			  else resultStr = cents.substring(0, cents.length - 2) + "." +
        			cents.substring(cents.length - 2, cents.length);
         	
	   return resultStr;
	}

//======================================================================
// FUNCTION: Format_DecimalAmount
//
// INPUT:	 nValue (numeric/string) - representing a value numeric value.
//			 nDecimals (numeric)	 - The number of decimals to format.
//			 bCommas (boolean)		 - Do we want commas ?
//
// RETURNS:	 a string representing the input value formatted with commas &
//			 decimals.	 
//			 returns null if invalid arguments were passed
//
// DESC:	 This function formats the input value as requested.
//======================================================================
	function Format_DecimalAmount(nValue, nDecimals, bCommas)
	{		var sRtrn = null;		// Validate		if ((nValue+"" != "undefined") &&
			(nValue+"" != "null") &&
			IsNum(nValue))		{ 
			sRtrn = new String();			var sNum = new String(nValue);
			var sEndValue = new String();
			// - Format the decimal portion
			if ((nDecimals+"" != "undefined") &&
				(nDecimals+"" != "null") &&
				IsNum(nDecimals))			{
				var nDecPos = sNum.indexOf(".");				sEndValue = ((nDecPos > -1) ? "" + 
							sNum.substring(nDecPos, sNum.length) : ".");				var nPadAmount = nDecimals;
				if (sEndValue.length == 0)
				{
				 	sEndValue = ".";
				}
				else
				{
					// - If we have more decimals that needed, the parse out
					var nActualDecimals = (sEndValue.length-1);					if (nActualDecimals > nDecimals)
					{						sEndValue = sEndValue.substring(0, (nDecimals+1));						nPadAmount = 0;
					}					else
					{						nDecimals -= (sEndValue.length-1);
						nPadAmount = nDecimals;					}	
				}				if (nPadAmount > 0)				{	
					for (var nDecCnt = 0; nDecCnt < nPadAmount; nDecCnt++)					{						sEndValue += "0";
					}
				}
			}					// - Set the 'Integer' portion			sNum = "" + parseInt(sNum);
						// - Format with commas
			if (!bCommas)			{				sRtrn = sNum;
			}			else
			{				var nCount = 0;
				var nItem = 0;				var sOneChar = "";				var sWork1 = new String();				for (nItem = sNum.length-1; nItem >= 0; nItem--)
				{					sOneChar = sNum.charAt(nItem);					if (nCount == 3)
					{						sWork1 += ",";						sWork1 += sOneChar;						nCount = 1;						continue;					}					else
					{						sWork1 += sOneChar;
						nCount++;					}				}				for (nItem = sWork1.length-1; nItem >= 0; nItem--)
				{					var oneChar = sWork1.charAt(nItem);					sRtrn += oneChar;				}
			}	
				
			// - Add the decimal portion if needed
			if ((nDecimals+"" != "undefined") &&
				(nDecimals+"" != "null") &&
				IsNum(nDecimals) &&
				(nDecimals > 0))			{
				sRtrn += sEndValue;
			}
		}			return (sRtrn);
	}

	//======================================================================
	// FUNCTION: Format_DateNormal
	//
	// INPUT:	 str (string) - representing a date value.
	//
	// RETURNS:	 a string representing the input value formatted with into
	//			 'mm/dd/yyyy'
	//			 returns null if invalid arguments were passed
	//
	// DESC:	 This function formats the input value as requested.
	//======================================================================
	function Format_DateNormal(str)
	{
		var sRtrn = "";
		
		// Validate		if ((str+"" != "undefined") &&
			(str+"" != "null"))
		{ 			var oDate = new Date(str);
			var nMonth = new Number(oDate.getMonth());
			var nDay = new Number(oDate.getDate());
			var nYear = new Number(oDate.getYear());

			if ((!isNaN(nMonth)) && 
			    (!isNaN(nDay)) &&
			    (!isNaN(nYear)))
			{
				nMonth++;
				var strMonth = new String(nMonth);
				var strDay = new String(nDay);
				var strYear = new String(nYear);
				
				// - Special formatting issues
				if (nMonth <= 9) strMonth = "0" + strMonth;
				if (nDay <= 9) strDay = "0" + strDay;
				
				// - Output
//				sRtrn = strMonth + "/" + strDay + "/" + strYear;
				sRtrn = str;
			}
		}
		
		return (sRtrn);
	}
	
	//======================================================================
	// FUNCTION: Format_DateNormal_Current
	//
	// INPUT:	 <nothing>
	//
	// RETURNS:	 a string representing the current date value formatted with
	//			 into 'mm/dd/yyyy'
	//
	// DESC:	 This function formats the current date.
	//======================================================================
	function Format_DateNormal_Current()
	{
		// Validate
		var sRtrn = null;
		sRtrn = Format_DateNormal(new Date());
//		var oDate = new Date();
//		if ((!isNaN(oDate.getMonth())) && 
//		    (!isNaN(oDate.getDate())) &&
//		    (!isNaN(oDate.getFullYear())))
//		{
//			sRtrn = (oDate.getMonth()+1) +
//			         "/" + oDate.getDate() +
//			         "/" + oDate.getFullYear();
//		}
				
		return (sRtrn);
	}

	function Format_ConvertCR(input)
	{
		// Converts carriage returns 
		// to <BR> for display in HTML
		var output = "";
		for (var i = 0; i < input.length; i++)
		{
			if ((input.charCodeAt(i) == 13) && (input.charCodeAt(i + 1) == 10))
			{
				i++;
				output += "\\r";
			}
			else
			{
				output += input.charAt(i);
			}
		}
		
		return output;
	}
