Uživatel:Miroslav.gajda/common.js: Porovnání verzí

 
(Není zobrazeno 148 mezilehlých verzí od stejného uživatele.)
Řádek 1: Řádek 1:
//necessary because mwreference loaded after ext.visualEditor.viewPageTarget.init
+
/*mw.hook('ve.activationComplete').add(function() {
//mw.loader.using( 'ext.visualEditor.mwreference', function () {
+
  $(document).ready(function() {
+
$(".ve-ui-tool-reference").click(function () {
/* Message Definitions */
+
    setTimeout(function() {  
if (!mw.messages.exists( 'citoid-citeFromURLDialog-search-placeholder' )) {
+
$('iframe').ready(MediaWikiGadgetCitacePRO.init);
mw.messages.set({
+
    }, 1000);          
'citoid-citeFromURLDialog-search-placeholder':'Enter URL (i.e. http://mediawiki.org)',
+
  });
'citoid-citeFromURLDialog-search-label':'URL:',
+
  });
'citoid-citeFromURLTool-title': 'Cite from URL'
 
});
 
}
 
 
//---------- CiteFromURL Dialog ------------------
 
 
ve.ui.CiteFromURLDialog = function VeUiCiteFromURLDialog( manager, config ) {
 
// Parent constructor
 
config = ve.extendObject( { 'size': 'medium' }, config );
 
ve.ui.CiteFromURLDialog.super.call( this, manager, config );
 
};
 
 
/* Inheritance */
 
OO.inheritClass( ve.ui.CiteFromURLDialog, ve.ui.MWCitationDialog );
 
 
/* Static Properties */
 
ve.ui.CiteFromURLDialog.static.name = 'citefromurl';
 
ve.ui.CiteFromURLDialog.static.title = mw.msg( 'citoid-citeFromURLDialog-title' );
 
 
/* Returns full template given search results */
 
ve.ui.CiteFromURLDialog.prototype.getPlainObject = function ( url, searchResults ) {
 
 
var content, plainObject, d, templateHref, templateName,
 
citation = jQuery.parseJSON( JSON.stringify( searchResults ) )[0], //uses the first citation result for the time being
 
 
templateTypeMap = {
 
book: 'Cite book',
 
bookSection: 'Cite book',
 
journalArticle: 'Cite journal',
 
magazineArticle: 'Cite news',
 
newspaperArticle: 'Cite news',
 
thesis: 'Cite journal',
 
letter: 'Citation',
 
manuscript: 'Cite book',
 
interview: 'Citation',
 
film: 'Citation',
 
artwork: 'Citation',
 
webpage: 'Cite web',
 
report: 'Cite journal',
 
bill: 'Citation',
 
hearing: 'Citation',
 
patent: 'Citation',
 
statute: 'Citation',
 
email: 'Cite web',
 
map: 'Citation',
 
blogPost: 'Cite web',
 
instantMessage: 'Citation',
 
forumPost: 'Cite web',
 
audioRecording: 'Citation',
 
presentation: 'Cite journal',
 
videoRecording: 'Citation',
 
tvBroadcast: 'Citation',
 
radioBroadcast: 'Citation',
 
podcast: 'Citation',
 
computerProgram: 'Citation',
 
conferencePaper: 'Cite journal',
 
'document': 'Citation',
 
encyclopediaArticle: 'Cite journal',
 
dictionaryEntry: 'Cite journal'
 
},
 
 
//Parameter map for Template:Citation on en-wiki
 
//In the format citation-template-field:citoid-field
 
citationParams = {
 
'first1': 'author1-first',
 
'last1': 'author1-last',
 
'first2': 'author2-first',
 
'last2': 'author2-last',
 
'first3': 'author3-first',
 
'last3': 'author3-last',
 
'first4': 'author4-first',
 
'last4': 'author4-last',
 
// 'accessdate': 'accessDate',
 
'title': 'title',
 
'url': 'url',
 
'publisher': 'publisher',
 
//a large number of Zotero types have the field publicationTitle
 
//however, in setting journal to publicationTitle, the citation
 
//will be formatted as a journal article, which may not always be
 
//desirable.
 
'journal': 'publicationTitle',
 
// 'newspaper': 'publicationTitle',
 
'date': 'date',
 
'location': 'place',
 
'issn': 'ISSN',
 
'isbn': 'ISBN',
 
'pages': 'pages',
 
'volume': 'volume',
 
'series': 'series',
 
'issue': 'issue',
 
'doi': 'DOI'
 
},
 
 
webParams = {
 
'first1': 'author1-first',
 
'last1': 'author1-last',
 
'first2': 'author2-first',
 
'last2': 'author2-last',
 
'first3': 'author3-first',
 
'last3': 'author3-last',
 
'first4': 'author4-first',
 
'last4': 'author4-last',
 
// 'accessdate': 'accessDate',
 
'title': 'title',
 
'url': 'url',
 
'date': 'date',
 
'publisher': 'publisher',
 
'website': 'publicationTitle'
 
},
 
 
newsParams = {
 
'first1': 'author1-first',
 
'last1': 'author1-last',
 
'first2': 'author2-first',
 
'last2': 'author2-last',
 
'first3': 'author3-first',
 
'last3': 'author3-last',
 
'first4': 'author4-first',
 
'last4': 'author4-last',
 
// 'accessdate': 'accessDate',
 
'title': 'title',
 
'url': 'url',
 
'publisher': 'publisher',
 
'newspaper': 'publicationTitle',
 
'date': 'date',
 
'location': 'place',
 
'issn': 'ISSN',
 
'isbn': 'ISBN',
 
'pages': 'pages',
 
'volume': 'volume',
 
'series': 'series',
 
'issue': 'issue',
 
'doi': 'DOI'
 
},
 
 
bookParams = {
 
'first1': 'author1-first',
 
'last1': 'author1-last',
 
'first2': 'author2-first',
 
'last2': 'author2-last',
 
'first3': 'author3-first',
 
'last3': 'author3-last',
 
'first4': 'author4-first',
 
'last4': 'author4-last',
 
// 'accessdate': 'accessDate',
 
'title': 'title',
 
'url': 'url',
 
'publisher': 'publisher',
 
'journal': 'publicationTitle',
 
'date': 'date',
 
'location': 'place',
 
'issn': 'ISSN',
 
'isbn': 'ISBN',
 
'pages': 'pages',
 
'volume': 'volume',
 
'series': 'series',
 
'issue': 'issue',
 
'doi': 'DOI'
 
},
 
 
journalParams = {
 
'first1': 'author1-first',
 
'last1': 'author1-last',
 
'first2': 'author2-first',
 
'last2': 'author2-last',
 
'first3': 'author3-first',
 
'last3': 'author3-last',
 
'first4': 'author4-first',
 
'last4': 'author4-last',
 
// 'accessdate': 'accessDate',
 
'title': 'title',
 
'url': 'url',
 
'publisher': 'publisher',
 
'journal': 'publicationTitle',
 
'date': 'date',
 
'location': 'place',
 
'issn': 'ISSN',
 
'isbn': 'ISBN',
 
'pages': 'pages',
 
'volume': 'volume',
 
'series': 'series',
 
'issue': 'issue',
 
'doi': 'DOI'
 
},
 
 
//format 'template name':parameter obj name
 
templateParamMap = {
 
'Citation': citationParams,
 
'Cite web': webParams,
 
'Cite news': newsParams,
 
'Cite journal': journalParams,
 
'Cite book': bookParams
 
},
 
 
//This will contain the correct template with the fields filled out
 
paramObj = {};
 
 
templateName = templateTypeMap[citation.itemType];
 
 
templateHref = 'Template:' + templateName;
 
 
//hack for now- set citation url to supplied url if not given
 
if (!citation.url) {citation.url =  url;}
 
 
$.each( templateParamMap[templateName], function ( key, value ) {
 
if (citation[value] !== undefined) {
 
paramObj[key] = { 'wt': citation[value] };
 
}
 
} );
 
 
d = new Date();
 
paramObj.accessdate = { 'wt': d.toISOString().split('T')[0] }; //discard time
 
 
plainObject = { //before paren put get plain object
 
'parts': [ {
 
 
'template': {
 
'target': {
 
'href': templateHref,
 
'wt': templateName.toLowerCase()
 
},
 
'params': paramObj
 
}
 
} ]
 
};
 
 
content = [
 
{
 
'type': 'mwTransclusionInline',
 
'attributes': {
 
'mw': plainObject
 
}
 
},
 
{ 'type': '/mwTransclusionInline' }
 
];
 
return content;
 
};
 
 
ve.ui.CiteFromURLDialog.prototype.initialize = function () {
 
ve.ui.CiteFromURLDialog.super.super.super.prototype.initialize.call( this );
 
 
//not actually using this//hack for inheriting from mwtemplatedialog
 
this.bookletLayout = new OO.ui.BookletLayout(
 
ve.extendObject(
 
{ '$': this.$ },
 
this.constructor.static.bookletLayoutConfig
 
)
 
);
 
 
this.searchInput = new OO.ui.TextInputWidget( {
 
'$': this.$,
 
'multiline': false,
 
'placeholder': mw.msg( 'citoid-citeFromURLDialog-search-placeholder' )
 
} );
 
var panel = new OO.ui.PanelLayout( { '$': this.$, 'scrollable': true, 'padded': true } ),
 
inputsFieldset = new OO.ui.FieldsetLayout( {
 
'$': this.$
 
} ),
 
//input search
 
 
searchField = new OO.ui.FieldLayout( this.searchInput, {
 
'$': this.$,
 
'label': mw.msg( 'citoid-citeFromURLDialog-search-label' )
 
} );
 
 
inputsFieldset.$element.append(
 
searchField.$element
 
);
 
panel.$element.append( inputsFieldset.$element );
 
this.$body.append( panel.$element );
 
 
};
 
 
ve.ui.CiteFromURLDialog.prototype.getActionProcess = function ( action ) {
 
if ( action === 'apply' || action === 'insert' ) {
 
return new OO.ui.Process( function () {
 
 
this.pushPending();
 
var citoidService,
 
that = this;
 
 
citoidService = "https://citoid.wmflabs.org/url";
 
 
$.ajax( {
 
beforeSend: function (request) {
 
request.setRequestHeader('Content-Type', 'application/json');
 
},
 
url: citoidService,
 
type: 'POST',
 
data: JSON.stringify( { url: this.searchInput.getValue() } ),
 
dataType: 'json',
 
success: function ( result ) {
 
that.close();
 
 
var item, linsel,
 
surfaceModel = that.getFragment().getSurface(),
 
doc = surfaceModel.getDocument(),
 
internalList = doc.getInternalList();
 
 
//sets up referencemodel with blank stuff
 
if ( !that.referenceModel ) {
 
// Collapse returns a new fragment, so update this.fragment
 
that.fragment = that.getFragment().collapseToEnd();
 
that.referenceModel = new ve.dm.MWReferenceModel();
 
that.referenceModel.insertInternalItem( surfaceModel );
 
that.referenceModel.insertReferenceNode( that.getFragment() );
 
}
 
//gets bank stuff again
 
item = that.referenceModel.findInternalItem( surfaceModel );
 
if ( item ) {
 
linsel = that.getFragment().clone( new ve.dm.LinearSelection( doc, item.getChildren()[0].getRange() ) );
 
//actually inserts full transclusion model here!
 
linsel.insertContent(that.getPlainObject( that.searchInput.getValue(), result ) );
 
}
 
 
// HACK: Scorch the earth - this is only needed because without it, the reference list won't
 
// re-render properly, and can be removed once someone fixes that
 
that.referenceModel.setDocument(
 
doc.cloneFromRange(
 
internalList.getItemNode( that.referenceModel.getListIndex() ).getRange()
 
)
 
);
 
 
that.referenceModel.updateInternalItem( surfaceModel );
 
 
//hack- doesn't seem to be working in always
 
that.popPending();
 
},
 
error: function ( XMLHttpRequest, textStatus, errorThrown) {
 
that.popPending();
 
mw.notify( 'Status:'  + textStatus +  'Error: ' + errorThrown );
 
that.popPending();
 
},
 
always: function () {
 
that.popPending();
 
}
 
} );
 
}, this );
 
}
 
 
// Parent method
 
return ve.ui.CiteFromURLDialog.super.super.prototype.getActionProcess.call( this, action );
 
};
 
 
ve.ui.CiteFromURLDialog.prototype.onTransclusionReady = function () {
 
// Parent method
 
ve.ui.CiteFromURLDialog.super.prototype.onTransclusionReady.call( this );
 
//hack- always enabled for now
 
this.actions.setAbilities( { 'apply': true, 'insert': true } );
 
};
 
 
//hack for inheriting from template dialog
 
//Sets the title of the dialog correctly
 
ve.ui.CiteFromURLDialog.prototype.getTemplatePartLabel = function ( part ) {
 
return ve.msg( 'citoid-citeFromURLTool-title' );
 
};
 
 
ve.ui.windowFactory.register( ve.ui.CiteFromURLDialog );
 
 
//---------- CiteFromURL tool ------------------
 
 
function CiteFromURLTool( toolGroup, config ) {
 
OO.ui.Tool.call( this, toolGroup, config );
 
 
}
 
OO.inheritClass( CiteFromURLTool, OO.ui.Tool );
 
 
CiteFromURLTool.static.name = 'citefromurl';
 
CiteFromURLTool.static.icon = 'ref-cite-web';
 
CiteFromURLTool.static.group = 'cite';
 
CiteFromURLTool.static.autoAddToCatchall = false;
 
CiteFromURLTool.static.title = mw.msg('citoid-citeFromURLTool-title');
 
 
CiteFromURLTool.prototype.onSelect = function () {
 
this.toolbar.getSurface().execute( 'window', 'open', 'citefromurl', null );
 
};
 
 
CiteFromURLTool.prototype.onUpdateState = function () {
 
this.setActive( false );
 
};
 
 
ve.ui.toolFactory.register( CiteFromURLTool );
 
 
 
});
 
});
 +
 +
var MediaWikiGadgetCitacePRO = (function() {
 +
    var xml;
 +
    var server = "//www.citacepro.com/";
 +
    var aktualniDialog = "";
 +
    var $naseptavac = $('<div id="CitacePRONaseptavac"></div>');
 +
    var login = "";
 +
 +
    // Prida ikonku CitacePRO do toolbaru a nacte shibboleth identifikator prihlaseneho uzivatele.
 +
    var init = function() {
 +
var iframe = $('iframe');
 +
var $tlacitko = $('<a class="ve-ui-widget ve-ui-tool ve-ui-tool-bold" title="Vložit citaci"><span class="ve-ui-iconedElement-icon" style="background-image: url(//www.citacepro.com/citace22.png)"></span></a>');
 +
$tlacitko.click(function () {
 +
                    vytvoritCitaci();
 +
                });
 +
iframe.contents().find("div.ve-ui-toolbar-tools div:nth-child(2) div:eq(0)").append($tlacitko);
 +
 +
        if (window.mw) {
 +
            var unstructuredName = mw.config.get('unstructuredName');
 +
            if (unstructuredName != null && unstructuredName.match(/^\d+$/)) {
 +
                login = unstructuredName;
 +
            }
 +
        }
 +
    }
 +
 +
    // Zobrazi vyhledavaci policko v dialogovem okne.
 +
    var vytvoritCitaci = function () {
 +
        aktualniDialog = "vytvoritCitaci";
 +
        $dialog = $('<form></form>');
 +
        var odstavec = $('<p>Zadejte ISBN, DOI, název nebo URL: </p>');
 +
        var vyhledavaciPolicko = $('<input type="text" id="CitacePROHledanyText"/>');
 +
        vyhledavaciPolicko.keyup(function () {
 +
            zobrazitNaseptavac($(this).val());
 +
        });
 +
        odstavec.append(vyhledavaciPolicko);
 +
        $dialog.append(odstavec);
 +
 +
        $dialog.dialog({
 +
            autoOpen: true, title: 'Vložení citace', width: 700, minHeight: 500, modal: true,
 +
            buttons: {
 +
                "Dohledat": function (e) {
 +
                    prehledCitaci($("#CitacePROHledanyText").val());
 +
                },
 +
                "Nový": function (e) {
 +
                    pouzitCitaci("Kniha");
 +
                }
 +
            },
 +
            close: function () {
 +
                $(this).dialog('destroy').remove();
 +
            }
 +
        });
 +
        $dialog.keypress(function (e) {
 +
            if (aktualniDialog == "vytvoritCitaci" && e.keyCode == $.ui.keyCode.ENTER) {
 +
                if ($("#CitacePROHledanyText").val() == "") {
 +
                    pouzitCitaci("Kniha");
 +
                } else {
 +
                    prehledCitaci($("#CitacePROHledanyText").val());
 +
                }
 +
            }
 +
        });
 +
    };
 +
 +
    // Zobrazi nasepatavac
 +
    var zobrazitNaseptavac = function (hledanyText) {
 +
        $naseptavac.empty();
 +
        $.get(server + "naseptavac-mediawiki/" + login + "?text=" + encodeURIComponent(hledanyText), function (data) {
 +
            var i = 0;
 +
            xml = data;
 +
            $(data).find('dokument').each(function () {
 +
                var prvniRadek = $(this).find("nazev").text() + ($(this).find("identifikator").text() == "" ? "" : " (" + $(this).find("identifikator").text() + ")");
 +
                var druhyRadek = (($(this).find("autoriText").text() == "" ? "" : $(this).find("autoriText").text() + "; ")) + $(this).find("druhNazev").text() + "; " + (($(this).find("datum_vydani").text() == "" ? ($(this).find("celekDatumVydani").text() == "" ? "" : $(this).find("celekDatumVydani").text()) : $(this).find("datum_vydani").text()));
 +
                var $odkaz = $('<a class="zaznam' + (i % 2) + '" id="nascit' + i + '"><div class="prvniRadek">' + prvniRadek + '</div><div class="druhyRadek">' + druhyRadek + '</div></a>');
 +
                $odkaz.click(function () {
 +
                    pouzitCitaci($(this).attr("id").substring(6));
 +
                });
 +
                $naseptavac.append($odkaz);
 +
                i++;
 +
            });
 +
            if (i > 0) {
 +
                $naseptavac.show();
 +
            } else {
 +
                $naseptavac.hide();
 +
            }
 +
        });
 +
    };
 +
 +
    // Zobrazi prehled dohledanych citace v dialogovem okne.
 +
    var prehledCitaci = function (text) {
 +
        aktualniDialog = "prehledCitaci";
 +
        $dialog.html('');
 +
        var nacitani = $('<div id="nacitani">Načítání...</div>');
 +
        $dialog.append(nacitani);
 +
        var $seznam = $('<ul id="CitacePRODohledaneCitace"></ul>');
 +
        $.get(server + "xml/naseptavac-dohledani.php?text=" + encodeURIComponent(text), function (data) {
 +
            var i = 0;
 +
            xml = data;
 +
            $(data).find('dokument').each(function () {
 +
                var $li = $('<li></li>');
 +
                var $odkaz = $('<a class="nalezenaCitace" style="cursor: pointer;" id="citace' + i + '">' + $(this).find("citace").text() + '</a>');
 +
                $odkaz.click(function () {
 +
                    pouzitCitaci($(this).attr("id").substring(6));
 +
                });
 +
                $li.append($odkaz);
 +
                $seznam.append($li);
 +
                i++;
 +
            });
 +
            $("#nacitani").html(i > 0 ? "Zvolte citaci:" : "Nenalezena žádná citace.");
 +
        });
 +
        $dialog.append($seznam);
 +
        $dialog.dialog('option', 'buttons', {"Nový": function (e) {
 +
                pouzitCitaci("Kniha");
 +
            }});
 +
    };
 +
 +
    // Skryje nebo zobrazi polozky v editacnim formulari citace dle zvoleneho druhu.
 +
    var zmenaDruhu = function (druh, forma) {
 +
        if (druh == 12 || druh == 19) {
 +
            forma = true;
 +
        }
 +
 +
        $("#radekAutori").css("display", druh != 12 ? "table-row" : "none");
 +
        $("#radekPodnazev").css("display", druh != 12 ? "table-row" : "none");
 +
        $("#radekVydani").css("display", druh == 1 || druh == 18 ? "table-row" : "none");
 +
        $("#radekMisto").css("display", druh != 9 ? "table-row" : "none");
 +
        $("#radekVydavatel").css("display", druh == 1 || druh == 18 || druh == 19 || druh == 12 ? "table-row" : "none");
 +
        //$("#radekAutoriCelku").css("display", druh == 18 ? "table-row" : "none");
 +
        $("#radekNazevCasopisu").css("display", druh == 9 || druh == 18 || druh == 19 || druh == 12 ? "table-row" : "none");
 +
        $("#radekRocnik").css("display", druh == 9 ? "table-row" : "none");
 +
        $("#radekCislo").css("display", druh == 9 ? "table-row" : "none");
 +
        $("#radekPocetStran").css("display", druh == 1 || druh == 5 ? "table-row" : "none");
 +
        $("#radekRozsahStran").css("display", druh == 9 || druh == 18 ? "table-row" : "none");
 +
        $("#radekISBN").css("display", druh == 1 || druh == 18 ? "table-row" : "none");
 +
        $("#radekDOI").css("display", druh == 9 && forma ? "table-row" : "none");
 +
        $("#radekSkola").css("display", druh == 5 ? "table-row" : "none");
 +
        $("#radekDruhPrace").css("display", druh == 5 ? "table-row" : "none");
 +
        $("#radekVedouci").css("display", druh == 5 ? "table-row" : "none");
 +
        $("#radekNosic").css("display", forma ? "table-row" : "none");
 +
        if (forma && $("#nosic").val() == "") {
 +
            $("#nosic").val("on-line");
 +
        }
 +
 +
        $("#formy").css("display", druh == 12 || druh == 19 ? "none" : "inline-block");
 +
        $("#online").attr("checked", forma);
 +
    };
 +
 +
    // Zobrazi formular pro editaci citace v dialogovem okne.
 +
    var pouzitCitaci = function (pouzitaCitace) {
 +
        aktualniDialog = "pouzitCitaci";
 +
        var druhID = 1;
 +
        if ("Kniha" != pouzitaCitace) {
 +
            $(xml).find('dokument').eq(pouzitaCitace).each(function () {
 +
                druhID = $(this).find("druh").text();
 +
            });
 +
        }
 +
        if (druhID == 4) {
 +
            druhID = 9;
 +
        } else if (druhID == 6) {
 +
            druhID = 1;
 +
        } else if (druhID == 16) {
 +
            druhID = 18;
 +
        } else if (druhID == 10) {
 +
            druhID = 5;
 +
        }
 +
        var genre = "book";
 +
 +
        $dialog.html('');
 +
        var druhForma = $('<td></td>');
 +
        var $druh = $('<select name="druh" id="druh"></select>');
 +
        $druh.append($("<option" + (druhID == 1 ? ' selected="selected"' : '') + ' value="1">Kniha</option>'));
 +
        $druh.append($("<option" + (druhID == 9 ? ' selected="selected"' : '') + ' value="9">Článek</option>'));
 +
        $druh.append($("<option" + (druhID == 18 ? ' selected="selected"' : '') + ' value="18">Příspěvek ve sborníku</option>'));
 +
        $druh.append($("<option" + (druhID == 12 ? ' selected="selected"' : '') + ' value="12">Webová stránka</option>'));
 +
        $druh.append($("<option" + (druhID == 19 ? ' selected="selected"' : '') + ' value="19">Příspěvek na webu</option>'));
 +
        $druh.append($("<option" + (druhID == 5 ? ' selected="selected"' : '') + ' value="5">Akademická práce</option>'));
 +
        $druh.change(function () {
 +
            zmenaDruhu($("#druh").val(), $("#online").is(":checked"));
 +
        });
 +
        druhForma.append($druh);
 +
        var tisteny = $('<input type="radio" id="tisteny" name="forma" value="0" checked="checked"/>');
 +
        tisteny.click(function () {
 +
            zmenaDruhu($("#druh").val(), false);
 +
        });
 +
        var online = $('<input type="radio" id="online" name="forma" value="1"/>');
 +
        online.click(function () {
 +
            zmenaDruhu($("#druh").val(), true);
 +
        });
 +
        var forma = $('<span id="formy"></span>');
 +
        forma.append(tisteny);
 +
        forma.append('<label for="tisteny">Tištěný</label>');
 +
        forma.append(online);
 +
        forma.append('<label for="online">On-line</label>');
 +
        druhForma.append(forma);
 +
        var $tabulka = $('<table id="CitacePROFormularovaTabulka"></table>');
 +
        $tabulka.append($("<tr></tr>").append($("<th>Druh: </th>")).append(druhForma));
 +
        if ("Kniha" == pouzitaCitace) {
 +
            $tabulka.append($('<tr id="radekAutori"><th>Autoři:</th><td><input type="text" name="autoriText" id="autoriText" value=""/></td></tr>'));
 +
            $tabulka.append($('<tr id="radekNazev"><th>Název:</th><td><input type="text" name="nazev" id="nazev" value=""/></td></tr>'));
 +
            $tabulka.append($('<tr id="radekPodnazev"><th>Podnázev:</th><td><input type="text" name="podnazev" id="podnazev" value=""/></td></tr>'));
 +
            $tabulka.append($('<tr id="radekVydani"><th>Vydání:</th><td><input type="text" name="vydani" id="vydani" value=""/></td></tr>'));
 +
            $tabulka.append($('<tr id="radekMisto"><th>Místo vydání:</th><td><input type="text" name="misto_vydani" id="misto_vydani" value=""/></td></tr>'));
 +
            $tabulka.append($('<tr id="radekVydavatel"><th>Vydavatel:</th><td><input type="text" name="nakladatelstvi" id="nakladatelstvi" value=""/></td></tr>'));
 +
            $tabulka.append($('<tr id="radekNazevCasopisu"><th>Název celku:</th><td><input type="text" name="celekNazev" id="celekNazev" value=""/></td></tr>'));
 +
            $tabulka.append($('<tr id="radekRok"><th>Rok:</th><td><input type="text" name="datum_vydani" id="datum_vydani" value=""/></td></tr>'));
 +
            $tabulka.append($('<tr id="radekPocetStran"><th>Počet stran:</th><td><input type="text" name="pocet_stran" id="pocet_stran" value=""/></td></tr>'));
 +
            //$tabulka.append($('<tr id="radekAutoriCelku"><th>Autoři sborníku:</th><td><input type="text" name="autoriText" id="autoriText" value="' + $(this).find("autoriCelekTextCely").text() + '"/></td></tr>'));
 +
            $tabulka.append($('<tr id="radekRocnik"><th>Ročník:</th><td><input type="text" name="rocnikPeriodika" id="rocnikPeriodika" value=""/></td></tr>'));
 +
            $tabulka.append($('<tr id="radekCislo"><th>Číslo:</th><td><input type="text" name="cisloPeriodika" id="cisloPeriodika" value=""/></td></tr>'));
 +
            $tabulka.append($('<tr id="radekRozsahStran"><th>Rozsah stran:</th><td><input type="text" name="rozsah_stran" id="rozsah_stran" value=""/></td></tr>'));
 +
            $tabulka.append($('<tr id="radekISBN"><th>ISBN:</th><td><input type="text" name="isbn" id="isbn" value=""/></td></tr>'));
 +
            $tabulka.append($('<tr><th>URL:</th><td><input type="text" name="url" id="url" value=""/></td></tr>'));
 +
            $tabulka.append($('<tr id="radekNosic"><th>Nosič:</th><td><input type="text" name="nosic" id="nosic" value=""/></td></tr>'));
 +
            $tabulka.append($('<tr id="radekDOI"><th>DOI:</th><td><input type="text" name="doi" id="doi" value=""/></td></tr>'));
 +
            $tabulka.append($('<tr id="radekSkola"><th>Škola:</th><td><input type="text" name="skola" id="skola" value=""/></td></tr>'));
 +
            $tabulka.append($('<tr id="radekDruhPrace"><th>Druh práce:</th><td><input type="text" name="druh_prace" id="druh_prace" value=""/></td></tr>'));
 +
            $tabulka.append($('<tr id="radekVedouci"><th>Vedoucí práce:</th><td><input type="text" name="vedouci_prace" id="vedouci_prace" value=""/></td></tr>'));
 +
        } else {
 +
            $(xml).find('dokument').eq(pouzitaCitace).each(function () {
 +
                $tabulka.append($('<tr id="radekAutori"><th>Autoři:</th><td><input type="text" name="autoriText" id="autoriText" value="' + $(this).find("autoriTextCely").text() + '"/></td></tr>'));
 +
                $tabulka.append($('<tr id="radekNazev"><th>Název:</th><td><input type="text" name="nazev" id="nazev" value="' + $(this).find("nazev").text() + '"/></td></tr>'));
 +
                $tabulka.append($('<tr id="radekPodnazev"><th>Podnázev:</th><td><input type="text" name="podnazev" id="podnazev" value="' + $(this).find("podnazev").text() + '"/></td></tr>'));
 +
                $tabulka.append($('<tr id="radekVydani"><th>Vydání:</th><td><input type="text" name="vydani" id="vydani" value="' + $(this).find("vydani").text() + '"/></td></tr>'));
 +
                $tabulka.append($('<tr id="radekMisto"><th>Místo vydání:</th><td><input type="text" name="misto_vydani" id="misto_vydani" value="' + $(this).find(druhID == 12 || druhID == 18 || druhID == 19 ? "celekMistoVydani" : "misto_vydani").text() + '"/></td></tr>'));
 +
                $tabulka.append($('<tr id="radekVydavatel"><th>Vydavatel:</th><td><input type="text" name="nakladatelstvi" id="nakladatelstvi" value="' + $(this).find(druhID == 12 || druhID == 18 || druhID == 19 ? "celekNakladatelstvi" : "nakladatelstvi").text() + '"/></td></tr>'));
 +
                $tabulka.append($('<tr id="radekNazevCasopisu"><th>Název celku:</th><td><input type="text" name="celekNazev" id="celekNazev" value="' + $(this).find("celekNazev").text() + '"/></td></tr>'));
 +
                $tabulka.append($('<tr id="radekRok"><th>Rok:</th><td><input type="text" name="datum_vydani" id="datum_vydani" value="' + $(this).find(druhID == 12 || druhID == 18 || druhID == 19 ? "celekDatumVydani" : "datum_vydani").text() + '"/></td></tr>'));
 +
                $tabulka.append($('<tr id="radekPocetStran"><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 id="radekAutoriCelku"><th>Autoři sborníku:</th><td><input type="text" name="autoriText" id="autoriText" value="' + $(this).find("autoriCelekTextCely").text() + '"/></td></tr>'));
 +
                $tabulka.append($('<tr id="radekRocnik"><th>Ročník:</th><td><input type="text" name="rocnikPeriodika" id="rocnikPeriodika" value="' + $(this).find("celekRocnikPeriodika").text() + '"/></td></tr>'));
 +
                $tabulka.append($('<tr id="radekCislo"><th>Číslo:</th><td><input type="text" name="cisloPeriodika" id="cisloPeriodika" value="' + $(this).find("celekCisloPeriodika").text() + '"/></td></tr>'));
 +
                $tabulka.append($('<tr id="radekRozsahStran"><th>Rozsah stran:</th><td><input type="text" name="rozsah_stran" id="rozsah_stran" value="' + $(this).find("rozsah_stran").text() + '"/></td></tr>'));
 +
                $tabulka.append($('<tr id="radekISBN"><th>ISBN:</th><td><input type="text" name="isbn" id="isbn" value="' + $(this).find("isbn").text() + '"/></td></tr>'));
 +
                $tabulka.append($('<tr><th>URL:</th><td><input type="text" name="url" id="url" value="' + $(this).find("url").text() + '"/></td></tr>'));
 +
                $tabulka.append($('<tr id="radekNosic"><th>Nosič:</th><td><input type="text" name="nosic" id="nosic" value="' + $(this).find("nosic").text() + '"/></td></tr>'));
 +
                $tabulka.append($('<tr id="radekDOI"><th>DOI:</th><td><input type="text" name="doi" id="doi" value="' + $(this).find("doi").text() + '"/></td></tr>'));
 +
                $tabulka.append($('<tr id="radekSkola"><th>Škola:</th><td><input type="text" name="skola" id="skola" value="' + $(this).find("skola").text() + '"/></td></tr>'));
 +
                $tabulka.append($('<tr id="radekDruhPrace"><th>Druh práce:</th><td><input type="text" name="druh_prace" id="druh_prace" value="' + $(this).find("druh_prace").text() + '"/></td></tr>'));
 +
                $tabulka.append($('<tr id="radekVedouci"><th>Vedoucí práce:</th><td><input type="text" name="vedouci_prace" id="vedouci_prace" value="' + $(this).find("vedouci_prace").text() + '"/></td></tr>'));
 +
            });
 +
        }
 +
 +
        var citacniStyl = $('<td></td>');
 +
        var citacniStylSelect = $('<select name="styl" id="styl"></select>');
 +
        citacniStylSelect.append($('<option value="11">APA</option>'));
 +
        citacniStylSelect.append($('<option value="9">CSE</option>'));
 +
        citacniStylSelect.append($('<option value="10">CSE NY</option>'));
 +
        citacniStylSelect.append($('<option value="2" selected="selected">ČSN ISO 690</option>'));
 +
        citacniStylSelect.append($('<option value="3">Harvard</option>'));
 +
        citacniStylSelect.append($('<option value="7">Chicago (16th edition)</option>'));
 +
        citacniStylSelect.append($('<option value="8">IEEE</option>'));
 +
        citacniStylSelect.append($('<option value="12">ISO 690</option>'));
 +
        citacniStylSelect.append($('<option value="5">MLA (7th edition)</option>'));
 +
        citacniStylSelect.append($('<option value="4">NISO / ANSI Z39.29 (2005)</option>'));
 +
        citacniStylSelect.append($('<option value="6">Turbian (7th edition)</option>'));
 +
        citacniStyl.append(citacniStylSelect);
 +
        $tabulka.append($("<tr></tr>").append($("<th>Citační styl: </th>")).append(citacniStyl));
 +
 +
        $dialog.append($tabulka);
 +
        if (druhID == 9) {
 +
            genre = "article";
 +
            zmenaDruhu(9, true);
 +
        } else if (druhID == 18) {
 +
            genre = "proceeding";
 +
            zmenaDruhu(18, true);
 +
        } else if (druhID == 19) {
 +
            genre = "wikipedia";
 +
            zmenaDruhu(19, true);
 +
        } else if (druhID == 12) {
 +
            genre = "web";
 +
            zmenaDruhu(12, true);
 +
        } else if (druhID == 5) {
 +
            genre = "thesis";
 +
            zmenaDruhu(5, false);
 +
        } else {
 +
            zmenaDruhu(1, false);
 +
        }
 +
 +
        $dialog.dialog('option', 'buttons', {"Vložit citaci": function (e) {
 +
                var url = server + "vygenerovat-citaci?genre=" + genre
 +
                        + "&citacepro_style=" + $("#styl").val()
 +
                        + (druhID != 12 ? "&authors=" + $("#autoriText").val() : "")
 +
                        + (druhID == 1 || druhID == 5 || druhID == 12 ? "&title=" + $("#nazev").val() + (":" + $("#podnazev").val()) : "")
 +
                        + (druhID == 9 || druhID == 18 || druhID == 19 ? "&atitle=" + $("#nazev").val() + (":" + $("#podnazev").val()) : "")
 +
                        + (druhID == 9 || druhID == 18 || druhID == 19 ? "&title=" + $("#celekNazev").val() : "")
 +
                        + (druhID == 1 || druhID == 18 ? "&edition=" + $("#vydani").val() : "")
 +
                        + (druhID != 19 ? "&place=" + $("#misto_vydani").val() : "")
 +
                        + (druhID == 1 || druhID == 18 || druhID == 19 || druhID == 12 ? "&publisher=" + $("#nakladatelstvi").val() : "")
 +
                        + "&year=" + $("#datum_vydani").val()
 +
                        + (druhID == 9 ? "&volume=" + $("#rocnikPeriodika").val() : "")
 +
                        + (druhID == 9 ? "&issue=" + $("#cisloPeriodika").val() : "")
 +
                        + (druhID == 1 || druhID == 5 ? "&pages=" + $("#pocet_stran").val() : "")
 +
                        + (druhID == 9 || druhID == 18 ? "&pages=" + $("#rozsak_stran").val() : "")
 +
                        + (druhID == 1 || druhID == 18 ? "&isbn=" + $("#isbn").val() : "")
 +
                        + "&url=" + $("#url").val()
 +
                        + (druhID == 9 && $("#online").is(":checked") ? "&doi=" + $("#doi").val() : "")
 +
                        + (druhID == 5 ? "&school=" + $("#skola").val() + "&supervisor=" + $("#vedouci_prace").val() : "");
 +
                $.get(url, function (data) {
 +
                  // alert(data);
 +
 +
//var surfaceModel = ve.init.mw.targets[0].surface.model;
 +
  //var selectedFragment = new ve.dm.SurfaceFragment( surfaceModel );
 +
//var arbitraryFragment = new ve.dm.SurfaceFragment( surfaceModel, new ve.Range( 1, 3 ) );
 +
  //arbitraryFragment.insertContent(data);
 +
//$('iframe').contents().find('.ve-ce-documentNode').html('<p class="ve-ce-generated-wrapper ve-ce-branchNode">'+data+'</p>');
 +
 +
$dialog.html('');
 +
var zkopirovat = $('<p><b>Zkopírujte si citaci pro vložení:</b></p>');
 +
        var citaceText = $('<p>'+data+'</p>');
 +
        $dialog.append(zkopirovat);
 +
$dialog.append(citaceText );
 +
$dialog.dialog('option', 'buttons', {"Zavřít": function (e) {
 +
                $(this).dialog('destroy').remove();
 +
            }});
 +
 +
 +
                    //$('#wpTextbox1').textSelection('encapsulateSelection', {pre: "<ref>", peri: data, post: "</ref>"});
 +
                    //$dialog.dialog("close");
 +
                });
 +
            }});
 +
    };
 +
 +
    // Vyhleda hodnotu v XML.
 +
    var getNodeValue = function getNodeValue(obj, tag) {
 +
        if (obj.getElementsByTagName(tag) != null) {
 +
            if (obj.getElementsByTagName(tag)[0] != null) {
 +
                if (obj.getElementsByTagName(tag)[0].firstChild != null) {
 +
                    return obj.getElementsByTagName(tag)[0].firstChild.nodeValue;
 +
                }
 +
            }
 +
        }
 +
        return null;
 +
    };
 +
 +
    return {
 +
init: init
 +
    };
 +
})();
 +
*/

Aktuální verze z 7. 12. 2014, 19:48

/*mw.hook('ve.activationComplete').add(function() {
  $(document).ready(function() {
$(".ve-ui-tool-reference").click(function () {
    setTimeout(function() { 
$('iframe').ready(MediaWikiGadgetCitacePRO.init);
    }, 1000);           
  });
  });
});

var MediaWikiGadgetCitacePRO = (function() {
    var xml;
    var server = "//www.citacepro.com/";
    var aktualniDialog = "";
    var $naseptavac = $('<div id="CitacePRONaseptavac"></div>');
    var login = "";

    // Prida ikonku CitacePRO do toolbaru a nacte shibboleth identifikator prihlaseneho uzivatele.
    var init = function() {
var iframe = $('iframe');
var $tlacitko = $('<a class="ve-ui-widget ve-ui-tool ve-ui-tool-bold" title="Vložit citaci"><span class="ve-ui-iconedElement-icon" style="background-image: url(//www.citacepro.com/citace22.png)"></span></a>');
$tlacitko.click(function () {
                    vytvoritCitaci();
                });
iframe.contents().find("div.ve-ui-toolbar-tools div:nth-child(2) div:eq(0)").append($tlacitko);

        if (window.mw) {
            var unstructuredName = mw.config.get('unstructuredName');
            if (unstructuredName != null && unstructuredName.match(/^\d+$/)) {
                login = unstructuredName;
            }
        }
    }

    // Zobrazi vyhledavaci policko v dialogovem okne.
    var vytvoritCitaci = function () {
        aktualniDialog = "vytvoritCitaci";
        $dialog = $('<form></form>');
        var odstavec = $('<p>Zadejte ISBN, DOI, název nebo URL: </p>');
        var vyhledavaciPolicko = $('<input type="text" id="CitacePROHledanyText"/>');
        vyhledavaciPolicko.keyup(function () {
            zobrazitNaseptavac($(this).val());
        });
        odstavec.append(vyhledavaciPolicko);
        $dialog.append(odstavec);

        $dialog.dialog({
            autoOpen: true, title: 'Vložení citace', width: 700, minHeight: 500, modal: true,
            buttons: {
                "Dohledat": function (e) {
                    prehledCitaci($("#CitacePROHledanyText").val());
                },
                "Nový": function (e) {
                    pouzitCitaci("Kniha");
                }
            },
            close: function () {
                $(this).dialog('destroy').remove();
            }
        });
        $dialog.keypress(function (e) {
            if (aktualniDialog == "vytvoritCitaci" && e.keyCode == $.ui.keyCode.ENTER) {
                if ($("#CitacePROHledanyText").val() == "") {
                    pouzitCitaci("Kniha");
                } else {
                    prehledCitaci($("#CitacePROHledanyText").val());
                }
            }
        });
    };

    // Zobrazi nasepatavac
    var zobrazitNaseptavac = function (hledanyText) {
        $naseptavac.empty();
        $.get(server + "naseptavac-mediawiki/" + login + "?text=" + encodeURIComponent(hledanyText), function (data) {
            var i = 0;
            xml = data;
            $(data).find('dokument').each(function () {
                var prvniRadek = $(this).find("nazev").text() + ($(this).find("identifikator").text() == "" ? "" : " (" + $(this).find("identifikator").text() + ")");
                var druhyRadek = (($(this).find("autoriText").text() == "" ? "" : $(this).find("autoriText").text() + "; ")) + $(this).find("druhNazev").text() + "; " + (($(this).find("datum_vydani").text() == "" ? ($(this).find("celekDatumVydani").text() == "" ? "" : $(this).find("celekDatumVydani").text()) : $(this).find("datum_vydani").text()));
                var $odkaz = $('<a class="zaznam' + (i % 2) + '" id="nascit' + i + '"><div class="prvniRadek">' + prvniRadek + '</div><div class="druhyRadek">' + druhyRadek + '</div></a>');
                $odkaz.click(function () {
                    pouzitCitaci($(this).attr("id").substring(6));
                });
                $naseptavac.append($odkaz);
                i++;
            });
            if (i > 0) {
                $naseptavac.show();
            } else {
                $naseptavac.hide();
            }
        });
    };

    // Zobrazi prehled dohledanych citace v dialogovem okne.
    var prehledCitaci = function (text) {
        aktualniDialog = "prehledCitaci";
        $dialog.html('');
        var nacitani = $('<div id="nacitani">Načítání...</div>');
        $dialog.append(nacitani);
        var $seznam = $('<ul id="CitacePRODohledaneCitace"></ul>');
        $.get(server + "xml/naseptavac-dohledani.php?text=" + encodeURIComponent(text), function (data) {
            var i = 0;
            xml = data;
            $(data).find('dokument').each(function () {
                var $li = $('<li></li>');
                var $odkaz = $('<a class="nalezenaCitace" style="cursor: pointer;" id="citace' + i + '">' + $(this).find("citace").text() + '</a>');
                $odkaz.click(function () {
                    pouzitCitaci($(this).attr("id").substring(6));
                });
                $li.append($odkaz);
                $seznam.append($li);
                i++;
            });
            $("#nacitani").html(i > 0 ? "Zvolte citaci:" : "Nenalezena žádná citace.");
        });
        $dialog.append($seznam);
        $dialog.dialog('option', 'buttons', {"Nový": function (e) {
                pouzitCitaci("Kniha");
            }});
    };

    // Skryje nebo zobrazi polozky v editacnim formulari citace dle zvoleneho druhu.
    var zmenaDruhu = function (druh, forma) {
        if (druh == 12 || druh == 19) {
            forma = true;
        }

        $("#radekAutori").css("display", druh != 12 ? "table-row" : "none");
        $("#radekPodnazev").css("display", druh != 12 ? "table-row" : "none");
        $("#radekVydani").css("display", druh == 1 || druh == 18 ? "table-row" : "none");
        $("#radekMisto").css("display", druh != 9 ? "table-row" : "none");
        $("#radekVydavatel").css("display", druh == 1 || druh == 18 || druh == 19 || druh == 12 ? "table-row" : "none");
        //$("#radekAutoriCelku").css("display", druh == 18 ? "table-row" : "none");
        $("#radekNazevCasopisu").css("display", druh == 9 || druh == 18 || druh == 19 || druh == 12 ? "table-row" : "none");
        $("#radekRocnik").css("display", druh == 9 ? "table-row" : "none");
        $("#radekCislo").css("display", druh == 9 ? "table-row" : "none");
        $("#radekPocetStran").css("display", druh == 1 || druh == 5 ? "table-row" : "none");
        $("#radekRozsahStran").css("display", druh == 9 || druh == 18 ? "table-row" : "none");
        $("#radekISBN").css("display", druh == 1 || druh == 18 ? "table-row" : "none");
        $("#radekDOI").css("display", druh == 9 && forma ? "table-row" : "none");
        $("#radekSkola").css("display", druh == 5 ? "table-row" : "none");
        $("#radekDruhPrace").css("display", druh == 5 ? "table-row" : "none");
        $("#radekVedouci").css("display", druh == 5 ? "table-row" : "none");
        $("#radekNosic").css("display", forma ? "table-row" : "none");
        if (forma && $("#nosic").val() == "") {
            $("#nosic").val("on-line");
        }

        $("#formy").css("display", druh == 12 || druh == 19 ? "none" : "inline-block");
        $("#online").attr("checked", forma);
    };

    // Zobrazi formular pro editaci citace v dialogovem okne.
    var pouzitCitaci = function (pouzitaCitace) {
        aktualniDialog = "pouzitCitaci";
        var druhID = 1;
        if ("Kniha" != pouzitaCitace) {
            $(xml).find('dokument').eq(pouzitaCitace).each(function () {
                druhID = $(this).find("druh").text();
            });
        }
        if (druhID == 4) {
            druhID = 9;
        } else if (druhID == 6) {
            druhID = 1;
        } else if (druhID == 16) {
            druhID = 18;
        } else if (druhID == 10) {
            druhID = 5;
        }
        var genre = "book";

        $dialog.html('');
        var druhForma = $('<td></td>');
        var $druh = $('<select name="druh" id="druh"></select>');
        $druh.append($("<option" + (druhID == 1 ? ' selected="selected"' : '') + ' value="1">Kniha</option>'));
        $druh.append($("<option" + (druhID == 9 ? ' selected="selected"' : '') + ' value="9">Článek</option>'));
        $druh.append($("<option" + (druhID == 18 ? ' selected="selected"' : '') + ' value="18">Příspěvek ve sborníku</option>'));
        $druh.append($("<option" + (druhID == 12 ? ' selected="selected"' : '') + ' value="12">Webová stránka</option>'));
        $druh.append($("<option" + (druhID == 19 ? ' selected="selected"' : '') + ' value="19">Příspěvek na webu</option>'));
        $druh.append($("<option" + (druhID == 5 ? ' selected="selected"' : '') + ' value="5">Akademická práce</option>'));
        $druh.change(function () {
            zmenaDruhu($("#druh").val(), $("#online").is(":checked"));
        });
        druhForma.append($druh);
        var tisteny = $('<input type="radio" id="tisteny" name="forma" value="0" checked="checked"/>');
        tisteny.click(function () {
            zmenaDruhu($("#druh").val(), false);
        });
        var online = $('<input type="radio" id="online" name="forma" value="1"/>');
        online.click(function () {
            zmenaDruhu($("#druh").val(), true);
        });
        var forma = $('<span id="formy"></span>');
        forma.append(tisteny);
        forma.append('<label for="tisteny">Tištěný</label>');
        forma.append(online);
        forma.append('<label for="online">On-line</label>');
        druhForma.append(forma);
        var $tabulka = $('<table id="CitacePROFormularovaTabulka"></table>');
        $tabulka.append($("<tr></tr>").append($("<th>Druh: </th>")).append(druhForma));
        if ("Kniha" == pouzitaCitace) {
            $tabulka.append($('<tr id="radekAutori"><th>Autoři:</th><td><input type="text" name="autoriText" id="autoriText" value=""/></td></tr>'));
            $tabulka.append($('<tr id="radekNazev"><th>Název:</th><td><input type="text" name="nazev" id="nazev" value=""/></td></tr>'));
            $tabulka.append($('<tr id="radekPodnazev"><th>Podnázev:</th><td><input type="text" name="podnazev" id="podnazev" value=""/></td></tr>'));
            $tabulka.append($('<tr id="radekVydani"><th>Vydání:</th><td><input type="text" name="vydani" id="vydani" value=""/></td></tr>'));
            $tabulka.append($('<tr id="radekMisto"><th>Místo vydání:</th><td><input type="text" name="misto_vydani" id="misto_vydani" value=""/></td></tr>'));
            $tabulka.append($('<tr id="radekVydavatel"><th>Vydavatel:</th><td><input type="text" name="nakladatelstvi" id="nakladatelstvi" value=""/></td></tr>'));
            $tabulka.append($('<tr id="radekNazevCasopisu"><th>Název celku:</th><td><input type="text" name="celekNazev" id="celekNazev" value=""/></td></tr>'));
            $tabulka.append($('<tr id="radekRok"><th>Rok:</th><td><input type="text" name="datum_vydani" id="datum_vydani" value=""/></td></tr>'));
            $tabulka.append($('<tr id="radekPocetStran"><th>Počet stran:</th><td><input type="text" name="pocet_stran" id="pocet_stran" value=""/></td></tr>'));
            //$tabulka.append($('<tr id="radekAutoriCelku"><th>Autoři sborníku:</th><td><input type="text" name="autoriText" id="autoriText" value="' + $(this).find("autoriCelekTextCely").text() + '"/></td></tr>'));
            $tabulka.append($('<tr id="radekRocnik"><th>Ročník:</th><td><input type="text" name="rocnikPeriodika" id="rocnikPeriodika" value=""/></td></tr>'));
            $tabulka.append($('<tr id="radekCislo"><th>Číslo:</th><td><input type="text" name="cisloPeriodika" id="cisloPeriodika" value=""/></td></tr>'));
            $tabulka.append($('<tr id="radekRozsahStran"><th>Rozsah stran:</th><td><input type="text" name="rozsah_stran" id="rozsah_stran" value=""/></td></tr>'));
            $tabulka.append($('<tr id="radekISBN"><th>ISBN:</th><td><input type="text" name="isbn" id="isbn" value=""/></td></tr>'));
            $tabulka.append($('<tr><th>URL:</th><td><input type="text" name="url" id="url" value=""/></td></tr>'));
            $tabulka.append($('<tr id="radekNosic"><th>Nosič:</th><td><input type="text" name="nosic" id="nosic" value=""/></td></tr>'));
            $tabulka.append($('<tr id="radekDOI"><th>DOI:</th><td><input type="text" name="doi" id="doi" value=""/></td></tr>'));
            $tabulka.append($('<tr id="radekSkola"><th>Škola:</th><td><input type="text" name="skola" id="skola" value=""/></td></tr>'));
            $tabulka.append($('<tr id="radekDruhPrace"><th>Druh práce:</th><td><input type="text" name="druh_prace" id="druh_prace" value=""/></td></tr>'));
            $tabulka.append($('<tr id="radekVedouci"><th>Vedoucí práce:</th><td><input type="text" name="vedouci_prace" id="vedouci_prace" value=""/></td></tr>'));
        } else {
            $(xml).find('dokument').eq(pouzitaCitace).each(function () {
                $tabulka.append($('<tr id="radekAutori"><th>Autoři:</th><td><input type="text" name="autoriText" id="autoriText" value="' + $(this).find("autoriTextCely").text() + '"/></td></tr>'));
                $tabulka.append($('<tr id="radekNazev"><th>Název:</th><td><input type="text" name="nazev" id="nazev" value="' + $(this).find("nazev").text() + '"/></td></tr>'));
                $tabulka.append($('<tr id="radekPodnazev"><th>Podnázev:</th><td><input type="text" name="podnazev" id="podnazev" value="' + $(this).find("podnazev").text() + '"/></td></tr>'));
                $tabulka.append($('<tr id="radekVydani"><th>Vydání:</th><td><input type="text" name="vydani" id="vydani" value="' + $(this).find("vydani").text() + '"/></td></tr>'));
                $tabulka.append($('<tr id="radekMisto"><th>Místo vydání:</th><td><input type="text" name="misto_vydani" id="misto_vydani" value="' + $(this).find(druhID == 12 || druhID == 18 || druhID == 19 ? "celekMistoVydani" : "misto_vydani").text() + '"/></td></tr>'));
                $tabulka.append($('<tr id="radekVydavatel"><th>Vydavatel:</th><td><input type="text" name="nakladatelstvi" id="nakladatelstvi" value="' + $(this).find(druhID == 12 || druhID == 18 || druhID == 19 ? "celekNakladatelstvi" : "nakladatelstvi").text() + '"/></td></tr>'));
                $tabulka.append($('<tr id="radekNazevCasopisu"><th>Název celku:</th><td><input type="text" name="celekNazev" id="celekNazev" value="' + $(this).find("celekNazev").text() + '"/></td></tr>'));
                $tabulka.append($('<tr id="radekRok"><th>Rok:</th><td><input type="text" name="datum_vydani" id="datum_vydani" value="' + $(this).find(druhID == 12 || druhID == 18 || druhID == 19 ? "celekDatumVydani" : "datum_vydani").text() + '"/></td></tr>'));
                $tabulka.append($('<tr id="radekPocetStran"><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 id="radekAutoriCelku"><th>Autoři sborníku:</th><td><input type="text" name="autoriText" id="autoriText" value="' + $(this).find("autoriCelekTextCely").text() + '"/></td></tr>'));
                $tabulka.append($('<tr id="radekRocnik"><th>Ročník:</th><td><input type="text" name="rocnikPeriodika" id="rocnikPeriodika" value="' + $(this).find("celekRocnikPeriodika").text() + '"/></td></tr>'));
                $tabulka.append($('<tr id="radekCislo"><th>Číslo:</th><td><input type="text" name="cisloPeriodika" id="cisloPeriodika" value="' + $(this).find("celekCisloPeriodika").text() + '"/></td></tr>'));
                $tabulka.append($('<tr id="radekRozsahStran"><th>Rozsah stran:</th><td><input type="text" name="rozsah_stran" id="rozsah_stran" value="' + $(this).find("rozsah_stran").text() + '"/></td></tr>'));
                $tabulka.append($('<tr id="radekISBN"><th>ISBN:</th><td><input type="text" name="isbn" id="isbn" value="' + $(this).find("isbn").text() + '"/></td></tr>'));
                $tabulka.append($('<tr><th>URL:</th><td><input type="text" name="url" id="url" value="' + $(this).find("url").text() + '"/></td></tr>'));
                $tabulka.append($('<tr id="radekNosic"><th>Nosič:</th><td><input type="text" name="nosic" id="nosic" value="' + $(this).find("nosic").text() + '"/></td></tr>'));
                $tabulka.append($('<tr id="radekDOI"><th>DOI:</th><td><input type="text" name="doi" id="doi" value="' + $(this).find("doi").text() + '"/></td></tr>'));
                $tabulka.append($('<tr id="radekSkola"><th>Škola:</th><td><input type="text" name="skola" id="skola" value="' + $(this).find("skola").text() + '"/></td></tr>'));
                $tabulka.append($('<tr id="radekDruhPrace"><th>Druh práce:</th><td><input type="text" name="druh_prace" id="druh_prace" value="' + $(this).find("druh_prace").text() + '"/></td></tr>'));
                $tabulka.append($('<tr id="radekVedouci"><th>Vedoucí práce:</th><td><input type="text" name="vedouci_prace" id="vedouci_prace" value="' + $(this).find("vedouci_prace").text() + '"/></td></tr>'));
            });
        }

        var citacniStyl = $('<td></td>');
        var citacniStylSelect = $('<select name="styl" id="styl"></select>');
        citacniStylSelect.append($('<option value="11">APA</option>'));
        citacniStylSelect.append($('<option value="9">CSE</option>'));
        citacniStylSelect.append($('<option value="10">CSE NY</option>'));
        citacniStylSelect.append($('<option value="2" selected="selected">ČSN ISO 690</option>'));
        citacniStylSelect.append($('<option value="3">Harvard</option>'));
        citacniStylSelect.append($('<option value="7">Chicago (16th edition)</option>'));
        citacniStylSelect.append($('<option value="8">IEEE</option>'));
        citacniStylSelect.append($('<option value="12">ISO 690</option>'));
        citacniStylSelect.append($('<option value="5">MLA (7th edition)</option>'));
        citacniStylSelect.append($('<option value="4">NISO / ANSI Z39.29 (2005)</option>'));
        citacniStylSelect.append($('<option value="6">Turbian (7th edition)</option>'));
        citacniStyl.append(citacniStylSelect);
        $tabulka.append($("<tr></tr>").append($("<th>Citační styl: </th>")).append(citacniStyl));

        $dialog.append($tabulka);
        if (druhID == 9) {
            genre = "article";
            zmenaDruhu(9, true);
        } else if (druhID == 18) {
            genre = "proceeding";
            zmenaDruhu(18, true);
        } else if (druhID == 19) {
            genre = "wikipedia";
            zmenaDruhu(19, true);
        } else if (druhID == 12) {
            genre = "web";
            zmenaDruhu(12, true);
        } else if (druhID == 5) {
            genre = "thesis";
            zmenaDruhu(5, false);
        } else {
            zmenaDruhu(1, false);
        }

        $dialog.dialog('option', 'buttons', {"Vložit citaci": function (e) {
                var url = server + "vygenerovat-citaci?genre=" + genre
                        + "&citacepro_style=" + $("#styl").val()
                        + (druhID != 12 ? "&authors=" + $("#autoriText").val() : "")
                        + (druhID == 1 || druhID == 5 || druhID == 12 ? "&title=" + $("#nazev").val() + (":" + $("#podnazev").val()) : "")
                        + (druhID == 9 || druhID == 18 || druhID == 19 ? "&atitle=" + $("#nazev").val() + (":" + $("#podnazev").val()) : "")
                        + (druhID == 9 || druhID == 18 || druhID == 19 ? "&title=" + $("#celekNazev").val() : "")
                        + (druhID == 1 || druhID == 18 ? "&edition=" + $("#vydani").val() : "")
                        + (druhID != 19 ? "&place=" + $("#misto_vydani").val() : "")
                        + (druhID == 1 || druhID == 18 || druhID == 19 || druhID == 12 ? "&publisher=" + $("#nakladatelstvi").val() : "")
                        + "&year=" + $("#datum_vydani").val()
                        + (druhID == 9 ? "&volume=" + $("#rocnikPeriodika").val() : "")
                        + (druhID == 9 ? "&issue=" + $("#cisloPeriodika").val() : "")
                        + (druhID == 1 || druhID == 5 ? "&pages=" + $("#pocet_stran").val() : "")
                        + (druhID == 9 || druhID == 18 ? "&pages=" + $("#rozsak_stran").val() : "")
                        + (druhID == 1 || druhID == 18 ? "&isbn=" + $("#isbn").val() : "")
                        + "&url=" + $("#url").val()
                        + (druhID == 9 && $("#online").is(":checked") ? "&doi=" + $("#doi").val() : "")
                        + (druhID == 5 ? "&school=" + $("#skola").val() + "&supervisor=" + $("#vedouci_prace").val() : "");
                $.get(url, function (data) {
                   // alert(data);

//var surfaceModel = ve.init.mw.targets[0].surface.model;
  //var selectedFragment = new ve.dm.SurfaceFragment( surfaceModel );
 //var arbitraryFragment = new ve.dm.SurfaceFragment( surfaceModel, new ve.Range( 1, 3 ) );
  //arbitraryFragment.insertContent(data);
//$('iframe').contents().find('.ve-ce-documentNode').html('<p class="ve-ce-generated-wrapper ve-ce-branchNode">'+data+'</p>');

$dialog.html('');
var zkopirovat = $('<p><b>Zkopírujte si citaci pro vložení:</b></p>');
        var citaceText = $('<p>'+data+'</p>');
        $dialog.append(zkopirovat);
$dialog.append(citaceText );
$dialog.dialog('option', 'buttons', {"Zavřít": function (e) {
                $(this).dialog('destroy').remove();
            }});


                    //$('#wpTextbox1').textSelection('encapsulateSelection', {pre: "<ref>", peri: data, post: "</ref>"});
                    //$dialog.dialog("close");
                });
            }});
    };

    // Vyhleda hodnotu v XML.
    var getNodeValue = function getNodeValue(obj, tag) {
        if (obj.getElementsByTagName(tag) != null) {
            if (obj.getElementsByTagName(tag)[0] != null) {
                if (obj.getElementsByTagName(tag)[0].firstChild != null) {
                    return obj.getElementsByTagName(tag)[0].firstChild.nodeValue;
                }
            }
        }
        return null;
    };

    return {
	init: init
    };
})();
*/