<commit_before>// TODO - ääkköset!

function debug(msg) {
    // Find the debug section
    var log = document.getElementById("debuglog");

    if(!log) {
	log = document.createElement("div");
	log.id = "debuglog";
	log.innerHTML = "<h1>Debug Log</h1>";
	document.body.appendChild(log);
    }

    var pre = document.createElement("pre");
    var text = document.createTextNode(msg);
    pre.appendChild(text);
    log.appendChild(pre);
}

var lwr = 'abcdefghijklmnopqrstuvwxyzåäö';
var upr = lwr.toUpperCase();

function isValid(parm,val) {
    if (parm == "") return true;
    for (i=0; i<parm.length; i++) {
	if (val.indexOf(parm.charAt(i),0) == -1) return false;
    }
    return true;
}
function isAlpha(parm) {return isValid(parm,lwr+upr);}

var images = {
    'a': 'a.jpg',
    'b': 'b.jpg',
    'c': 'c.jpg', 
    'd': 'd.jpg', 
    'e': 'e.png', 
    'f': 'f.jpg', 
    'g': 'g.jpg', 
    'h': 'h.jpg', 
    'i': 'i.png', 
    'j': 'j.jpg', 
    'k': 'k.jpg', 
    'l': 'l.jpg', 
    'm': 'm.jpg', 
    'n': 'n.jpg', 
    'o': 'o.jpg', 
    'p': 'p.png', 
    'q': 'q.jpg', 
    'r': 'r.jpg', 
    's': 's.jpg', 
    't': 't.jpg', 
    'u': 'u.jpg', 
    'v': 'v.png', 
    'w': 'w.jpg', 
    'x': 'x.png', 
    'y': 'y.png', 
    'z': 'z.png', 
    'å': 'a_o.jpg', 
    'ä': 'a_uml.png', 
    'ö': 'o_uml.jpg', 
};

function get_image(key) {
    key = key.toLowerCase();
    return images[key] || 'a.jpg';
}

function get_entry(key) {
    if(key == null || !isAlpha(key)) {
	return null;
    } 
    // debug("Valid");
    key = key.toUpperCase();
    entry = new Object();
    entry.title = key.toUpperCase() + " " + key.toLowerCase();
    entry.image = get_image(key);
    return entry;
}

function update_image(image_name) {
    imgFldr = 'images/';
    $("#image").attr('src', imgFldr+image_name);
}

// Key should be one-character string
function update_key(key) {
    // debug(key);
    entry = get_entry(key);
    if(entry == null) {
	return;
    }
    $("#key_label").text(entry.title);
    update_image(entry.image);
    play_sound("a");
}

function generate_sound_name(name, extension) {<commit_msg>Sounds connected<commit_after>// TODO - ääkköset!

function debug(msg) {
    // Find the debug section
    var log = document.getElementById("debuglog");

    if(!log) {
	log = document.createElement("div");
	log.id = "debuglog";
	log.innerHTML = "<h1>Debug Log</h1>";
	document.body.appendChild(log);
    }

    var pre = document.createElement("pre");
    var text = document.createTextNode(msg);
    pre.appendChild(text);
    log.appendChild(pre);
}

var lwr = 'abcdefghijklmnopqrstuvwxyzåäö';
var upr = lwr.toUpperCase();

function isValid(parm,val) {
    if (parm == "") return true;
    for (i=0; i<parm.length; i++) {
	if (val.indexOf(parm.charAt(i),0) == -1) return false;
    }
    return true;
}
function isAlpha(parm) {return isValid(parm,lwr+upr);}

var images = {
    'a': 'a.jpg',
    'b': 'b.jpg',
    'c': 'c.jpg', 
    'd': 'd.jpg', 
    'e': 'e.png', 
    'f': 'f.jpg', 
    'g': 'g.jpg', 
    'h': 'h.jpg', 
    'i': 'i.png', 
    'j': 'j.jpg', 
    'k': 'k.jpg', 
    'l': 'l.jpg', 
    'm': 'm.jpg', 
    'n': 'n.jpg', 
    'o': 'o.jpg', 
    'p': 'p.png', 
    'q': 'q.jpg', 
    'r': 'r.jpg', 
    's': 's.jpg', 
    't': 't.jpg', 
    'u': 'u.jpg', 
    'v': 'v.png', 
    'w': 'w.jpg', 
    'x': 'x.png', 
    'y': 'y.png', 
    'z': 'z.png', 
    'å': 'a_o.jpg', 
    'ä': 'a_uml.png', 
    'ö': 'o_uml.jpg', 
};

function get_image(key) {
    key = key.toLowerCase();
    return images[key] || 'a.jpg';
}

function get_entry(key) {
    if(key == null || !isAlpha(key)) {
	return null;
    } 
    // debug("Valid");
    key = key.toUpperCase();
    entry = new Object();
    entry.title = key.toUpperCase() + " " + key.toLowerCase();
    entry.image = get_image(key);
    // TODO - a_uml etc
    entry.sound = key.toLowerCase();
    return entry;
}

function update_image(image_name) {
    imgFldr = 'images/';
    $("#image").attr('src', imgFldr+image_name);
}

// Key should be one-character string
function update_key(key) {
    // debug(key);
    entry = get_entry(key);
    if(entry == null) {
	return;
    }
    $("#key_label").text(entry.title);
    update_image(entry.image);
    play_sound(entry.sound);
}

function generate_sound_name(name, extension) {
{'fraction_non_alphanumeric': 0.22098421541318478, 'fraction_numerical': 0.002321262766945218, 'mean_word_length': 2.6578947368421053, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3037668', 'n_tokens_mistral': 1795, 'n_tokens_neox': 1737, 'n_words': 342}