User:Watcharakorn/monobook.js

/* */ function addlilink(tabs, url, name, id, title, key){ var na = document.createElement('a'); na.href = url; na.appendChild(document.createTextNode(name)); var li = document.createElement('li'); if(id) li.id = id; li.appendChild(na); tabs.appendChild(li); na.accesskey = key; var pref = 'alt-'; if(((clientPC.indexOf('AppleWebKit')!=-1) && (clientPC.indexOf('spoofer')==-1)) || navigator.userAgent.toLowerCase.indexOf( 'mac' ) != -1 ) pref = 'control-'; if(clientPC.indexOf('opera')!=-1) pref = 'shift-esc-'; if(key && title) na.title = title + ' [' + pref + key + ']'; else if(title) na.title = title; else if(key) na.title = '[' + pref + key + ']'; return li; }

function addTab(url, name, id, title, key){ var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0]; addlilink(tabs, url, name, id, title, key); }

function getPname { z=document.getElementById("content").childNodes; for (var n=0;n<z.length;n++) { if (z[n].className=="firstHeading") return z[n].textContent; }; }

// ========== Edit Section 0 ========== function addEditSection0 { ta['ca-edit-0'] = ['', 'Edit the zeroth section of this page']; if (!document.getElementById) return; x = document.getElementById('ca-edit'); if(!x) return; y = document.createElement('LI'); y.id = 'ca-edit-0'; if (x.className == 'selected') { if (/&action=edit&section=0$/.test(window.location.href)) { x.className = 'istalk'; y.className = 'selected'; } else { x.className = 'selected istalk'; } } else if (x.className == 'selected istalk') { if (/&action=edit&section=0$/.test(window.location.href)) { x.className = 'istalk'; y.className = 'selected istalk'; } else { y.className = 'istalk'; } } else { y.className = x.className; x.className = 'istalk'; } z = document.createElement('A'); if (x.children) { z.href = x.children[0].href + '&section=0'; z.appendChild(document.createTextNode('0')); y.appendChild(z); document.getElementById('p-cactions').children[1].insertBefore(y,x.nextSibling); } else { z.href = x.childNodes[0].href + '&section=0'; z.appendChild(document.createTextNode('0')); y.appendChild(z); document.getElementById('p-cactions').childNodes[3].insertBefore(y,x.nextSibling); } }

if (document.title.indexOf("Editing ") == -1) { if (window.addEventListener) window.addEventListener("load", addEditSection0, false); else if (window.attachEvent) window.attachEvent("onload", addEditSection0); }

// ========== Add Last Diff ==========

function doLastDiff { var nurl="http://th.wikipedia.org/w/index.php?title=" + getPname + "&diff=cur&oldid=prev"; document.location=nurl } function addLastDiff { var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0]; var l=addlilink(tabs, "javascript:doLastDiff", 'ล่าสุด', ''); l.lastChild.title="Show most recent diff"; }

if (window.addEventListener) window.addEventListener("load", addLastDiff, false); else if (window.attachEvent) window.attachEvent("onload", addLastDiff); /* */

// ========== Replace string ========== // Javascript from http://www.irt.org/script/242.htm function replace(string,text,by) { // Replaces text with by in string var strLength = string.length, txtLength = text.length; if ((strLength == 0) || (txtLength == 0)) return string;

var i = string.indexOf(text); if ((!i) && (text != string.substring(0,txtLength))) return string; if (i == -1) return string;

var newstr = string.substring(0,i) + by;

if (i+txtLength < strLength) newstr += replace(string.substring(i+txtLength,strLength),text,by);

return newstr; }

// ========== Thai to Arabic Numbers ========== // This script converts all Thai numbers (๑ ๒ ๓) to Arabic numbers (1 2 3) 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 addConvertNumber { addTab("javascript:doConvertNumber", "๒ ->2", "ca-tanum", "เปลี่ยนเลขไทยเป็นอารบิก", ""); akeytt; }

if (document.title.indexOf("Edit ") == 0) { if (window.addEventListener) window.addEventListener("load", addConvertNumber, false); else if (window.attachEvent) window.attachEvent("onload", addConvertNumber); }

// ========== Arabic to Thai Numbers ========== // This script converts all Arabic numbers (1 2 3) to Thai numbers (๑ ๒ ๓) 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 addConvertToThaiNumber { addTab("javascript:doConvertToThaiNumber", "2 ->๒", "ca-atnum", "เปลี่ยนเลขอารบิกเป็นไทย", ""); akeytt; }

if (document.title.indexOf("Edit ") == 0) { if (window.addEventListener) window.addEventListener("load", addConvertToThaiNumber, false); else if (window.attachEvent) window.attachEvent("onload", addConvertToThaiNumber); }

// ========== change num ========== // This script converts all numbers (1 2 3) to all numbers + 1 (2 3 4) function doConvertNumber { text = document.editform.wpTextbox1.value; text = replace(text,'1','2'); text = replace(text,'2','3'); text = replace(text,'3','4'); text = replace(text,'4','5'); text = replace(text,'5','6'); text = replace(text,'6','7'); text = replace(text,'7','8'); text = replace(text,'8','9'); text = replace(text,'9','10'); text = replace(text,'10','11'); text = replace(text,'11','12'); text = replace(text,'12','13'); text = replace(text,'13','14'); text = replace(text,'14','15'); text = replace(text,'15','16'); text = replace(text,'16','17'); text = replace(text,'17','18'); text = replace(text,'18','19'); text = replace(text,'19','20'); text = replace(text,'20','21'); text = replace(text,'21','22'); text = replace(text,'22','23'); text = replace(text,'23','24'); text = replace(text,'24','25'); text = replace(text,'25','26'); text = replace(text,'26','27'); text = replace(text,'27','28'); text = replace(text,'28','29'); text = replace(text,'29','30'); text = replace(text,'30','31'); document.editform.wpTextbox1.value = text; document.editform.wpSummary.value = "plus 1"; } function addConvertNumber { addTab("javascript:doConvertNumber", "1 ->2", "ca-tanum", "plus + 1", ""); akeytt; }

if (document.title.indexOf("Edit ") == 0) { if (window.addEventListener) window.addEventListener("load", addConvertNumber, false); else if (window.attachEvent) window.attachEvent("onload", addConvertNumber); }

// ========== change num ========== // This script converts all numbers (1 2 3) to all numbers - 1 (0 1 2) function doConvertNumber { text = document.editform.wpTextbox1.value; text = replace(text,'1','0'); text = replace(text,'2','1'); text = replace(text,'3','2'); text = replace(text,'4','3'); text = replace(text,'5','4'); text = replace(text,'6','5'); text = replace(text,'7','6'); text = replace(text,'8','7'); text = replace(text,'9','8'); text = replace(text,'10','9'); document.editform.wpTextbox1.value = text; document.editform.wpSummary.value = "- 1"; } function addConvertToThaiNumber { addTab("javascript:doConvertToThaiNumber", "2 -> 1", "ca-atnum", "- 1", ""); akeytt; }

if (document.title.indexOf("Edit ") == 0) { if (window.addEventListener) window.addEventListener("load", addConvertToThaiNumber, false); else if (window.attachEvent) window.attachEvent("onload", addConvertToThaiNumber); }