from pyscript import document
from random import randint
# Črke v številke
print('PyScript page fully initialized')

cvs = {
    'A': '11',
    'B': '12',
    'C': '13',
    'Č': '14',
    'D': '15',
    'E': '16',
    'F': '17',
    'G': '18',
    'H': '19',
    'I': '20',
    'J': '21',
    'K': '22',
    'L': '23',
    'M': '24',
    'N': '25',
    'O': '26',
    'P': '27',
    'R': '28',
    'S': '29',
    'Š': '30',
    'T': '31',
    'U': '32',
    'V': '33',
    'Z': '34',
    'Ž': '35',
    '1': '36',
    '2': '37',
    '3': '38',
    '4': '39',
    '5': '40',
    '6': '41',
    '7': '42',    
    '8': '43',
    '9': '44',
    '0': '45',
    ' ': '46',
    ',': '47',
    '.': '48',
    '?': '49',
    '!': '50',
    'a': '51',  # Male črke
    'b': '52',
    'c': '53',
    'č': '54',
    'd': '55',
    'e': '56',
    'f': '57',
    'g': '58',
    'h': '59',
    'i': '60',
    'j': '61',
    'k': '62',
    'l': '63',
    'm': '64',
    'n': '65',
    'o': '66',
    'p': '67',
    'r': '68',
    's': '69',
    'š': '70',
    't': '71',
    'u': '72',
    'v': '73',
    'z': '74',
    'ž': '75',
    'q': '76',  # Angleške črke
    'w': '77',
    'x': '78',
    'y': '79',
    'Q': '80',
    'W': '81',
    'Y': '82',
    'X': '83'
}



def sporocilovstevilo():
    import random
    from js import document

    # Zaščita pred večkratnim zagonom
    if hasattr(sporocilovstevilo, "zaseden") and sporocilovstevilo.zaseden:
        print("Funkcija že teče – čakam na zaključek.")
        return
    sporocilovstevilo.zaseden = True

    try:
        vnos = document.getElementById("zakodiraj_input").value
        abeceda = "abcčdefghijklmnoprsštuvzž"
        stevilke = ""
        key = random.randint(100, 999)

        print("Ključ:", key)  # 🔵 obvezen izpis

        for znak in vnos:
            if znak.lower() in abeceda:
                index = abeceda.index(znak.lower())
                stevilke += str(index).zfill(2)
            elif znak == " ":
                stevilke += "99"  # posebna koda za presledek
            else:
                stevilke += "98"  # posebna koda za neznane znake

        rezultat = f"{key}{stevilke}"
        document.getElementById("zakodiraj_output").innerText = rezultat

    finally:
        sporocilovstevilo.zaseden = False




svc = {
    '11': 'A',
    '12': 'B',
    '13': 'C',
    '14': 'Č',
    '15': 'D',
    '16': 'E',
    '17': 'F',
    '18': 'G',
    '19': 'H',
    '20': 'I',
    '21': 'J',
    '22': 'K',
    '23': 'L',
    '24': 'M',
    '25': 'N',
    '26': 'O',
    '27': 'P',
    '28': 'R',
    '29': 'S',
    '30': 'Š',
    '31': 'T',
    '32': 'U',
    '33': 'V',
    '34': 'Z',
    '35': 'Ž',
    '36': '1',
    '37': '2',
    '38': '3',
    '39': '4',
    '40': '5',
    '41': '6',
    '42': '7',
    '43': '8',
    '44': '9',
    '45': '0',
    '46': ' ',
    '47': ',',
    '48': '.',
    '49': '?',
    '50': '!',
    '51': 'a',  # Male črke
    '52': 'b',
    '53': 'c',
    '54': 'č',
    '55': 'd',
    '56': 'e',
    '57': 'f',
    '58': 'g',
    '59': 'h',
    '60': 'i',
    '61': 'j',
    '62': 'k',
    '63': 'l',
    '64': 'm',
    '65': 'n',
    '66': 'o',
    '67': 'p',
    '68': 'r',
    '69': 's',
    '70': 'š',
    '71': 't',
    '72': 'u',
    '73': 'v',
    '74': 'z',
    '75': 'ž',
    '76': 'q',  # Angleške črke
    '77': 'w',
    '78': 'x',
    '79': 'y',
    '80': 'Q',
    '81': 'W',
    '82': 'Y',
    '83': 'X'
}

def stevilovsporocilo():
    output_text = document.querySelector("#odkodiraj_output")
    output_text.innerText = 'oj'

'''def stevilovsporocilo(event):
    input_text = document.querySelector("#odkodiraj_input")
    noter = input_text.value
    print(noter)
    sporocilo = ''
    loop = 0
    for n in range(0, int(len(noter) / 2)):

        #vzame dva znaka
        par = noter[n*2] + noter[n*2+1]
        par = str(par)
        #dobi znak iz slovarja
        znak = str(svc.get(par))

        # preveri če je število v slovarju
        if znak == 'None':
            print('Število \'', par, '\'ne more biti pretvorjeno! Koda ni veljavna!')
            #sporocilo = ''
            break

        # doda številko sringu
        sporocilo = str(sporocilo + znak)

    output_text = document.querySelector("#odkodiraj_output")
    output_text.innerText = sporocilo'''

