User:Alex Smotrov/createEditTools

// //basic set of tags and symbols var charinsert = 'Insert: –—…°≈≠≤≥±−×÷←→·§ _ _ Sign_your_username: ~+ ___ ' + 'Wiki_markup: |+ [+]  +   + + +   "+" + + +  +  + __ ' + 'Symbols: ~|¡¿†‡↔↑↓•¶ #¹²³½⅓⅔¼¾⅛⅜⅝⅞∞ ‘“’” ¢$€₦£¥ ♠♣♥♦ __ ';

function createEditTools{

var box = document.getElementById('editpage-specialchars'); if (!box) return;

//additional sets of symbols if (!window.noAdditionalChars){ charinsert += 'Characters: ÁáĆćÉéÍíĹĺŃńÓóŔŕŚśÚúÝýŹź ÀàÈèÌìÒòÙù ÂâĈĉÊêĜĝĤĥÎîĴĵÔôŜŝÛûŴŵŶŷ ÄäËëÏïÖöÜüŸÿ ß ÃãẼẽĨĩÑñÕõŨũỸỹ ÇçĢģĶķĻļŅņŖŗŞşŢţ Đđ Ůů ǍǎČčĎďĚěǏǐĽľŇňǑǒŘřŠšŤťǓǔŽž ĀāĒēĪīŌōŪūȲȳǢǣ ǖǘǚǜ ĂăĔĕĞğĬĭŎŏŬŭ ĊċĖėĠġİıŻż ĄąĘęĮįǪǫŲų ḌḍḤḥḶḷḸḹṂṃṆṇṚṛṜṝṢṣṬṭ Łł ŐőŰű Ŀŀ Ħħ ÐðÞþ Œœ ÆæØøÅå Əə _• __ '; charinsert += 'Greek: ΆάΈέΉήΊίΌόΎύΏώ ΑαΒβΓγΔδ ΕεΖζΗηΘθ ΙιΚκΛλΜμ ΝνΞξΟοΠπ ΡρΣσςΤτΥυ ΦφΧχΨψΩω _• __ '; charinsert += 'Cyrillic: АаБбВвГг ҐґЃѓДдЂђ ЕеЁёЄєЖж ЗзЅѕИиІі ЇїЙйЈјКк ЌќЛлЉљМм НнЊњОоПп РрСсТтЋћ УуЎўФфХх ЦцЧчЏџШш ЩщЪъЫыЬь ЭэЮюЯя __ '; charinsert += 'IPA: _ t̪+ d̪+ ʈɖɟɡɢʡʔ ɸʃʒɕʑʂʐʝɣʁʕʜʢɦ ɱɳɲŋɴ ʋɹɻɰ ʙʀɾɽ ɫɬɮɺɭʎʟ ɥʍɧ ɓɗʄɠʛ ʘǀǃǂǁ ɨʉɯ ɪʏʊ ɘɵɤ əɚ ɛɜɝɞʌɔ ɐɶɑɒ ʰʷʲˠˤⁿˡ ˈˌːˑ̪ _•  __ ' }

//remove current Edittools - for demonstration only while (box.firstChild) box.removeChild(box.firstChild); var tokens, i, token, n	var paragraph = document.createElement('small'); tokens = charinsert.split(' '); for (i in tokens) { token = tokens[i]; n = token.indexOf('+'); if (n >= 0){ //a tag addInsLink(paragraph, token.substring(0,n), token.substring(n+1)); addnbsp(paragraph); }else if (token == '_') addnbsp(paragraph); else if (token == '__') paragraph.appendChild(document.createElement('br')) else if (token == '___') paragraph.appendChild(document.createElement('hr')) else if (token.charAt(token.length-1) == ':') // : at the end means just text addBoldText(paragraph, token) else if (token.charAt(0) == '_') //_ in the beginning also means text addBoldText(paragraph, token.substring(1)) else{ //a string of characters for (var i=0; i < token.length; i++) addInsLink(paragraph, token.charAt(i), ''); addnbsp(paragraph); }					paragraph.appendChild(document.createTextNode(' ')); }	box.appendChild(paragraph); }

function addInsLink(parent, tagOpen, tagClose){ tagOpen = tagOpen.replace(/_/g,' '); var a = document.createElement('a'); a.appendChild(document.createTextNode(tagOpen + tagClose)); a.href = "javascript:insertTags('" + tagOpen + "','" + tagClose + "','')"; parent.appendChild(a); parent.appendChild(document.createTextNode(' ')); }

function addBoldText(parent, text){ var b = document.createElement('b'); b.appendChild(document.createTextNode(text.replace(/_/g,' '))); parent.appendChild(b); parent.appendChild(document.createTextNode(' ')); }

function addnbsp(parent){ parent.appendChild(document.createTextNode(' \u00a0 ')); }

addOnloadHook(createEditTools);

if (document.editform) createEditTools; //for demonstration only

//