var init = function() {
    $('#input').focus();
    $('#output').addClass('waiting');
    $('#output').html('Waiting for input...');

    $('#input').on('input', function() {
        var value = $('#input').val();
        if (value) {
            $('#output').removeClass('waiting');
            $('#output').html(translate(value));
        } else {
            $('#output').addClass('waiting');
            $('#output').html('Waiting for input...');
        }
    });
};

var translate = function(input) {
    input = input.replace(/([bfjkmqvwxz]+(?!\b)|c+(?![hk]|\b)|d+(?![j])|g+(?![js])|l+(?![j]|\b)|n+(?![gd]|\b)|p+(?![h])|r+|s(?![chjk])|t+(?![hij]|\b))(?!\1|[aeiouyåäö])/gi, "$1u");
    input = input.replace(/l{1,}/gi, 'r');
    input = input.replace(/(?!u)e\b/gi, 'u');
    input = input.replace(/you/gi, 'yoo');
    return input.toUpperCase();
};

$(document).ready(init);
