import os

def erstelleNavigation(klassekurs_name, lerngruppen, path, config, inputs):
    
    header = '<table class="lerngruppen"><tr class="lerngruppen">'
    header += '<td class="home">&nbsp;</td>'

    myclass = "group"
    if (klassekurs_name==''):
        header += '<td class="current n0">Startseite</td>'
    else:
        header += '<td class="group n0"><a href="#Home">Startseite</a></td>'            

    count = 0

    for kursid in lerngruppen:

        count = count + 1

        try:
            kurs_inputs_aktuell = inputs[kursid] 
        except KeyError:
            print('Der Bereichsschlüssel "'+kursid+'" (zur entsprechenden Datei) existiert nicht in der Input-Datei (3).')
            exit(0)

        try:
            bezeichnung = config["Navigation"]["bezeichnung"]
        except KeyError:
            print('Der Schlüssel Navigation oder "kurzbezeichnung" existiert nicht in der Device-Datei!')
            exit(0)

        try:
            klassekurs_aktuell = kurs_inputs_aktuell["bezeichnung"]
            if (bezeichnung=='kurz'):
                klassekurs_print = kurs_inputs_aktuell["kurzbezeichnung"]
            else:
                klassekurs_print = kurs_inputs_aktuell["bezeichnung"]
        except KeyError:
            print('Der Schlüssel "(kurz)bezeichnung" fehlt im Bereich "'+kursid+'" der Input-Datei!')
            exit(0)

        myclass = ' n'+str(count) # Navileisten-CSS nX
        if (klassekurs_aktuell == klassekurs_name):
            header += '<td class="current'+myclass+'">'+klassekurs_print+'</td>'
        else:
            header += '<td class="group'+myclass+'"><a href="#'+klassekurs_aktuell+'">'+klassekurs_print+'</a></td>'            

    header += '</tr></table>'

    return header



def erstelleHeader(kursid, line, klassekurs_name, gebdaten, lerngruppen, path, config, inputs, kurs_inputs):

    # Navigationsleiste für die Lerngruppen
    try:
        navileiste = inputs["Allgemein"]["navileiste"]
    except KeyError:
        print('Der Schlüssel Allgemein oder "kurzbezeichnung" existiert nicht in der Input-Datei!')
        exit(0)

    zeige_navi = False
    if (navileiste=='ja'):
        zeige_navi = True

    if (zeige_navi):
        header = erstelleNavigation(klassekurs_name, lerngruppen, path, config, inputs)
    else:
        header = ''


    # Überschrift inkl. verlinkte Icons für die aktuelle Lerngruppe
    header += '<table class="headline"><tr class="headline">'

    # Icon
    header += '<td class="nr">&nbsp;</td>'

    allg = inputs["Allgemein"]
    schuljahr = allg["schuljahr"]
    zschuljahr = int(schuljahr)
    halbjahr = allg["halbjahr"]


    # Überschrift
    if len(line)>0:
        myline = line
    else:
        myline = str(zschuljahr) + '/' + str((zschuljahr-2000)+1) + ', ' + halbjahr + '. Hj.'

    # Überschrift links
    count = 0
    for gruppe in lerngruppen:
        count = count + 1
        if (gruppe==kursid):
            break

    mycss = 'h'+str(count) # Headline-CSS hX

    header+= '<td class="left headline"><span class="'+mycss+'">'+klassekurs_name+'</span> - '+myline+'</td>'

    # Iconleiste rechts 
    header += '<td class="right headline">'

    # Link zur Startseite, falls keine Navileiste
    if (not(zeige_navi)):
        header += '<a href="#Home">&nbsp;<img class="icon" src="img/home-2.svg"/></a>'

    # Notenübersicht
    header += '<a href="#'+klassekurs_name+'Overview">&nbsp;<img class="icon" src="img/user-multiple-4.svg"/></a>'

    # Arbeiten/Klausuren
    schr_anzahl = int(kurs_inputs["schriftlich_anzahl"])
    schr_bez = kurs_inputs["schriftlich_bez"]
    
    if (schr_anzahl>0):

        offset = 0
        if (halbjahr=='2'):
            offset = schr_anzahl

        header += '<a href="#'+klassekurs_name+'Korrektur'+str(offset+1)+'">&nbsp;<img class="icon" src="img/pen-to-square.svg"/></a>'

    # SoMi
    somi_quartale = int(kurs_inputs["somi_quartale"])
    offset = 0
    if (halbjahr=='2'):
        offset = 2
    header += '<a href="#'+klassekurs_name+'SoMiQ'+str(offset+1)+'">&nbsp;<img class="icon" src="img/comment-1.svg"/></a>'

    # HA
    ha_zeilen = int(kurs_inputs["ha_zeilen"])
    if (ha_zeilen>0):
        header += '<a href="#'+klassekurs_name+'HA">&nbsp;<img class="icon" src="img/check-square-2.svg"/></a>'
   
    # Checklisten
    header += '<a href="#'+klassekurs_name+'Check">&nbsp;<img class="icon" src="img/check-circle-1.svg"/></a>'

    # Geburtstagsseite
    if (len(gebdaten)>0):
        header += '<a href="#'+klassekurs_name+'Birthday">&nbsp;<img class="icon" src="img/bell-1.svg"/></a>'

    # Halbjahresseite
    header += '<a href="#'+klassekurs_name+'Halbjahr">&nbsp;<img class="icon" src="img/calendar-days.svg"/></a>'

    header += '</td></tr></table>'

    return header
