﻿// Datum des Start-Schuldenstandes
schuldJahr       = 2010;
schuldMonat      = 12;
schuldTag        = 31;
schuldStunde     = 0;
schuldMinute     = 0;
schuldSekunde    = 0;
// Start- Schuldenstand
schuldSum        = 112118310
// geplante Neuverschuldung
neuSchuldProJahr = 13050392
// Einwohner in Korschenbroich
personenAnzahl   = 33100
// ************************
var timerID = null
var timerRunning = false
var gesamtSchulden = 0
var teilSchulden = 0
monLen = initArray (12)
monLen[1] = 31
monLen[2] = 28
monLen[3] = 31
monLen[4] = 30
monLen[5] = 31
monLen[6] = 30
monLen[7] = 31
monLen[8] = 31
monLen[9] = 30
monLen[10] = 31
monLen[11] = 30
monLen[12] = 31
function stopclock(){
    if(timerRunning)
        clearTimeout(timerID)
    timerRunning = false
}
function startclock(){
    stopclock();
    zeigeSchulden();
}
function initArray (n) {
    this.arraySize = n;
    for (i = 0; i<=n; ++i)
        this [i] = 0;
    return this;
}
function dateDiffHelp (p2,p1,maxP) {
    if (p2 - p1 - ueberlauf < 0) {
        p = maxP - p1 + p2 - ueberlauf
        ueberlauf = 1
    }
    else {
        p = p2 - p1 - ueberlauf
        ueberlauf = 0
    }
    return p
}

function dateToReal2 (lateYear,lateMonth,lateDay,lateHour,lateMinute,lateSecond,earlyYear,earlyMonth,earlyDay,earlyHour,earlyMinute,earlySecond) {
    ueberlauf = 0;
    secondsDiff = dateDiffHelp(lateSecond,earlySecond,60);
    minutesDiff = dateDiffHelp(lateMinute,earlyMinute,60);
    hoursDiff = dateDiffHelp(lateHour,earlyHour,24);
    daysDiff = dateDiffHelp(lateDay,earlyDay,monLen[earlyMonth]);
    if (lateMonth - earlyMonth - ueberlauf < 0) {
        for (i = earlyMonth + ueberlauf; i <= 12; ++i)
            daysDiff = daysDiff + monLen[i];
        for (i = 1; i < lateMonth; ++i)
            daysDiff = daysDiff + monLen[i];
        ueberlauf = 1;
    }
    else {
        for (i = earlyMonth + ueberlauf; i < lateMonth; ++i)
            daysDiff = daysDiff + monLen[i];
        ueberlauf = 0;
    }
    daysDiff = daysDiff + (lateYear - earlyYear - ueberlauf) * 366;
    return (daysDiff + (hoursDiff/24) + (minutesDiff/24/60) + (secondsDiff/24/60/60))/366;
}


function aktuelleSchulden(altSchuld,sJahr,sMonat,sTag,sStunde,sMinute,sSekunde,schuldProJahr,nJahr,nMonat,nTag,nStunde,nMinute,nSekunde){
    return altSchuld + (dateToReal2 (nJahr,nMonat,nTag,nStunde,nMinute,nSekunde,sJahr,sMonat,sTag,sStunde,sMinute,sSekunde)*schuldProJahr);
}
function zeigeSchulden(){
    aktuellesDatum = new Date();
    aktuellesJahr = aktuellesDatum.getYear();
    if (aktuellesJahr < 2000)
      {aktuellesJahr=aktuellesJahr+2000-100;
    }
    aktuellerMonat = aktuellesDatum.getMonth()+1;
    aktuellerTag = aktuellesDatum.getDate();
    aktuelleStunde = aktuellesDatum.getHours();
    aktuelleMinute = aktuellesDatum.getMinutes();
    aktuelleSekunde = aktuellesDatum.getSeconds();
    gesamtSchulden = aktuelleSchulden(schuldSum,schuldJahr, schuldMonat, schuldTag, schuldStunde, schuldMinute, schuldSekunde,neuSchuldProJahr,aktuellesJahr,aktuellerMonat,aktuellerTag,aktuelleStunde,aktuelleMinute,aktuelleSekunde);
	
	document.schuld.schuldGes.value =  formatZahl(Math.round ((gesamtSchulden)*100)/100,2,2)+ ' €';	
    document.schuld.schuldPers.value =  formatZahl(Math.round ((gesamtSchulden / personenAnzahl)*100)/100,2,2) +' €';
//    if (teilSchulden > 0) {
//        document.schuldAnzeige.schuldTeil.value = formatZahl(Math.round ((gesamtSchulden - teilSchulden)*100)/100,2,2);
//    }
//    else {
//        teilSchulden = gesamtSchulden;
//    }
    timerID = setTimeout("zeigeSchulden()",1000)
    timerRunning = true
}

function formatZahl(zahl, k, fix)
{
    if(!k) k = 0;
    var neu = '';
    // Runden
    var f = Math.pow(10, k);
    zahl = '' + parseInt( zahl * f + (.5 * (zahl > 0 ? 1 : -1)) ) / f ;
    // Komma ermittlen
    var idx = zahl.indexOf('.');
    // fehlende Nullen einfügen
    if(fix)
    {
         zahl += (idx == -1 ? '.' : '' )
         + f.toString().substring(1);
    }
    // Nachkommastellen ermittlen
    idx = zahl.indexOf('.');
    if( idx == -1) idx = zahl.length;
    else neu = ',' + zahl.substr(idx + 1, k);

    // Tausendertrennzeichen
    while(idx > 0)
    {
        if(idx - 3 > 0)
        neu = '.' + zahl.substring( idx - 3, idx) + neu;
        else
        neu = zahl.substring(0, idx) + neu;
        idx -= 3;
    }
    return neu;
}

