ผู้ใช้:Jutiphan/Scripts/editor/monobook.js

จากวิกิพีเดีย สารานุกรมเสรี

หมายเหตุ: หลังเผยแพร่ คุณอาจต้องล้างแคชเว็บเบราว์เซอร์ของคุณเพื่อดูการเปลี่ยนแปลง

  • ไฟร์ฟอกซ์ / ซาฟารี: กด Shift ค้างขณะคลิก Reload หรือกด Ctrl-F5 หรือ Ctrl-R (⌘-R บนแมค)
  • กูเกิล โครม: กด Ctrl-Shift-R (⌘-Shift-R บนแมค)
  • อินเทอร์เน็ตเอกซ์พลอเรอร์ และ Edge: กด Ctrl ค้างขณะคลิก Refresh หรือกด Ctrl-F5
  • โอเปร่า: กด Ctrl-F5
// ========================================================
// iScript: editor module
//
// Copyright 2006-2008, Jutiphan Mongkolsuthree
// Certain functions are copyrighted by their
// respective copyright holders
//
// Deluxe Summary:
//   * Author : Dake
//   * Contributions : Pabix, Tieno
//   * Last Revision : 12 November 2006
//   * Source: //fr.wikipedia.org/wiki/Utilisateur:Huster/monobook.js
//   * Recommended by: User:Passawuth
//
// User:Jutiphan Created: 10-12-2006
// Replaced: copyvio
// ========================================================
/* <pre><nowiki> */
var resumedeluxeTitles = new Array();
var resumedeluxeInputs = new Array();

if (iScriptConfig.Edition == Editions.Wikipedia) {
    with (resumedeluxeTitles) {
        push("เก็บกวาด");
        push("แจ้งต้องการอ้างอิง");
        push("ใส่อ้างอิง");
        push("ใส่เว็บย่อ");
        push("ใส่กล่องข้อมูล");
        push("ใส่ภาพ");
        push("ปรับแก้ ขยายความ");
        push("จัดหมวดหมู่");
        push("ใส่โครง");
        push("ใส่ลิงก์ข้ามภาษา");
    }
    with (resumedeluxeInputs) {
        push("เก็บกวาด");
        push("แจ้งต้องการอ้างอิง");
        push("อ้างอิง");
        push("เว็บย่อ");
        push("กล่องข้อมูล");
        push("ภาพ");
        push("ปรับแก้ +เนื้อหา");
        push("จัดหมวดหมู่");
        push("โครง");
        push("ลิงก์ข้ามภาษา");
    }
} else if (iScriptConfig.Edition == Editions.Uncyclopedia) {
    with (resumedeluxeTitles) {
        push("เก็บกวาด");
        push("แจ้งไม่ใช่เรื่องจริง");
        push("ใส่เว็บย่อ");
        push("ใส่กล่องข้อมูล");
        push("ใส่ภาพ");
        push("ปรับแก้ ขยายความ");
        push("จัดหมวดหมู่");
        push("ใส่โครง");
        push("ใส่ลิงก์ข้ามภาษา");
    }
    with (resumedeluxeInputs) {
        push("เก็บกวาด");
        push("แจ้งไม่ใช่เรื่องจริง");
        push("เว็บย่อ");
        push("กล่องข้อมูล");
        push("ภาพ");
        push("ปรับแก้ +เนื้อหา");
        push("จัดหมวดหมู่");
        push("โครง");
        push("ลิงก์ข้ามภาษา");
    }
}

// === CopyEdit for Wikisource ==
function CopyEdit() {
    text = text.replace(/\n\n(?!;|:|=)/g, "");          //Remove extra new lines
    text = text.replace(/(\S{4,})(\.|,|;)/g, "$1");     //Remove English sentence controls char
    text = text.replace(/ {2,10}/g, " ");               //Remove extra spaces

    //Auto h2 headings
    text = text.replace(/(.*?)(?!=)\r?\n(.*?)(?!=) ?\r?\n\n?\-{4,}/g, "== $1 ==\n$2");
    text = text.replace(/(.*?)(?!=) ?\r?\n\n?\-{4,}/g, "== $1 ==");

    document.editform.wpSummary.value = "ทดลองจัดหน้า" + iScriptConfig.Tagline;
    document.editform.wpTextbox1.value = text;
}

// === Transcribe ===
function TranscribeWord() {

    var selText = getSelText();
    var matches;
    var askMode = false;
    var txtArea = document.editform.wpTextbox1;

    if (selText == null || selText.length == 0) {
        selText = prompt("ระบุคำที่คุณต้องการทับศัพท์:");
        askMode = true;
    }
    if (selText == null || selText.length == 0) {
        return;
    }

    selText = selText.trim();
    var url = "//th.wikipedia.org/w/api.php?format=xml&action=query&prop=revisions&rvprop=content&titles=" + encodeURIComponent("วิกิพีเดีย:โครงการคำทับศัพท์/คำทับศัพท์หมวด " + selText.charAt(0).toUpperCase());
    var xmlhttp = new sajax_init_object();
    xmlhttp = new sajax_init_object();
    xmlhttp.open('GET', url, true);
    xmlhttp.onreadystatechange = function () {
        if (typeof xmlhttp == "undefined") return;
        if (xmlhttp.readyState == 4) {
            if (xmlhttp.status == 200) {
                text = xmlhttp.responseText;
                var re = new RegExp("\n\\| ?" + selText + " ?\\|\\| ?\\[?\\[?(.*?)\\]?\\]? ?\\|\\|", "ig");
                matches = re.exec(text);
                if (matches == null) {
                    alert("ขออภัย คำที่คุณเรียกไม่ได้มีการระบุคำทับศัพท์บนวิกิพีเดียไทย แก้ไขเพิ่มเติมได้ที่ WP:RFT");
                    return;
                } else if (askMode) {
                    alert(selText + " ทับศัพท์เป็น " + matches[1]);
                    return;
                }

                var answer = matches[1];
                if (document.selection && $.client.profile().layout != 'gecko') {
                    var theSelection = document.selection.createRange().text;
                    theSelection = theSelection.substring(0, theSelection.length - 1);
                    var range = document.selection.createRange();
                    range.text = answer;
                    range.select();

                } else if (txtArea.selectionStart || txtArea.selectionStart == '0') {
                    var startPos = txtArea.selectionStart;
                    var endPos = txtArea.selectionEnd;
                    var scrollTop = txtArea.scrollTop;

                    txtArea.value = txtArea.value.substring(0, startPos) + answer + txtArea.value.substring(endPos, txtArea.value.length);
                    setCaretTo(txtArea, startPos + answer.length);
                    txtArea.scrollTop = scrollTop;

                } else {
                    alert("การใช้งานทับศัพท์ มีปัญหาและไม่สามารถดำเนินการเสร็จสิ้นได้ กรุณาแจ้งที่ คุยกับผู้ใช้:Jutiphan");
                }

            } else {
                alert("ขออภัย มีปัญหาในการดึงข้อมูล กรุณารอสักครู่และลองใหม่อีกครั้ง หากยังมีปัญหา กรุณาติดต่อผู้ใช้:Jutiphan");
            }
        }
    };
    xmlhttp.send(null);


}

function setSummary(str) {
    document.editform.wpSummary.value = str;
}

function addToSummary(str) {
    var resum = document.editform.wpSummary.value;
    if (resum != 0 && resum.indexOf("*/") < resum.length - 3) {
        document.editform.wpSummary.value += " +";
    }
    document.editform.wpSummary.value += str;
}

function DeluxeSummary() {
    var sumLbl = document.getElementById("wpSummaryLabel");
    if (sumLbl) {
        var sumInput = document.getElementById("wpSummary");
        sumInput.style.width = "95%";
        var str = "สรุปสิ่งที่คุณทำ: ";
        for (var cpt = 0; cpt < resumedeluxeTitles.length; cpt++) {
            str += "<a href=\"javascript:addToSummary('" + resumedeluxeInputs[cpt] + "')\""
                + " class=\"sumLink\" title=\"ที่จะใส่ '" + resumedeluxeInputs[cpt] + "' ในกล่องคำอธิบายอย่างย่อ\">"
                + resumedeluxeTitles[cpt]
                + "</a> ";
        }
        sumLbl.innerHTML = str + "<br />" + sumLbl.innerHTML;
    }
}

// ========== ไม้ยมก จัดชิดตัวหน้า  ==========
// สคริปต์นี้ จัดไม้ยมก จาก "ก ๆ ก" เป็น "กๆ ก"
function doConvertYamok() {
    text = document.editform.wpTextbox1.value;
    text = replace(text, ' ๆ', 'ๆ');
    text = replace(text, '&nbsp;ๆ', 'ๆ');
    document.editform.wpTextbox1.value = text;

    if (document.editform.wpSummary.value.length == 0) {
        document.editform.wpSummary.value = "จัดชิดไม้ยมก";
        document.editform.wpMinoredit.checked = true;
    } else {
        document.editform.wpSummary.value = document.editform.wpSummary.value + " +จัดชิดไม้ยมก";
    }

}


// ========== เปลี่ยนเลขไทยเป็นเลขอารบิก ==========
function doConvertNumber() {
    text = document.editform.wpTextbox1.value;
    text = replace(text, '๑', '1');
    text = replace(text, '๒', '2');
    text = replace(text, '๓', '3');
    text = replace(text, '๔', '4');
    text = replace(text, '๕', '5');
    text = replace(text, '๖', '6');
    text = replace(text, '๗', '7');
    text = replace(text, '๘', '8');
    text = replace(text, '๙', '9');
    text = replace(text, '๐', '0');
    document.editform.wpTextbox1.value = text;
    document.editform.wpSummary.value = "เปลี่ยนไปใช้เลขอารบิก";
}

// ========== เปลี่ยนเลขอารบิกเป็นเลขไทย ==========
function doConvertToThaiNumber() {
    text = document.editform.wpTextbox1.value;
    text = replace(text, '1', '๑');
    text = replace(text, '2', '๒');
    text = replace(text, '3', '๓');
    text = replace(text, '4', '๔');
    text = replace(text, '5', '๕');
    text = replace(text, '6', '๖');
    text = replace(text, '7', '๗');
    text = replace(text, '8', '๘');
    text = replace(text, '9', '๙');
    text = replace(text, '0', '๐');
    document.editform.wpTextbox1.value = text;
    document.editform.wpSummary.value = "เปลี่ยนไปใช้เลขไทย";
}


// ========== สอบถาม พ.ศ. ==========
function WhatIsThaiYear() {

    var what = getSelText();
    var shortName = false;
    var askMode = false;
    var issueWarning = false;
    var totalWarnings = 0;
    var yr;
    var pYr;
    var txtArea = document.editform.wpTextbox1;

    //if (what == null || what.length == 0) {
    //  what = getSelTextArea();
    //}
    if (what != null && what.length > 0) {
        what = what.replace(/ค\.ศ\. ?(\d{1,4})/g, "$1 AD");

        /*if (what.search(/\[\[\d{1,4}\]\]/) != -1) {
         shortName = true;
         what = what.replace(/\[|\]/g, "");
         }*/
    }

    if (what == null || what.length == 0) {
        what = prompt("ระบุปี ค.ศ.:");
        askMode = true;
    }
    if (what == null || what.length == 0) {
        return;
    }
    if (askMode) {
        if (isNaN(what)) {
            return;
        }
        yr = parseInt(what) + 543;
        pYr = parseInt(what) + 542;
        if (yr <= 2483 && iScriptConfig.usePreciseConversion) {
            alert("ค.ศ. " + what + " เท่ากับ พ.ศ. " + pYr + " สำหรับช่วงเดือนมกราคม - มีนาคม\nค.ศ. " + what + " เท่ากับ พ.ศ. " + yr + " สำหรับช่วงเดือนเมษายน - ธันวาคม");
        } else if (yr <= 2483) {
            alert("ค.ศ. " + what + " เท่ากับ พ.ศ. " + yr + "\n\nสคริปต์จัดให้คำนวณด้วยการ +543 เป็นค่าปริยายสำหรับทุกปีซึ่งอาจไม่แม่นยำ โดยคุณสามารถเปลี่ยนการคำนวณด้วยการปรับแต่ง ดูเพิ่มที่หน้าหลักสคริปต์จัดให้");
        } else {
            alert("ค.ศ. " + what + " เท่ากับ พ.ศ. " + yr);
        }
        return;
    }

    what = what.replace(/(January|February|March|April|May|June|July|August|September|October|November|December) (\d{1,2})/ig, "$2 $1");
    what = what.replace(/January/ig, "มกราคม");
    what = what.replace(/February/ig, "กุมภาพันธ์");
    what = what.replace(/March/ig, "มีนาคม");
    what = what.replace(/April/ig, "เมษายน");
    what = what.replace(/May/ig, "พฤษภาคม");
    what = what.replace(/June/ig, "มิถุนายน");
    what = what.replace(/July/ig, "กรกฎาคม");
    what = what.replace(/August/ig, "สิงหาคม");
    what = what.replace(/September/ig, "กันยายน");
    what = what.replace(/October/ig, "ตุลาคม");
    what = what.replace(/November/ig, "พฤศจิกายน");
    what = what.replace(/December/ig, "ธันวาคม");

    //Fix gap lookahead
    what = what.replace(/(\d{1,4}) AD/ig, "$1AD");
    what = what.replace(/(\d{1,4}) BC/ig, "$1BC");

    //Fix short BC, prevent conflict with just numbers
    what = what.replace(/BC\|\d{1,4}/ig, "BC!");

    //Remove comma
    what = what.replace(/,/g, "");

    var results = what.match(/(\d{3,4}(?!AD|BC|\d{1}))/ig);
    if (results) {
        for (var i = 0; i < results.length; i++) {
            yr = parseInt(results[i]) + 543;
            if (iScriptConfig.usePreciseConversion) {
                if (yr <= 2483) {
                    issueWarning = true;
                    totalWarnings = totalWarnings + 1;
                }
            }
            re = new RegExp(results[i] + "(?!AD|BC)", "ig");
            what = what.replace(re, "พ.ศ. " + yr);
        }
    }

    if (iScriptConfig.usePreciseConversion) {
        var results = what.match(/(?:มกราคม|กุมภาพันธ์|มีนาคม) พ.ศ. (\d{1,4})(?!AD|BC|\d{1})/ig);
        if (results) {
            for (var i = 0; i < results.length; i++) {
                yr = parseInt(results[i].match(/\d{1,4}/)[0]);
                if (yr <= 2483) {
                    totalWarnings = totalWarnings - 1;
                    re = new RegExp("(มกราคม|กุมภาพันธ์|มีนาคม) พ.ศ. " + yr + "(?!AD|BC)", "ig");
                    yr = yr - 1;
                    what = what.replace(re, "$1 พ.ศ. " + yr);
                }
            }
        }

        var results = what.match(/(?:เมษายน|พฤษภาคม|มิถุนายน|กรกฎาคม|สิงหาคม|กันยายน|ตุลาคม|พฤศจิกายน|ธันวาคม) พ.ศ. (\d{1,4})(?!AD|BC|\d{1})/ig);
        if (results) {
            for (var i = 0; i < results.length; i++) {
                yr = parseInt(results[i].match(/\d{1,4}/)[0]);
                if (yr <= 2483) {
                    totalWarnings = totalWarnings - 1;
                }
            }
        }
    }

    //!BC case handling (for short name)
    results = what.match(/(\d{1,4})BC!/ig);
    if (results) {
        for (var i = 0; i < results.length; i++) {
            if (iScriptConfig.usePreciseConversion) {
                issueWarning = true;
            }
            yr = 544 - parseInt(results[i]);

            re = new RegExp(results[i], "ig");
            if (yr <= 0) {
                yr = (yr - 1) * -1;
                what = what.replace(re, yr + " ปีก่อนพุทธศักราช|" + yr);
            } else {
                what = what.replace(re, "พ.ศ. " + yr);
            }
        }
    }

    //BC case handling
    results = what.match(/(\d{1,4})BC/ig);
    if (results) {
        for (var i = 0; i < results.length; i++) {
            if (iScriptConfig.usePreciseConversion) {
                issueWarning = true;
            }
            yr = 544 - parseInt(results[i]);
            re = new RegExp(results[i], "ig");
            if (yr <= 0) {
                yr = (yr - 1) * -1;
                what = what.replace(re, yr + " ปีก่อนพุทธศักราช");
            } else {
                what = what.replace(re, "พ.ศ. " + yr);
            }
        }
    }

    //AC case handling
    results = what.match(/(\d{1,4})AD/ig);
    if (results) {
        for (var i = 0; i < results.length; i++) {
            yr = parseInt(results[i]) + 543;
            if (iScriptConfig.usePreciseConversion) {
                if (yr <= 2483) {
                    issueWarning = true;
                }
            }
            re = new RegExp(results[i], "ig");
            what = what.replace(re, "พ.ศ. " + yr);
        }
    }

    answer = what;
    if (document.selection && !is_gecko) {
        var theSelection = document.selection.createRange().text;
        theSelection = theSelection.substring(0, theSelection.length - 1);
        var range = document.selection.createRange();
        range.text = answer;
        range.select();

    } else if (txtArea.selectionStart || txtArea.selectionStart == '0') {
        var startPos = txtArea.selectionStart;
        var endPos = txtArea.selectionEnd;
        var scrollTop = txtArea.scrollTop;

        txtArea.value = txtArea.value.substring(0, startPos) + answer + txtArea.value.substring(endPos, txtArea.value.length);
        setCaretTo(txtArea, startPos + answer.length);
        txtArea.scrollTop = scrollTop;

    } else {
        alert("การใช้งาน พ.ศ. อะไร มีปัญหาและไม่สามารถดำเนินการเสร็จสิ้นได้ กรุณาแจ้งที่ คุยกับผู้ใช้:Jutiphan");
    }
    if (issueWarning && totalWarnings > 0) {
        alert("ในปีที่ได้เลือกให้แปลงนั้น มีบางปีที่ก่อนหน้า ค.ศ. 1941 ซึ่งสคริปต์จัดให้ได้แปลงด้วยการ +543 แต่สำหรับปีดังกล่าวหากเป็นช่วงมกราคม-มีนาคมอาจต้อง -1 เพื่อใช้ +542 แทนที่");
    }
}


// ========== แทนที่คำส่วนแรก ==========
// Source: //en.wikipedia.org/wiki/User:Voice_of_All/replacetxt.js
//Manual replace
function replacetxt() {

    withw = '';
    var what = getSelText();

    if (what == null || what.length == undefined) {
        what = getSelTextArea();
    }
    if (what == null || what.length == undefined || what.length == 0) {
        what = prompt("ระบุข้อความที่ต้องการจะแทนที่:" + "\n" + "(รองรับ Regex โดยให้ใส่ // นำหน้าและหลังสุด)","");
    }
    if (what == null || what.length == 0) {
        return;
    }

    what_GUI = what;
    if (what.replace(/^\/\/(.*?)\/\/$/g, "$1") == what.split('//')[1]) {
        what = what.split('//')[1];
        replacetxtdone(what.split('//')[0], 1, what);

    } else {
        what = what.replace(/\\/g, "\\\\");
        what = what.replace(/\(/g, "\\(").replace(/\)/g, "\\)");
        what = what.replace(/\{/g, "\\{").replace(/\}/g, "\\}");
        what = what.replace(/\[/g, "\\[").replace(/\]/g, "\\]");
        what = what.replace(/\|/g, "\\|");
        what = what.replace(/\./g, "\\.");
        what = what.replace(/\$/g, "\\$");
        what = what.replace(/\+/g, "\\+");
        what = what.replace(/\^/g, "\\^");
        what = what.replace(/\?/g, "\\?");
        what = what.replace(/\*/g, "\\*");
        what = what.replace(/\//g, "\\/");
        replacetxtdone(what, 0, what_GUI);
    }
}

// ========== แทนที่คำส่วนสอง ==========
function replacetxtdone(s, regexon, what_GUI) {

    var original = document.editform.wpTextbox1.value;
    if (s) {
        if (regexon == 1) {
            var r = prompt('ระบุคำที่จะแทนที่ "' + what_GUI + '" (ให้ใช้ Regex)', what_GUI);
        } else {
            var r = prompt('ระบุคำที่จะแทนที่ "' + what_GUI + '"', what_GUI);
        }

        if (!r && r != '') {
            //alert('ยกเลิกการค้นหาและแทนที่ข้อความ');
            return;
        }
        if (r == '') {
            var confirmans = confirm('ข้อความ "' + what_GUI + '" จะถูกลบทิ้งทั้งหมด คุณแน่ใจว่าต้องการทำเช่นนั้น?');
            if (!confirmans) {
                return;
            }
        }

        var txt = document.editform.wpTextbox1;
        var rep = RegExp(s, "g");
        txt.value = txt.value.replace(rep, r).replace(/\\n/g, "\n");

        form = document.getElementById('bodyContent');
        l = form.getElementsByTagName('input');
        for (i = 0; i < l.length; i++) {
            if (l[i].name == 'wpMinoredit') {
                l[i].value = '1';
                l[i].checked = true;
            }
        }

        if (document.editform.wpTextbox1.value == original) {
            alert('ขออภัย ข้อความที่ระบุไม่เจอในบทความ');
            return;
        }

        if (document.editform.wpSummary.value.length == 0) {
            document.editform.wpSummary.value = 'แทนที่ "' + what_GUI + '" → "' + r + '" ' + iScriptConfig.Tagline;
        } else {
            var eIndex = document.editform.wpSummary.value.lastIndexOf(iScriptConfig.Tagline);
            if (eIndex != -1) {
                var strTmp = document.editform.wpSummary.value;
                document.editform.wpSummary.value = strTmp.substring(0, eIndex) + ' +แทนที่ "' + what_GUI + '" → "' + r + '" ' + iScriptConfig.Tagline;
            } else {
                document.editform.wpSummary.value += ' +แทนที่ "' + what_GUI + '" → "' + r + '" ' + iScriptConfig.Tagline;
            }
        }
    }
}

function doCopyViolation() {
    var currentDay = new Date();
    var thaiDate = new Date(currentDay.getTime() + 25200000); //7*1000*60*60
    var year = thaiDate.getUTCFullYear() + 543;
    var month = thaiDate.getUTCMonth() + 1;


    document.editform.wpTextbox1.value = "{{ละเมิดลิขสิทธิ์|url=  |วันที่=" + thaiDate.getUTCDate() + "/" + month + "/" + year + " |หมายเหตุ= }}";
    document.editform.wpSummary.value = "แจ้งละเมิดลิขสิทธิ์" + iScriptConfig.Tagline;
}

function addCopyViolation() {
    addTab("javascript:doCopyViolation()", "ละเมิด", "ca-vio", "แจ้งละเมิดลิขสิทธิ์", "");
    akeytt();
}

function InsertCheckIcon() {
    insertTags("[[ภาพ:CheckIconSmall.png]] ", "", "");
}


$(document).ready(function () {

    if (wgAction.indexOf("edit") == 0) {
        DeluxeSummary();

        var tooly = document.getElementById('toolbar');
        if (tooly != null) {
            var checkButton = "<a href=\"javascript:InsertCheckIcon();\"><img src=\"//upload.wikimedia.org/wikipedia/th/3/37/Button_Yes.png\" alt=\"ใส่เครื่องหมายถูก\" title=\"ใส่เครื่องหมายถูก\"></a>";
            var cleanupButton = "<a href=\"javascript:doCleanupTag();\"><img src=\"//upload.wikimedia.org/wikipedia/th/9/96/Button_cleanup.png\" alt=\"เก็บกวาด\" title=\"เก็บกวาด\"></a>";
            var replaceButton = "<a href=\"javascript:replacetxt();\"><img src=\"//upload.wikimedia.org/wikipedia/th/b/bc/Button_replace_th.png\" alt=\"แทนที่คำ\" title=\"แทนที่คำ\"></a>";
            var porsorButton = "<a href=\"javascript:WhatIsThaiYear();\"><img src=\"//upload.wikimedia.org/wikipedia/th/e/e2/Button_Porsor.png\" alt=\"พ.ศ. อะไร\" title=\"พ.ศ. อะไร\"></a>";
            var transcribeButton = "<a href=\"javascript:TranscribeWord();\"><img src=\"//upload.wikimedia.org/wikipedia/th/0/09/Button_transcription.png\" alt=\"ทับศัพท์\" title=\"ทับศัพท์\"></a>";

            $('<div id="toolbar2"></div>').insertAfter('#toolbar');

            if (iScriptConfig.enableTestScripts) {
                $('#toolbar2').append(cleanupButton, replaceButton, porsorButton, transcribeButton);

            } else {
                if (iScriptConfig.Edition == Editions.Wikipedia) {
                    $('#toolbar2').append(cleanupButton, replaceButton, porsorButton, transcribeButton);
                } else {
                    $('#toolbar2').append(cleanupButton, replaceButton, porsorButton);
                }
            }
            //akeytt();
        }


        var lastDiff = document.getElementById('ca-ldff');
        addTab("javascript:doConvertNumber()", "๒ ->2", "ca-tanum", "เปลี่ยนเลขไทยเป็นอารบิก", "", lastDiff);
        addTab("javascript:doConvertToThaiNumber()", "2 ->๒", "ca-atnum", "เปลี่ยนเลขอารบิกเป็นไทย", "", lastDiff);
        addTab("javascript:doConvertYamok()", "ๆ", "ca-yamok", "จัดชิดไม้ยมก", "", lastDiff);
        addTab("javascript:doCopyViolation()", "ละเมิด", "ca-vio", "แจ้งละเมิดลิขสิทธิ์", "", lastDiff);
        if (iScriptConfig.Edition == Editions.Wikisource) {
            addTab("javascript:CopyEdit()", "จัดหน้า (ทดสอบ)", "ca-copyEdit", "", "จัดหน้า");
        }

        // Check that the toolbar is available
        if (typeof $ != 'undefined' && typeof $.fn.wikiEditor != 'undefined') {
            // Execute on load
            // General format:
            // $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { configuration object here } );
            // To add a group to an existing toolbar section:
            $('#wpTextbox1').wikiEditor('addToToolbar', {
                'section': 'main',
                'groups': {
                    'iScript': {
                        'label': '' // or use labelMsg for a localized label, see above
                    }
                }
            });

            // To add a button to an existing toolbar group:
            $('#wpTextbox1').wikiEditor('addToToolbar', {
                'section': 'main',
                'group': 'iScript',
                'tools': {
                    'Cleanup': {
                        label: 'เก็บกวาด', // or use labelMsg for a localized label, see above
                        type: 'button',
                        icon: '//upload.wikimedia.org/wikipedia/th/a/ab/VectorButton_Cleanup.png',
                        action: {
                            type: 'callback',
                            execute: function (self) {
                                doCleanupTag();
                            }
                        }
                    }
                }
            });

            $('#wpTextbox1').wikiEditor('addToToolbar', {
                'section': 'main',
                'group': 'iScript',
                'tools': {
                    'Replace': {
                        label: 'แทนที่คำ', // or use labelMsg for a localized label, see above
                        type: 'button',
                        icon: '//upload.wikimedia.org/wikipedia/th/3/39/VectorButton_Replace.png',
                        action: {
                            type: 'callback',
                            execute: function (self) {
                                replacetxt();
                            }
                        }
                    }
                }
            });

            $('#wpTextbox1').wikiEditor('addToToolbar', {
                'section': 'main',
                'group': 'iScript',
                'tools': {
                    'Porsor': {
                        label: 'พ.ศ.', // or use labelMsg for a localized label, see above
                        type: 'button',
                        icon: '//upload.wikimedia.org/wikipedia/th/6/6e/VectorButton_Porsor.png',
                        action: {
                            type: 'callback',
                            execute: function (self) {
                                WhatIsThaiYear();
                            }
                        }
                    }
                }
            });

            $('#wpTextbox1').wikiEditor('addToToolbar', {
                'section': 'main',
                'group': 'iScript',
                'tools': {
                    'Transcribe': {
                        label: 'ทับศัพท์', // or use labelMsg for a localized label, see above
                        type: 'button',
                        icon: '//upload.wikimedia.org/wikipedia/th/c/cb/VectorButton_Transcribe.png',
                        action: {
                            type: 'callback',
                            execute: function (self) {
                                TranscribeWord();
                            }
                        }
                    }
                }
            });

            if ((wgNamespaceNumber == 2 || wgNamespaceNumber == 3 || wgPageName.indexOf(iScriptConfig.pageName) >= 0) && (document.URL.indexOf("&action=submit") || wgIsArticle)) {
                var sStatus = document.getElementById('iScriptStatus');
                if (sStatus != null) {
                    var newestVersion = parseFloat(document.getElementById('iScriptVersion').innerHTML);

                    if (iScriptVersion >= newestVersion) {
                        if (wgPageName.indexOf("ผู้ใช้:Jutiphan") >= 0 || wgPageName.indexOf("คุยกับผู้ใช้:Jutiphan") >= 0) {
                            sStatus.innerHTML = "<span style=\"clear: right; width: 256px; float:right; margin:0em 0em 0.5em 1em; text-align:center; border-style: solid; border-width: 0px 1px 1px 1px; border-color: #87CEEB; background-color:#f0fff0; color:#008000; padding: 6px;\"><img src=\"//upload.wikimedia.org/wikipedia/commons/thumb/3/34/Crystal_Clear_app_clean.png/20px-Crystal_Clear_app_clean.png\" alt=\"\" width=\"20\" height=\"20\"/> คุณกำลังใช้สคริปต์จัดให้รุ่นล่าสุด<br/><A href=\"javascript:performUpdate();\">อัปเดตใหม่</A></span>";
                        } else {
                            sStatus.innerHTML = "<span style=\"clear: right; width: 256px; float:right; margin:0em 0em 0.5em 1em; text-align:center; border-style: solid; border-width: 0px 1px 1px 1px; border-color: #87CEEB; background-color:#f0fff0; color:#008000; padding: 6px;\"><img src=\"//upload.wikimedia.org/wikipedia/commons/thumb/3/34/Crystal_Clear_app_clean.png/20px-Crystal_Clear_app_clean.png\" alt=\"\" width=\"20\" height=\"20\"/> คุณกำลังใช้สคริปต์จัดให้รุ่นล่าสุด</span>";
                        }
                    } else {
                        sStatus.innerHTML = "<span style=\"clear: right; width: 256px; float:right; margin:0em 0em 0.5em 1em; text-align:center; border-style: solid; border-width: 0px 1px 1px 1px; border-color: #87CEEB; background-color: #FFF8DC; color:#8B4513; padding: 6px;\"><img src=\"//upload.wikimedia.org/wikipedia/commons/thumb/d/dc/Nuvola_apps_important_yellow.svg/25px-Nuvola_apps_important_yellow.svg.png\" alt=\"\" width=\"25\" height=\"21\"/> คุณกำลังใช้สคริปต์จัดให้รุ่น " + iScriptVersion + "<br/><A href=\"javascript:performUpdate();\">อัปเดตไปรุ่นล่าสุด</A></SPAN>";
                    }
                }
            }
        }
    }

});



/* </nowiki></pre> */