User:Voice of All/Google/monobook.js
Appearance
Code that you insert on this page could contain malicious content capable of compromising your account. If you import a script from another page with "importScript", "mw.loader.load", "iusc", or "lusc", take note that this causes you to dynamically load a remote script, which could be changed by others. Editors are responsible for all edits and actions they perform, including by scripts. User scripts are not centrally supported and may malfunction or become inoperable due to software changes. A guide to help you find broken scripts is available. If you are unsure whether code you are adding to this page is safe, you can ask at the appropriate village pump. This code will be executed when previewing this page. |
![]() | The accompanying .css page for this skin can be added at User:Voice of All/Google/monobook.css. |
//<pre><nowiki>
//Helper tools
//Google/Google Scholar search
function googlesrch(type)
{
var rest = '';
var target = document.title.split(" - ")[0];
if (target.split("Talk:")[1] != undefined)
{
target = target.split("Talk:")[1];
}
if (target.split("Main Page")[1] != undefined)
{
target = 'Wikipedia';
}
//for disambigged stuff
if (target.split(")")[1] == '')
{
if (target.split(" (")[1] != undefined)
{
rest = target.split(" (")[1].split(")")[0];
target = target.split(" (")[0];
}
}
target = target.replace('&','%26').replace('&','%26').replace('+','%2B').replace('+','%2B');
if (type == 'regular')
{
srch_window = window.open('http://www.google.com/search?hl=en&lr=&safe=on&q=%22' + target + '%22+' + rest + '&btnG=Search',
'Googlesearch' + target,
'status,toolbar,location,menubar,directories,resizeable,scrollbars,fullscreen=yes');
}
else if (type == 'scholar')
{
var keyword = prompt('Enter extra keywords:');
srch_window = window.open('http://scholar.google.com/scholar?q=%22' + target + '%22+' + keyword + '&btnG=Search',
'Scholarsearch' + target,
'status,toolbar,location,menubar,directories,resizeable,scrollbars,fullscreen=yes');
}
}
/////////////////////
/////////////////////Google search tabs/////////////////////
addOnloadHook(googletab)
function googletab()
{
if(document.getElementById('ca-nstab-main'))
{
if (document.title.indexOf('Editing ') == -1)
{
if (location.href.search('\\&action=') == -1)
{
//addTab("javascript:googlesrch('scholar')", "sch", "ca-googler", "Google Scholar search", "");
addTab("javascript:googlesrch('regular')", "find", "ca-google2", "Google search", "");
}
}
}
}
/////////////////////
/////////////////////Reference divs/////////////////////
addOnloadHook(Ref_navbar_div)
function Ref_navbar_div()
{
var references = false;
var ref_div = false;
//get references
var ols = document.getElementsByTagName('ol');
if (!ols[0]){return;}
for (var i=0; i<ols.length; i++)
{
if (ols[i].className == 'references')
{references = ols[i]; break;}
}
if (!references){return;}
var l = references.getElementsByTagName('li');
//only do this for long lists
if (l.length < 15){return;}
//renumber refs
for (var i=0; i<l.length; i++)
{
var num = i+1;
l[i].innerHTML = '<strong>' + num + '.</strong> ' + l[i].innerHTML;
}
references.innerHTML = references.innerHTML;
var divs = document.getElementsByTagName('div');
if (!divs[0]){return;}
for (var i=0; i<divs.length; i++)
{
if (divs[i].className == 'references-small')
{ref_div = divs[i]; break;}
}
//scrollbars
references.setAttribute("style", "width:95%; height:400px; overflow: scroll;");
//removed any columns
ref_div.setAttribute("style", "");
}
/////////////////////
////////////////////////Reference (cite.php) Toggling////////////////////////
addOnloadHook(toggle_refs_add)
function toggle_refs_add()
{
if (document.title.indexOf('Editing ') == 0 && document.title.search('(Image:|Template:| talk:|Category:|Portal:|Wikipedia:|MediaWiki:|Help:|Talk:|User:|View and restore deleted pages)') == -1)
{addToolboxLink("javascript:toggle_refs()","Toggle references","toggle-ref");}
}
function zreplace_refs()
{
z_auto_ref_countup += 1;
var string = '<<REF:' + z_auto_ref_countup + '>>';
return string;
}
function zreturn_refs(match,number)
{
if (ref_return_js_cache[number-1] != undefined)
{var string = ref_return_js_cache[number-1];}
else
{alert('Error parsing reference #' + number + '.'); var string = match;}
return string;
}
function toggle_refs()
{
var message = '<br><strong>References abbreviated - (PRESS "TOGGLE REFERENCES" AGAIN TO BE ABLE SAVE/PREVIEW THE PAGE)</strong>';
if (document.editform.wpTextbox1.value.indexOf('<<REF:') == -1 && document.editform.wpTextbox1.value.search(/<[Rr]ef[> ]/) != -1)
{
txt = document.editform.wpTextbox1.value;
ref_return_js_cache = txt.match(/<[Rr]ef[> ].+<\/[Rr]ef>/g);
z_auto_ref_countup = 0;
document.editform.wpTextbox1.value = document.editform.wpTextbox1.value.replace(/<[Rr]ef[> ].+<\/[Rr]ef>/g,zreplace_refs);
document.getElementById('contentSub').innerHTML += message;
lock_input();
}
else if (document.editform.wpTextbox1.value.indexOf('<<REF:') != -1)
{
if (document.getElementById('wpSummary') == undefined)
{unlock_input();}
document.editform.wpTextbox1.value = document.editform.wpTextbox1.value.replace(/<<REF:(\d+)>>/g,zreturn_refs);
document.getElementById('contentSub').innerHTML = document.getElementById('contentSub').innerHTML.replace(message,'');
}
else if (document.getElementById('wpSummary'))
{
document.getElementById('contentSub').innerHTML += message;
lock_input();
}
else
{
document.getElementById('contentSub').innerHTML = document.getElementById('contentSub').innerHTML.replace(message,'');
unlock_input();
}
}
function lock_input()
{
var divs = document.getElementById('bodyContent').getElementsByTagName('div');
input_help_js_return_cache = document.getElementById('wpSummaryLabel').innerHTML;
document.getElementById('wpSummaryLabel').innerHTML = '';
for (i=0; i <divs.length; i++)
{
if (divs[i].className == 'editOptions')
{input_form_js_return_cache = divs[i].innerHTML; divs[i].innerHTML = '';}
}
}
function unlock_input()
{
var page = document.title.replace('Editing ','').replace('Edit Conflict','').replace('Edit conflict','').split(' - ')[0];
var divs = document.getElementById('bodyContent').getElementsByTagName('div');
for (i=0; i <divs.length; i++)
{
if (divs[i].className == 'editOptions')
{divs[i].innerHTML = input_form_js_return_cache;}
}
document.getElementById('wpSummaryLabel').innerHTML = input_help_js_return_cache;
}
////////////////////////
////////////////////////////////////////
//spelling corrections //
////////////////////////////////////////
function js_misspell_check()
{
if (!window.ActiveXObject)
{
try {netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead"); }
catch (e) {alert("Permission UniversalBrowserRead denied."); }
}
gml_xmlhttp = false;
gml_xmlhttp = new XMLHttpRequest();
if (gml_xmlhttp.overrideMimeType)
{gml_xmlhttp.overrideMimeType('text/xml'); }
if (!gml_xmlhttp)
{alert('Cannot create XMLHTTP instance'); return false; }
alert('Performing spelling corrections for common mistakes.' + '\n' + 'This may take longer for large pages.');
gml_xmlhttp = HTTPClient();
var URL = 'http://en.wikipedia.org/w/index.php?title=Wikipedia:Lists_of_common_misspellings/For_machines&action=edit';
if (!gml_xmlhttp)
{return;}
gml_xmlhttp.open("GET", URL, true);
gml_xmlhttp.onreadystatechange = spellcheck;
gml_xmlhttp.send(null);
}
function searchtxt()
{
var string = document.editform.wpTextbox1.value;
var input = prompt('Search for what?');
alert('Found ' + string.match(input + '(,|\.| )'));
}
function spellcheck()
{
if (!gml_xmlhttp){return;}
if (gml_xmlhttp.readyState != 4)
{return;}
var xml = gml_xmlhttp.responseText;
txt_spell = xml.split('<textarea ')[1].split('</textarea>')[0];
txt_spell = txt_spell.replace(/>/g,'>');
var txtsplit = txt_spell.match(/ \w+->\w+\n/g);
var spellregexp = '';
for (var i=0; i < txtsplit.length; i++)
{
if (i < txtsplit.length - 1)
{spellregexp += txtsplit[i].split('->')[0].split(' ')[1] + '|';}
else
{spellregexp += txtsplit[i].split('->')[0].split(' ')[1];}
}
spellregexp = RegExp('([ \.,:;])(' + spellregexp + ')([ \.,:;])','gi');
if (document.editform.wpSummary)
{document.editform.wpSummary.value = '';}
sp_errors = 0;
document.editform.wpTextbox1.value = document.editform.wpTextbox1.value.replace(spellregexp,errorfound);
if (sp_errors == 0)
{
alert('Spelling corrections finished. No common spelling errors were found.');
}
else if (sp_errors == 1)
{
if (document.editform.wpSummary)
{document.editform.wpSummary.value = 'Spelling: ' + document.editform.wpSummary.value;}
alert('Spelling corrections finished. 1 correction made.');
}
else
{
if (document.editform.wpSummary)
{document.editform.wpSummary.value = 'Spelling: ' + document.editform.wpSummary.value;}
alert('Spelling corrections finished. ' + sp_errors + ' corrections made.');
}
if (sp_errors> 0)
{
document.editform.wpMinoredit.checked = true;
document.getElementById('wpDiff').click();
}
}
function errorfound(match,punc1,badword,punc2)
{
var find = txt_spell.split(' ' + badword + '->')[1];
if (find != undefined)
{
var goodword = find.split('\n')[0].split(' ')[0];
sp_errors += 1;
alert('Replaced "' + badword + '" with "' + goodword + '".');
if (document.editform.wpSummary)
{document.editform.wpSummary.value += badword + '->' + goodword + ' ; ';}
var spell_find = punc1 + goodword + punc2;
return spell_find;
}
return match;
}
addOnloadHook(addspelltab)
function addspelltab()
{
if (document.title.indexOf("Editing ") != -1)
{
addToolboxLink("javascript:js_misspell_check()","JS spell checker","txt-spell");
}
}
//END
//</nowiki></pre>