User:Saruoh/monobook.js

// This javascript prevents carelessly submission (hitting Enter at summary field). // To enable, copy and paste this script to a subpage of your user page. // 2004-07-30: New feature: Replace Fullwidth comma (U+FF0C) to Ideographic comma (U+3001) //                         and Fullwidth full stop (U+FF0E) to Ideographic full stop (U+3002) //            If you don't need this feature, use the past version.

// This script is under public domain, and comes with ABSOLUTELY NO WARRANTY. // You can use/modify/redistribute without any permission.

var submitchecker_buttonclicked = false; var confirm_prompt = "Textarea contains “\uFF0C”(U+FF0C) and/or “\uFF0E”(U+FF0E).\nReplace them?"; var confirm_result = null;

function install_submitchecker { var f = document.getElementById("editform"); if(f) { var inputs = f.getElementsByTagName("input"); for(var i = 0; i < inputs.length; ++i) if(inputs[i].type == "submit") inputs[i].onclick = submitchecker_nocheck; f.onsubmit = submitchecker; } } function submitchecker { var edit = document.getElementById("editform").getElementsByTagName("textarea")[0]; if(edit && /[\uFF0C\uFF0E]/.test(edit.value)) { var r;   if(window.execScript) { window.execScript(       "confirm_result = MsgBox(confirm_prompt,vbYesNoCancel)",        "VBScript"); if(confirm_result == 2) return false; r = (confirm_result == 6); } else { r = prompt(confirm_prompt, "yes"); if(!r) return false; r = /^[yY]/.test(r); }   if(r) { edit.value = edit.value.replace(/\uFF0C/g, '\u3001').replace(/\uFF0E/g, '\u3002'); } }  if(submitchecker_buttonclicked) return true; return confirm("Are you sure you want to submit your changes?"); } function submitchecker_nocheck(e) { if(e && e.target) { var name = e.target.name; if(name != "wpSave" && name != "wpPreview") return true; } submitchecker_buttonclicked = true; return true; } if(window.attachEvent) window.attachEvent("onload", install_submitchecker); else if(window.addEventListener) window.addEventListener("load", install_submitchecker, false);

// restore helper function install_restore_helper { var e, t, p, b; if(!(e = document.getElementById('undelete'))) return; if(!(t = e.getElementsByTagName('h2')[1])) return; p = document.createElement('p'); b = document.createElement('button'); b.setAttribute('type', 'button'); b.onclick = restore_select_all; b.appendChild(document.createTextNode('Check all')); p.appendChild(b); p.appendChild(document.createTextNode(' ')); b = document.createElement('button'); b.setAttribute('type', 'button'); b.onclick = restore_select_reverse; b.appendChild(document.createTextNode('Reverse checks')); p.appendChild(b); e.insertBefore(p, t.nextSibling); } function restore_select_all { var e, i; if(!(e = document.getElementById('undelete'))) return; e = e.getElementsByTagName('input'); for(i = 0; i < e.length; ++i) if(e[i].type == 'checkbox') e[i].checked = true; return false; } function restore_select_reverse { var e, i; if(!(e = document.getElementById('undelete'))) return; e = e.getElementsByTagName('input'); for(i = 0; i < e.length; ++i) if(e[i].type == 'checkbox') e[i].checked = !e[i].checked; return false; } if(window.attachEvent) window.attachEvent("onload", install_restore_helper); else if(window.addEventListener) window.addEventListener("load", install_restore_helper, false);