Uporabnik:Eleassar/Common.js
Iz Wikipedije, proste enciklopedije
Opomba: Da bodo spremembe prišle do veljave, po shranitvi izpraznite predpomnilnik svojega brskalnika: Mozilla/Safari: držite Shift in kliknite Reload (ali pritisnite Ctrl-Shift-R), Internet Explorer: Ctrl-F5, Opera/Konqueror: F5.
/** Modul za uvoz *************************************************************
*
* Description: Includes a raw wiki page as javascript or CSS,
* used for including user made modules.
* Maintainers: [[:en:User:AzaToth|AzaToth]]
*/
function importScript( page ) {
var url = wgScriptPath + '/index.php?title='
+ escape( page.replace( ' ', '_' ) )
+ '&action=raw&ctype=text/javascript&dontcountme=s';
var scriptElem = document.createElement( 'script' );
scriptElem.setAttribute( 'src' , url );
scriptElem.setAttribute( 'type' , 'text/javascript' );
document.getElementsByTagName( 'head' )[0].appendChild( scriptElem );
}
function importStylesheet( page ) {
var sheet = '@import "'
+ wgScriptPath
+ '/index.php?title='
+ escape( page.replace( ' ', '_' ) )
+ '&action=raw&ctype=text/css";'
var styleElem = document.createElement( 'style' );
styleElem.setAttribute( 'type' , 'text/css' );
styleElem.appendChild( document.createTextNode( sheet ) );
document.getElementsByTagName( 'head' )[0].appendChild( styleElem );
}
/* Preizkus, ali ima element določen razred **************************************
*
* Opis: Uses regular expressions and caching for better performance.
* Vzdrževalci: [[:en:User:Mike Dillon|Mike Dillon]], [[:en:User:R. Koot|R. Koot]], [[:en:User:SG|SG]]
*/
var hasClass = (function () {
var reCache = {};
return function (element, className) {
return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className);
};
})();
/** Popravek hrošča za Internet Explorer **************************************************
*
* Opis: UNDOCUMENTED
* Vzdrževalci: [[:en:User:Tom-|Tom-]]?
*/
if (window.showModalDialog && document.compatMode && document.compatMode == "CSS1Compat")
{
var oldWidth;
var docEl = document.documentElement;
function fixIEScroll()
{
if (!oldWidth || docEl.clientWidth > oldWidth)
doFixIEScroll();
else
setTimeout(doFixIEScroll, 1);
oldWidth = docEl.clientWidth;
}
function doFixIEScroll() {
docEl.style.overflowX = (docEl.scrollWidth - docEl.clientWidth < 4) ? "hidden" : "";
}
document.attachEvent("onreadystatechange", fixIEScroll);
attachEvent("onresize", fixIEScroll);
}
/** Plavajoča polja in bližnjične tipke ***************************************************
*
* Opis: Adds tooltips and access keys to links part of the MediaWiki
* interface.
* Vzdrževalci: [[:en:User:Gwicke|Gwicke]]? and [[:en:User:Simetrical|Simetrical]]?
*/
ta = new Object();
ta['pt-userpage'] = new Array('.','Vaša uporabniška stran');
ta['pt-anonuserpage'] = new Array('.','Uporabniška stran IP-naslova, ki ga uporabljate');
ta['pt-mytalk'] = new Array('n','Vaša pogovorna stran');
ta['pt-anontalk'] = new Array('n','Pogovor o urejanjih s tega IP-naslova');
ta['pt-preferences'] = new Array('-','Vaše nastavitve');
ta['pt-watchlist'] = new Array('l','Seznam strani, katerih spremembe spremljate');
ta['pt-mycontris'] = new Array('y','Seznam vaših prispevkov');
ta['pt-login'] = new Array('o','Prijava ni obvezna, vendar je zaželena');
ta['pt-logout'] = new Array('','Odjava z uporabniškega računa');
ta['pt-anonlogin'] = new Array('o','Prijava ni obvezna, vendar je zaželena');
ta['ca-talk'] = new Array('t','Pogovor o strani');
ta['ca-edit'] = new Array('e','Stran lahko uredite. Preden jo shranite, uporabite gumb za predogled.');
ta['ca-addsection'] = new Array('+','Začnite novo razpravo');
ta['ca-viewsource'] = new Array('e','Stran je zaščitena. Ogledate si lahko njeno izvorno kodo.');
ta['ca-history'] = new Array('h','Prejšnje redakcije strani');
ta['ca-protect'] = new Array('=','Zaščita strani');
ta['ca-unprotect'] = new Array('=','Odstranitev zaščite strani');
ta['ca-delete'] = new Array('d','Izbris strani');
ta['ca-undelete'] = new Array('d','Obnova pred izbrisom napravljenih urejanj strani.');
ta['ca-move'] = new Array('m','Preimenovanje strani');
ta['ca-nomove'] = new Array('','Za prestavljanje nimate dovoljenja');
ta['ca-watch'] = new Array('w','Doda stran na vaš spisek nadzorov');
ta['ca-unwatch'] = new Array('w','Odstrani stran s spiska nadzorov');
ta['search'] = new Array('f','Iskanje po Wikipediji');
ta['p-logo'] = new Array('','Glavna stran');
ta['n-mainpage'] = new Array('z','Obiščite Glavno stran');
ta['n-Main-page'] = new Array('z','Obiščite Glavno stran');
ta['n-Dobrodošli'] = new Array ('','Dobrodošli v Wikipediji - osnovni napotki za delo');
ta['n-Izbrani-članki'] = new Array('','Izbrani članki - najboljše v Wikipediji');
ta['n-randompage'] = new Array('x','Naključna stran');
ta['n-currentevents'] = new Array('','Seznanite se z ozadjem nedavnih dogodkov');
ta['n-recentchanges'] = new Array('r','Seznam zadnjih sprememb Wikipedije');
ta['n-portal'] = new Array('','O projektu, kaj lahko storite, kje lahko kaj najdete');
ta['n-Pod-lipo'] = new Array('','Osrednja pogovorna stran Wikipedije');
ta['n-Stik-z-nami'] = new Array ('','Kako navezati stik s sodelavci projekta');
ta['n-help'] = new Array('','Kraj za pomoč');
ta['n-sitesupport'] = new Array('','Podprite nas');
ta['t-whatlinkshere'] = new Array('j','Seznam vseh s trenutno povezanih strani');
ta['t-recentchangeslinked'] = new Array('k','Zadnje spremembe na s trenutno povezanih straneh');
ta['feed-rss'] = new Array('','RSS-dovod strani');
ta['feed-atom'] = new Array('','Atom-dovod strani');
ta['t-contributions'] = new Array('','Seznam uporabnikovih prispevkov');
ta['t-emailuser'] = new Array('','Pošljite uporabniku e-pismo');
ta['t-upload'] = new Array('u','Naložite sliko ali drugo predstavnostno datoteko');
ta['t-specialpages'] = new Array('q','Seznam vseh posebnih strani');
ta['t-print'] = new Array('','Natisljiva različica strani');
ta['t-permalink'] = new Array('','Trajna povezava na dano redakcijo strani');
ta['t-cite'] = new Array('','Navede bibliografske podatke za prikazani članek');
ta['ca-nstab-main'] = new Array('c','Prikaže članek');
ta['ca-nstab-user'] = new Array('c','Prikaže uporabniško stran');
ta['ca-nstab-media'] = new Array('c','Prikaže predstavnostno gradivo');
ta['ca-article'] = new Array('','Te posebne strani ne morete urejati');
ta['ca-nstab-project'] = new Array('c','Prikaže stran projekta');
ta['ca-nstab-image'] = new Array('c','Prikaže stran s sliko ali drugo datoteko');
ta['ca-nstab-mediawiki'] = new Array('c','Prikaže sistemsko sporočilo');
ta['ca-nstab-template'] = new Array('c','Prikaže stran predloge');
ta['ca-nstab-help'] = new Array('c','Prikaže stran s pomočjo');
ta['ca-nstab-category'] = new Array('c','Prikaže stran kategorije');
/** Medjezikovne povezave na izbrane članke ***************************************
*
* Opis: Highlights interwiki links to featured articles (or
* equivalents) by changing the bullet before the interwiki link
* into a star.
* Vzdrževalci: [[:en:User:R. Koot|R. Koot]]
*/
function LinkFA()
{
if ( document.getElementById( "p-lang" ) ) {
var InterwikiLinks = document.getElementById( "p-lang" ).getElementsByTagName( "li" );
for ( var i = 0; i < InterwikiLinks.length; i++ ) {
if ( document.getElementById( InterwikiLinks[i].className + "-fa" ) ) {
InterwikiLinks[i].className += " FA"
InterwikiLinks[i].title = "V drugem jeziku ima članek položaj izbranega članka.";
}
}
}
}
addOnloadHook( LinkFA );
/** Skrčljive razpredelnice *********************************************************
*
* Opis: Allows tables to be collapsed, showing only the header. See
* [[:en:Wikipedia:NavFrame]].
* Vzdrževalci: [[:en:User:R. Koot|R. Koot]]
*/
var autoCollapse = 2;
var collapseCaption = "skrij";
var expandCaption = "pokaži";
function collapseTable( tableIndex )
{
var Button = document.getElementById( "collapseButton" + tableIndex );
var Table = document.getElementById( "collapsibleTable" + tableIndex );
if ( !Table || !Button ) {
return false;
}
var Rows = Table.getElementsByTagName( "tr" );
if ( Button.firstChild.data == collapseCaption ) {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = "none";
}
Button.firstChild.data = expandCaption;
} else {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = collapseCaption;
}
}
function createCollapseButtons()
{
var tableIndex = 0;
var NavigationBoxes = new Object();
var Tables = document.getElementsByTagName( "table" );
for ( var i = 0; i < Tables.length; i++ ) {
if ( hasClass( Tables[i], "collapsible" ) ) {
NavigationBoxes[ tableIndex ] = Tables[i];
Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
var Button = document.createElement( "span" );
var ButtonLink = document.createElement( "a" );
var ButtonText = document.createTextNode( collapseCaption );
Button.style.styleFloat = "right";
Button.style.cssFloat = "right";
Button.style.fontWeight = "normal";
Button.style.textAlign = "right";
Button.style.width = "6em";
ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
ButtonLink.setAttribute( "href", "javascript:collapseTable(" + tableIndex + ");" );
ButtonLink.appendChild( ButtonText );
Button.appendChild( document.createTextNode( "[" ) );
Button.appendChild( ButtonLink );
Button.appendChild( document.createTextNode( "]" ) );
var Header = Tables[i].getElementsByTagName( "tr" )[0].getElementsByTagName( "th" )[0];
Header.insertBefore( Button, Header.childNodes[0] );
tableIndex++;
}
}
for ( var i = 0; i < tableIndex; i++ ) {
if ( hasClass( NavigationBoxes[i], "collapsed" ) || ( tableIndex >= autoCollapse && hasClass( NavigationBoxes[i], "autocollapse" ) ) ) {
collapseTable( i );
}
}
}
addOnloadHook( createCollapseButtons );
/** Dinamični navigacijski menuji (preizkusno) *************************************
*
* Opis: See [[:en:Wikipedia:NavFrame|Wikipedia:NavFrame]].
* Vzdrževalci: NI VZDRŽEVANO
*/
// set up the words in your language
var NavigationBarHide = '[' + collapseCaption + ']';
var NavigationBarShow = '[' + expandCaption + ']';
// set up max count of Navigation Bars on page,
// if there are more, all will be hidden
// NavigationBarShowDefault = 0; // all bars will be hidden
// NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden
var NavigationBarShowDefault = autoCollapse;
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
function toggleNavigationBar(indexNavigationBar)
{
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) {
return false;
}
// if shown now
if (NavToggle.firstChild.data == NavigationBarHide) {
for (
var NavChild = NavFrame.firstChild;
NavChild != null;
NavChild = NavChild.nextSibling
) {
if ( hasClass( NavChild, 'NavPic' ) ) {
NavChild.style.display = 'none';
}
if ( hasClass( NavChild, 'NavContent') ) {
NavChild.style.display = 'none';
}
}
NavToggle.firstChild.data = NavigationBarShow;
// if hidden now
} else if (NavToggle.firstChild.data == NavigationBarShow) {
for (
var NavChild = NavFrame.firstChild;
NavChild != null;
NavChild = NavChild.nextSibling
) {
if (hasClass(NavChild, 'NavPic')) {
NavChild.style.display = 'block';
}
if (hasClass(NavChild, 'NavContent')) {
NavChild.style.display = 'block';
}
}
NavToggle.firstChild.data = NavigationBarHide;
}
}
// adds show/hide-button to navigation bars
function createNavigationBarToggleButton()
{
var indexNavigationBar = 0;
// iterate over all < div >-elements
var divs = document.getElementsByTagName("div");
for(
var i=0;
NavFrame = divs[i];
i++
) {
// if found a navigation bar
if (hasClass(NavFrame, "NavFrame")) {
indexNavigationBar++;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');
var NavToggleText = document.createTextNode(NavigationBarHide);
NavToggle.appendChild(NavToggleText);
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
for(
var j=0;
j < NavFrame.childNodes.length;
j++
) {
if (hasClass(NavFrame.childNodes[j], "NavHead")) {
NavFrame.childNodes[j].appendChild(NavToggle);
}
}
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
// if more Navigation Bars found than Default: hide all
if (NavigationBarShowDefault < indexNavigationBar) {
for(
var i=1;
i<=indexNavigationBar;
i++
) {
toggleNavigationBar(i);
}
}
}
addOnloadHook( createNavigationBarToggleButton );
/** Popravek postavitve Glavne strani ******************************************************* <nowiki>
*
* Opis: Various layout fixes for the main page, including an
* additional link to the complete list of languages available
* and the renaming of the 'Article' to to 'Main Page'.
* Vzdrževalci: [[:en:User:AzaToth|AzaToth]], [[:en:User:R. Koot|R. Koot]]
*/
function mainPageRenameNamespaceTab() {
try {
var Node = document.getElementById( 'ca-nstab-main' ).firstChild;
if ( Node.textContent ) { // Per DOM Level 3
Node.textContent = 'Glavna stran';
} else if ( Node.innerText ) { // IE doesn't handle .textContent
Node.innerText = 'Glavna stran';
} else { // Fallback
Node.replaceChild( Node.firstChild, document.createTextNode( 'Glavna stran' ) );
}
} catch(e) {
// bailing out!
}
}
function mainPageAppendCompleteListLink() {
try {
var node = document.getElementById( "p-lang" )
.getElementsByTagName('div')[0]
.getElementsByTagName('ul')[0];
var aNode = document.createElement( 'a' );
var liNode = document.createElement( 'li' );
aNode.appendChild( document.createTextNode( 'Popoln seznam' ) );
aNode.setAttribute( 'href' , 'http://meta.wikimedia.org/wiki/List_of_Wikipedias' );
liNode.appendChild( aNode );
liNode.className = 'interwiki-completelist';
node.appendChild( liNode );
} catch(e) {
// lets just ignore what's happened
return;
}
}
if ( wgTitle == 'Glavna stran' && ( wgNamespaceNumber == 0 || wgNamespaceNumber == 1 ) ) {
addOnloadHook( mainPageRenameNamespaceTab );
}
if ( wgTitle == 'Glavna stran' && wgNamespaceNumber == 0 ) {
addOnloadHook( mainPageAppendCompleteListLink );
}
//============================================================
// Insertion de nouveaux boutons dans la barre d'outil
//============================================================
//Remplit la variable mwCustomEditButtons (voir /skins-1.5/commons/wikibits.js) pour ajouter des boutons à la barre d'outils
function addCustomButton(imageFile, speedTip, tagOpen, tagClose, sampleText)
{
mwCustomEditButtons[mwCustomEditButtons.length] =
{"imageFile": imageFile,
"speedTip": speedTip,
"tagOpen": tagOpen,
"tagClose": tagClose,
"sampleText": sampleText};
}
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/c/c8/Button_redirect.png','Preusmeritev',"#REDIRECT [[","]]","Vnesi ciljno stran");
addCustomButton('http://upload.wikimedia.org/wikipedia/en/c/c9/Button_strike.png','Prečrtano',"<s>","</s>",'Prečrtano besedilo');
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/1/13/Button_enter.png','Prelom vrstice',"<br />","",'');
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/6/6a/Button_sup_letter.png','Nadpisano',"<sup>","</sup>",'Nadpisano besedilo');
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/a/aa/Button_sub_letter.png','Podpisano',"<sub>","</sub>",'');
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/5/58/Button_small.png','Drobno',"<small>","</small>",'Drobno besedilo');
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/3/37/Btn_toolbar_commentaire.png','Vstavi skriti komentar',"<!-- "," -->",'komentar');
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/9/9e/Btn_toolbar_gallery.png','Vstavi galerijo slik',"\n<gallery>\nSlika:M63.jpg|Napis1\nSlika:Mona Lisa.jpg|Napis2\n</gallery>","",'');
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/0/04/Button_array.png','Vstavi razpredelnico',"{| class=\"wikitable\"\n|-\n","\n|}","! glava 1\n! glava 2\n! glava 3\n|-\n| vrstica 1, celica 1\n| vrstica 1, celica 2\n| vrstica 1, celica 3\n|-\n| vrstica 2, celica 1\n| vrstica 2, celica 2\n| vrstica 2, celica 3");
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/b/b4/Button_category03.png','Vstavi kategorijo',"[[Kategorija:","]]",'ime kategorije');
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/7/79/Button_reflink.png','Vstavi sklic',"<ref>","</ref>",'sklic, citat ali povezava');
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/3/3b/Button_template_alt.png','Vstavi seznam sklicev',"== Opombe in sklici ==\n{{refsez","}}",'');
var voirAussi = "\n" + "== Opombe in sklici ==\n" + "<references/>\n\n" + "== Glej tudi ==\n" + "=== Sorodni članki ===\n" + "* [[naslov sorodnega članka]]\n" + "\n" + "=== Zunanje povezave ===\n" + "* [spletninaslov \'ime vira\']\n"
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/b/bb/Seealso.png','Razdelek Glej tudi',voirAussi,"",'');
/** Popravek za tehnične omejitve pri naslovih *****************************************
*
* Opis:
* Vzdrževalci: [[:en:User:Interiot|Interiot]], [[:en:User:Mets501|Mets501]]
*/
// Pri straneh, ki bi se morale začeti z malo začetnico, zamenjaj naslov, vendar le, če se ga da izrezati in prilepiti kot veljavno wikipovezavo.
// (tak je npr. naslov [[iPod]]. <nowiki>[[C#]] pa ni ekvivalentna wikipovezava, zato še naprej ostane naslov [[C Sharp]])</nowiki>
//
// The function looks for a banner like this: <nowiki>
// <div id="RealTitleBanner"> <!-- div, ki se skrije -->
// <span id="RealTitle">naslov</span>
// </div>
// </nowiki>An element with id=DisableRealTitle disables the function.
var disableRealTitle = 0; // users can disable this by making this true from their monobook.js
if (wgIsArticle) { // don't display the RealTitle when editing, since it is apparently inconsistent (doesn't show when editing sections, doesn't show when not previewing)
addOnloadHook(function() {
try {
var realTitleBanner = document.getElementById("RealTitleBanner");
if (realTitleBanner && !document.getElementById("DisableRealTitle") && !disableRealTitle) {
var realTitle = document.getElementById("RealTitle");
if (realTitle) {
var realTitleHTML = realTitle.innerHTML;
realTitleText = pickUpText(realTitle);
var isPasteable = 0;
//var containsHTML = /</.test(realTitleHTML); // contains ANY HTML
var containsTooMuchHTML = /</.test( realTitleHTML.replace(/<\/?(sub|sup|small|big)>/gi, "") ); // contains HTML that will be ignored when cut-n-pasted as a wikilink
// calculate whether the title is pasteable
var verifyTitle = realTitleText.replace(/^ +/, ""); // trim left spaces
verifyTitle = verifyTitle.charAt(0).toUpperCase() + verifyTitle.substring(1, verifyTitle.length); // uppercase first character
// if the namespace prefix is there, remove it on our verification copy. If it isn't there, add it to the original realValue copy.
if (wgNamespaceNumber != 0) {
if (wgCanonicalNamespace == verifyTitle.substr(0, wgCanonicalNamespace.length).replace(/ /g, "_") && verifyTitle.charAt(wgCanonicalNamespace.length) == ":") {
verifyTitle = verifyTitle.substr(wgCanonicalNamespace.length + 1);
} else {
realTitleText = wgCanonicalNamespace.replace(/_/g, " ") + ":" + realTitleText;
realTitleHTML = wgCanonicalNamespace.replace(/_/g, " ") + ":" + realTitleHTML;
}
}
// verify whether wgTitle matches
verifyTitle = verifyTitle.replace(/^ +/, "").replace(/ +$/, ""); // trim left and right spaces
verifyTitle = verifyTitle.replace(/_/g, " "); // underscores to spaces
verifyTitle = verifyTitle.charAt(0).toUpperCase() + verifyTitle.substring(1, verifyTitle.length); // uppercase first character
isPasteable = (verifyTitle == wgTitle);
var h1 = document.getElementsByTagName("h1")[0];
if (h1 && isPasteable) {
h1.innerHTML = containsTooMuchHTML ? realTitleText : realTitleHTML;
if (!containsTooMuchHTML)
realTitleBanner.style.display = "none";
}
document.title = realTitleText + " - Wikipedija, prosta enciklopedija";
}
}
} catch (e) {
/* Something went wrong. */
}
});
}
// similar to innerHTML, but only returns the text portions of the insides, excludes HTML
function pickUpText(aParentElement) {
var str = "";
function pickUpTextInternal(aElement) {
var child = aElement.firstChild;
while (child) {
if (child.nodeType == 1) // ELEMENT_NODE
pickUpTextInternal(child);
else if (child.nodeType == 3) // TEXT_NODE
str += child.nodeValue;
child = child.nextSibling;
}
}
pickUpTextInternal(aParentElement);
return str;
}
//fix edit summary prompt for undo
//this code fixes the fact that the undo function combined with the "no edit summary prompter" causes problems if leaving the
//edit summary unchanged
//this was added by [[:en:User:Deskana|Deskana]], code by [[:en:User:Tra|Tra]]
addOnloadHook(function () {
if (document.location.search.indexOf("undo=") != -1
&& document.getElementsByName('wpAutoSummary')[0]) {
document.getElementsByName('wpAutoSummary')[0].value='';
}
})

