import os


def erstelleHauptnavigation(lerngruppen, path, config, inputs):

    try:
        rand = inputs["Allgemein"]["rand"]
    except KeyError:
        print('Der Schlüssel Allgemein oder "rand" existiert nicht in der Input-Datei!')
        exit(0)

    if (rand=="rechts"):
        navi = "&nbsp;&nbsp;&nbsp;" # Platz für Schließen-Symbol schaffen
    else:
        navi = ""        

    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"]
            elif (bezeichnung=='abgekuerzt'):
                klassekurs_print = kurs_inputs_aktuell["abkuerzung"]
            else:
                klassekurs_print = kurs_inputs_aktuell["bezeichnung"]
        except KeyError:
            print('Der Schlüssel "bezeichnung" o.ä. fehlt im Bereich "'+kursid+'" der Input-Datei!')
            exit(0)

        myclass = ' n'+str(count) # Navileisten-CSS nX
        navi += '<span class="hn-part"><a href="#'+klassekurs_aktuell+'">&nbsp;<img class="icon" src="img/user-multiple-4.svg"/><span class="'+myclass+'">'+klassekurs_print+'</span></a>&nbsp;</span>'   

    navileiste = '<p class="hn">'+navi+'</p>'

    return navileiste


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

    # 1. Teil Navigationsleiste

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

    try:
        rand = inputs["Allgemein"]["rand"]
    except KeyError:
        print('Der Schlüssel Allgemein oder "rand" existiert nicht in der Input-Datei!')
        exit(0)

    navi = ""

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

    # Link zur Startseite
    if (bezeichnung=='abgekuerzt'):
        navi += '<span class="kn-part"><a href="#Home">&nbsp;<img class="icon" src="img/chevron-up-circle.svg"/></a></span>&nbsp;&nbsp;&nbsp;&nbsp;'
    else:
        navi += '<span class="kn-part"><a href="#Home">&nbsp;<img class="icon" src="img/chevron-up-circle.svg"/>zurück</a></span>&nbsp;&nbsp;&nbsp;&nbsp;'

    # Notenübersicht
    if (bezeichnung=='abgekuerzt'):
        if (current=='übersicht'):
            navi += '<span class="kn-part">&nbsp;<img class="icon" src="img/user-multiple-4-current.svg"/>&nbsp;</span>'
        else:
            navi += '<span class="kn-part"><a href="#'+klassekurs_name+'Overview">&nbsp;<img class="icon" src="img/user-multiple-4.svg"/></a>&nbsp;</span>'
    else:    
        if (current=='übersicht'):
            navi += '<span class="kn-part">&nbsp;<img class="icon" src="img/user-multiple-4-current.svg"/><span class="kn-current">Übersicht</span></span>'
        else:
            navi += '<span class="kn-part"><a href="#'+klassekurs_name+'Overview">&nbsp;<img class="icon" src="img/user-multiple-4.svg"/>Übersicht</a></span>'

    # 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

        if (bezeichnung=='abgekuerzt'):
            if (current=='korrektur'):
                navi += '<span class="kn-part">&nbsp;<img class="icon" src="img/pen-to-square-current.svg"/>&nbsp;</span>'
            else:
                navi += '<span class="kn-part"><a href="#'+klassekurs_name+'Korrektur'+str(offset+1)+'">&nbsp;<img class="icon" src="img/pen-to-square.svg"/></a>&nbsp;</span>'
        else:
            if (current=='korrektur'):
                navi += '<span class="kn-part">&nbsp;<img class="icon" src="img/pen-to-square-current.svg"/><span class="kn-current">schriftlich</span></span>'
            else:
                navi += '<span class="kn-part"><a href="#'+klassekurs_name+'Korrektur'+str(offset+1)+'">&nbsp;<img class="icon" src="img/pen-to-square.svg"/>schriftlich</a></span>'

    # SoMi
    somi_quartale = int(kurs_inputs["somi_quartale"])
    offset = 0
    if (halbjahr=='2'):
        offset = 2

    if (bezeichnung=='abgekuerzt'):
        if (current=='somi'):
            navi += '<span class="kn-part">&nbsp;<img class="icon" src="img/message-3-text-current.svg"/>&nbsp;</span>'
        else:
            navi += '<span class="kn-part"><a href="#'+klassekurs_name+'SoMiQ'+str(offset+1)+'">&nbsp;<img class="icon" src="img/message-3-text.svg"/></a>&nbsp;</span>'
    else:
        if (current=='somi'):
            navi += '<span class="kn-part">&nbsp;<img class="icon" src="img/message-3-text-current.svg"/><span class="kn-current">mündlich</span></span>'
        else:
            navi += '<span class="kn-part"><a href="#'+klassekurs_name+'SoMiQ'+str(offset+1)+'">&nbsp;<img class="icon" src="img/message-3-text.svg"/>mündlich</a></span>'

    # HA
    ha_zeilen = int(kurs_inputs["ha_zeilen"])
    if (ha_zeilen>0):
        if (bezeichnung=='abgekuerzt'):
            if (current=='ha'):
                navi += '<span class="kn-part">&nbsp;<img class="icon" src="img/home-2-current.svg"/>&nbsp;</span>'
            else:
                navi += '<span class="kn-part"><a href="#'+klassekurs_name+'HA">&nbsp;<img class="icon" src="img/home-2.svg"/></a>&nbsp;</span>'
        else:
            if (current=='ha'):
                navi += '<span class="kn-part">&nbsp;<img class="icon" src="img/home-2-current.svg"/><span class="kn-current">Haus</span></span>'
            else:
                navi += '<span class="kn-part"><a href="#'+klassekurs_name+'HA">&nbsp;<img class="icon" src="img/home-2.svg"/>Haus</a></span>'
   
    # Checklisten
    if (bezeichnung=='abgekuerzt'):
        if (current=='check'):
            navi += '<span class="kn-part">&nbsp;<img class="icon" src="img/check-square-2-current.svg"/>&nbsp;</span>'
        else:
            navi += '<span class="kn-part"><a href="#'+klassekurs_name+'Check">&nbsp;<img class="icon" src="img/check-square-2.svg"/></a>&nbsp;</span>'
    else:
        if (current=='check'):
            navi += '<span class="kn-part">&nbsp;<img class="icon" src="img/check-square-2-current.svg"/><span class="kn-current">Check</span></span>'
        else:
            navi += '<span class="kn-part"><a href="#'+klassekurs_name+'Check">&nbsp;<img class="icon" src="img/check-square-2.svg"/>Check</a></span>'

    # Geburtstagsseite
    if (len(gebdaten)>0):
        if (bezeichnung=='abgekuerzt'):
            if (current=='gebtag'):
                navi += '<span class="kn-part">&nbsp;<img class="icon" src="img/balloons-current.svg"/>&nbsp;</span>'
            else:
                navi += '<span class="kn-part"><a href="#'+klassekurs_name+'Birthday">&nbsp;<img class="icon" src="img/balloons.svg"/></a>&nbsp;</span>'
        else:
            if (current=='gebtag'):
                navi += '<span class="kn-part">&nbsp;<img class="icon" src="img/balloons-current.svg"/><span class="kn-current">Gebtag</a></span>'
            else:
                navi += '<span class="kn-part"><a href="#'+klassekurs_name+'Birthday">&nbsp;<img class="icon" src="img/balloons.svg"/>Gebtag</a></span>'

    # Halbjahresseite
    if (bezeichnung=='abgekuerzt'):
        if (current=='halbjahr'):
            navi += '<span class="kn-part">&nbsp;<img class="icon" src="img/calendar-days-current.svg"/>&nbsp;</span>'
        else:
            navi += '<span class="kn-part"><a href="#'+klassekurs_name+'Halbjahr">&nbsp;<img class="icon" src="img/calendar-days.svg"/></a>&nbsp;</span>'
    else:
        if (current=='halbjahr'):
            navi += '<span class="kn-part">&nbsp;<img class="icon" src="img/calendar-days-current.svg"/><span class="kn-current">Plan</span></span>'
        else:
            navi += '<span class="kn-part"><a href="#'+klassekurs_name+'Halbjahr">&nbsp;<img class="icon" src="img/calendar-days.svg"/>Plan</a></span>'

    navileiste = '<p class="kn">'+navi+'</p>'

    # 2. Teil: Überschrift

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

    count = 0
    for gruppe in lerngruppen:
        count = count + 1
        if (gruppe==kursid):
            break

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

    headline = '<p class="kn-headline"><span class="'+mycss+'">'+klassekurs_name+'</span> - '+myline+'</p>'

    return navileiste + headline
