Uživatel:Miroslav.gajda/common.js

Poznámka: Po uložení musíte vyprázdnit cache vašeho prohlížeče, jinak změny neuvidíte.

  • Firefox / Safari: Při kliknutí na Aktualizovat držte Shift nebo stiskněte Ctrl-F5 nebo Ctrl-R (na Macu ⌘-R)
  • Google Chrome: Stiskněte Ctrl-Shift-R (na Macu ⌘-Shift-R)
  • Internet Explorer: Při kliknutí na Aktualizovat držte Ctrl nebo stiskněte Ctrl-F5
  • Opera: Jděte do Menu → Nastavení (na Macu Opera → Nastavení) a tam pak Soukromí & bezpečnost → Vymazat údaje o prohlížení → Obrázky a soubory z mezipaměti
var MediaWikiGadgetCitacePRO = (function() {
	var xml;
	var server = "http://www.citacepro.com/";

	var init = function() {
		$('#wpTextbox1').wikiEditor('addToToolbar', {
			'section': 'main',
			'group': 'insert',
			'tools': {
				'CitacePRO': {
					label: "Vložit citaci",
					type: "button",
					icon: "//www.citacepro.com/citace22.png",
					action: {type: 'callback', execute: vytvoritCitaci}
				}
			}
		});
	}
	
	function vytvoritCitaci() {
		$dialog = $('<p>Zadejte ISBN, DOI nebo název:<br/><input type="text" name="citace" value="Bohatý táta, chudý táta" id="hledanyText" style="width: 640px; margin-top: 10px;"/></p>');
		$dialog.dialog({autoOpen: true, title: 'Vložení citace', width: '700px', modal: true, buttons: {"Dohledat": function(e) {
			prehledCitaci($("#hledanyText").val());
            }}});
	}
	
	var prehledCitaci = function(text) {
        $dialog.html('Zvolte citaci:');
        var $seznam = $('<ul></ul>');
        $.get(server + "xml/naseptavac-dohledani.php?text=" + text, function(data) {
            var i = 0;
            xml = data;
            $(data).find('dokument').each(function() {
                var $li = $('<li></li>');
                var $odkaz = $('<a class="nalezenaCitace" id="citace' + i + '">' + $(this).find("citace").text() + '</a>');
                $odkaz.click(function() {
                    pouzitCitaci($(this).attr("id").substring(6));
                });
                $li.append($odkaz);
                $seznam.append($li);
                i++;
            });
        });
        $dialog.append($seznam);
        $dialog.dialog('option', 'buttons', {"Zpět": vytvoritCitaci});
    };
	
	function pouzitCitaci(pouzitaCitace) {
	    var i = 0;
	    $(xml).find('dokument').each(function() {
	        if (i == pouzitaCitace) {
	            $dialog.html('');
	            var $druh = $('<select name="druh" id="druh" style="font-size: 14px;"></select>');
	            $druh.append($("<option>Knížka</option>"));
	            $druh.append($("<option>Článek</option>"));
	            var $tabulka = $('<table></table>');
	            $tabulka.append($("<tr></tr>").append($("<th>Druh: </th>")).append($("<td></td>").append($druh)));
	            $tabulka.append($('<tr><th>Autoři:</th><td><input type="text" name="autoriText" id="autoriText" value="' + $(this).find("autoriText").text() + '"/></td></tr>'));
	            $tabulka.append($('<tr><th>Název:</th><td><input type="text" name="nazev" id="nazev" value="' + $(this).find("nazev").text() + '"/></td></tr>'));
	            $tabulka.append($('<tr><th>Podnázev:</th><td><input type="text" name="podnazev" id="podnazev" value="' + $(this).find("podnazev").text() + '"/></td></tr>'));
	            $tabulka.append($('<tr><th>Nakladatelství:</th><td><input type="text" name="nakladatelstvi" id="nakladatelstvi" value="' + $(this).find("nakladatelstvi").text() + '"/></td></tr>'));
	            $tabulka.append($('<tr><th>Místo vydání:</th><td><input type="text" name="misto_vydani" id="misto_vydani" value="' + $(this).find("misto_vydani").text() + '"/></td></tr>'));
	            $tabulka.append($('<tr><th>Rok vydání:</th><td><input type="text" name="datum_vydani" id="datum_vydani" value="' + $(this).find("datum_vydani").text() + '"/></td></tr>'));
	            $tabulka.append($('<tr><th>Počet stran:</th><td><input type="text" name="pocet_stran" id="pocet_stran" value="' + $(this).find("pocet_stran").text() + '"/></td></tr>'));
	            $tabulka.append($('<tr><th>ISBN:</th><td><input type="text" name="isbn" id="isbn" value="' + $(this).find("identifikator").text() + '"/></td></tr>'));
	            $dialog.append($tabulka);
	            $dialog.dialog('option', 'buttons', {"Vložit citaci": function(e) {
	                    $.get(server + "vygenerovat-citaci?genre=book&authors=" + $("#autoriText").val() + "&title=" + $("#nazev").val() + (":" + $("#podnazev").val()) + "&publisher=" + $("#nakladatelstvi").val() + "&place=" + $("#misto_vydani").val() + "&year=" + $("#datum_vydani").val() + "&pages=" + $("#pocet_stran").val() + "&isbn=" + $("#isbn").val(), function(data) {
	                        //alert(data);
	                        $('#wpTextbox1').textSelection('encapsulateSelection', {pre: "<ref>", peri: data, post: "</ref>"});
							$dialog.dialog("close");
	                    });
	                }});
	        }
	        i++;
	    });
	};
	
	return {
		init: init
	}
})();
	
// Check if view is in edit mode and that the required modules are available. Then, customize the toolbar . . . 
if ($.inArray( mw.config.get( 'wgAction' ), [ 'edit', 'submit' ] ) !== -1 ) {
	mw.loader.using( 'user.options', function () {
		if (mw.user.options.get('usebetatoolbar') && mw.user.options.get( 'showtoolbar' ) ) {
			mw.loader.using( 'ext.wikiEditor.toolbar', function () {
				$(document).ready(MediaWikiGadgetCitacePRO.init);
			});
		}
	});
}