User:OJJ/buttons.js

From Meta, a Wikimedia project coordination wiki

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
/**
 * Interface for the classic edit toolbar.
 *
 * Adapted from MediaWiki Core, before it was removed from it on 2018-10-17
 */
( function () {
	var toolbar, isReady, $toolbar, queue, slice, $currentFocused;

	/**
	 * Internal helper that does the actual insertion of the button into the toolbar.
	 *
	 * For backwards-compatibility, passing `imageFile`, `speedTip`, `tagOpen`, `tagClose`,
	 * `sampleText` and `imageId` as separate arguments (in this order) is also supported.
	 *
	 * @private
	 *
	 * @param {Object} button Object with the following properties.
	 *  You are required to provide *either* the `onClick` parameter, or the three parameters
	 *  `tagOpen`, `tagClose` and `sampleText`, but not both (they're mutually exclusive).
	 * @param {string} [button.imageFile] Image to use for the button.
	 * @param {string} button.speedTip Tooltip displayed when user mouses over the button.
	 * @param {Function} [button.onClick] Function to be executed when the button is clicked.
	 * @param {string} [button.tagOpen]
	 * @param {string} [button.tagClose]
	 * @param {string} [button.sampleText] Alternative to `onClick`. `tagOpen`, `tagClose` and
	 *  `sampleText` together provide the markup that should be inserted into page text at
	 *  current cursor position.
	 * @param {string} [button.imageId] `id` attribute of the button HTML element. Can be
	 *  used to define the image with CSS if it's not provided as `imageFile`.
	 * @param {string} [speedTip]
	 * @param {string} [tagOpen]
	 * @param {string} [tagClose]
	 * @param {string} [sampleText]
	 * @param {string} [imageId]
	 */
	function insertButton( button, speedTip, tagOpen, tagClose, sampleText, imageId ) {
		var $button;

		// Backwards compatibility
		if ( typeof button !== 'object' ) {
			button = {
				imageFile: button,
				speedTip: speedTip,
				tagOpen: tagOpen,
				tagClose: tagClose,
				sampleText: sampleText,
				imageId: imageId
			};
		}

		if ( button.imageFile ) {
			$button = $( '<img>' ).attr( {
				src: button.imageFile,
				alt: button.speedTip,
				title: button.speedTip,
				id: button.imageId || undefined,
				'class': 'mw-toolbar-editbutton'
			} );
		} else {
			$button = $( '<div>' ).attr( {
				title: button.speedTip,
				id: button.imageId || undefined,
				'class': 'mw-toolbar-editbutton'
			} );
		}

		$button.click( function ( e ) {
			if ( button.onClick !== undefined ) {
				button.onClick( e );
			} else {
				toolbar.insertTags( button.tagOpen, button.tagClose, button.sampleText );
			}

			return false;
		} );

		$toolbar.append( $button );
	}

	isReady = false;
	$toolbar = false;

	/**
	 * @private
	 * @property {Array}
	 * Contains button objects (and for backwards compatibility, it can
	 * also contains an arguments array for insertButton).
	 */
	queue = [];
	slice = queue.slice;

	toolbar = {

		/**
		 * Add buttons to the toolbar.
		 *
		 * Takes care of race conditions and time-based dependencies by placing buttons in a queue if
		 * this method is called before the toolbar is created.
		 *
		 * For backwards-compatibility, passing `imageFile`, `speedTip`, `tagOpen`, `tagClose`,
		 * `sampleText` and `imageId` as separate arguments (in this order) is also supported.
		 *
		 * @inheritdoc #insertButton
		 */
		addButton: function () {
			if ( isReady ) {
				insertButton.apply( toolbar, arguments );
			} else {
				// Convert arguments list to array
				queue.push( slice.call( arguments ) );
			}
		},

		/**
		 * Add multiple buttons to the toolbar (see also #addButton).
		 *
		 * Example usage:
		 *
		 *     addButtons( [ { .. }, { .. }, { .. } ] );
		 *     addButtons( { .. }, { .. } );
		 *
		 * @param {...Object|Array} [buttons] An array of button objects or the first
		 *  button object in a list of variadic arguments.
		 */
		addButtons: function ( buttons ) {
			if ( !Array.isArray( buttons ) ) {
				buttons = slice.call( arguments );
			}
			if ( isReady ) {
				buttons.forEach( function ( button ) {
					insertButton( button );
				} );
			} else {
				// Push each button into the queue
				queue.push.apply( queue, buttons );
			}
		},

		/**
		 * Apply tagOpen/tagClose to selection in currently focused textarea.
		 *
		 * Uses `sampleText` if selection is empty.
		 *
		 * @param {string} tagOpen
		 * @param {string} tagClose
		 * @param {string} sampleText
		 */
		insertTags: function ( tagOpen, tagClose, sampleText ) {
			if ( $currentFocused && $currentFocused.length ) {
				$currentFocused.textSelection(
					'encapsulateSelection', {
						pre: tagOpen,
						peri: sampleText,
						post: tagClose
					}
				);
			}
		}
	};

	// For backwards compatibility. Used to be called from EditPage.php, maybe other places as well.
	toolbar.init = $.noop;

	// Expose API publicly
	mw.toolbar = toolbar;

	$( function () {
		var $textBox, i, button;

		// Used to determine where to insert tags
		$currentFocused = $( '#wpTextbox1' );

		// Populate the selector cache for $toolbar
		$toolbar = $( '#toolbar' );

		if ( $toolbar.length === 0 ) {
			$textBox = $( '#wpTextbox1' );
			if ( $textBox.length === 0 ) {
				return;
			}
			$toolbar = $( '<div>' ).attr( { id: 'toolbar' } );
			$toolbar.insertBefore( $textBox );
		}

		for ( i = 0; i < queue.length; i++ ) {
			button = queue[ i ];
			if ( Array.isArray( button ) ) {
				// Forwarded arguments array from mw.toolbar.addButton
				insertButton.apply( toolbar, button );
			} else {
				// Raw object from mw.toolbar.addButtons
				insertButton( button );
			}
		}

		// Clear queue
		queue.length = 0;

		// This causes further calls to addButton to go to insertion directly
		// instead of to the queue.
		// It is important that this is after the one and only loop through
		// the queue
		isReady = true;

		// Apply to dynamically created textboxes as well as normal ones
		$( document ).on( 'focus', 'textarea, input:text', function () {
			$currentFocused = $( this );
		} );
	} );

}() );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/e/e2/Button_bold.png",
    speedTip: "Tučný text",
    tagOpen: "'''",
    tagClose: "'''",
    sampleText: "Tučný text",
    imageId: "mw-editbutton-bold"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/1/1d/Button_italic.png",
    speedTip: "Kurzíva",
    tagOpen: "''",
    tagClose: "''",
    sampleText: "Kurzíva",
    imageId: "mw-editbutton-italic"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/c/c0/Button_link.png",
    speedTip: "Odkaz",
    tagOpen: "[[",
    tagClose: "]]",
    sampleText: "",
    imageId: "mw-editbutton-link"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/e/ec/Button_extlink.png",
    speedTip: "Externý odkaz",
    tagOpen: "[",
    tagClose: "]",
    sampleText: "http://www.example.com externý odkaz",
    imageId: "mw-editbutton-extlink"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/7/78/Button_head_A2.png",
    speedTip: "Nadpis úrovne 2",
    tagOpen: "== ",
    tagClose: " ==",
    sampleText: "Nadpis úrovne 2",
    imageId: "mw-editbutton-headline"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/d/de/Button_image.png",
    speedTip: "Obrázok",
    tagOpen: "[[Image:",
    tagClose: "|thumb|Popisok.]]",
    sampleText: "Exemple.jpg",
    imageId: "mw-editbutton-image"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/8/82/Nowiki_icon.png",
    speedTip: "Nowiki",
    tagOpen: "<nowiki"+">",
    tagClose: "</"+"nowiki>",
    sampleText: "",
    imageId: "mw-editbutton-nowiki"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/6/6d/Button_sig.png",
    speedTip: "Podpis",
    tagOpen: "--~~"+"~~",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-signature"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/0/0d/Button_hr.png",
    speedTip: "Čiara",
    tagOpen: "--"+"--",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/2/23/Button_code.png?uselang=sk",
    speedTip: "<code>",
    tagOpen: "<code>",
    tagClose: "</code>",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/c/cd/Button_mdash.png",
    speedTip: "Čiarka",
    tagOpen: " – ",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/9/99/Button_sup_2.png",
    speedTip: "Strieška",
    tagOpen: "^",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/d/db/Button_with_wikinumber_character.png",
    speedTip: "Mriežka",
    tagOpen: "#",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "https://upload.wikimedia.org/wikipedia/commons/a/ac/Button_redir_rtl.png",
    speedTip: "Odsadenie",
    tagOpen: "<br>",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-link"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/2/23/Quotes-Lithuanian.png",
    speedTip: "Úvodzovky",
    tagOpen: "„",
    tagClose: "“",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/3/39/Negritaycursiva.png",
    speedTip: "Stĺpce",
    tagOpen: "{{Stĺpce|2|",
    tagClose: "}}",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/2/21/Button_invalid_template.png",
    speedTip: "Noinclude",
    tagOpen: "<noinclude>\n\n",
    tagClose: "</noinclude>",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/e/eb/Button_plantilla.png",
    speedTip: "Šablóna",
    tagOpen: "\x7b\x7b",
    tagClose: "}}",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "https://upload.wikimedia.org/wikipedia/commons/7/77/Button_cyrillic_capital_fita.png",
    speedTip: "Pomlčka",
    tagOpen: "\x7b\x7b--}}",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/0/0c/Button_Link_DifferentName.png",
    speedTip: "Čiara",
    tagOpen: "|",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/9/97/Template_button.png",
    speedTip: "Parameter v IB",
    tagOpen: "\x7b\x7b\x7b",
    tagClose: "}}}",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/3/3b/Comment-button-bg.png",
    speedTip: "Zakomentovanie",
    tagOpen: "<!--",
    tagClose: "-->",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/6/62/Button_desambig.png",
    speedTip: "Rozlišovacia stránka",
    tagOpen: "\x7b\x7bRozlišovacia stránka}}",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/b/ba/Button_conserver.png",
    speedTip: "Hlasuj Za",
    tagOpen: "",
    tagClose: "",
    sampleText: "#{{Za}} \~\~\~\~",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/f/fc/Button_supp.png",
    speedTip: "Hlasuj Proti",
    tagOpen: "",
    tagClose: "",
    sampleText: "#{{Proti}} \~\~\~\~",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/4/4e/Button_neutre.png",
    speedTip: "Hlasuj Neutral",
    tagOpen: "",
    tagClose: "",
    sampleText: "#{{Neutral}} \~\~\~\~",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/d/d1/Button_mysignature.png",
    speedTip: "nepodpísal",
    tagOpen: "\x7b\x7bNepodpísal|",
    tagClose: "}}",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/8/83/Button_biocitas.png",
    speedTip: "ping",
    tagOpen: "\x7b\x7bping|",
    tagClose: "|s=1}}",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/1/1c/Button_smiley_face_smile.png",
    speedTip: "Úsmev",
    tagOpen: "\x7b\x7bÚsmev}}",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/7/74/Button_oeil.png",
    speedTip: "Úsmev žmurk",
    tagOpen: "\x7b\x7bÚsmev|;)}}",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/f/f5/Button_smiley_face_grin.png",
    speedTip: "Úsmev smiech",
    tagOpen: "\x7b\x7bÚsmev|:D}}",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/1/1e/Button_ns-basics.png",
    speedTip: "Pracuje sa",
    tagOpen: "\x7b\x7bPracuje sa",
    tagClose: "}}",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/7/72/Button_copy_vio_plagio.png",
    speedTip: "Copyvio",
    tagOpen: "\x7b\x7bCopyvio|url=",
    tagClose: "}}",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/6/6c/Button_commons.png",
    speedTip: "Commons",
    tagOpen: "\x7b\x7bprojekt|commons=Category:",
    tagClose: "}}",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/e/ea/Button_easy_cite.png",
    speedTip: "Bez citácie",
    tagOpen: "\x7b\x7bBez citácie}}",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/f/f0/Btn_infotexto.png",
    speedTip: "Hlavný článok",
    tagOpen: "\x7b\x7bHlavný článok|",
    tagClose: "}}",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/2/2e/Button_broom.png",
    speedTip: "Na úpravu",
    tagOpen: "\x7b\x7bNa úpravu}}",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/3/33/Button_unreferenced.png",
    speedTip: "Bez zdroja",
    tagOpen: "\x7b\x7bBez zdroja}}",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/0/09/Warncreate3.png",
    speedTip: "Na revíziu",
    tagOpen: "\x7b\x7bNa revíziu}}",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/9/9d/Button_halt.png",
    speedTip: "Neutralita",
    tagOpen: "\x7b\x7bNeutralita}}",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/0/02/Button_fuente_primaria.png",
    speedTip: "Na rozšírenie",
    tagOpen: "\x7b\x7bNa rozšírenie}}",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/7/70/Button_fusion.png",
    speedTip: "Spojiť s",
    tagOpen: "\x7b\x7bSpojiť s|",
    tagClose: "}}",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/0/00/Button_vandale.png",
    speedTip: "Významnosť",
    tagOpen: "\x7b\x7bVýznamnosť}}",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/0/0c/Button_Link_DifferentName.png",
    speedTip: "Wikifikovať",
    tagOpen: "\x7b\x7bWikifikovať}}",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/3/3f/Button_attendre.png",
    speedTip: "Aktualizovať",
    tagOpen: "\x7b\x7bAktualizovať}}",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/e/e9/Button_preview.png",
    speedTip: "Zobraz náhľad",
    tagOpen: "\x7b\x7bZobraz náhľad}} --\x7E\x7E\x7E\x7E",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/7/7d/Mifirma.jpg",
    speedTip: "Podpis",
    tagOpen: "\x7b\x7bPodpis}} --\x7E\x7E\x7E\x7E",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/f/f3/Button_broom2.png",
    speedTip: "Taktooprav",
    tagOpen: "\x7b\x7bTaktooprav}} --\x7E\x7E\x7E\x7E",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/3/38/Button_plume.png",
    speedTip: "Preklad",
    tagOpen: "\x7b\x7bPreklad|",
    tagClose: "||}}",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/0/0d/Button_Nuvola_apps_gaim.png",
    speedTip: "V jazyku",
    tagOpen: "\x7b\x7bV jazyku|",
    tagClose: "|}}",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/c/c1/Button_city_silhouette.png",
    speedTip: "Nadmorská výška",
    tagOpen: "\x7b\x7bMnm|",
    tagClose: "}}",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/3/39/Negritaycursiva.png",
    speedTip: "Kilometre",
    tagOpen: "\x7b\x7bKm||m|w",
    tagClose: "}}",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/4/45/Stripe-marked_trail_yellow.svg",
    speedTip: "Turistická značka",
    tagOpen: "\x7b\x7bTuristická značka|",
    tagClose: "}}",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/7/76/Button_atelier_graphique.PNG",
    speedTip: "Farba",
    tagOpen: "background-color: ",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "https://upload.wikimedia.org/wikipedia/commons/3/33/Pulsante_Portali.png",
    speedTip: "Portál",
    tagOpen: "\x7b\x7bPortál|",
    tagClose: "}}",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/7/79/Button_bombe.png",
    speedTip: "Urgentne upraviť",
    tagOpen: "\x7b\x7burgentne upraviť|RRRRMMDD",
    tagClose: "}}",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/9/94/Button_zdroj.png",
    speedTip: "Doplň zdroje",
    tagOpen: "\x7b\x7bDoplň zdroje}} --\x7E\x7E\x7E\x7E",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/5/50/Button_tidyman.png",
    speedTip: "Zmazať lebo",
    tagOpen: "\x7b\x7bZmazať lebo|",
    tagClose: "}}",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/4/44/Warn1.png",
    speedTip: "Reklama",
    tagOpen: "\x7b\x7bReklama}} --\x7E\x7E\x7E\x7E",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/e/e4/Warn2.png",
    speedTip: "Reklama2",
    tagOpen: "\x7b\x7bReklama2}} --\x7E\x7E\x7E\x7E",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/b/b0/EXPBT1.png",
    speedTip: "Experimenty",
    tagOpen: "\x7b\x7bExperimenty}} --\x7E\x7E\x7E\x7E",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/a/ae/EXPBT2.png",
    speedTip: "Experimenty2",
    tagOpen: "\x7b\x7bExperimenty2}} --\x7E\x7E\x7E\x7E",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/e/e5/EXPBT3.png",
    speedTip: "Experimenty3",
    tagOpen: "\x7b\x7bExperimenty3}} --\x7E\x7E\x7E\x7E",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/e/e5/EXPBT3.png",
    speedTip: "Exp3N",
    tagOpen: "\x7b\x7bExp3N}} --\x7E\x7E\x7E\x7E",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/e/e5/EXPBT3.png",
    speedTip: "Exp3M",
    tagOpen: "\x7b\x7bExp3M}} --\x7E\x7E\x7E\x7E",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/6/66/Button_mort.png",
    speedTip: "Vandalizmus",
    tagOpen: "\x7b\x7bVandalizmus}} --\x7E\x7E\x7E\x7E",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/e/ec/Button_aviso.png",
    speedTip: "Nevhodné meno",
    tagOpen: "\x7b\x7bNeprípustné používateľské meno}} --\x7E\x7E\x7E\x7E",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/b/b6/Button_article_de_qualite.png",
    speedTip: "Hotovo",
    tagOpen: "\x7b\x7bHotovo}} --\x7E\x7E\x7E\x7E",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/7/77/Button_Nuvola_apps_edu_phi.png",
    speedTip: "Zdielaná IP školy",
    tagOpen: "\x7b\x7bZdieľaná IP školy|názov školy",
    tagClose: "}}",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/a/a9/Button_tournesol.png",
    speedTip: "Vitajte",
    tagOpen: "\x7b\x7bVitajte|redaktor=|reg=regáno}}",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/a/a9/Button_tournesol.png",
    speedTip: "Vitajte2",
    tagOpen: "\x7b\x7bVitajte2}} --\x7E\x7E\x7E\x7E",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "https://upload.wikimedia.org/wikipedia/commons/2/26/Button_Tongue.png",
    speedTip: "Výborný zásah",
    tagOpen: "\x7b\x7bVýborný zásah}} --\x7E\x7E\x7E\x7E",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/1/16/Button_fairuse.png",
    speedTip: "Potvrdenie OTRS",
    tagOpen: "\x7b\x7bOTRS dual|otrs=",
    tagClose: "|zdroj=}}",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/9/91/Button_cite_web.png",
    speedTip: "Citácia elektronického dokumentu",
    tagOpen: "<ref>\x7b\x7bCitácia elektronického dokumentu\n | priezvisko = \n | meno = \n | odkaz na autora = \n | vydavateľ = \n | titul = \n | url = \n | dátum vydania = \n | dátum prístupu = " + (y = new Date().getFullYear ()) + "-" + (m = new Date ().getMonth () + 1) + "-" + (d = new Date ().getDate ()) + "\n | miesto = \n | jazyk = \n}}</ref>",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/e/ef/Button_cite_book.png",
    speedTip: "Citácia knihy",
    tagOpen: "<ref>\x7b\x7bCitácia knihy\n | priezvisko = \n | meno = \n | odkaz na autora = \n | titul = \n | vydavateľ = \n | miesto = \n | rok = \n | isbn = \n | strany = \n | počet strán = \n | url = \n | jazyk = \n}}</ref>",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

mw.toolbar.addButton( {
    imageFile: "//upload.wikimedia.org/wikipedia/commons/4/49/Button_cite_journal.png",
    speedTip: "Citácia periodika",
    tagOpen: "<ref>\x7b\x7bCitácia periodika\n  | priezvisko = \n  | meno = \n  | autor = \n  | odkaz na autora = \n  | spoluautori = \n  | titul = \n  | periodikum = \n  | odkaz na periodikum = \n  | rok = \n  | mesiac = \n  | ročník = \n  | číslo = \n  | strany = \n  | url = \n  | issn = \n}}</ref>",
    tagClose: "",
    sampleText: "",
    imageId: "mw-editbutton-hr"
} );

/*  _____________________________________________________________________________
 * |                                                                             |
 * |                    === WARNING: LOCAL GADGET FILE ===                       |
 * |       This is a future official gadget. Changes may affect many users.      |
 * |               Please consider your changes before editing.                  |
 * |_____________________________________________________________________________|
 *
 * This is version 1.2 as of 2013-12-25.
 * The script adapts itself to the wiki language and can be used at cswiki or skwiki without changes.
 */

var cssk_srclang = (mw.config.get('wgContentLanguage') == 'sk' ? 'cs' : 'sk');
var cssk_tgtlang = (mw.config.get('wgContentLanguage') == 'sk' ? 'sk' : 'cs');

function cssk_running() {
  $('#wpTextbox1').val(cssk_srclang == 'sk' ? 'Překlad se připravuje, prosím čekejte...' : 'Preklad sa pripravuje, prosím čakajte...');
  }

function cssk_done(json) {
  if(json.hasOwnProperty('text'))
    $('#wpTextbox1').val(json.text);
  else
    $('#wpTextbox1').val(cssk_srclang == 'sk' ? 'Chyba: Překlad se nepodařilo získat.' : 'Chyba: Preklad sa nepodarilo získať.');
  if(json.hasOwnProperty('summary')) $('#wpSummary').val(json.summary);
  }

function cssk_start() {
  cssk_srctitle = prompt((cssk_srclang == 'sk' ? 'Zadejte název ze skwiki:' : 'Zadajte názov z cswiki:'), mw.config.get('wgTitle'));
  cssk_running();
  mw.loader.load('//tools.wmflabs.org/cssk/scripts/cssk.php?srclang='+cssk_srclang+'&tgtlang='+cssk_tgtlang+'&title=' + encodeURIComponent(cssk_srctitle) + '&random=' + Math.floor(Math.random()*1000000000));
  }

function cssk_button() {
  var msg = '';
  var cssk_buttonlabel = (cssk_srclang == 'sk' ? 'Start' : 'Start');
  var cssk_buttonicon = (cssk_srclang == 'sk' ? '//tools.wmflabs.org/cssk/img/icon_sk-cs.png' : '//tools.wmflabs.org/cssk/img/icon_cs-sk.png');
  var cssk_buttonicon_classic = (cssk_srclang == 'sk' ? '//tools.wmflabs.org/cssk/img/icon_sk-cs_classic.png' : '//tools.wmflabs.org/cssk/img/icon_cs-sk_classic.png');

  // add button to the advanced toolbar generated by Extension:WikiEditor, if it is active
  mw.loader.using('user.options', function() {
    if(mw.user.options.get('usebetatoolbar')) {
      mw.loader.using('ext.wikiEditor', function() {
        $(function() {
          $('#wpTextbox1').wikiEditor('addToToolbar', {
            'section': 'advanced',
            'group': 'insert',
            'tools': {
              'cssk': {
                label: cssk_buttonlabel,
                type: 'button',
                icon: cssk_buttonicon,
                action: {
                  type: 'callback',
                  execute: function(context) {
                    cssk_start();
                    }
                  }
                }
              }
            } );
          });
        });
      }
    });

  // add button to the classic edit toolbar - code inspired by [[:en:User:V111P/js/addToolbarButtons.js]]
  mw.loader.using('mediawiki.action.edit', function () {
    mw.toolbar.addButton(cssk_buttonicon_classic, cssk_buttonlabel, '', '', '', 'csskButtonTemp', 'csskButtonTemp');
    var tempButton = $('#csskButtonTemp');
    if(tempButton.length) {
      var newButton = tempButton[0].cloneNode();
      newButton.id = 'csskButton';
      tempButton.after(newButton).remove();
      $(newButton).click(cssk_start);
      }
    });
  }

// only launch the script when editting and unless it's a user JS/CSS page
if((mw.config.get('wgAction') == 'edit' || mw.config.get('wgAction') == 'submit') && !((mw.config.get('wgNamespaceNumber') == 2 || mw.config.get('wgNamespaceNumber') == 4) && (mw.config.get('wgPageName').indexOf('.js') != -1 || mw.config.get('wgPageName').indexOf('.css') != -1 ))) {
  $(cssk_button);
  }