function FormatNumber(num,decimalNum,bolLeadingZero,bolParens,bolCommas)
/**********************************************************************
	IN:
		NUM - the number to format
		decimalNum - the number of decimal places to format the number to
		bolLeadingZero - true / false - display a leading zero for
										numbers between -1 and 1
		bolParens - true / false - use parenthesis around negative numbers
		bolCommas - put commas as number separators.
 
	RETVAL:
		The formatted number!
 **********************************************************************/
{ 
        if (isNaN(parseInt(num))) return "NaN";

	var tmpNum = num;
	var iSign = num < 0 ? -1 : 1;		// Get sign of number
	
	// Adjust number so only the specified number of numbers after
	// the decimal point are shown.
	tmpNum *= Math.pow(10,decimalNum);
	tmpNum = Math.round(Math.abs(tmpNum))
	tmpNum /= Math.pow(10,decimalNum);
	tmpNum *= iSign;					// Readjust for sign
	
	
	// Create a string object to do our formatting on
	var tmpNumStr = new String(tmpNum);

	// See if we need to strip out the leading zero or not.
	if (!bolLeadingZero && num < 1 && num > -1 && num != 0)
		if (num > 0)
			tmpNumStr = tmpNumStr.substring(1,tmpNumStr.length);
		else
			tmpNumStr = "-" + tmpNumStr.substring(2,tmpNumStr.length);
		
	// See if we need to put in the commas
	if (bolCommas && (num >= 1000 || num <= -1000)) {
		var iStart = tmpNumStr.indexOf(".");
		if (iStart < 0)
			iStart = tmpNumStr.length;

		iStart -= 3;
		while (iStart >= 1) {
			tmpNumStr = tmpNumStr.substring(0,iStart) + "," + tmpNumStr.substring(iStart,tmpNumStr.length)
			iStart -= 3;
		}		
	}

	// See if we need to use parenthesis
	if (bolParens && num < 0)
		tmpNumStr = "(" + tmpNumStr.substring(1,tmpNumStr.length) + ")";

	return tmpNumStr;		// Return our formatted string!
}


$(document).ready(function(){getTotals()});

function getTotals(){
	
	$.ajax({
		   type:'GET',
		   url:'/ajax/GetTotals.asp',
		   dataType:'json',
		   success:function(data){$('#live_booking_total').html(addCommas(data.current));$('#live_booking_total_val').val(data.current);$('#live_booking_increment_val').val(data.increment);countUP();}
		   })
}

function countUP () {
	
	// ################################################################################################	
	// If you are poking around in here to see how we get these figures
	// ################################################################################################	
	// We grab a live total of bookings a couple of times a day
	// When we update the total value we record the difference between the current and previous total.  We use the difference to calculate an average increment per second.
	// We use the increment to estimate the live total at any given point in time (i.e. when the page loads using the getTotals() function above)
	// We also use the increment value to simulate the live totals.
	// Now get back to work.....
	// ################################################################################################	
	
		var total = parseFloat($('#live_booking_total_val').val());
		var increment = parseFloat($('#live_booking_increment_val').val());
		
		total += increment;
		
		document.getElementById('live_booking_total').innerHTML = FormatNumber(total,0,false,false,1);
		document.getElementById('live_booking_total_val').value = total;
		
		setTimeout ( "countUP()", 1000 );//runs itsself after 1000 miliseconds
	}
	
function addCommas(nStr){nStr+='';x=nStr.split('.');x1=x[0];x2=x.length>1?'.'+x[1]:'';var rgx=/(\d+)(\d{3})/;while(rgx.test(x1)){x1=x1.replace(rgx,'$1'+','+'$2')}return x1+x2}
