// copyright 2005, all rights reserved. Spend O Meter is the intellectual property of Total Consulting Strategies, Inc. email at info@totalcs.net
var stop;
var loginTime;
var currentBudgetStart;
var currentBudgetIncrement;

function BudgetYear(start,end,increment){
	this.start = start.getTime();
	this.end = end.getTime();
	this.increment = increment;
}

// define current fiscal year
// begin
// currentIncrement
// pastIncrement
// calculate past budget year
// calculate year end

var oneYear = 1000*60*60*24*365;
var year = 2011;
var month =7;
var day = 1;
var increment = 64893000000/oneYear;
var lastIncrement = 20000000000/oneYear;
var start = (new Date(year, month-1, day)).getTime();
var lastStart = (new Date(start)).getTime()-oneYear;

var byears = new Array();
var ticker;


// I'm not yet sure what this does.  It looks like it's sole purpose is to
// trap bad computer dates and to launch detectBudgetYear.  I'm going to see what
// happens if I just do detectBudgetYear

function counter() {
  //var currentTime_counter = (new Date()).getTime();
  detectBudgetYear();
}

/*
 * Different ways to update ticker?  Let's see if I can get the date specific stuff
 * out of here.
 */
function detectBudgetYear() {
  var currentTime = (new Date()).getTime();
// How about if it's before the begin, we use last year's increment
  if (currentTime < start) {
     currentBudgetStart = lastStart;
     currentBudgetIncrement = lastIncrement;
     updateTicker();
  }
  else  {
     currentBudgetStart = start;
     currentBudgetIncrement = increment;
     updateTicker();
  }
}

function IframeOnLoad() {
  if (!loginTime) {
    loginTime = (new Date()).getTime();
  }
}
function el(id) {
  if (document.getElementById) {
    return document.getElementById(id);
  } else if (window[id]) {
    return window[id];
  }
  return null;
}

function showCurrent() {
         stop=1;
}

function updateTicker() {
  if (!ticker) {
    return;
  }
  var currentTime_updateTicker = (new Date()).getTime();
    currentDollar = format((currentTime_updateTicker-currentBudgetStart)*currentBudgetIncrement);
    ticker.innerHTML = currentDollar;
    if (stop==1) {
    setTimeout(updateTicker, 500);
    }
    else {
    setTimeout(updateTicker, 50);
    }
}

/* the format function from: http://javascript.internet.com/forms/currency-format.html
Original:  Cyanide_7 (leo7278@hotmail.com)
*/
function format(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);
}



