
// Einstellungen der html Feldename
var fldKurs                     = "select2";
var fldAnzahl                   = "select";
var fldEntfernung               = "select3";
var fldKursTage                 = "KursTage";
var fldUnterlagen               = "Optionsschaltergruppe1";
var fldKostenTeilnehmerTag      = "textfield";
var fldKostenTeilnehmerSchulung = "textfield3";
var fldKostenGesamt             = "textfield2";
// Anzahl Kurstage
//  0 Umstellung von Desktop Intelligence auf WebIntelligence -1
//  1 Crystal Reports 2008 Report Design -3
//  2 Business Objects Enterprise WebIntelligenceReport Design -2
//  3 BusinessObjects Desktop Intelligence Report Design -2
//  4 BusinessObjects Enterprise Universe Design - BOE -3
//  5 Business Objects Enterprise Administering Users and Content - BOE -2
//  6 Business Objects Enterprise Administering Servers Windows - BOE -2
//  7 WebFOCUS Basisschulung -2
//  8 WebFOCUS Aufbauschulung -2				  
//  9 WebFOCUS MRE -1				  				  
// 10 WebFOCUS Workshop - Inhalt nach Absprache -1

var AnzahlKurstage              = new Array (1,3,2,2,3,2,2,2,2,1,1);
// Tagessatz Carola
var TagesSatzCarola             = new Array (0,0,950,1100,1250,1300,1350,1400,1400,1400,1400);
var ReiseSatzCarola             = new Array (0,200,300);

// Tagessatz Wassi
var TagesSatzWassi             = new Array (0,0,1050,1100,1250,1300,1350,1400,1400,1400,1400);
var ReiseSatzWassi             = new Array (0,200,300);

// Platzhalter für die Eingabewerte
var inhKurs;
var inhAnzahl;
var inhEntfernung;
var inhEntfernungText;
var inhUnterlagen;
var inhUnterlagenText;
var inhKursTage;
var inhKostenTeilnehmerTag;
var inhKostenTeilnehmerSchulung;
var inhKostenGesamt;
var winObj = null;
var scriptTest;
// Konstanten
var preisUnterlagen    = 40;
var preisUebernachtung = 100;
var pauschaleJD        = 250;
var tagesSatzJD        = 1200;
var TitleText          = "Ergebnis Liste";
// Fenster Einstellungen
var winTop             = 400;
var winLeft            = 400;
var winWidth           = 700;
var winHeight          = 400; 

// Start
function init() {
    // Test Javascript
    scriptTest = !(!document.getElementById);   
    if (scriptTest) { 
        // Füllen der Kurstabe beim Start
        anzKurstage(document.getElementById(fldKurs));
    } else {
        alert("Leider ist Ihre JavaScript Version zu alt, der Rechner kann nicht benutzt werden");
    }
}

// Berechnen der Kosten
function Kosten() {
    // Einlesen der Daten
    inhKurs           = getWertKombo(fldKurs);
    inhAnzahl         = convFloat(getWertKombo(fldAnzahl));
    inhEntfernungText = getWertKombo(fldEntfernung);
    inhEntfernung     = document.getElementById(fldEntfernung).selectedIndex;
    inhUnterlagen     = getWertRadio(fldUnterlagen);
    inhUnterlagenText = (inhUnterlagen == false) ? "keine Unterlagen" : "mit Unterlagen";
    inhKursTage       = convFloat(document.getElementById(fldKursTage).value);
    // Berechnungen
    if (inhKurs.indexOf("BOE") > 1) {
        berechnenDausend();
        Ausgabe();
    } else if (inhKurs.indexOf("FOCUS") > 1) {
        berechnenWassi();
        Ausgabe();
    } else {
        berechnenCarola();
        Ausgabe();
    }
    // Testausgabe
    //alert(inhKurs + " " + inhAnzahl + " " + inhEntfernung + " " + inhUnterlagen + " " + inhKursTage);
}

// Berechnen Carola
function berechnenCarola() {
    //   Tagessatz in Abhängigkeit der Anzahl der tage
    // + Übernachtungen * 100
    // + Pauschale in Abhängigkeit der Entfernung
    uebnachtung     = (inhEntfernung == 0) ? 0 : (inhKursTage-1) * preisUebernachtung + ReiseSatzCarola[inhEntfernung];
    inhKostenGesamt =  inhKursTage * TagesSatzCarola[inhAnzahl] 
                     + uebnachtung; 
              
    // alert ( inhKursTage * TagesSatzCarola[inhAnzahl] );   
    // alert( (inhKursTage-1) * preisUebernachtung );   
    // alert( ReiseSatzCarola[inhEntfernung] );
    // alert (inhKostenGesamt);
}

function berechnenWassi() {
    //   Tagessatz in Abhängigkeit der Anzahl der tage
    // + Übernachtungen * 100
    // + Pauschale in Abhängigkeit der Entfernung
    uebnachtung     = (inhEntfernung == 0) ? 0 : (inhKursTage-1) * preisUebernachtung + ReiseSatzWassi[inhEntfernung];
    inhKostenGesamt =  inhKursTage * TagesSatzWassi[inhAnzahl] 
                     + uebnachtung; 
}


// Berechnen Dausend
function berechnenDausend() {
    //   KursTage * 1200
    // + Übernachtungen * 100
    // + 250 pauschal
    inhKostenGesamt =  inhKursTage * tagesSatzJD
                     + (inhKursTage-1) * preisUebernachtung
                     + pauschaleJD;
}

// Ausgabe
function Ausgabe() {
    // Unterlageb
    if (inhUnterlagen == true) {
        inhKostenGesamt += inhAnzahl * preisUnterlagen;
    }
    inhostenTeilnehmerTag       = inhKostenGesamt / inhKursTage / inhAnzahl;
    inhKostenTeilnehmerSchulung = inhKostenGesamt / inhAnzahl;
    with (document) {
        getElementById(fldKostenGesamt).value             = dezFormat(inhKostenGesamt);
        getElementById(fldKostenTeilnehmerTag ).value     = dezFormat(inhostenTeilnehmerTag);
        getElementById(fldKostenTeilnehmerSchulung).value = dezFormat(inhKostenTeilnehmerSchulung);
    }
}

// Ergebnis Ausgabe
function ErgebnisListe() {
    // Berechnen Kosten
    Kosten();
    // Fensterinhalt
    html  = "<html>";
    html += "<head><title>" + TitleText + "</title></head>";
    html += "<body onunload='window.opener.winClose()'>";
    html += "<center>";
    // Gesamt Tabelle
    html += "<table>";
    html += "<tr>";
    html += "<td align='right' width='100%'>";
    // Button
    html += "<a href='javascript:window.close()'>Schliessen</a>";
    html += "</td>";
    html += "</tr>";
    html += "<tr>";
    html += "<td>";
    // Tabelle für Ergenisliste
    html += "<table border=1 style='border-color=black' cellpadding=5 cellspacing=0>";
    // Überschrift
    html += "<tr>";
    html += "<td nowrap colspan=2 align='center'><b>" + TitleText + "</b></td>";
    html += "</tr>";
    // Kurs
    html += "<tr>";
    html += "<td nowrap>Kurs</td>";
    html += "<td nowrap>" + inhKurs + "</td>";
    html += "</tr>";
    // Teilnehmer
    html += "<tr>";
    html += "<td nowrap>Anzahl Teilnehmer</td>";
    html += "<td nowrap>" + inhAnzahl + "</td>";
    html += "</tr>";
    // Tage
    html += "<tr>";
    html += "<td nowrap>Tage</td>";
    html += "<td nowrap>" + inhKursTage + "</td>";
    html += "</tr>";
    // Unterlagen
    html += "<tr>";
    html += "<td nowrap>Unterlagen</td>";
    html += "<td nowrap>" + inhUnterlagenText + "</td>";
    html += "</tr>";
    // Entfernung
    html += "<tr>";
    html += "<td nowrap>Entfernung</td>";
    html += "<td nowrap>" + inhEntfernungText + "</td>";
    html += "</tr>";
    // Kosten Teilnehmer Tag
    html += "<tr>";
    html += "<td nowrap><b>Kosten Teilnehmer und Tag</b></td>";
    html += "<td nowrap><b>" + dezFormat(inhostenTeilnehmerTag) + "</b></td>";
    html += "</tr>";
    // Kosten Teilnehmer Schulung
    html += "<tr>";
    html += "<td nowrap><b>Kosten Teilnehmer und Schulung</b></td>";
    html += "<td nowrap><b>" + dezFormat(inhKostenTeilnehmerSchulung) + "</b></td>";
    html += "</tr>";
    // Kosten gesamt
    html += "<tr>";
    html += "<td nowrap><b>Gesamt Kosten</b></td>";
    html += "<td nowrap><b>" + dezFormat(inhKostenGesamt) + "</b></td>";
    html += "</tr>";
    // Ende Tabelle für Ergenisliste
    html += "</table>";
    // Ende Gesamt Tabelle
    html += "</td>";
    html += "</tr>";
    html += "</table>";
    // Abschluss
    html += "<center>";
    html += "</body>";
    html += "</html>";
    
    // Test, ob Fenster noch offen ist
    winClose();
    
    // Fenster Einstellungen
    Features = "top="    + winTop    + "px," +
               "left="   + winLeft   + "px," +
               "width="  + winWidth  + "px," +
               "height=" + winHeight + "px," +
               "resizable=yes,status=no,scrollbars=no,dependent=yes,menubar=no,toolbar=no,location=no";
    // Fenster öffnen    
    zz     =  parseInt( Math.random()*1000 );
    winObj == null;
    winObj  = window.open("", "Ergebnis"+zz, Features);
    winObj.document.write(html);
    winObj.focus();
}

// Fenster schliessen
function winClose() {
    if (winObj != null) {
        winObj.close();
        winObj == null;
    }
}

// Cursor Position
function ErgebnisListeCursor() {
    // Parent Cursor Position
    curX = window.event.x;
	curY = window.event.y;
}

// Ausgabeformat mit 2 Nachkommasetllen
function dezFormat(wert) {
   if (wert == "") return "";
   rwert = Math.round(wert*100)/100;
   awert = "" + rwert;
   awert = awert.replace(".",","); 
   awert = awert.replace(/\s/g,"");    
   pos   = awert.indexOf(",");
   len   = awert.length;
   diff  = len-pos;
// pos zählet ab 0  
   if (wert == 0)
      awert = " ";
   else if (pos == -1)
      awert +=  ",00";
   else if (diff == 2)
      awert += "0";
//      
   return awert;
}

// Dezimalformat
function convFloat(wert) {
   fwert = parseFloat(wert.replace(",","."));
   fwert = (isNaN(fwert)) ? 0 : fwert;
   return fwert;
}

// 
// Auslesen Kombobox
function getWertKombo(name) {
    obj = document.getElementById(name);
    ind = obj.selectedIndex;
    return obj.options[ind].text;
}
// Auslesen Radiobox
function getWertRadio(name) {
    obj = document.getElementById(name);
    if (!obj[0]) {
        return obj.checked;
    } else {
        return obj[0].checked;
    }
}
// Anzahl Kurstage
function anzKurstage(obj) {
    ind = obj.selectedIndex;
    document.getElementById(fldKursTage).value = AnzahlKurstage[ind];
}

