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>
/////////////////////Google search tabs/////////////////////
$(googletab)
function googletab()
{
if (typeof addTab === 'undefined') return;
if(document.getElementById('ca-nstab-main'))
{
if (document.title.indexOf('Editing ') == -1)
{
if (location.href.search('\\&action=') == -1)
{
addTab("javascript:googlesrch('regular')", "?", "ca-google", "Google search", "");
}
}
}
}
//Google search
function googlesrch(type)
{
var rest = '';
var target = mw.config.get('wgTitle');
//for disambigged stuff
if (target.indexOf("(") !=-1 && target.indexOf(")") !=-1)
{
rest = target.split(" (")[1].split(")")[0];
target = target.split(" (")[0];
}
if (type == 'regular')
{
srch_window = window.open('http://www.google.com/search?hl=en&lr=&safe=on&q=%22' + escape(target) + '%22+' + escape(rest) + '&btnG=Search',
'Googlesearch' + target,
'status,toolbar,location,menubar,directories,resizeable,scrollbars,fullscreen=yes');
}
}
/////////////////////
////////////////////////Reference (cite.php) Toggling////////////////////////
$(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()
{
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>/gm);
z_auto_ref_countup = 0;
document.editform.wpTextbox1.value = document.editform.wpTextbox1.value.replace(/<[Rr]ef[> ].+<\/[Rr]ef>/gm,zreplace_refs);
if (edit_input) {lock_input();}
else {unlock_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+)>>/gm,zreturn_refs);
}
else if (document.getElementById('wpSummary'))
{lock_input();}
else
{unlock_input();}
}
//
var input_locked_message='<br><strong>References abbreviated - (PRESS "TOGGLE REFERENCES" AGAIN TO BE ABLE SAVE/PREVIEW THE PAGE)</strong>';
var edit_input=true;
function lock_input()
{
edit_input=false;
document.getElementById('contentSub').innerHTML += input_locked_message;
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()
{
document.getElementById('contentSub').innerHTML = document.getElementById('contentSub').innerHTML.replace(input_locked_message,'');
edit_input=true;
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;
}
////////////////////////
//</nowiki></pre>