Wikipedysta:Kaligula/js/citejournal.js

Z Wikipedii, wolnej encyklopedii

Uwaga: aby zobaczyć zmiany po opublikowaniu, może zajść potrzeba wyczyszczenia pamięci podręcznej przeglądarki.

  • Firefox / Safari: Przytrzymaj Shift podczas klikania Odśwież bieżącą stronę, lub naciśnij klawisze Ctrl+F5, lub Ctrl+R (⌘-R na komputerze Mac)
  • Google Chrome: Naciśnij Ctrl-Shift-R (⌘-Shift-R na komputerze Mac)
  • Internet Explorer / Edge: Przytrzymaj Ctrl, jednocześnie klikając Odśwież, lub naciśnij klawisze Ctrl+F5
  • Opera: Naciśnij klawisze Ctrl+F5.
/*
 
 author:  Kaligula
 license: CC-BY-SA 3.0
 version: 4.1

 (UI zaczerpnięte z wyszukiwania i zamiany z nowego paska narzędzi edycyjnych – kto jest autorem?)
 
 PL: przekonwertujmy dane bibliograficzne BibTeX/RIS na szablon {{cytuj pismo}}!
 EN: let's convert BibTeX/RIS citations to {{cytuj pismo}} template!
 
 */


function citeCreate() {
var citeDiv = '<table style="padding: 0px 9px 0px 5px !important;"><tbody>'
		+ '<tr><td>'
		+ '	<textarea id="citeInput" rows="15" cols="50"></textarea>'
		+ '</td><td>'
		+ '	<textarea id="citeOutput" rows="15" cols="50"></textarea>'
		+ '</td></tr>'
		+ '<tr><td>'
		+ '	<input type="checkbox" id="ref" checked="" onchange="$(\'#id\').each(function(){this.disabled = !this.disabled})">'
		+ '	<label for="ref">wstaw od razu w tagi &lt;ref&gt;&lt;/ref&gt;</label>'
		+ '	<br />'
		+ '	<input type="checkbox" id="id">'
		+ '	<label for="id">utwórz id jeśli się da <small>(&lt;ref name="(id)"&gt;&lt;/ref&gt;)</small></label>'
		+ '	<br>'
		+ '	<label for="citeLang">Wybierz język:</label>'
		+ '	<select id="citeLang">'
		+ '<option value="pl">polski</option>'
		+ '<option value="en">angielski</option>'
		+ '<option value="" selected>----------</option>'
		+ '<option value="ab">abchaski</option>'
		+ '<option value="ace">aceh</option>'
		+ '<option value="aa">afar</option>'
		+ '<option value="af">afrikaans</option>'
		+ '<option value="ay">ajmara</option>'
		+ '<option value="ak">akan</option>'
		+ '<option value="sq">albański</option>'
		+ '<option value="als">alemański</option>'
		+ '<option value="am">amharski</option>'
		+ '<option value="simple">angielski uproszczony</option>'
		+ '<option value="ar">arabski</option>'
		+ '<option value="an">aragoński</option>'
		+ '<option value="arc">aramejski</option>'
		+ '<option value="roa-rup">arumuński</option>'
		+ '<option value="as">assamski</option>'
		+ '<option value="ast">asturyjski</option>'
		+ '<option value="av">awarski</option>'
		+ '<option value="az">azerski</option>'
		+ '<option value="bm">bambara</option>'
		+ '<option value="bjn">banjar</option>'
		+ '<option value="map-bms">banjumasański</option>'
		+ '<option value="eu">baskijski</option>'
		+ '<option value="ba">baszkirski</option>'
		+ '<option value="bar">bawarski</option>'
		+ '<option value="bn">bengalski</option>'
		+ '<option value="bh">bhodźpuri</option>'
		+ '<option value="be">białoruski</option>'
		+ '<option value="be-x-old">białoruski (taraszkiewica)</option>'
		+ '<option value="bcl">bikolski</option>'
		+ '<option value="my">birmański</option>'
		+ '<option value="bi">bislama</option>'
		+ '<option value="bpy">bisznuprija-manipuri</option>'
		+ '<option value="bs">bośniacki</option>'
		+ '<option value="br">bretoński</option>'
		+ '<option value="bug">bugijski</option>'
		+ '<option value="bxr">buriacki (Rosja)</option>'
		+ '<option value="bg">bułgarski</option>'
		+ '<option value="ceb">cebuański</option>'
		+ '<option value="cbk-zam">chavacano (Zamboanga)</option>'
		+ '<option value="zh">chiński</option>'
		+ '<option value="zh-classical">chiński klasyczny</option>'
		+ '<option value="hr">chorwacki</option>'
		+ '<option value="rmy">cygański</option>'
		+ '<option value="ch">czamorro</option>'
		+ '<option value="ce">czeczeński</option>'
		+ '<option value="chy">czejeński</option>'
		+ '<option value="cs">czeski</option>'
		+ '<option value="ny">cziczewa</option>'
		+ '<option value="chr">czirokeski</option>'
		+ '<option value="cho">czoktaw</option>'
		+ '<option value="cv">czuwaski</option>'
		+ '<option value="nds">dolnoniemiecki</option>'
		+ '<option value="nds-nl">dolnosaksoński (Holandia)</option>'
		+ '<option value="dsb">dolnołużycki</option>'
		+ '<option value="da">duński</option>'
		+ '<option value="dz">dzongkha</option>'
		+ '<option value="arz">egipski arabski</option>'
		+ '<option value="eml">emilijski</option>'
		+ '<option value="myv">erzja</option>'
		+ '<option value="eo">esperanto</option>'
		+ '<option value="et">estoński</option>'
		+ '<option value="ext">estremadurski</option>'
		+ '<option value="ee">ewe</option>'
		+ '<option value="fo">farerski</option>'
		+ '<option value="fj">fidżyjski</option>'
		+ '<option value="fi">fiński</option>'
		+ '<option value="fr">francuski</option>'
		+ '<option value="frp">franko-prowansalski</option>'
		+ '<option value="fur">friulski</option>'
		+ '<option value="stq">fryzyjski saterlandzki</option>'
		+ '<option value="ff">ful</option>'
		+ '<option value="gd">gaelicki szkocki</option>'
		+ '<option value="gag">gagauski</option>'
		+ '<option value="gl">galisyjski</option>'
		+ '<option value="gan">gan</option>'
		+ '<option value="glk">giliański</option>'
		+ '<option value="got">gocki</option>'
		+ '<option value="el">grecki</option>'
		+ '<option value="kl">grenlandzki</option>'
		+ '<option value="ka">gruziński</option>'
		+ '<option value="gn">guarani</option>'
		+ '<option value="gu">gudźarati</option>'
		+ '<option value="hsb">górnołużycki</option>'
		+ '<option value="ht">haitański</option>'
		+ '<option value="hak">hakka</option>'
		+ '<option value="ha">hausa</option>'
		+ '<option value="haw">hawajski</option>'
		+ '<option value="he">hebrajski</option>'
		+ '<option value="hz">herero</option>'
		+ '<option value="hi">hindi</option>'
		+ '<option value="hif">hindi fidżyjskie</option>'
		+ '<option value="ho">hiri motu</option>'
		+ '<option value="es">hiszpański</option>'
		+ '<option value="io">ido</option>'
		+ '<option value="ig">igbo</option>'
		+ '<option value="ilo">ilokański</option>'
		+ '<option value="id">indonezyjski</option>'
		+ '<option value="ia">interlingua</option>'
		+ '<option value="ie">interlingue</option>'
		+ '<option value="iu">inuktitut</option>'
		+ '<option value="ik">inupiak</option>'
		+ '<option value="ga">irlandzki</option>'
		+ '<option value="is">islandzki</option>'
		+ '<option value="sah">jakucki</option>'
		+ '<option value="ja">japoński</option>'
		+ '<option value="jv">jawajski</option>'
		+ '<option value="yi">jidysz</option>'
		+ '<option value="yo">joruba</option>'
		+ '<option value="kbd">kabardyjski</option>'
		+ '<option value="kab">kabylski</option>'
		+ '<option value="kn">kannada</option>'
		+ '<option value="zh-yue">kantoński</option>'
		+ '<option value="kr">kanuri</option>'
		+ '<option value="krc">karaczajsko-bałkarski</option>'
		+ '<option value="kaa">karakałpacki</option>'
		+ '<option value="ks">kaszmirski</option>'
		+ '<option value="csb">kaszubski</option>'
		+ '<option value="ca">kataloński</option>'
		+ '<option value="kk">kazachski</option>'
		+ '<option value="xal">kałmucki</option>'
		+ '<option value="qu">keczua</option>'
		+ '<option value="km">khmerski</option>'
		+ '<option value="ki">kikuju</option>'
		+ '<option value="ky">kirgiski</option>'
		+ '<option value="kv">komi</option>'
		+ '<option value="koi">komi-permiacki</option>'
		+ '<option value="kg">kongo</option>'
		+ '<option value="ko">koreański</option>'
		+ '<option value="kw">kornwalijski</option>'
		+ '<option value="co">korsykański</option>'
		+ '<option value="cr">kri</option>'
		+ '<option value="mus">krik</option>'
		+ '<option value="crh">krymskotatarski</option>'
		+ '<option value="ku">kurdyjski</option>'
		+ '<option value="kj">kwanyama</option>'
		+ '<option value="lad">ladino</option>'
		+ '<option value="lbe">lakijski</option>'
		+ '<option value="lo">laotański</option>'
		+ '<option value="lez">lezgiński</option>'
		+ '<option value="lij">liguryjski</option>'
		+ '<option value="li">limburski</option>'
		+ '<option value="ln">lingala</option>'
		+ '<option value="lt">litewski</option>'
		+ '<option value="jbo">lojban</option>'
		+ '<option value="lmo">lombardzki</option>'
		+ '<option value="lg">luganda</option>'
		+ '<option value="lb">luksemburski</option>'
		+ '<option value="la">łaciński</option>'
		+ '<option value="ltg">łatgalski</option>'
		+ '<option value="lv">łotewski</option>'
		+ '<option value="mk">macedoński</option>'
		+ '<option value="ml">malajalam</option>'
		+ '<option value="ms">malajski</option>'
		+ '<option value="dv">malediwski</option>'
		+ '<option value="mg">malgaski</option>'
		+ '<option value="mt">maltański</option>'
		+ '<option value="gv">manx</option>'
		+ '<option value="mi">maoryski</option>'
		+ '<option value="mr">marathi</option>'
		+ '<option value="mh">marszalski</option>'
		+ '<option value="mhr">maryjski (wschodni)</option>'
		+ '<option value="mrj">maryjski (zachodni)</option>'
		+ '<option value="mzn">mazandarani</option>'
		+ '<option value="xmf">megrelski</option>'
		+ '<option value="cdo">mindong</option>'
		+ '<option value="zh-min-nan">minnański</option>'
		+ '<option value="mwl">mirandyjski</option>'
		+ '<option value="mdf">moksza</option>'
		+ '<option value="mn">mongolski</option>'
		+ '<option value="mo">mołdawski</option>'
		+ '<option value="nah">nahuatl</option>'
		+ '<option value="na">nauruański</option>'
		+ '<option value="nv">nawaho</option>'
		+ '<option value="ng">ndonga</option>'
		+ '<option value="nap">neapolitański</option>'
		+ '<option value="ne">nepalski</option>'
		+ '<option value="new">newarski</option>'
		+ '<option value="nl">niderlandzki</option>'
		+ '<option value="de">niemiecki</option>'
		+ '<option value="nrm">normandzki</option>'
		+ '<option value="no">norweski bokmål</option>'
		+ '<option value="nn">norweski nynorsk</option>'
		+ '<option value="nov">novial</option>'
		+ '<option value="ii">nuosu</option>'
		+ '<option value="oc">oksytański</option>'
		+ '<option value="or">orija</option>'
		+ '<option value="hy">ormiański</option>'
		+ '<option value="om">oromo</option>'
		+ '<option value="os">osetyjski</option>'
		+ '<option value="pfl">palatynacki</option>'
		+ '<option value="pi">pali</option>'
		+ '<option value="pam">pampango</option>'
		+ '<option value="pag">pangasinan</option>'
		+ '<option value="pap">papiamento</option>'
		+ '<option value="ps">pasztuński</option>'
		+ '<option value="pa">pendżabski</option>'
		+ '<option value="pdc">pensylwański</option>'
		+ '<option value="fa">perski</option>'
		+ '<option value="pms">piemoncki</option>'
		+ '<option value="pcd">pikardyjski</option>'
		+ '<option value="pih">pitkern</option>'
		+ '<option value="pnt">pontyjski</option>'
		+ '<option value="pt">portugalski</option>'
		+ '<option value="frr">północnofryzyjski</option>'
		+ '<option value="se">północnolapoński</option>'
		+ '<option value="rm">retoromański</option>'
		+ '<option value="ru">rosyjski</option>'
		+ '<option value="rw">ruanda</option>'
		+ '<option value="ro">rumuński</option>'
		+ '<option value="rn">rundi</option>'
		+ '<option value="rue">rusiński</option>'
		+ '<option value="ksh">rypuaryjski (koloński)</option>'
		+ '<option value="sm">samoański</option>'
		+ '<option value="sg">sango</option>'
		+ '<option value="sa">sanskryt</option>'
		+ '<option value="sc">sardyński</option>'
		+ '<option value="sr">serbski</option>'
		+ '<option value="sh">serbsko-chorwacki</option>'
		+ '<option value="sd">sindhi</option>'
		+ '<option value="so">somalijski</option>'
		+ '<option value="ckb">sorani</option>'
		+ '<option value="st">sotho</option>'
		+ '<option value="nso">sotho północny</option>'
		+ '<option value="srn">sranan tongo</option>'
		+ '<option value="cu">staro-cerkiewno-słowiański</option>'
		+ '<option value="ang">staroangielski</option>'
		+ '<option value="sw">suahili</option>'
		+ '<option value="ss">suazi</option>'
		+ '<option value="su">sundajski</option>'
		+ '<option value="scn">sycylijski</option>'
		+ '<option value="si">syngaleski</option>'
		+ '<option value="sco">szkocki</option>'
		+ '<option value="sn">szona</option>'
		+ '<option value="sv">szwedzki</option>'
		+ '<option value="sk">słowacki</option>'
		+ '<option value="sl">słoweński</option>'
		+ '<option value="szl">śląski</option>'
		+ '<option value="tg">tadżycki</option>'
		+ '<option value="tl">tagalski</option>'
		+ '<option value="ty">tahitański</option>'
		+ '<option value="th">tajski</option>'
		+ '<option value="ta">tamilski</option>'
		+ '<option value="roa-tara">tarencki</option>'
		+ '<option value="shi">tashelhiyt</option>'
		+ '<option value="tt">tatarski</option>'
		+ '<option value="te">telugu</option>'
		+ '<option value="tet">tetum</option>'
		+ '<option value="ti">tigrinia</option>'
		+ '<option value="tpi">tok pisin</option>'
		+ '<option value="tokipona">toki pona</option>'
		+ '<option value="to">tongański</option>'
		+ '<option value="ts">tsonga</option>'
		+ '<option value="tn">tswana</option>'
		+ '<option value="tum">tumbuka</option>'
		+ '<option value="tr">turecki</option>'
		+ '<option value="tk">turkmeński</option>'
		+ '<option value="tw">twi</option>'
		+ '<option value="bo">tybetański</option>'
		+ '<option value="udm">udmurcki</option>'
		+ '<option value="ug">ujgurski</option>'
		+ '<option value="uk">ukraiński</option>'
		+ '<option value="ur">urdu</option>'
		+ '<option value="uz">uzbecki</option>'
		+ '<option value="vo">volapük</option>'
		+ '<option value="fiu-vro">võro</option>'
		+ '<option value="cy">walijski</option>'
		+ '<option value="wa">waloński</option>'
		+ '<option value="war">warajski</option>'
		+ '<option value="ve">wenda</option>'
		+ '<option value="vec">wenecki</option>'
		+ '<option value="vep">wepski</option>'
		+ '<option value="vi">wietnamski</option>'
		+ '<option value="wo">wolof</option>'
		+ '<option value="wuu">wu</option>'
		+ '<option value="hu">węgierski</option>'
		+ '<option value="it">włoski</option>'
		+ '<option value="xh">xhosa</option>'
		+ '<option value="vls">zachodnioflamandzki</option>'
		+ '<option value="fy">zachodniofryzyjski</option>'
		+ '<option value="pnb">zachodniopendżabski</option>'
		+ '<option value="diq">zazaki</option>'
		+ '<option value="zea">zelandzki</option>'
		+ '<option value="za">zhuang</option>'
		+ '<option value="zu">zuluski</option>'
		+ '<option value="bat-smg">żmudzki</option>'
		+ '	</select>'
		+ '</td><td>'
		+ '	<div id="citeDiv-notice" style="color: red; font-weight: bold;">&nbsp;</div>'
		+ '</td></tr>'
		+ '</tbody></table>';
	$(citeDiv).dialog({
		width: 600,
		modal: true,
		title: 'Konwersja danych bibliograficznych do szablonu <a href="/wiki/Szablon:Cytuj_pismo"><tt>{{cytuj pismo}}</tt></a>',
		draggable: true,
		dialogClass: "wikiEditor-toolbar-dialog",
		close: function() { $(this).dialog("destroy"); $(this).remove();},
		buttons: {
			"OK": function() {
				citeConvert()
			},
			"Anuluj" : function() { $(this).dialog("close"); }
		}
	});
}

function citeConvert() {
	var txtGet = document.getElementById('citeInput').value;
	var txtPut = document.getElementById('citeOutput');
	var citetype;
	var WoK = false;
		if (txtGet.match(/@(article|book)[ \t]*\{/i)) {
			citetype = "BibTeX";
		}
		else if ( txtGet.match(/^TY[\s-]+J(OUR)?$/m) || (txtGet.match(/^TI  - $/m)&&txtGet.match(/^AU  - $/m)) ) {
			citetype = "RIS";
			$('#citeDiv-notice').html( ((txtGet.match(/TY[\s-]+J/)) ? '' : 'Przyjąłem, że typ cytowania to RIS ale nie wiem czy to jest czasopismo!') );
		}
		else if (txtGet.match(/^PT[\s-]+J/m)) {
			citetype = "RIS";
			WoK = true;
			$('#citeDiv-notice').html( ((txtGet.match(/TY  - J/)) ? '' : 'Wygląda na to, że typ cytowania to RIS (z <em>Web of Knowledge</em>?) ale mogę się mylić. Tego formatu nie obsługuję. Info u autora.') ); /* https://pl.wikipedia.org/w/index.php?diff=38403838 */
		}
		else {
//			elseif'y zrobić na kolejne zamiast tego else…: EndNote + ProCite + Reference Manager = to samo = najczęstsze
		}
//	console.log(citetype);
//	data dostępu niepotrzebna
//	var date = new Date();
//	var Dday = (date.getDate() > 9) ? date.getDate() : ('0' + date.getDate());
//	var Dmonth = (date.getMonth() < 9) ? ('0' + (date.getMonth() + 1)) : (date.getMonth() + 1);
//	var Dyear = date.getFullYear();
	var ID,author,title,journal,volume,issue,pages,year,publisher,city,issn,isbn,url;
	var a;
	var lang = document.getElementById('citeLang').value;

	if (citetype == "BibTeX") {
		((a = txtGet.match(/author[ \t]*=[ \t]*["{]+(.*?)["}]+,?(\n|\r|\r\n)/i)) && (a.length > 2)) ? (author = " | autor = " + a[1]) : (author = "");
			if (author && author.match(' and ')) {
				var str,i,j;
				author = author.split(' and ');
				author.splice(5,author.length-5);
				(author.length < 5) ? (j = author.length) : (j = 5);
				for (i = 0; i < j; i++) {
					(i == 0) ? (str = author[i]) : "";
					(i == 1) ? (str += " | autor2 = " + author[i]) : "";
					(i == 2) ? (str += " | autor3 = " + author[i]) : "";
					(i == 3) ? (str += " | autor4 = " + author[i]) : "";
					(i == 4) ? (str += " | autor5 = " + author[i]) : "";
				}
				author = str;
			}
		((a = txtGet.match(/title[ \t]*=[ \t]*["{]+(.*?)["}]+,?(\n|\r|\r\n)/i)) && (a.length > 2)) ? (title = " | tytuł = " + a[1]) : (title = "");
		((a = txtGet.match(/journal[ \t]*=[ \t]*["{]+(.*?)["}]+,?(\n|\r|\r\n)/i)) && (a.length > 2)) ? (journal = " | czasopismo = " + a[1]) : (journal = "");
		((a = txtGet.match(/volume[ \t]*=[ \t]*["{]+(.*?)["}]+,?(\n|\r|\r\n)/i)) && (a.length > 2)) ? (volume = " | wolumin = " + a[1]) : (volume = "");
		((a = txtGet.match(/number[ \t]*=[ \t]*["{]+(.*?)["}]+,?(\n|\r|\r\n)/i)) && (a.length > 2)) ? (issue = " | wydanie = " + a[1]) : (issue = "");
			((issue == "") && (a = txtGet.match(/issue[ \t]*=[ \t]*["{]+(.*?)["}]+,?(\n|\r|\r\n)/i)) && (a.length > 2)) ? (issue = " | wydanie = " + a[1]) : "";
		((a = txtGet.match(/pages[ \t]*=[ \t]*["{]+(.*?)["}]+,?(\n|\r|\r\n)/i)) && (a.length > 2)) ? (pages = " | strony = " + a[1]) : (pages = "");
		((a = txtGet.match(/year[ \t]*=[ \t]*["{]+(.*?)["}]+,?(\n|\r|\r\n)/i)) && (a.length > 2)) ? (year = " | rok = " + a[1]) : (year = "");
		((a = txtGet.match(/publisher[ \t]*=[ \t]*["{]+(.*?)["}]+,?(\n|\r|\r\n)/i)) && (a.length > 2)) ? (publisher = " | wydawca = " + a[1]) : (publisher = "");
//		miejsce wydania
		((a = txtGet.match(/address[ \t]*=[ \t]*["{]+(.*?)["}]+,?(\n|\r|\r\n)/i)) && (a.length > 2)) ? (city = " | miejsce = " + a[1]) : (city = "");
//		((a = txtGet.match(/issn[ \t]*=[ \t]*["{]+(.*?)["}]+,?(\n|\r|\r\n)/i)) && (a.length > 2)) ? (issn = " | issn = " + a[1]) : (issn = "");
		((a = txtGet.match(/isbn[ \t]*=[ \t]*["{]+(.*?)["}]+,?(\n|\r|\r\n)/i)) && (a.length > 2)) ? (isbn = " | isbn = " + a[1]) : (isbn = "");
		((a = txtGet.match(/doi[ \t]*=[ \t]*["{]+(.*?)["}]+,?(\n|\r|\r\n)/i)) && (a.length > 2)) ? (url = " | doi = " + a[1]) : (url = "");
			((url == "") && (a = txtGet.match(/url[ \t]*=[ \t]*["{]+.*?(http[^}]+|www[^}]+)["}]+,?(\n|\r|\r\n)/i)) && (a.length > 2)) ? (url = " | url = " + a[1]) : "";
			((url != "") && (url.match(/http:\/\/dx\.doi\.org\/(10\..+)$/))) ? (url = " | doi = " + url.match(/http:\/\/dx\.doi\.org\/(10\..+)$/)[1]) : "";
			// gets url or doi
//		jeśli coś nie będzie komuś działać zawsze można zamiast regexpa /…,?(\n|\r|\r\n)/ zrobić /…,(\n|\r|\r\n)/ tylko wcześniej do ostatniego wiersza dodać ten „brakujący” przecinek
		((ID = txtGet.match(/@(?:article|book)[ \t]*{[ \t]*(.*?),?(\n|\r|\r\n)/i)) && (ID.length > 2)) ? (ID = ID[1]) : (ID = "");
			((ID == "") && (author != "") && (year != "") ? ID = author.match(/autor = ([^ ,.]+)/)[1] + year.match(/\d{4}/) : "");
	}
	
	if (citetype == "RIS") {
		author = txtGet.match(/A[U\d]  - (.*?)(\n|\r|\r\n)/g);
			switch (author.length) {
				case 0:
					author = "";
					break;
				case 1:
					author = " | autor = " + author[0].match(/A[U\d]  - (.*?)(\n|\r|\r\n)/)[1];
					break;
				default:
					var str,i,j;
					arr=[];
					author.splice(5,author.length-5);
					(author.length < 5) ? (j = author.length) : (j = 5);
					for (i = 0; i < j; i++){
						arr[i] = author[i].match(/A[U\d]  - (.*?)(\n|\r|\r\n)/)[1]
					}
					author = " | autor = " + arr[0];
					for (i = 1; i < j; i++) {
						author += " | autor" + (i+1) + " = " + arr[i];
					}
			}
		((a = txtGet.match(/TI  - (.*?)(\n|\r|\r\n)/)) && (a.length > 2)) ? (title = " | tytuł = " + a[1]) : (title = "");
			((title == "") && (a = txtGet.match(/T1  - (.*?)(\n|\r|\r\n)/)) && (a.length > 2)) ? (title = " | tytuł = " + a[1]) : "";
		((a = txtGet.match(/JF  - (.*?)(\n|\r|\r\n)/)) && (a.length > 2)) ? (journal = " | czasopismo = " + a[1]) : (journal = "");
			((journal == "") && (a = txtGet.match(/JA  - (.*?)(\n|\r|\r\n)/)) && (a.length > 2)) ? (journal = " | czasopismo = " + a[1]) : "";
			((journal == "") && (a = txtGet.match(/JF  - (.*?)(\n|\r|\r\n)/)) && (a.length > 2)) ? (journal = " | czasopismo = " + a[1]) : "";
			((journal == "") && (a = txtGet.match(/J1  - (.*?)(\n|\r|\r\n)/)) && (a.length > 2)) ? (journal = " | czasopismo = " + a[1]) : "";
			((journal == "") && (a = txtGet.match(/J2  - (.*?)(\n|\r|\r\n)/)) && (a.length > 2)) ? (journal = " | czasopismo = " + a[1]) : "";
			((journal == "") && (a = txtGet.match(/JO  - (.*?)(\n|\r|\r\n)/)) && (a.length > 2)) ? (journal = " | czasopismo = " + a[1]) : "";
			((journal == "") && (a = txtGet.match(/SO  - (.*?)(\n|\r|\r\n)/)) && (a.length > 2)) ? (journal = " | czasopismo = " + a[1]) : "";
			//JT - http://www.ncbi.nlm.nih.gov/pubmed/
		((a = txtGet.match(/VL  - (.*?)(\n|\r|\r\n)/)) && (a.length > 2)) ? (volume = " | wolumin = " + a[1]) : (volume = "");
			((volume == "") && (a = txtGet.match(/VI  - (.*?)(\n|\r|\r\n)/)) && (a.length > 2)) ? (volume = " | wolumin = " + a[1]) : "";
			//VI - http://www.ncbi.nlm.nih.gov/pubmed/
		((a = txtGet.match(/IP  - (.*?)(\n|\r|\r\n)/)) && (a.length > 2)) ? (issue = " | wydanie = " + a[1]) : (issue = ""); //http://www.ncbi.nlm.nih.gov/pubmed/
			((issue == "") && (a = txtGet.match(/IS  - (.*?)(\n|\r|\r\n)/)) && (a.length > 2)) ? (issue = " | wydanie = " + a[1]) : "";
			// dawniej było IS jako issue ale potem na http://www.ncbi.nlm.nih.gov/pubmed/14501336 było IP, a IS to issn
		((a = txtGet.match(/PG  - (.*?)(\n|\r|\r\n)/)) && (a.length > 2)) ? (pages = " | strony = " + a[1]) : (pages = ""); //http://www.ncbi.nlm.nih.gov/pubmed/
			((pages == "") && (Spages = txtGet.match(/(?:SP|BP)  - (.*?)(\n|\r|\r\n)/)) && (Spages.length > 2)) ? (pages = " | strony = " + Spages[1]
				+ (((Epages = txtGet.match(/EP  - (.*?)(\n|\r|\r\n)/)) && (Epages.length > 2)) ? ('-' + Epages[1]) : "")
			) : "";
			//BP - http://www.wokinfo.com
		((a = txtGet.match(/PY  - (\d{4}).*?(\n|\r|\r\n)/)) && (a.length > 2)) ? (year = " | rok = " + a[1]) : (year = "");
			((year == "") && (a = txtGet.match(/Y1  - (\d{4}).*?(\n|\r|\r\n)/)) && (a.length > 2)) ? (year = " | rok = " + a[1]) : "";
			((year == "") && (a = txtGet.match(/DA  - (\d{4}).*?(\n|\r|\r\n)/)) && (a.length > 2)) ? (year = " | rok = " + a[1]) : "";
			((year == "") && (a = txtGet.match(/DP  - (\d{4}).*?(\n|\r|\r\n)/)) && (a.length > 2)) ? (year = " | rok = " + a[1]) : "";
			//DA - http://www.ncbi.nlm.nih.gov/pubmed/
			//DA - http://www.ncbi.nlm.nih.gov/pubmed/
			//DP - http://www.ncbi.nlm.nih.gov/pubmed/
//		((a = txtGet.match(/PB  - (.*?)(\n|\r|\r\n)/)) && (a.length > 2)) ? (publisher = " | wydawca = " + a[1]) : (publisher = "");
		((a = txtGet.match(/CY  - (.*?)(\n|\r|\r\n)/)) && (a.length > 2)) ? (city = " | miejsce = " + a[1]) : (city = "");
//		((a = txtGet.match(/(?:SN|IS)  - (.*?)(\n|\r|\r\n)/)) && (a.length > 2)) ? (issn = " | issn = " + a[1]) : (issn = "");
			//IS na pubmedzie znaczy issue! W razie czego pomocne w rozwiązaniu jest zastosowanie jakichś wskaźników wyżej przy issue
		isbn = "";
			// dla kompatybilności z {{cytuj książkę}} generowaną czasem przez BibTeX
		((a = txtGet.match(/(?:DO|DI)  - (.*?)(\n|\r|\r\n)/)) && (a.length > 2)) ? (url = " | doi = " + a[1].match(/(?:http:\/\/)?(?:dx\.doi\.org\/)?(10\..+)$/)[1]) : (url = "");
			((url == "") && (a = txtGet.match(/UR  - [^h]*(http[^\n\r]+)(\n|\r|\r\n)/)) && (a.length > 2)) ? (url = ""
				+ ((a[1].match(/(?:http:\/\/)?dx\.doi\.org\/(10\..+)$/)) ? (" | doi = " + a[1].match(/(?:http:\/\/)?dx\.doi\.org\/(10\..+)$/)[1]) : (" | url = " + a[1]))
			) : "";
			((url == "") && (a = txtGet.match(/AID - (.*?) \[doi\](\n|\r|\r\n)/)) && (a.length > 2)) ? (url = " | doi = " + a[1]) : ""; //http://www.ncbi.nlm.nih.gov/pubmed/
		((ID = txtGet.match(/ID  - (.*?)(\n|\r|\r\n)/)) && (ID.length > 2)) ? (ID = ID[1]) : (ID = "");
			((ID == "") && (author != "") && (year != "") ? ID = author.match(/autor = ([^ ,.]+)/)[1] + year.match(/\d{4}/) : "");
	}
	
	var summary = "";
	if ($('#ref').prop('checked')) {
		summary += '<ref';
		$('#id').prop('checked') ? (summary += ' name=\"' + ID + '\"') : "";
		summary += '>';
	}
	summary += "{{cytuj " + ( (citetype == "RIS" || txtGet.match(/@article[ \t]*\{/i)) ? "pismo" : "książkę");
	summary += author + title + journal + volume + issue + pages + year;
	summary += ( (citetype == "RIS" || txtGet.match(/@article[ \t]*\{/i)) ? "" : publisher);
	summary += city;
//	summary += issn;
	summary += isbn;
	summary += url;
//można zrobić zmienną, żeby user ustalił sobie własną kolejność lang w combobox
	summary += " | język = " + lang;
//	summary += " | data dostępu = " + Dyear + "-" + Dmonth + "-" + Dday;
	summary += " }}";
	($('#ref').prop('checked') && (summary += '</ref>'));
	txtPut.value = summary;
/*	notice.innerHTML = "Pamiętaj, żeby";
	(lang == "") ? (notice.innerHTML += " uzupełnić parametr „język”<br />i") : "";
	notice.innerHTML += " jeszcze raz sprawdzić poprawność pól.";*/
}


if ($.inArray(mw.config.get('wgAction'), ['edit','submit']) > -1)
{
	mw.loader.using("ext.gadget.lib-toolbar", function()
	{
		toolbarGadget.addButton({
			title: 'Konwertuj cytowanie na {{cytuj pismo}}',
			alt: 'citejournal',
			id: 'mw-editbutton-citejournal',
			section: 'advanced',
			group: 'insert',
			icon: '//upload.wikimedia.org/wikipedia/commons/5/5f/Button_bib.png',
			onclick: function ()
			{
				if (citeDiv = document.getElementById('citeDiv')) {
					(citeDiv.style.display == "block") ? (citeDiv.style.display = "none") : (citeDiv.style.display = "block");
				}
				else {
					citeCreate()
				}
			}
		})
	})
}

/*	uwagi MS:
→ "Zbędne pola: wydawca, issn, data dostępu"		OK
→ czasem BibTeX trafiał się z podwójnymi klamrami	
→ raz był podwójny separator stron: --			
→ "Dziwny ref name (mało istotne)"			
→ "Brak ref name (mało istotne)"			?
→ raz doi było w parametrze "note"			
*/