|
|
| (Не показано 4 проміжні версії ще одного користувача) |
| Рядок 1: |
Рядок 1: |
| if (document.URL.indexOf("action=edit") > 0 || document.URL.indexOf("action=submit") > 0)
| |
| {
| |
| if (wgCanonicalNamespace != "Special")
| |
| {
| |
| document.write('<script type="text/javascript" src="'
| |
| + 'http://ukrmemoria.com/w/index.php?title=MediaWiki:Onlyifediting.js'
| |
| + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
| |
| addOnloadHook(function(){
| |
| if (mwEditButtons.length < 3) return;
| |
| mwEditButtons[0].imageFile = 'http://upload.wikimedia.org/wikipedia/commons/f/fa/Button_bold_ukr.png';
| |
| mwEditButtons[1].imageFile = 'http://upload.wikimedia.org/wikipedia/commons/f/f3/Button_italic_ukr.png';
| |
| mwEditButtons[2].imageFile = 'http://upload.wikimedia.org/wikipedia/commons/0/03/Button_internal_link_ukr.png';
| |
| })
| |
| }
| |
| }
| |
|
| |
|
|
| |
| var _gaq = _gaq || [];
| |
| _gaq.push(['_setAccount', 'UA-7117465-1']);
| |
| _gaq.push(['_trackPageview']);
| |
|
| |
| (function() {
| |
| var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
| |
| ga.src = 'http://www.google-analytics.com/ga.js';
| |
| var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
| |
| })();
| |
|
| |
|
| |
| function ukrbash()
| |
| {
| |
| if (document.getElementById('ukrbash')) (function(){var script=document.createElement('script');script.type='text/javascript';script.async=true;script.src='http://i.ukrbash.org/export/random.js';var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(script,s)})();
| |
| }
| |
| addOnloadHook(ukrbash);
| |
|
| |
| /** Collapsible tables *********************************************************
| |
| *
| |
| * Description: Allows tables to be collapsed, showing only the header. See
| |
| * http://www.mediawiki.org/wiki/Manual:Collapsible_tables.
| |
| * Maintainers: [[**MAINTAINERS**]]
| |
| */
| |
| var autoCollapse = 2;
| |
| var collapseCaption = 'сховати';
| |
| var expandCaption = 'показати';
| |
|
| |
| function collapseTable( tableIndex ) {
| |
| var Button = document.getElementById( 'collapseButton' + tableIndex );
| |
| var Table = document.getElementById( 'collapsibleTable' + tableIndex );
| |
|
| |
| if ( !Table || !Button ) {
| |
| return false;
| |
| }
| |
|
| |
| var Rows = Table.rows;
| |
|
| |
| 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' ) ) {
| |
| /* only add button and increment count if there is a header row to work with */
| |
| var HeaderRow = Tables[i].getElementsByTagName( 'tr' )[0];
| |
| if( !HeaderRow ) continue;
| |
| var Header = HeaderRow.getElementsByTagName( 'th' )[0];
| |
| if( !Header ) continue;
| |
|
| |
| 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.className = 'collapseButton'; // Styles are declared in MediaWiki:Common.css
| |
|
| |
| ButtonLink.style.color = Header.style.color;
| |
| 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( ']' ) );
| |
|
| |
| 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 );
| |
|
| |
| /** Test if an element has a certain class **************************************
| |
| *
| |
| * Description: Uses regular expressions and caching for better performance.
| |
| * Maintainers: [[User:Mike Dillon]], [[User:R. Koot]], [[User: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);
| |
| };
| |
| })();
| |
| /* {{nologo}} */
| |
| function noLogo() { if(document.getElementById('nologo'))
| |
| document.getElementById('p-logo').style.display = 'none';
| |
| }
| |
| addOnloadHook(onPageInit);
| |
|
| |
| function onPageInit()
| |
| {
| |
| noLogo();
| |
| }
| |
|
| |
| /**
| |
| * Ajoute un menu déroulant permettant de choisir un jeu de caractères spéciaux
| |
| * Les caractères spéciaux sont définis dans Mediawiki:Edittools
| |
| */
| |
| function addCharSubsetMenu() {
| |
| var specialchars = document.getElementById('specialcharsets');
| |
| if (!specialchars) return;
| |
|
| |
| // Construction du menu de selection
| |
| var charSubsetSelect = document.createElement("select");
| |
| charSubsetSelect.setAttribute("style", "display:inline");
| |
| charSubsetSelect.onchange = function () { chooseCharSubset(this.selectedIndex); };
| |
|
| |
| // Ajout des options au menu
| |
| var p = document.getElementById('specialcharsets').getElementsByTagName('p');
| |
| for (var i = 0; i < p.length ; i++) {
| |
| var opt = document.createElement("option");
| |
| var txt = document.createTextNode(p[i].title);
| |
| opt.appendChild(txt);
| |
| charSubsetSelect.appendChild(opt);
| |
| }
| |
|
| |
| specialchars.insertBefore(charSubsetSelect, specialchars.childNodes[0]);
| |
|
| |
| /* default subset - try to use a cookie some day */
| |
| chooseCharSubset(0);
| |
| }
| |
|
| |
| /**
| |
| * Affichage du jeu de caractères sélectionné
| |
| */
| |
| function chooseCharSubset(index) {
| |
| var p = document.getElementById('specialcharsets').getElementsByTagName('p');
| |
| for (var i = 0; i < p.length ; i++) {
| |
| // Initialisation du jeu de caractères sélectionné
| |
| if (i == index) {
| |
| initializeCharSubset(p[i]);
| |
| }
| |
| // Affichage du jeu sélectionné, masquage des autres
| |
| p[i].style.display = i == index ? 'inline' : 'none';
| |
| p[i].style.visibility = i == index ? 'visible' : 'hidden';
| |
| }
| |
| }
| |
|
| |
| /**
| |
| * Initialisation du jeu de caractères sélectionné
| |
| * Paramètre : paragraphe contenant le jeu à initialiser. Initialise tous les
| |
| * caractères contenus dans les sous-spans du paragraphe
| |
| */
| |
| function initializeCharSubset(p) {
| |
| // recherche des sous-elements de type span à traiter
| |
| var spans = p.getElementsByTagName("span");
| |
| if (!spans) return;
| |
|
| |
| // regexp pour echapper les caractères JS spéciaux : \ et '
| |
| var re = new RegExp("(\\\\|')", "g");
| |
| // gestion du caractère d'échappement '\'
| |
| var escapeRe = new RegExp("[^\\\\](\\\\\\\\)*\\\\$", "g");
| |
| var unescapeRe = new RegExp("\\\\\\\\", "g");
| |
|
| |
| // traitement des spans du paragraphe
| |
| for (var j = 0; j < spans.length; j++) {
| |
| // span deja traité
| |
| if (spans[j].childNodes.length == 0 || spans[j].childNodes[0].nodeType != 3) continue;
| |
|
| |
| // On parse le contenu du span
| |
| var chars = spans[j].childNodes[0].nodeValue.split(" ");
| |
| for (var k = 0; k < chars.length; k++) {
| |
| var a = document.createElement("a");
| |
| var tags = chars[k];
| |
|
| |
| // regroupement des mots se terminant par un espace protégé par un \
| |
| while (k < chars.length && chars[k].match(escapeRe)) {
| |
| k++;
| |
| tags = tags.substr(0, tags.length - 1) + " " + chars[k];
| |
| }
| |
|
| |
| // création du lien insertTag(tagBegin, tagEnd, defaultValue) en protegeant les caractères JS \ et '
| |
| tags = (tags.replace(unescapeRe, "\\")).split("+");
| |
| var tagBegin = tags[0].replace(re, "\\$1");
| |
| var tagEnd = tags.length > 1 ? tags[1].replace(re, "\\$1") : "";
| |
| var defaultValue = tags.length > 2 ? tags[2].replace(re, "\\$1") : "";
| |
| a.href = "javascript:insertTags('" + tagBegin + "','" + tagEnd + "', '" + defaultValue + "')";
| |
| //a.href="#";
| |
| //eval("a.onclick = function() { insertTags('" + tagBegin + "','" + tagEnd + "', '" + defaultValue + "'); return false; }");
| |
|
| |
| a.appendChild(document.createTextNode((tagBegin + tagEnd).replace(unescapeRe, "\\")));
| |
| spans[j].appendChild(a);
| |
| spans[j].appendChild(document.createTextNode(" "));
| |
| }
| |
| // suppression de l'ancien contenu
| |
| spans[j].removeChild(spans[j].firstChild);
| |
| }
| |
| }
| |
|
| |
| addOnloadHook(addCharSubsetMenu);
| |
|
| |
| /**
| |
| * Permet d'ajouter d'un jeu de caractères spéciaux dans le menu déroulant
| |
| * paramètres :
| |
| * - nom du jeu de caractères
| |
| * - contenu HTML. Les caractères spéciaux doivent être dans des spans
| |
| * exemple : "caractères : <span>â ê î ô û</span>"
| |
| */
| |
| function addSpecialCharsetHTML(title, charsHTML) {
| |
| var specialchars = document.getElementById('specialcharsets');
| |
| if (!specialchars) return;
| |
|
| |
| // Ajout d'un nouvel item au menu déroulant
| |
| var select = specialchars.getElementsByTagName("select")[0];
| |
| var opt = document.createElement("option");
| |
| opt.appendChild(document.createTextNode(title));
| |
| select.appendChild(opt);
| |
|
| |
| // Ajout des caractères spéciaux. Les liens seront initialisé par initializeCharSubset()
| |
| // lors de la sélection
| |
| var specialcharsets = document.getElementById('specialcharsets');
| |
| var p = document.createElement("p");
| |
| p.style.display = "none";
| |
| p.innerHTML = charsHTML;
| |
| specialcharsets.appendChild(p);
| |
| }
| |