﻿// JScript File
// Set Base Hour

String.prototype.pad = function(l, s, t){
    return s || (s = " "), (l -= this.length) > 0 ? (s = new Array(Math.ceil(l / s.length)
        + 1).join(s)).substr(0, t = !t ? l : t == 1 ? 0 : Math.ceil(l / 2))
        + this + s.substr(0, l - t) : this;
};

//Hold Array values in variables
var BaseDollar = 0;
var FinishDollar = 0;
var PadDollar = 0;
var BaseDate = null;
var EndDate = null;
var CounterDisplayElement = null;
var difference = 0;
var currentValue = 0;

function StartCounter(counterDisplayElement,startValue,endValue) {
    CounterDisplayElement = counterDisplayElement

    BaseDate = new Date();
    BaseDate.setHours(0,0,0);
    BaseDate.setDate(1);
    
    EndDate = new Date();
    EndDate.setHours(0,0,0);
    EndDate.setMonth(EndDate.getMonth() + 1);
    EndDate.setDate(1);
    EndDate.setDate(EndDate.getDate() - 1);
    
    BaseDollar = startValue;
    FinishDollar = endValue;
    
    difference = FinishDollar - BaseDollar
    
    IncrementCounter();
}
	
function RoundFloatAsMoney( floatToRound ){
    floatToRound = floatToRound * 100;
    var roundedInteger = Math.round(floatToRound);                  
    return  roundedInteger / 100;  
}	
	
// Formats number
function numberFormat(nStr,prefix){
    var prefix = prefix || '';
    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 prefix + x1 + x2;
}


	
function IncrementCounter() {
		
	// Find out current time
	var currentDate = new Date()

	//Figure out percentage of time that has passed between both dates
	percentage =	(currentDate.valueOf() - BaseDate.valueOf()) / 
					(EndDate.valueOf() - BaseDate.valueOf())
	
			
	// Figure out current value
	currentValue = (percentage * difference) + BaseDollar + PadDollar;
			
				
	// Display Results
	currentValue =  numberFormat(RoundFloatAsMoney(currentValue),'$');

    
	
	CounterDisplayElement.innerHTML = currentValue.pad(14,"0",1);
	
	TimerID = setTimeout("IncrementCounter()",1000);
}
			
function parseDate(strDate) {	
	var dateArray = strDate.split("/") 
	var returnDate = new Date(dateArray[2],dateArray[0] - 1,dateArray[1])
	return returnDate;
}
