Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
 // This script is conditionally called from [[MediaWiki:Common.js]]

 // Edittools BEGIN
 // adapted from [[:de:Benutzer:Revolus/Edittools]]
 /* <nowiki> */
 
var charinsert = {
  "Norma":[
    ["&nbsp;", "&thinsp;", "–", "—", "…", "*", "†", "‡", "←", "→", "↔", "↑", "↓", "•", "§", "¶"],
    [["[[","]]"], "|", ["{{","}}"], "~~~~", [ "[[Categoria:","]]" ], [ "{{DEFAULTSORT:","}}" ], [ "#REDIRECT [[","]]" ],
    ["<span id=\"","\"><\/span>" ] ],
    [ [ "<ref>","<\/ref>" ], [ "<ref name=\"","\"><\/ref>" ], [ "<ref name=\"", "\" \/>" ], "<references \/>" ],
    [ [ "<nowiki>","<\/nowiki>" ], [ "<code>","<\/code>" ], [ "<s>","<\/s>" ],
     [ "<sup>","<\/sup>" ], [ "<sub>","<\/sub>" ],
     [ "<noinclude>","<\/noinclude>" ], [ "<includeonly>","<\/includeonly>" ] ]
  ],
  "Symbola":[
    ["¿", "¡", ["〈","〉"]],
    ["\x2b", "−", "·", "×", "÷", "~", "≈", "≠", "±", "≤", "≥", "‰", "∞"],
    ["#", "¹", "²", "³", "½", "⅓", "⅔", "¼", "¾", "⅛", "⅜", "⅝", "⅞" ],
    ["€", "¢", "£", "¥", "$"], 
    ["°", "′", "″"]
  ],
  "Litterae_exoticae":[
    ["Á", "á", "Ć", "ć", "É", "é", "Í", "í", "Ó", "ó", "Ś", "ś", "Ú", "ú", "Ý", "ý", "Ǿ", "ǿ"],
    ["À", "à", "È", "è", "Ì", "ì", "Ò", "ò", "Ù", "ù"],
    ["Â", "â", "Ĉ", "ĉ", "Ê", "ê", "Ĝ", "ĝ", "Ĥ", "ĥ", "Î", "î", "Ĵ", "ĵ", "Ô", "ô", "ŝ", "Ŝ", "Û", "û"],
    ["Ä", "ä", "Ë", "ë", "Ï", "ï", "Ö", "ö", "Ü", "ü", "ÿ"],
    ["Ã", "ã", "Ñ", "ñ", "Õ", "õ"],
    ["Å", "å"],
    ["Ç", "ç"],
    ["Č", "č", "Š", "š", "Ǔ", "ǔ"],
    ["Ł", "ł"],
    ["Ő", "ő", "Ű", "ű"],
    ["Ø", "ø"],
    ["Ā", "ā", "Ē", "ē", "Ī", "ī", "Ō", "ō", "Ū", "ū", "Ȳ", "ȳ"],
    ["Ă", "ă", "Ĕ", "ĕ", "Ğ", "ğ", "Ĭ", "ĭ", "Ŏ", "ŏ", "Ŭ", "ŭ", "Y̆", "y̆"],
    ["ß"],
    ["Æ", "æ", "Œ", "œ"],
    ["Ð", "ð", "Þ", "þ", "|"],
    ["Ḍ", "ḍ", "Ḥ", "ḥ", "Ḷ", "ḷ", "Ḹ", "ḹ", "Ṃ", "ṃ", "Ṇ", "ṇ", "Ṛ", "ṛ", "Ṝ", "ṝ", "Ṣ", "ṣ", "Ṭ", "ṭ"],
    ["Ŵ", "ŵ", "Ŷ", "ŷ", "Ÿ"]
  ],
  "Graece":[
    ["Α", "α", "Ά", "ά", "Β", "β", "Γ", "γ", "Δ", "δ", "Ε", "ε", "Έ", "έ", "Ζ", "ζ", "Η", "η",
     "Ή", "ή", "Θ", "θ", "Ι", "ι", "Ί", "ί", "Κ", "κ", "Λ", "λ", "Μ", "μ", "Ν", "ν", "Ξ", "ξ",
     "Ο", "ο", "Ό", "ό", "Π", "π", "Ρ", "ρ", "Σ", "σ", "ς", "Τ", "τ", "Υ", "υ", "Ύ", "ύ", "Φ",
     "φ", "Χ", "χ", "Ψ", "ψ", "Ω", "ω", "Ώ", "ώ"],
    [";", "·"],
    ["Ϊ", "ϊ", "ΐ", "Ϋ", "ϋ", "ΰ", "ᾼ", "ᾳ", "ῌ", "ῃ", "ῼ", "ῳ", "ῤ", "Ῥ", "ῥ"],
    ["Ἀ", "Ἁ", "Ά", "Ὰ", "Ἄ", "Ἂ", "Ἆ", "Ἅ", "Ἃ", "Ἇ", "Ἐ", "Ἑ", "Έ", "Ὲ", "Ἔ", "Ἒ", "Ἕ", "Ἓ",
     "Ἠ", "Ἡ", "Ή", "Ὴ", "Ἤ", "Ἢ", "Ἦ", "Ἥ", "Ἣ", "Ἧ", "Ἰ", "Ἱ", "Ί", "Ὶ", "Ἴ", "Ἲ", "Ἶ", "Ἵ",
     "Ἳ", "Ἷ", "Ὀ", "Ὁ", "Ό", "Ὸ", "Ὄ", "Ὂ", "Ὅ", "Ὃ", "Ὑ", "Ύ", "Ὺ", "Ὕ", "Ὓ", "Ὗ", "Ὠ", "Ὡ",
     "Ώ", "Ὼ", "Ὤ", "Ὢ", "Ὦ", "Ὥ", "Ὣ", "Ὧ", "ἀ", "ἁ", "ά", "ὰ", "ᾶ", "ἄ", "ἂ", "ἅ", "ἃ", "ἆ",
     "ἇ", "ᾀ", "ᾁ", "ᾴ", "ᾲ", "ᾷ", "ᾄ", "ᾂ", "ᾅ", "ᾃ", "ᾆ", "ᾇ", "ἐ", "ἑ", "έ", "ὲ", "ἔ", "ἒ",
     "ἕ", "ἓ", "ἠ", "ἡ", "ή", "ὴ", "ῆ", "ἤ", "ἢ", "ἥ", "ἣ", "ἦ", "ἧ", "ᾐ", "ᾑ", "ῄ", "ῂ", "ῇ",
     "ᾔ", "ᾒ", "ᾕ", "ᾓ", "ᾖ", "ᾗ", "ἰ", "ἱ", "ί", "ὶ", "ῖ", "ἴ", "ἲ", "ἵ", "ἳ", "ἶ", "ἷ", "ὀ",
     "ὁ", "ό", "ὸ", "ὄ", "ὂ", "ὅ", "ὃ", "ὐ", "ὑ", "ύ", "ὺ", "ῦ", "ὔ", "ὒ", "ὕ", "ὓ", "ὖ", "ὗ",
     "ὠ", "ὡ", "ώ", "ὼ", "ῶ", "ὤ", "ὢ", "ὥ", "ὣ", "ὦ", "ὧ", "ᾠ", "ᾡ", "ῴ", "ῲ", "ῷ", "ᾤ", "ᾢ",
     "ᾥ", "ᾣ", "ᾦ", "ᾧ"],
    ["`", "᾿", "῾", "῍", "῎", "῏", "῟", "῞", "῝", "῍", "῎"],
    ["Ϝ", "ϝ", "Ϙ", "ϙ", "Ϡ", "ϡ"]
  ],
  "Cyrillice":[
    "",
    ["А", "Ә", "Б", "В", "Г", "Ґ", "Ѓ", "Ғ", "Д", "Ђ", "Е", "Є", "Ё", "Ж", "З", "Ѕ", "И", "І", "Ї", "İ", "Й", "Ӣ", "Ј", "К",
     "Ќ", "Қ", "Л", "Љ", "М", "Н", "Њ", "Ң", "О", "Ө", "П", "Р", "С", "Т", "Ћ", "У", "Ў", "Ӯ", "Ұ", "Ү", "Ф", "Х", "Ҳ", "Һ",
     "Ц", "Ч", "Ҷ", "Џ", "Ш", "Щ", "Ъ", "Ы", "Ь", "Э", "Ю", "Я"],
    ["а", "ә", "б", "в", "г", "ґ", "ѓ", "ғ", "д", "ђ", "е", "є", "ё", "ж", "з", "ѕ", "и", "і", "ї", "й", "ӣ", "ј", "к", "ќ", "қ",
     "л", "љ", "м", "н", "њ", "ң", "о", "ө", "п", "р", "с", "т", "ћ", "у", "ў", "ӯ", "ұ", "ү", "ф", "х", "ҳ", "һ", "ц", "ч", "ҷ",
     "џ", "ш", "щ", "ъ", "ы", "ь", "э", "ю", "я"]
  ],
  "IPA":[
    [ ["{{IPA|}}"], ["{{IPA2|}}"] ],
    ["p", "t̪", "t", "ʈ", "c", "k", "q", "ʡ", "ʔ"],
    ["b", "d̪", "d", "ɖ", "ɟ", "ɡ", "ɢ"],
    ["ɓ", "ɗ", "ʄ", "ɠ", "ʛ"],
    ["t͡s", "t͡ʃ", "t͡ɕ", "d͡z", "d͡ʒ", "d͡ʑ"],
    ["ɸ", "f", "θ", "s", "ʃ", "ʅ", "ʆ", "ʂ", "ɕ", "ç", "ɧ", "x", "χ", "ħ", "ʜ", "h"],
    ["β", "v", "ʍ", "ð", "z", "ʒ", "ʓ", "ʐ", "ʑ", "ʝ", "ɣ", "ʁ", "ʕ", "ʖ", "ʢ", "ɦ"],
    ["ɬ", "ɮ"],
    ["m", "m̩", "ɱ", "ɱ̩", "ɱ̍", "n̪", "n̪̍", "n", "n̩", "ɳ", "ɳ̩", "ɲ", "ɲ̩", "ŋ", "ŋ̍", "ŋ̩", "ɴ", "ɴ̩"],
    ["ʙ", "ʙ̩", "r", "r̩", "ʀ", "ʀ̩"],
    ["ɾ", "ɽ", "ɿ", "ɺ"],
    ["l̪", "l̪̩", "l", "l̩", "ɫ", "ɫ̩", "ɭ", "ɭ̩", "ʎ", "ʎ̩", "ʟ", "ʟ̩"],
    ["w", "ɥ", "ʋ", "ɹ", "ɻ", "j", "ɰ"],
    ["ʘ", "ǂ", "ǀ", "!", "ǁ"],
    ["ʰ", "ʱ", "ʷ", "ʸ", "ʲ", "ʳ", "ⁿ", "ˡ", "ʴ", "ʵ", "ˢ", "ˣ", "ˠ", "ʶ", "ˤ", "ˁ", "ˀ", "ʼ"],
    ["i", "i̯", "ĩ", "y", "y̯", "ỹ", "ɪ", "ɪ̯", "ɪ̃", "ʏ", "ʏ̯", "ʏ̃", "ɨ", "ɨ̯", "ɨ̃", "ʉ", "ʉ̯", "ʉ̃", "ɯ", "ɯ̯", "ɯ̃", "u", "u̯", "ũ", "ʊ", "ʊ̯", "ʊ̃"],
    ["e", "e̯", "ẽ", "ø", "ø̯", "ø̃", "ɘ", "ɘ̯", "ɘ̃", "ɵ", "ɵ̯", "ɵ̃", "ɤ", "ɤ̯", "ɤ̃", "o", "o̯", "õ"],
    ["ɛ", "ɛ̯", "ɛ̃", "œ", "œ̯", "œ̃", "ɜ", "ɜ̯", "ɜ̃", "ə", "ə̯", "ə̃", "ɞ", "ɞ̯", "ɞ̃", "ʌ", "ʌ̯", "ʌ̃", "ɔ", "ɔ̯", "ɔ̃"],
    ["æ", "æ̯", "æ̃", "ɶ", "ɶ̯", "ɶ̃", "a", "a̯", "ã", "ɐ", "ɐ̯", "ɐ̃", "ɑ", "ɑ̯", "ɑ̃", "ɒ", "ɒ̯", "ɒ̃"],
    ["ˈ", "ˌ", "ː", "ˑ", "˘", ".", "‿", "|", "‖"]
  ],
  "AHD":[
    ["ā", "ă", "ä", "â", "ē", "ĕ", "ī", "ĭ", "î", "ō", "ŏ", "ô", "ŭ", ["o͞o","","","food"], ["o͝o","","","foot"]]
  ],
  "Anglice":[
    "ang",
    ["Ā", "ā", "Æ", "æ", "Ǣ", "ǣ", "Ǽ", "ǽ", "Ċ", "ċ", "Ð", "ð", "Ē", "ē", "Ġ", "ġ", "Ī", "ī", "Ō", "ō", "Ū", "ū", "Ƿ", "ƿ", "Ȳ", "ȳ", "Þ", "þ", "Ȝ", "ȝ"]
  ],
  "Arabice":[
    "rtl", "ar",
    ["؛", "؟", "ء", "آ", "أ", "ؤ", "إ", "ئ", "ا", "ب", "ة", "ت", "ث", "ج", "ح", "خ", "د", "ذ", "ر", "ز", "س", "ش", "ص",
     "ض", "ط", "ظ", "ع", "غ", "ف", "ق", "ك", "ل", "م", "ن", "ه", "و", "ى", "ي", "،"]
  ],
  "DMG":[
    ["ʾ", "ʿ", "Ā", "ā", "Č", "č", "Ḍ", "ḍ", "Ḏ", "ḏ", "Ǧ", "ǧ", "Ġ", "ġ", "Ḥ", "ḥ", "Ḫ", "ḫ", "Ī", "ī", "ḷ", "ŋ", "Ṣ",
     "ṣ", "Š", "š", "Ṭ", "ṭ", "Ṯ", "ṯ", "Ū", "ū", "Ẓ", "ẓ", "Ẕ", "ẕ", "Ž", "ž"]
  ],
  "Esperanto":[
    "eo",
    ["Ĉ", "ĉ", "Ĝ", "ĝ", "Ĥ", "ĥ", "Ĵ", "ĵ", "Ŝ", "ŝ", "Ŭ", "ŭ"]
  ],
  "Estonice":[
    "et",
    ["Č", "č", "Š", "š", "Ž", "ž", "Õ", "õ", "Ä", "ä", "Ö", "ö", "Ü", "ü"]
  ],
  "Francogallice":[
    "fr",
    ["À", "à", "Â", "â", "Ç", "ç", "É", "é", "È", "è", "Ê", "ê", "Ë", "ë", "Î", "î", "Ï", "ï", "Ô", "ô", "Œ", "œ", "Ù", "ù", "Û", "û", "Ü", "ü", "Ÿ", "ÿ"]
  ],
  "Galicice":[
    "gl",
    ["Á", "á", "À", "à", "Â", "â", "Ä", "ä", "É", "é", "È", "è", "Ê", "ê", "Ë", "ë", "Ì", "ì", "Î", "î", "Ï", "ï", "Ó", "ó", "Ò",
     "ò", "Ô", "ô", "Ö", "ö", "Ù", "ù", "Û", "û", "Ẁ", "ẁ", "Ŵ", "ŵ", "Ẅ", "ẅ", "Ý", "ý", "Ỳ", "ỳ", "Ŷ", "ŷ", "Ÿ", "ÿ"]
  ],
  "Hawaiianice":[
    "haw",
    ["Ā", "ā", "Ē", "ē", "Ī", "ī", "Ō", "ō", "Ū", "ū", "ʻ"]
  ],
  "IAST &c":[
    [ ["{{IAST|}}"] ],
    ["Ā", "ā", "Ē", "ē", "Ī", "ī", "Ō", "ō", "Ū", "ū"],
    ["Ḍ", "ḍ", "Ḥ", "ḥ", "Ḷ", "ḷ", "Ḹ", "ḹ", "Ṃ", "ṃ", "Ṇ", "ṇ", "Ṛ", "ṛ", "Ṝ", "ṝ", "Ṣ", "ṣ", "Ṭ", "ṭ"],
    ["ṁ", "Ṅ", "ṅ", "ẏ"], 
    ["Ñ", "ñ"],
    ["Ś", "ś"],
    ["ḻ", "ṉ", "ṟ"]
  ],
  "Islandice":[
    "is",
    ["Á", "á", "Ð", "ð", "É", "é", "Í", "í", "Ó", "ó", "Ú", "ú", "Ý", "ý", "Þ", "þ", "Æ", "æ", "Ö", "ö", "ǫ"]
  ],
  "Italice":[
    "it",
    ["Á", "á", "À", "à", "É", "é", "È", "è", "Í", "í", "Ì", "ì", "Ó", "ó", "Ò", "ò", "Ú", "ú", "Ù", "ù"]
  ],
  "Iiddice":[
    "yi",
    ["", "א", "אַ", "אָ", "ב", "בֿ", "ג", "ד", "ה", "ו", "וּ", "װ", "ױ", "ז", "זש", "ח", "ט", "י", "יִ", "ײ", "ײַ", "כ", "ך", "כּ",
     "ל", "ל+", "מ", "ם", "נ", "ן", "ס", "ע", "ע+", "פ", "פּ", "פֿ", "ף", "צ", "ץ", "ק", "ר", "ש", "שׂ", "תּ", "ת", "׳", "״", "־", ""]
  ],
  "Bosnice-Croatice-Serbice":[
    "hbs",
    ["Č", "č", "Ć", "ć", "Dž", "dž", "Đ", "đ", "Š", "š", "Ž", "ž"]
  ],
  "Lettice":[
    "lv",
    ["Ā", "Č", "Ē", "Ģ", "Ī", "Ķ", "Ļ", "Ņ", "Š", "Ū", "Ž"],
    ["ā", "č", "ē", "ģ", "ī", "ķ", "ļ", "ņ", "š", "ū", "ž"]
  ],
  "Lituanice":[
    "lt",
    ["Ą", "Č", "Ę", "Ė", "Į", "Š", "Ų", "Ū", "Ž"],
    ["ą", "č", "ę", "ė", "į", "š", "ų", "ū", "ž"]
  ],
  "Maltice":[
    "mt",
    ["Ċ", "ċ", "Ġ", "ġ", "Ħ", "ħ", "Ż", "ż"]
  ],
  "Pinyin":[
    ["Á", "á", "À", "à", "Ǎ", "ǎ", "Ā", "ā", "É", "é", "È", "è", "Ě", "ě", "Ē", "ē", "Í", "í", "Ì", "ì", "Ǐ", "ǐ", "Ī", "ī", "Ó",
     "ó", "Ò", "ò", "Ǒ", "ǒ", "Ō", "ō", "Ú", "ú", "Ù", "ù", "Ü", "ü", "Ǔ", "ǔ", "Ū", "ū", "Ǘ", "ǘ", "Ǜ", "ǜ", "Ǚ", "ǚ", "Ǖ", "ǖ"]
  ],
  "Polonice":[
    "pl",
    ["ą", "Ą", "ć", "Ć", "ę", "Ę", "ł", "Ł", "ń", "Ń", "ó", "Ó", "ś", "Ś", "ź", "Ź", "ż", "Ż"]
  ],
  "Lusitanice":[
    "pt",
    ["Á", "á", "À", "à", "Â", "â", "Ã", "ã", "Ç", "ç", "É", "é", "Ê", "ê", "Í", "í", "Ó", "ó", "Ô", "ô", "Õ", "õ", "Ú", "ú", "Ü", "ü"]
  ],
  "Romanice":[
    "roa",
    ["Ā", "ā", "Ē", "ē", "Ī", "ī", "Ō", "ō", "Ū", "ū"]
  ],
  "Dacoromanice":[
    "ro",
    ["Ă", "ă", "Â", "â", "Î", "î", "Ş", "ş", "Ţ", "ţ"]
  ],
  "Scandinavice":[
    ["À", "à", "É", "é", "Å", "å", "Æ", "æ", "Ä", "ä", "Ø", "ø", "Ö", "ö"]
  ],
  "Slovacice":[
    "sk",
    ["Á", "á", "Č", "č", "Ď", "ď", "É", "é", "Í", "í", "Ľ", "ľ", "Ň", "ň", "Ó", "ó", "Ô", "ô", "Ŕ", "ŕ", "Š", "š", "Ť", "ť", "Ú", "ú", "Ý", "ý", "Ž", "ž"]
  ],
  "Hispanice":[
    "es",
    ["Á", "á", "É", "é", "Í", "í", "Ñ", "ñ", "Ó", "ó", "Ú", "ú", "Ü", "ü", "¡", "¿"]
  ],
  "Theodisce":[
    "de",
    ["Ä", "ä", "Ö", "ö", "Ü", "ü", "ß"]
  ],
  "Bohemice":[
    "cz",
    ["Á", "á", "Č", "č", "Ď", "ď", "É", "é", "Ě", "ě", "Í", "í", "Ň", "ň", "Ó", "ó", "Ř", "ř", "Š", "š", "Ť", "ť", "Ú", "ú", "Ů", "ů", "Ý", "ý", "Ž", "ž"]
  ],
  "Turcice":[
    "tr",
    ["Â", "Ə", "Ç", "Ğ", "G‘", "Î", "İ", "Ñ", "Ň", "O‘", "Ş", "Û", "Ý", "Ž"],
    ["â", "ə", "ç", "ğ", "g‘", "î", "ı", "ñ", "ň", "o‘", "ş", "û", "ý", "ž"]
  ],
  "Hungarice":[
    "hu",
    ["á", "é", "í", "Ő", "ö", "ó", "ő", "Ű", "ú", "ü", "ű"]
  ],
  "Vietnamice":[
    "vi",
    ["À", "à", "Ả", "ả", "Á", "á", "Ạ", "ạ", "Ã", "ã", "Ă", "ă", "Ằ", "ằ", "Ẳ", "ẳ", "Ẵ", "ẵ", "Ắ", "ắ", "Ặ",
     "ặ", "Â", "â", "Ầ", "ầ", "Ẩ", "ẩ", "Ẫ", "ẫ", "Ấ", "ấ", "Ậ", "ậ", "Đ", "đ", "È", "è", "Ẻ", "ẻ", "Ẽ", "ẽ",
     "É", "é", "Ẹ", "ẹ", "Ê", "ê", "Ề", "ề", "Ể", "ể", "Ễ", "ễ", "Ế", "ế", "Ệ", "ệ", "Ỉ", "ỉ", "Ĩ", "ĩ", "Í",
     "í", "Ị", "ị", "Ì", "ì", "Ỏ", "ỏ", "Ó", "ó", "Ọ", "ọ", "Ò", "ò", "Õ", "õ", "Ô", "ô", "Ồ", "ồ", "Ổ", "ổ",
     "Ỗ", "ỗ", "Ố", "ố", "Ộ", "ộ", "Ơ", "ơ", "Ờ", "ờ", "Ở", "ở", "Ỡ", "ỡ", "Ớ", "ớ", "Ợ", "ợ", "Ù", "ù", "Ủ",
     "ủ", "Ũ", "ũ", "Ú", "ú", "Ụ", "ụ", "Ư", "ư", "Ừ", "ừ", "Ử", "ử", "Ữ", "ữ", "Ứ", "ứ", "Ự", "ự", "Ỳ", "ỳ",
     "Ỷ", "ỷ", "Ỹ", "ỹ", "Ỵ", "ỵ", "Ý", "ý"]
  ],
  "Formulae":[
    [ ["{{Cath-hier}}"], ["{{EncyBrit11}}"], ["{{Graesse}}"], ["{{Lexcit}}"], ["{{Smith-bio}}"], ["{{Smith-dgra}}"], ["{{Smith-geo}}"], ["{{Pnh}}"] ]
  ]
};

(function() {
  var $currentFocused;
  var box;
  function loadCommonsTools() {
    function selectSubset() {
      var pp = box.getElementsByTagName("p");
      for (var i=0; i<pp.length; ++i) {
        pp[i].style["display"] = "none";
      }
      //show/create current subset
      var id = sel.options[sel.selectedIndex].value;
      var p = document.getElementById(id);
      if(!p) {
        p = document.createElement('p');
        p.setAttribute("id", id);
        p.setAttribute("class", "mwEdittoolsLanguage");
        createTokens(p, charinsert[id.substr("mwEdittools--".length)]);
        box.appendChild(p);
      }
      p.style["display"] = "inline";
      if (window.useCharSubsetCookie &&
          parseInt($.cookie('edittoolscharsubset')) != sel.selectedIndex) {
        // set cookie
        $.cookie( 'edittoolscharsubset', sel.selectedIndex, { expires: 30 } );
      }
    }
    
    function createTokens(paragraph, outerArr) {
      var buttons;
      
      function insertInner(elem) {
        var a = false, ins;
        switch(typeof(elem)) {
          case("string"): {
            ins = function() {
              if ($currentFocused && $currentFocused.length && !$currentFocused.prop('readonly')) {
                $currentFocused.textSelection('encapsulateSelection', {pre: elem});
              }
              return false;
            };
            a = document.createElement("a");
            a.setAttribute("title", elem);
            a.appendChild(document.createTextNode(elem));
          } break;
          case("array"):
          case("object"): {
            ins = function() {
              if ($currentFocused && $currentFocused.length && !$currentFocused.prop('readonly')) {
                $currentFocused.textSelection('encapsulateSelection', {pre: elem[0], post: elem[1] || "", peri: elem[2] || ""});
              }
              return false;
            };
            a = document.createElement("a");
            a.setAttribute("title", elem[3] || (elem[0] + (elem[2] || "…") + (elem[1] || "")));
            a.appendChild(document.createTextNode(elem[0] + (elem[1] || "")));
          }; break;
        }
        if(a !== false) {
          a.onclick = ins;
          a.setAttribute("href", "#");
          a.setAttribute("class", "mwEdittoolsButton");
          buttons.appendChild(document.createTextNode(" "));
          buttons.appendChild(a);
        }
      }
      
      function insertOuter(innerArr) {
        switch(typeof(innerArr)) {
          case("array"):
          case("object"):
            buttons = document.createElement("span");
            buttons.setAttribute("class", "mwEdittoolsButtons");
            for(var i = 0; i<innerArr.length; ++i) {
              insertInner(innerArr[i]);
            }
            paragraph.appendChild(buttons);
            return true;
          case("string"):
            switch(innerArr) {
              case("ltr"):
              case("rtl"):
                paragraph.style["direction"] = innerArr;
              case(""):
                break;
              default:
                paragraph.setAttribute("lang", innerArr);
            }
          default:
            return false;
        }
      }
      
      if(outerArr.length == 0) { return; }
      for(var i=0; i<outerArr.length-1; ++i) {
        if(insertOuter(outerArr[i])) {
          var s = document.createElement("span");
          s.appendChild(document.createTextNode("\xA0\xA0•\xA0 "));
          s.style["font-weight"] = "bold";
          paragraph.appendChild(s);
        }
      }
      insertOuter(outerArr[outerArr.length-1]);
    }
    
    //create drop-down select
    var sel = document.createElement("select");
    for(var id in charinsert) {
      var op = document.createElement("option");
      op.setAttribute("value", "mwEdittools--" + id);
      op.appendChild(document.createTextNode(id));
      sel.appendChild(op);
    }
    sel.setAttribute("title", "Abecedarium selige");
    sel.onchange = sel.onkeyup = selectSubset;
    box.appendChild(sel);
    box.appendChild(document.createTextNode(" "));
    if (window.useCharSubsetCookie) {
      // get default subset from cookie
      var s = parseInt($.cookie('edittoolscharsubset'));
      s = (isNaN(s) ? 0 : s);
      // update dropdown control to value of cookie
      sel.selectedIndex = s;
    }
    selectSubset();
    return false;
  }
  
  //get div#mw-editTools
  box = document.getElementById('mw-editTools');
  if(!box) { return; }
  
  var box2 = document.createElement("div");
  box2.setAttribute("id", "specialchars");
  box2.setAttribute("title", "Preme in litteras desideratas");
  // box2.setAttribute("class", "Unicode");
  box.insertBefore(box2, box.firstChild);
  box = box2;
  
  // Initially apply to editing textarea, but change target when focus changes
  $currentFocused = $('#wpTextbox1');
  $(document).on('focus', 'textarea, input:text', function () { $currentFocused = $(this); });
  
  loadCommonsTools();
})();

 /* </nowiki> */
 // Edittools END