var error = "";
var file = "http://www.debtbombshell.com/stats.xml";
try //Internet Explorer
{
 xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
 xmlDoc.async=false;
 xmlDoc.load(file);
}
catch(e)
{
 try //Firefox, Mozilla, Opera, etc.
 {
  xmlDoc=document.implementation.createDocument("","",null);
  xmlDoc.async=false;
  xmlDoc.load(file);
 }
 catch(e)
 {
  try //Google Chrome
  {
   var xmlhttp = new window.XMLHttpRequest();
   xmlhttp.open("GET",file,false);
   xmlhttp.send(null);
   xmlDoc = xmlhttp.responseXML.documentElement;
  }
  catch(e)
  {
   error=e.message;
  }
 }
}

  var startdebt = parseFloat(xmlDoc.getElementsByTagName("debt")[0].childNodes[0].nodeValue);

  var forecast = parseFloat(xmlDoc.getElementsByTagName("forecast")[0].childNodes[0].nodeValue);

  var startdate = parseDate(xmlDoc.getElementsByTagName("date")[0].childNodes[0].nodeValue);

  var enddate = parseDate(xmlDoc.getElementsByTagName("fdate")[0].childNodes[0].nodeValue);

  var inemployment = parseFloat(xmlDoc.getElementsByTagName("employed")[0].childNodes[0].nodeValue);

  var medianwage = parseFloat(xmlDoc.getElementsByTagName("wage")[0].childNodes[0].nodeValue);

  var interestperyear = parseFloat(xmlDoc.getElementsByTagName("interest")[0].childNodes[0].nodeValue);

  var last_updated = xmlDoc.getElementsByTagName("updated")[0].childNodes[0].nodeValue; 

  var popstartdate = new Date("Jan 1, 2006");

  var startpop = 60587000;

  var poprate = 1.00001915699;

  var starthouseholds = 21515000;

  var householdrate = 1.00003116543;

  var timerID     = 0;

  var digitPrefix = "digits/";

  var digitSuffix = ".gif";

  var dateNow;

  var digits;

  var natdebt;

  

  digits = new Array(10)

  for ( i=0; i<10; i++ ) {

    digits[i] = new Image();

    digits[i].src = digitPrefix + i + digitSuffix;

  }

 

  function parseDate(xmlDate)

  {

      if (!/^[0-9]{4}\-[0-9]{2}\-[0-9]{2}/.test(xmlDate)) {

           throw new RangeError("xmlDate must be in ISO-8601 format YYYY-MM-DD.");

      }

      return new Date(xmlDate.substring(0,4), xmlDate.substring(5,7)-1, xmlDate.substring(8,10));

  }



  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;

  }



  function DigitalClock() {

    dateNow  = new Date();

    hours    = dateNow.getHours();

    forecastperiod = ( enddate.getTime() - startdate.getTime() ) / 1000;

    debtrate = (forecast - startdebt) / forecastperiod;

    today = new Date();

    offset = today.getTimezoneOffset() * 60 * 1000;

    diffdate = (( today.getTime() + offset ) - startdate.getTime() ) / 1000;

    natdebt = Math.round(startdebt + (diffdate * debtrate));

    natdebt += '';

    while (natdebt.length<13)

        {

         natdebt = '0'+natdebt;

        }

    for (x=0; x<natdebt.length; x++)

        {

                c = natdebt.charAt(x);

                imgnum = 'd'+x;

                document.images[imgnum].src = digits[c].src;

        }

    timerID = setTimeout('DigitalClock()',1000);

  }



  function CalcTotals() {

    dateNow  = new Date();

    hours    = dateNow.getHours();

    forecastperiod = ( enddate.getTime() - startdate.getTime() ) / 1000;

    debtrate = (forecast - startdebt) / forecastperiod;

    today = new Date();

    offset = today.getTimezoneOffset() * 60 * 1000;

    diffdate = (( today.getTime() + offset ) - startdate.getTime() ) / 1000;

    natdebt = Math.round(startdebt + (diffdate * debtrate));

    popdiffdate = ((( today.getTime() + offset ) - popstartdate.getTime() ) / 1000) / 86400;

    totpop = Math.round(startpop * Math.pow(poprate, popdiffdate));

    tothouseholds = Math.round(starthouseholds * Math.pow(householdrate, popdiffdate));

    debt_per_pop = addCommas(Math.round(natdebt / totpop));

    debt_per_household = addCommas(Math.round(natdebt / tothouseholds));

    interest_per_household = addCommas(Math.round(interestperyear / tothouseholds));

    debt_per_employed = natdebt / inemployment;

    debt_weeks_per_employed = Math.round(debt_per_employed / medianwage);

    debt_weeks_per_employed += '';

    document.getElementById('debt_person').innerHTML = '&#163;'+debt_per_pop;

    document.getElementById('debt_household').innerHTML = '&#163;'+interest_per_household;

    document.getElementById('last_update').innerHTML = '<p>Updated '+last_updated+'<\/p>';

  }



  function tinit() {   

    timerID = setTimeout('DigitalClock()',100);

    isLoaded = true;

  }



