Корисник:Михајло Анђелковић/mb.js
Напомена: Пошто објавите измене, можда ћете морати да обришете кеш меморију прегледача како бисте их видели. Google Chrome, Firefox, Microsoft Edge и Safari: Држите ⇧ Shift и кликните дугме Reload на траци са алаткама. За детаље и упутства о другим прегледачима, погледајте en:Wikipedia:Bypass your cache.
/**
* Reads the content of the edited text and categorizes it as a cyrlat upon
* need. Cyrlats-texts are text where some (or all) words have been written
* by use of Cyrillic and Latin letters in one word.
*
* No parameters, the function does all needed changes internally.
*/
function iscyrlat()
{
var cattag = "Категорија:Мешанци";
var txtarea;
if (document.editform) {
txtarea = document.editform.wpTextbox1;
} else {
// some alternate form? take the first one we can find
var areas = document.getElementsByTagName('textarea');
txtarea = areas[0];
}
var txt = txtarea.value.toLowerCase();
var tpresent = false;
if(txt.indexOf("[[" + cattag.toLowerCase() + "]]") != -1) {
tpresent = true;
}
var cyr = "абвгдђежзијклљмнњопрстћуфхцчџш";
var lat = "abvgdđežzijklmnoprstćufhcčšqwxy"
var state = 0;
var pstate = 0;
for(i=0; i<txt.length; i++) {
if(cyr.indexOf(txt.charAt(i)) != -1) {
state = 1;
} else if(lat.indexOf(txt.charAt(i)) != -1) {
state = -1;
} else {
state = 0;
}
if(state != pstate && state != 0 && pstate != 0) {
if(!tpresent) {
txtarea.value += "\n[[" + cattag + "]]";
}
return;
}
pstate = state;
}
if(tpresent) {
txtarea.value = txtarea.value.replace("[[" + cattag + "]]","");
}
}
function iscyrlatInit() {
if(document.getElementById('editform')) {
document.getElementById('editform').setAttribute('onsubmit', 'return iscyrlat();');
}
}
$(iscyrlatInit);