/*
 * Schuldenuhr 0.0.2
 *
 * Copyright (c) 2007-2008 datanion gmbh
 *
 * $Date: Tue Aug 28 12:26:24 +0200 2007 $
 */
function initSchuldenuhr(){
  // year 2007
  //su_stichtag = new Date(2007, 0, 1); //Monat ist 0-11 in JavaScript
  //su_gesamtschulden = 58963000;
  //su_einwohneranzahl = 22066;
  //su_aenderungprojahr = -127000;

  // year 2008
  //su_stichtag = new Date(2008, 0, 1); //Monat ist 0-11 in JavaScript
  //su_gesamtschulden = 57500407;
  //su_einwohneranzahl = 21981;
  //su_aenderungprojahr = 3013647;

  // year 2009
  //su_stichtag = new Date(2009, 0, 1); //Monat ist 0-11 in JavaScript
  //su_gesamtschulden = 58.730.643;
  //su_einwohneranzahl = 21030;
  //su_aenderungprojahr = 6.980.375;

  // year 2011
  su_stichtag = new Date(2011, 0, 1); //Monat ist 0-11 in JavaScript
  su_gesamtschulden = 68468800;
  su_einwohneranzahl = 20850;
  su_aenderungprojahr = 5900700;

  su_schuldenProSekunde = schuldenProSekunde();
  if (su_schuldenProSekunde>0){
    document.getElementById('su_textfield_aenderungprosekunde').innerHTML = '+' + num2money(su_schuldenProSekunde);
    document.getElementById('su_textfield_aenderungprosekunde').style.color = 'red';
  }else{
    document.getElementById('su_textfield_aenderungprosekunde').innerHTML = num2money(su_schuldenProSekunde);
    document.getElementById('su_textfield_aenderungprosekunde').style.color = 'green';
  }
  fillSchuldenuhr();
}

function schuldenProSekunde(){
  sekundenImJahr = 360*24*60*60;
  return su_aenderungprojahr/sekundenImJahr;
}

function sekundenVonStichtagBisJetzt(){  
  jetzt = new Date();
  sekunden = jetzt.getTime()-su_stichtag.getTime();
  return parseInt(sekunden/1000);
}

function schuldenProBuerger(gesamtschulden){
  return gesamtschulden/su_einwohneranzahl;
}

function fillSchuldenuhr(){

  gesamtschulden = su_gesamtschulden + sekundenVonStichtagBisJetzt() * schuldenProSekunde();

  if (schuldenProSekunde()<0){
    document.getElementById('su_div_zeitbistilgung').style.display = 'block';
    jetzt = new Date();
    bleibendeZeit = new Date(gesamtschulden/Math.abs(schuldenProSekunde())).getTime();
    time_map = new Array((1/12),(1/30),(1/24),(1/60),(1/60),(1/60));
    key_map  = new Array('Jahr','Monat','Tag','Stunde','Minute','Sekunde');
    key_map_plural = new Array('e','e','e','n','n','n');

    t = Math.abs(gesamtschulden/su_aenderungprojahr);
    amount = '';

    for(var i=0; i<6; i++){
      vorne = Math.floor(t);
      hinten = t-vorne;
      t = hinten/time_map[i];
      amount += vorne.toFixed() + " " + key_map[i] + (vorne.toFixed()!=1 ? key_map_plural[i] : '');
      if (i==2)
        amount += ',<br />'
      else if (i<5)
        amount += ', '
    }

    document.getElementById('su_textfield_zeitbistilgung').innerHTML = amount;
  }

  document.getElementById('su_textfield_gesamtschulden').innerHTML      = num2money(gesamtschulden);
  document.getElementById('su_textfield_schuldenprobuerger').innerHTML  = num2money(schuldenProBuerger(gesamtschulden));

  setTimeout("fillSchuldenuhr()", 1000);
}

function num2money(n_value) {
  if(isNaN(Number(n_value)))
    return 'ERROR';

  // save the sign
  var b_negative = Boolean(n_value < 0);
  n_value = Math.abs(n_value);

  a = String('000' + (n_value.toFixed(2)*100) % 100);
  var s_result = a.substring(a.length-2)
  //var s_result = String(Math.round(n_value*1e2)%1e2 + '00').substring(0,2);

  // separate all orders
  var b_first = true;
  var s_subresult;
  while (n_value > 1) {
    s_subresult = (n_value >= 1e3 ? '00' : '') + Math.floor(n_value%1e3);
    s_result = s_subresult.slice(-3) + (b_first ? ',' : '.') + s_result;
    b_first = false;
    n_value = n_value/1e3;
  }

  if(b_first){
    s_result = '0,' + s_result;
  }

  // apply formatting and return
  return b_negative ? '-' + s_result + ' &euro;' : s_result + ' &euro;';
}

