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=''; } })