Phonetic Alphabet Encoder

使い方は簡単. Input:フォームに変換したい文字を入力. フォネティックコードの種類を3つのなかから選んで, 最後にENCODEボタンをクリックするだけ. 下のフォームにフォネティックコード化された文字が現れ, おまけにモールス符号化された文字も出てくる. 電話するとき,是非とも利用してほしい.

by Hideyuki Tabata

HTML

<form id="pae_field">
    <fieldset>
        <label for="pae_input">Input: </label>
        <input type="text" value="" name="pae_input" id="pae_input" />
        <br />
        <input type="radio" value="0" name="pae_form" checked="checked" />
        <label for="pae_form">NATO</label>
        <br />
        <input type="radio" value="1" name="pae_form" />
        <label for="pae_form">World War II</label>
        <br />
        <input type="radio" value="2" name="pae_form" />
        <label for="pae_form">NYPD</label>
        <br />
        <input type="submit" value="ENCODE" />
        <input type="reset" value="Init" />
        <br />
        <label for="pae_output">Output: </label>
        <textarea value="" name="pae_output" id="pae_output"></textarea>
        <br />
    </fieldset>
</form>

CSS

body {
    font-size: 10pt;
    font-family: courier, monospace;
}

fieldset {
    border: none;
}

JavaScript

//Alist = Label : [0"NATO", 1"WWII", 2"NYPD", 3"Morse"]

var pae_table = {
    a : ["Alpha", "Afirm", "Adam", ".-"],
    b : ["Bravo", "Baker", "Boy", "-..."],
    c : ["Charlie", "Charlie", "Charlie", "-.-."],
    d : ["Delta", "Dog", "David", "-.."],
    e : ["Echo", "Easy", "Edward", "."],
    f : ["Foxtrot", "Fox", "Frank", "..-."],
    g : ["Golf", "George", "George", "--."],
    h : ["Hotel", "How", "Henry", "...."],
    i : ["India", "Int", "Ida", ".."],
    j : ["Juliett", "Jig", "John", ".---"],
    k : ["Kilo", "King", "King", "-.-"],
    l : ["Lima", "Love", "Lincoln", ".-.."],
    m : ["Mike", "Mike", "Mary", "--"],
    n : ["November", "Negat", "Nora", "-."],
    o : ["Oscar", "Option", "Ocean", "---"],
    p : ["Papa", "Prep", "Peter", ".--."],
    q : ["Quebec", "Queen", "Queen", "--.-"],
    r : ["Romeo", "Roger", "Robert", ".-."],
    s : ["Sierra", "Sugar", "Sam", "..."],
    t : ["Tango", "Tare", "Tom", "-"],
    u : ["Uniform", "Uncle", "Union", "..-"],
    v : ["Victor", "Victor", "Victor", "...-"],
    w : ["Whiskey", "William", "William", ".--"],
    x : ["X-ray", "X-ray", "X-ray", "-..-"],
    y : ["Yankee", "Yoke", "Young", "-.--"],
    z : ["Zulu", "Zebra", "Zebra", "--.."]
};

function addEvent(element, event, callback) {
    if(!!document.addEventListener) {
	element.addEventListener(event, callback, false);
    }else if(!!document.attachEvent) {
	element.attachEvent("on" +event, function (e) {
	    callback.call(element, e);
	});
    }else {
	alert("Sorry.\nThis Browser is NOT Supporting.");
    }
}

(function () {
    var field = document.getElementById("pae_field");
    var input = document.getElementById("pae_input");
    var output = document.getElementById("pae_output");
    var input_forms = field.getElementsByTagName("input");
    addEvent(field, "submit", function (evt) {
	(!!evt.preventDefault) ? evt.preventDefault() : evt.returnValue = false;
	var source = new String();
	var l = input_forms.length;
	source =...