MediaWiki:PrototypeArticle.js

Puslapis iš Vikižodyno, laisvojo žodyno.

Dėmesio: Išsaugojus jums gali prireikti išvalyti jūsų naršyklės podėlį, kad pamatytumėte pokyčius.

  • Firefox / Safari: Laikydami Shift pasirinkite Perkrauti, arba paspauskite Ctrl-F5 ar Ctrl-R (sistemoje Apple Mac ⌘-R)
  • Google Chrome: Spauskite Ctrl-Shift-R (sistemoje Apple Mac ⌘-Shift-R)
  • Internet Explorer / Edge: Laikydami Ctrl paspauskite Naujinti, arba paspauskite Ctrl-F5
  • Opera: Eikite į Meniu → Nuostatos (sistemoje Apple Mac Opera → Nustatymai), tuomet Privatumas ir sauga → išvalyti naršymo podėlį → išsaugotos talpyklos vaizdai ir failai.
/*
== Prototype Article ==
GFDL: Dan Pettersson, //sv.wiktionary.org/wiki/Anv%C3%A4ndare:Skalman
*/

// disable by adding  paLoad = false;  to your monobook.js
if (paLoad == undefined)
	window.paLoad = true;

if (typeof(nahSaveCookie) == 'undefined')
   window.nahSaveCookie = false; // default is no, when initializing we'll change this if there's a cookie

window.nahInitObject = function(array, preset) {
 
	for (var key in preset) {
		if (typeof(key) != 'string') {
			continue;
		}
		if (array[key] == null) {
			array[key] = preset[key];
		}
	}
	return;
}

if (typeof(nahPoSs) == 'undefined') { window.nahPoSs = {}; }
 
window.nahPoSsInitText = function() { 
   nahInitObject(nahPoSs, {

      bdv:  ["Būdvardis", "bdv"],
      dkt:  ["Daiktavardis", "dkt"],
      dll:  ["Dalelytė", "dll"],
      dlv:  ["Dalyvis", "dlv"],
      gln:  ["Galūnė", "gln"],
      įvrd:  ["Įvardis", "įvrd"],
      jst:  ["Jaustukas", "jst"],
      jng:  ["Jungtukas", "jng"],
      prl:  ["Prielinksnis", "prl"],
      prs:  ["Priesaga", "prs"],
      prd:  ["Priešdėlis", "prd"],
      prv:  ["Prieveiksmis", "prv"],
      rad:  ["Raidė", "rad"],
      sant:  ["Santrumpa", "sant"],
      smb:  ["Simbolis", "smb"],
      skm:  ["Skaitmuo", "skm"],
      skt:  ["Skaitvardis", "skt"],
      škn:  ["Šaknis", "škn"],
      jung:  ["Žodžių junginys", "jung"],
      vks:  ["Veiksmažodis", "vks"]

   });
};

if (typeof(nahLangs) == 'undefined') { window.nahLangs = {}; }
 
window.nahLangsInitText = function() { 
   nahInitObject(nahLangs, {

      'abq':        'Abazų kalba',
      'ab':        'Abchazų kalba',
      'abe':        'Abenakų kalba',
      'aa':        'Afarų kalba',
      'af':        'Afrikanų kalba',
      'ay':        'Aimarų kalba',
      'ain':        'Ainų kalba',
      'ga':        'Airių kalba',
      'akz':        'Alabamiečių kalba',
      'sq':        'Albanų kalba',
      'als':        'Alemanų kalba',
      'ale':        'Aleutų kalba',
      'alr':        'Aliutorių kalba',
      'tut':        'Altajiečių kalba',
      'am':        'Amharų kalba',
      'amu':        'Amuzgų kalba',
      'en':        'Anglų kalba',
      'apach':        'Apačų kalba',
      'ar':        'Arabų kalba',
      'an':        'Aragosų kalba',
      'arc':        'Aramėjų kalba',
      'arp':        'Arapahų kalba',
      'hy':        'Armėnų kalba',
      'roa-rup':        'Aromanų kalba',
      'as':        'Asamų kalba',
      'nah':        'Actekų kalba',
      'ast':        'Asturianų kalba',
      'bar':        'Austrobavarų kalba',
      'av':        'Avarų kalba',
      'ae':        'Avestianų kalba',
      'az':        'Azerbaidžaniečių kalba',
      'be':        'Baltarusių kalba',
      'bm':        'Bambarų kalba',
      'ba':        'Baškirų kalba',
      'eu':        'Baskų kalba',
      'bdp':        'Bendų kalba',
      'bn':        'Bengalų kalba',
      'ber':        'Berberų kalba',
      'bh':        'Biharų kalba',
      'bcl':        'Bikolų kalba',
      'my':        'Birmiečių kalba',
      'bi':        'Bislama kalba',
      'bpy':        'Bišnuprija manipuri kalba',
      'bs':        'Bosnių kalba',
      'dz':        'Botijų kalba',
      'br':        'Bretonų kalba',
      'bug':        'Bugų kalba',
      'bg':        'Bulgarų kalba',
      'cbk-zam':        'Čebakano kalba',
      'ce':        'Čėčėnų kalba',
      'cs':        'Čekų kalba',
      'ch':        'Čemorų kalba',
      'chr':        'Čerokių kalba',
      'ny':        'Čičevų kalba',
      'rom':        'Čigonų kalba',
      'chy':        'Čijenų kalba',
      'ckt':        'Čiukčių kalba',
      'cv':        'Čiuvašų kalba',
      'da':        'Danų kalba',
      'gbz':        'Dari kalba',
      'dsb':        'Dolnoserbų kalba',
      'ext':        'Ekstremadūrų kalba',
      'eml':        'Emiliano romanolų kalba',
      'myv':        'Erzinų kalba',
      'eo':        'Esperanto',
      'et':        'Estų kalba',
      'ee':        'Evų kalba',
      'fo':        'Farerų kalba',
      'fj':        'Fidžių kalba',
      'vls':        'Flamandų kalba',
      'frp':        'Franko-Provensalio dialektas',
      'fy':        'Fryzų kalba',
      'ff':        'Fulų kalba',
      'fur':        'Furilų kalba',
      'gl':        'Galisų kalba',
      'gan':        'Gano kalba',
      'glk':        'Gilakų kalba',
      'got':        'Gotų kalba',
      'el':        'Graikų kalba',
      'kl':        'Grenlandų kalba',
      'ka':        'Gruzinų kalba',
      'gu':        'Gudžaratų kalba',
      'gn':        'Gvaranių kalba',
      'ht':        'Haičio kreolų kalba',
      'kjh':        'Hakasų kalba',
      'hak':        'Hakka kalba',
      'ha':        'Hausų kalba',
      'haw':        'Havajiečių kalba',
      'he':        'Hebrajų kalba',
      'hi':        'Hindi kalba',
      'io':        'Ido',
      'ig':        'Igbų kalba',
      'ilo':        'Ilokanų kalba',
      'hil':        'Ilongų kalba',
      'PIE':        'Indoeuropiečių prokalbė',
      'id':        'Indoneziečių kalba',
      'ia':        'Interlingua kalba',
      'ie':        'Interlingue kalba',
      'iu':        'Inuktikuto kalba',
      'ik':        'Inupiakų kalba',
      'is':        'Islandų kalba',
      'es':        'Ispanų kalba',
      'ruo':        'Istro-Romanų kalba',
      'it':        'Italų kalba',
      'ja':        'Japonų kalba',
      'jv':        'Javiečių kalba',
      'yi':        'Jidiš kalba',
      'yo':        'Jorubų kalba',
      'sud':        'Jotvingių (sudūvių) kalba',
      'bla':        'Juodakojų kalba',
      'kbd':        'Kabardų kalba',
      'kab':        'Kabilų kalba',
      'xal':        'Kalmukų kalba',
      'kn':        'Kanadų kalba',
      'zh-yue':        'Kantono kalba',
      'kaa':        'Karakalpakų kalba',
      'krl':        'Karelų kalba',
      'ks':        'Kašmyrų kalba',
      'csb':        'Kašubų kalba',
      'ca':        'Katalonų kalba',
      'kk':        'Kazachų kalba',
      'qu':        'Kečujų kalba',
      'km':        'Khmerų kalba',
      'rw':        'Kinjaruanda kalba',
      'zh':        'Kinų kalba',
      'zh-classical':        'Kinų klasikinė kalba',
      'ky':        'Kirgizų kalba',
      'rn':        'Kirundi kalba',
      'kv':        'Komių kalba',
      'kg':        'Kongiečių kalba',
      'ko':        'Korėjiečių kalba',
      'kw':        'Kornų kalba',
      'co':        'Korsikiečių kalba',
      'xh':        'Kosų kalba',
      'bzj':        'Kreolų kalba',
      'cr':        'Krijų kalba',
      'hr':        'Kroatų kalba',
      'crh':        'Krymo totorių kalba',
      'kum':        'Kumikų kalba',
      'ku':        'Kurdų kalba',
      'lad':        'Ladinų kalba',
      'lkt':        'Lakotų kalba',
      'lbe':        'Lakų kalba',
      'lo':        'Laosiečių (lao) kalba',
      'lv':        'Latvių kalba',
      'pl':        'Lenkų kalba',
      'lt':        'Lietuvių kalba',
      'lij':        'Ligurų kalba',
      'li':        'Limburgiečių kalba',
      'ln':        'Lingala kalba',
      'lb':        'Liuksemburgiečių kalba',
      'jbo':        'Lojban kalba',
      'lmo':        'Lombardų kalba',
      'la':        'Lotynų kalba',
      'liv':        'Lyvių kalba',
      'mk':        'Makedonų kalba',
      'mg':        'Malagasių kalba',
      'ml':        'Malajalių kalba',
      'ms':        'Malajų kalba',
      'dv':        'Maldyvų kalba',
      'mt':        'Maltiečių kalba',
      'mi':        'Maorių kalba',
      'arn':        'Mapudunganų kalba',
      'mr':        'Marathų kalba',
      'mh':        'Maršaliečių kalba',
      'gv':        'Menksiečių kalba',
      'mic':        'Mikmakų kalba',
      'cdo':        'Min Dong kalba',
      'ruq':        'Moglenų kalba',
      'mdf':        'Mokšų kalba',
      'mo':        'Moldavų kalba',
      'mn':        'Mongolų kalba',
      'nn':        'Naujoji norvegų kalba',
      'na':        'Nauriečių kalba',
      'nv':        'Navahų kalba',
      'ndo':        'Ndongų kalba',
      'nap':        'Neapoliečių kalba',
      'ne':        'Nepalų kalba',
      'new':        'Nevarų kalba',
      'nrm':        'Normanų kalba',
      'no':        'Norvegų kalba',
      'nov':        'Novial kalba',
      'nl':        'Nyderlandų kalba',
      'oj':        'Odžibvės kalba',
      'oc':        'Oksitanų kalba',
      'or':        'Orijų kalba',
      'om':        'Oromų kalba',
      'os':        'Osetinų kalba',
      'pam':        'Pampangų kalba',
      'pag':        'Pangasinų kalba',
      'pap':        'Papiamento kalba',
      'simple':        'Paprastoji anglų kalba',
      'tpi':        'Papua pidžinų kalba',
      'pa':        'Pendžabų kalba',
      'pdc':        'Pensilvanijos vokiečių kalba',
      'fa':        'Persų kalba',
      'zh-min-nan':        'Pietų minų kalba',
      'st':        'Pietų sotų kalba',
      'pjt':        'Pitjantjatjara kalba',
      'pih':        'Pitkerniečių kalba',
      'pms':        'Pjemonto kalba',
      'pox':        'Polabų kalba',
      'pt':        'Portugalų kalba',
      'pim':        'Povotanų kalba',
      'fr':        'Prancūzų kalba',
      'prg':        'Prūsų kalba',
      'ps':        'Puštūnų kalba',
      'rap':        'Rapaniujų kalba',
      'rm':        'Retoromanų kalba',
      'ksh':        'Ripuarų kalba',
      'rhg':        'Rohingų kalba',
      'rmy':        'Romanų kalba',
      'ro':        'Rumunų kalba',
      'ru':        'Rusų kalba',
      'hsb':        'Aukštutinių sorbų kalba',
      'sm':        'Samojiečių kalba',
      'sa':        'Sanskritas',
      'sn':        'Šanų kalba',
      'sc':        'Sardiniečių kalba',
      'stq':        'Saterlandų kalba',
      'ceb':        'Sebuanų kalba',
      'ang':        'Senoji anglų kalba',
      'be-x-old':        'Senoji baltarusių kalba',
      'cu':        'Senoji bažnytinė slavų kalba',
      'old-lt':        'Senoji lietuvių kalba',
      'sh':        'Serbų-kroatų kalba',
      'sr':        'Serbų kalba',
      'yun':        'Šiaurės malaviečių kalba',
      'se':        'Šiaurės samių kalba',
      'scn':        'Siciliečių kalba',
      'szl':        'Sileziečių kalba',
      'sd':        'Sindhų kalba',
      'si':        'Sinhalų kalba',
      'gd':        'Škotų, gėlų kalba',
      'sco':        'Škotų kalba',
      'PS':        'Slavų prokalbė',
      'sk':        'Slovakų kalba',
      'sl':        'Slovėnų kalba',
      'so':        'Somalių kalba',
      'sg':        'Songo kalba',
      'su':        'Sudaniečių kalba',
      'sux':        'Šumerų kalba',
      'fi':        'Suomių kalba',
      'sw':        'Svahilių kalba',
      'ss':        'Svazių kalba',
      'sv':        'Švedų kalba',
      'gsw':        'Šveicarijos vokiečių kalba',
      'mzn':        'Tabarų kalba',
      'tg':        'Tadžikų kalba',
      'tl':        'Tagalų kalba',
      'ty':        'Taitiečių kalba',
      'th':        'Tajų kalba',
      'ta':        'Tamilų kalba',
      'xx':        'Tarptautiniai',
      'te':        'Telugų kalba',
      'tet':        'Tetunų kalba',
      'bo':        'Tibetiečių kalba',
      'ti':        'Tigrinų kalba',
      'to':        'Tongų kalba',
      'tt':        'Totorių kalba',
      'ts':        'Tsongų kalba',
      'tn':        'Tsvanų kalba',
      'sai':        'Tupių kalba',
      'tk':        'Turkmėnų kalba',
      'tr':        'Turkų kalba',
      'tw':        'Tvi kalba',
      'udm':        'Udmurtų kalba',
      'ug':        'Uigurų kalba',
      'uk':        'Ukrainiečių kalba',
      'ur':        'Urdų kalba',
      'uz':        'Uzbekų kalba',
      'wpb':        'Valpurų kalba',
      'cy':        'Valų kalba',
      'wbp':        'Vapurų kalba',
      'war':        'Varajų kalba',
      'vec':        'Venetų kalba',
      'hu':        'Vengrų kalba',
      'vep':        'Vepsų kalba',
      'fiu-vro':        'Verų kalba',
      'vi':        'Vietnamiečių kalba',
      'vot':        'Vodų kalba',
      'de':        'Vokiečių kalba',
      'vo':        'Volapiukas',
      'wo':        'Volofų kalba',
      'wa':        'Voloniečių kalba',
      'wuu':        'Vu kalba',
      'cpp':        'Žaliojo Kyšulio kreolų kalba',
      'diq':        'Zazakų kalba',
      'zea':        'Zelandiečių kalba',
      'bat-smg':        'Žemaičių kalba',
      'nds':        'Žemutinių Saksonų kalba',
      'nds-nl':        'Žemutinių saksų kalba',
      'zu':        'Zulų kalba'

   });
};

// will contain the same array, but {"language":"code", ...} instead
// we will do this only if the user actually uses NAH to minimize memory use
if (typeof(nahLangsRev) == 'undefined') { window.nahLangsRev = {}; }

// kai kurių kalbų žodžiams parodyti naudojami formatavimo šablonai
if (typeof(nahLangTemp) == 'undefined') { window.nahLangTemp = {}; }
 
window.nahLangTempInitText = function() { 
   nahInitObject(nahLangTemp, {

      'akz':        'IPAchar',
      'ar':        'ARchar',
      'bn':        'Beng',
      'el':        'unicode',
      'km':        'KMchar',
      'ko':        'KOchar',
      'ku':        'KUchar',
      'lo':        'LOchar',
      'fa':        'FAchar',
      'sd':        'SDchar',
      'th':        'THchar',
      'ur':        'URchar'

   });
};

if (typeof(nahGenericArticle) == 'undefined') { window.nahGenericArticle = {}; }
 
window.nahGenericArticleInitText = function() { 
   nahInitObject(nahGenericArticle, {

	// "name": ["description", inserted_text, how_as_default]
	// inserted_text: if a number, nahGeneratedText is called with that number which
	//    results in certain generated text - otherwise a string which will be the result
	// show_as_default: 0=don't have to show;  1=must show
	1: ["Panašūs žodžiai", 1, 0, '+'],
	2: ["Vaizdas", 2, 0, 'lt'],
	3: ["{"+"{vikipedija|"+mw.config.get('wgPageName')+"}"+"} - nuoroda į vikipediją", 3, 0, 'lt'],
	"3_5": ["\n"],
	4: ["Kalba", 4, 1, '+'],
	5: ["Vaizdas kalbai", 5, 0, '+'],
	6: ["Užsienio kalbos žodžio tarimas", 6, 0, '-'],
	7: ["Kalbos dalies antraštė", 7, 1, '+'],
	8: ["Kalbos dalis", 8, 1, '+'],
	9: ["Anglų kalbos dalis", 9, 1, 'en'],
	10: ["Žodis", 10, 1, '+'],
	11: ["Lietuviškų žodžių aprašymas", 11, 1, 'lt'],
	12: ["Užsienio žodžių aprašymas", 12, 0, '-'],
	13: ["Pavyzdžiai", 13, 0, '+'], // exempel
	"13_5": ["\n"],
	14: ["Vertimai į lietuvių kalbą", 14, 1, '-'],
	"14_5": ["\n"],
	15: ["Žodžių junginį sudaro žodžiai:", "Žodžių junginį sudaro žodžiai:\n* [[<žodis>]]\n\n", 0, '+'],
	16: ["Lietuviško žodžio tarimas</small>", 16, 0, 'lt'],
	17: ["Naudojimas", "==== Naudojimas ====\n* <aprašymas>\n\n", 0, '+'],
	18: ["Etimologija", "==== Etimologija ====\n* <aprašymas>\n\n", 0, '+'],
	19: ["Žodžio daryba", "==== Žodžio daryba ====\n* <aprašymas>\n\n", 0, '+'],
	20: ["Supersąvokos", 20, 0, '+'],
	21: ["Sinonimai", 21, 0, '+'],
	22: ["Subsąvokos", 22, 0, '+'],
	23: ["Antonimai", 23, 0, '+'],
	24: ["Išraiškos arba posakiai", 24, 0, '+'],
	25: ["Išvestiniai žodžiai", "==== Išvestiniai žodžiai ====\n* [[<žodis>]]\n\n", 0, '+'],
	26: ["Frazeologizmai", 26, 0, '+'],
	27: ["Panašūs žodžiai", "==== Panašūs žodžiai ====\n* [[<žodis>]]\n\n", 0, '+'],
	28: ["Vertimai</small>", 28, 1, 'lt'], // översättningar
	29: ["Dar žiūrėkite", "==== Dar žiūrėkite ====\n* [[<nuoroda>|<pavadinimas>]]\n\n", 0, '+'],
	30: ["Šaltiniai", "==== Šaltiniai ====\n<references />\n\n", 0, '+'],
	31: ["Nuorodos", "==== Nuorodos ====\n* [[<nuoroda>|<pavadinimas>]]\n\n", 0, '+'],
	32: ["Žymė, kad nepatikrintas", 32, 0, '+'],
	33: ["Žodžio aprašymo pabaiga", "<br clear=all>\n----\n", 1, '+'],
	"33_5": ["\n"]

   });
};

// defaults: 
if (typeof(nahTemplates) == 'undefined') { 
   if (typeof(navigator.nahTemplates) == 'undefined') { navigator.nahTemplates = window.nahTemplates = {}; }
   else window.nahTemplates = navigator.nahTemplates; 
}
 
window.nahTemplatesInitText = function() { 
   nahInitObject(nahTemplates, {

        0: {"name":"šablonas", 4:"lt", 7:"dkt", 8:true, 9:true, 10:true, 11:"-", 14:true, 28:true, 33:true} // default, the rest should be loaded via the saved cookie

   });
};

window.nahCurTemplate;
window.nahNumInsertedNewTemplates = 0;

function nahGeneratedText(nahTemplateId, action) {
	action += "";
	nahTmpTemp = nahTemplates[nahTemplateId];
	curLang = nahTmpTemp[4];
	curPoS = nahTmpTemp[7];
	switch (action) {
		case "1": // {{see}}
			return "{"+"{see|<žodis>}}\n";
		case "2": // image
			return "[[vaizdas:<vaizdas>|thumb|200px|<pavadinimas>]]\n";
		case "3": // {{vikipedija}}
			return (curLang=="lt" ? "{"+"{vikipedija|"+mw.config.get('wgPageName')+"}}\n" : "");
		case "4": // language
			return "== {"+"{" + curLang + "v}"+"} ==\n";
		case "5": // image
			return "[[vaizdas:<vaizdas>|thumb|200px|<pavadinimas>]]\n";
		case "6": // pronunciation
			return (curLang=="lt" ?"":"==== Tarimas ====\n*{"+"{uttal|enkel=|ipa=|ljud=" + (curLang=="sv"?"":"|språk="+nahLangs[curLang]) + "}}\n\n");
		case "7": // part of speech
			return "=== ''" + nahPoSs[curPoS][0] + "'' ===\n";
		case "8": // grammar template
				return "{"+"{" + curLang + nahPoSs[curPoS][1] + "}"+"}\n\n";
		case "9": // grammar template
				return (curLang=="en" ? 
                                   "{"+"{KDalis|" + curLang + nahPoSs[curPoS][1] + "|"+ mw.config.get('wgPageName') + "}"+"}\n\n" : "");
		case "10": // bold row
                    if (typeof(nahLangTemp[curLang]) == 'undefined')
                       return "'''[[" + mw.config.get('wgPageName') + "]]'''\n";
                    else
                       return "'''{"+'{'+nahLangTemp[curLang]+'|[[' + mw.config.get('wgPageName') + "]]}}'''\n";
		case "11": // definition
                     if (curLang == 'lt'){
			if (nahTmpTemp[11] == "-")
				return "# <aprašymas>\n"; // <separator> will be changed
			else
				return "# {"+"{Kategorija|" + (nahTmpTemp[11]==" "?"":nahTmpTemp[11]) + "}} - <aprašymas>\n";
                     } else return "";
		case "12": // definition
                     if (curLang != 'lt'){
			if (nahTmpTemp[12] == "-")
				return "# <aprašymas>\n"; // <separator> will be changed
			else
				return "# {"+"{Kategorija|" + (nahTmpTemp[12]==" "?"":nahTmpTemp[12]) + "|"+curLang + "}} - <aprašymas>\n";
                     } else return "";
		case "13": // example
			return "#:'' '''"+ mw.config.get('wgPageName') +"''' ''\n" + (curLang == "lt" ? "" : "#::'' ''' ''' ''\n");
		case "14": return (curLang=="lt" ? "" : "\n:::# {"+"{t+|lt|<žodis>}"+"}\n");
		case "16": // pronunciation
			return (curLang=="lt" ?"==== Tarimas ====\n*{"+"{tarimasLT|" + mw.config.get('wgPageName') + "}}\n\n":"");
		case "20": return "==== Supersąvokos ====\n{"+"{sin-top|vardas="+ mw.config.get('wgPageName') +
                     "}"+"}\n* {"+"{t+|"+ curLang +"|<žodis>}"+"}\n{"+"{sin-mid}"+"}\n{"+"{sin-bottom}"+"}\n\n";
		case "21": return "==== Sinonimai ====\n{"+"{sin-top|vardas="+ mw.config.get('wgPageName') +
                     "}"+"}\n* {"+"{t+|"+ curLang +"|<žodis>}"+"}\n{"+"{sin-mid}"+"}\n{"+"{sin-bottom}"+"}\n\n";
		case "22": return "==== Subsąvokos ====\n{"+"{sin-top|vardas="+ mw.config.get('wgPageName') +
                     "}"+"}\n* {"+"{t+|"+ curLang +"|<žodis>}"+"}\n{"+"{sin-mid}"+"}\n{"+"{sin-bottom}"+"}\n\n";
		case "23": return "==== Antonimai ====\n{"+"{ant-top|vardas="+ mw.config.get('wgPageName') +
                     "}"+"}\n* {"+"{t+|"+ curLang +"|<žodis>}"+"}\n{"+"{ant-mid}"+"}\n{"+"{ant-bottom}"+"}\n\n";
		case "24": return "==== Išraiškos arba posakiai ====\n{"+"{rel-top|vardas="+ mw.config.get('wgPageName') +
                     "}"+"}\n* {"+"{t+|"+ curLang +"|<žodis>}"+"}\n{"+"{rel-mid}"+"}\n{"+"{rel-bottom}"+"}\n\n";
		case "26": return "==== Frazeologizmai ====\n{"+"{rel-top|vardas="+ mw.config.get('wgPageName') +
                     "|kt=Frazeologizmai}"+"}\n* "+
                     "{"+"{t+|"+ curLang +"|<žodis>}"+"}\n{"+"{rel-mid}"+"}\n{"+"{rel-bottom}"+"}\n\n";
		case "28": return (curLang=="lt" ? "==== Vertimai ====\n{"+"{trans-top|vardas="+ mw.config.get('wgPageName') +
                     "}"+"}\n{"+"{env1}"+"} {"+"{t+|en|<žodis>}"+"}\n{"+"{trans-mid}"+"}\n{"+"{trans-bottom}"+"}\n\n" : "");
		case "32": return "{"+"{bot-entry|"+ curLang +"|"+ mw.config.get('wgPageName') +
                     "|{"+'{subst:CURRENTYEAR}'+'}|{'+'{subst:CURRENTMONTHNAME}'+'}|{'+'{subst:CURRENTDAY}'+"}|"+ 
                     mw.config.get('wgUserName') +"}"+"}\n\n";
		default: return nahGenericArticle[action][1];
	}
}

// initialize the whole process
function nahInit() {
	if (!paLoad || !document.getElementById || !document.getElementById("toolbar"))
		return;
	
        nahPoSsInitText();
        nahLangsInitText();
        nahLangTempInitText();
        nahGenericArticleInitText();
        nahTemplatesInitText();
	var nahHTML = "";
	// text displayed from the beginning
	nahHTML += "<div id=\"nahIntroLinks\">" +
		"<p>Žodžių aprašymai Vikižodyne pageidautina, kad būtų tam tikros struktūros. <small>Todėl naujo žodžio aprašymo sukūrimui naudokite aprašymo šablonus.</small><br/><b><a href=\"javascript:nahSettings(0);\">Sukurti aprašymo šabloną.</a></b>" +
		" &mdash; Ši priemonė eksperimentinė todėl žiūrėkite <a href=\"//lt.wiktionary.org/wiki/Viki%C5%BEodynas:%C5%BDod%C5%BEio_apra%C5%A1ymo_%C5%A1ablonas\" title=\"Informacija apie aprašymo šablono naudojimą\" class=\"external\" target=\"_blank\">pagalbos informaciją</a> ir teikite <a href=\"//lt.wiktionary.org/wiki/Viki%C5%BEodynas:%C5%BDod%C5%BEio_apra%C5%A1ymo_%C5%A1ablonas\" title=\"Informacija apie aprašymo šablono naudojimą\" class=\"external\" target=\"_blank\">pastabas</a>.</p>" +
		"<p id=\"nahInsertableTemplates\" style=\"display:none;\"></p>";
	
	// hidden shell in which everything goes when the user clicks
	nahHTML += "<div id=\"nahEditSettings\" style=\"display:none;\"><div>" +
		"<p><a href=\"javascript:nahCloseSettings();\" id=\"nahCloseButton\" style=\"float:right; height:22px; font-size:14px; border-width:1px; background:url(http://internetvision.se/dan/projekt/wikt/button.png); padding:0 4px;\">[išeiti]</a></p>" +
		"<h3 id=\"nahSettingsTitle\"></h3>" +
		"<div id=\"nahStep0\" style=\"background:#eef;\">" +
		"<p><b>Bendra informacija</b>: Užpildydami laukus suformuosite šabloną <a href=\"//lt.wiktionary.org/wiki/Viki%C5%BEodynas:Apra%C5%A1ymo_%C5%A1ablonas\" target=\"_blank\" class=\"external\" title=\"Informacija apie aprašymo šablono naudojimą\">Žr.</a>...</p>" +
		
		"<p>Jūsų naršyklė įsimena Jūsų sukurtus šablonus, tačiau išėjus iš naršyklės šie šablonai gali prapulti. Jūs turite galimybę juos išsaugoti slapukų pagalba. " +
		"<span id=\"nahCookieSettingsOn\" style=\"display:none;\"><b style=\"color:#060;\">Jei norite panaikinti visus jūsų įsimintus šablonus</b> (<a href=\"javascript:nahForgetMe();\">spauskite</a>)</span>" +
		"<span id=\"nahCookieSettingsOff\"><b style=\"color:#900;\">Jei norite, kad jūsų naudojami šablonai būtų įsimenami</b> (<a href=\"javascript:nahRememberMe();\">spauskite</a>)</span>" +
		"</p></div>" +
		
		"<div id=\"nahStep1\" style=\"display:none;\">" +
		"<p style=\"text-align:center;\"><a href=\"javascript:nahInsert(nahCurTemplate, &quot;new&quot;);\">[Įterpti sugeneruotą tekstą]</a> &mdash; <a href=\"javascript:nahGoToStep(2);\" class=\"selected\">[Pasirinkti šablono įterpiamas dalis ir jį detalizuoti]</a></p><hr>" +
	
	// choose a name for the template
		"<h4>Nurodykite šablono vardą</h4><p>Jūs galite naudoti iki 5 šablonų. Tvarkomo šablono vardas: <input type=\"text\" id=\"nahNameInput\" onblur=\"nahSet(&quot;name&quot;, 0, this.value);\"></p>" +
	
	// choose language
		"<h4>Kalbos pasirinkimas</h4><p>Jei norite pakeisti, įveskite kalbos kodą: <input type=\"text\" id=\"nahLangInput\" onkeyup=\"nahSet(4, &quot;set name&quot;, this.value);\" onblur=\"nahSet(4, &quot;set name&quot;, this.value);\"> <span id=\"nahLangStatusError\" style=\"display:none;\">(nežinoma kalba - <b style=\"color:#c00;\">??</b>)</span><span id=\"nahLangStatusOk\" style=\"display:none;\">(pasirinktos kalbos kodas: <b style=\"color:#090;\" id=\"nahLangStatusCode\"></b>)</span><span id=\"nahLangStatusOkCode\" style=\"display:none;\">(nurodyta kalba: <b style=\"color:#090;\" id=\"nahLangStatusName\"></b>)</span><br><small>Pasirinkdami kalbą turite įvesti kalbos kodą.</small> Jums nežinomus kalbos kodus galite sužinoti <a href=\"//lt.wiktionary.org/wiki/S%C4%85ra%C5%A1as:Kalb%C5%B3_s%C4%85ra%C5%A1as_ABC\" target=\"_blank\" class=\"external\" title=\"Pagalba kalbos pasirinkimui\">kalbų sąraše</a>.</p>";
	
	// choose part of speech
	nahHTML += "<h4>Žodžio kalbos dalies pasirinkimas</h4><p>";
	var nahFirst = true;
	for (nahTempPoS in nahPoSs) {
		if (nahFirst) nahFirst=false;
		else nahHTML += ' - ';
		nahHTML += "<a href=\"javascript:nahSet(7, &quot;" + nahTempPoS + "&quot;);\" id=\"nahPoS_" + nahTempPoS + "\">" + nahPoSs[nahTempPoS][0] + "</a>";
	}
	nahHTML += "</p>";
	
	nahHTML += "</div>";
	
	// step 2
	nahHTML += "<div id=\"nahStep2\" style=\"display:none;\">" +
		"<p style=\"text-align:center;\"><a href=\"javascript:nahGoToStep(1);\">[&larr; Pereiti į pradinę šablono informacija]</a> &mdash; <a href=\"javascript:nahInsert(nahCurTemplate, &quot;new&quot;);\" class=\"selected\">[Įterpti sugeneruotą tekstą]</a></p><hr>" +
		"<h4>Pasirinkite šablono įterpiamus skyrelius</h4><ul style=\"list-style:none;\">";
	
	// headings to choose
	for (nahTempRow in nahGenericArticle) {
		if (nahGenericArticle[nahTempRow][0] == "\n")
			continue;
		if (!nahGenericArticle[nahTempRow][2]) { // optional
			nahHTML += "<div id=\"nahRows_" + nahTempRow + "_partId\" style=\"display:none;\">"+
                                "<tt id=\"nahRows_" + nahTempRow + "\">[ ]</tt> " +
				"<a href=\"javascript:nahSet(&quot;" + nahTempRow + 
                                  "&quot;, &quot;toggle&quot;);\" id=\"nahRows_" + nahTempRow + "_link\">" +
                                  nahGenericArticle[nahTempRow][0] + "</a>";
		} else
			nahHTML += "<div id=\"nahRows_" + nahTempRow + "_partId\" style=\"display:none;\"><tt>[X]</tt> <i><b>" +
                                nahGenericArticle[nahTempRow][0] + 
                                "</b></i> <small>(yra būtinas)</small>";
		// custom is for those headings that want to give more choices etc.
		nahHTML += "<div id=\"nahRows_" + nahTempRow + "_custom\" style=\"display:none; margin-left:4em;\"></div></div>";

	}
	nahHTML += "</ul>";
	nahHTML += "</div>";
	
	nahHTML += "</div></div>";
	
	// ...and put it on the actual page
	var nahNahToolbar = document.createElement("div");
	nahNahToolbar.setAttribute("id", "nahToolbar");
	nahNahToolbar.innerHTML = nahHTML;
	var nahToolbar = document.getElementById('toolbar');
	nahToolbar.parentNode.insertBefore(nahNahToolbar, nahToolbar);
	
	// read cookie
	if (null != nahReadCookie("prototypeArticles")) {
		// <cookie> ::= <prot>|<prot>|<prot>|<prot>|<prot>
		// <prot> ::= ("" OR <action>=<val>&<action>=<val> ...)
		nahSaveCookie = true;
		nahDoLangsRev();
		theCookie = nahReadCookie("prototypeArticles");
		theCookie = "|" + theCookie; // to create indexes 1-5
		theCookie = theCookie.split("|");
		for (nahTemplateId=1; nahTemplateId<=5; nahTemplateId++) { // each prototype
			if (!theCookie[nahTemplateId] || theCookie[nahTemplateId] == "") {
				continue;
			}
			nahTemplates[nahTemplateId] = {};
			nahCurTemplate = nahTemplateId;
			thisProt = theCookie[nahTemplateId].split("&");
			for (i=0; i<thisProt.length; i++) {
				tmpAction = thisProt[i].split("=");
				if (tmpAction[1]) {
					nahSet(unescape(tmpAction[0]), "update", unescape(tmpAction[1]), true);
				}
			}
		}
		document.getElementById("nahCookieSettingsOn").style.display = "inline";
		document.getElementById("nahCookieSettingsOff").style.display = "none";
		nahUpdateCookie(); // should re-set the cookie so it won't disappear
	}
	nahUpdateInsertableTemplates();
} // end: nahInit()

function nahDoLangsRev() {
	//if (nahLangsRev.length == 0) {
		//nahLangsRev = {};
		for (nahTmpCode in nahLangs)
			nahLangsRev[ nahLangs[nahTmpCode] ] = nahTmpCode;
	//}
} // end: nahDoLangsRev()

function nahSettings(nahTemplateId) {
	if (nahTemplateId == 0) {
		allUsed = true;
		for (i=1; i<=5; i++)
			if (!nahTemplates[i])
				allUsed = false;
		if (allUsed) {
			alert("Jūs maksimaliai galite naudoti 5 šablonus. Keiskite kuri nors jau turimą šabloną arba kurį noras pašalinkite.");
			return;
		}
		
		// confusing if it has the same name as any other - add (2) or change the number
		tmpName = nahTemplates[0]["name"];
		for (i=1; i<=5; i++) {
			if (nahTemplates[i] && nahTemplates[i]["name"] == tmpName) {
				tmpName = tmpName.split(" (");
				if (tmpName[ tmpName.length-1 ] == parseInt(tmpName[ tmpName.length-1 ])+")" )
					tmpName[ tmpName.length-1 ] = (1+parseInt(tmpName[ tmpName.length-1 ]))+")";
				else
					tmpName[ tmpName.length ] = "2)";
				tmpName = tmpName.join(" (");
			}
		}
		nahTemplates[0]["name"] = tmpName;

	}
	
	// now is the time to create reversal of nahLangs, if it hasn't already been done
	nahDoLangsRev();
	
	nahCurTemplate = nahTemplateId;
	document.getElementById("nahSettingsTitle").innerHTML = (nahTemplateId==0 ? "Šablono informacija" : "Redaguojamas šablonas &quot;" + nahHtmlEscape(nahTemplates[nahTemplateId]["name"]) + "&quot;");
	document.getElementById("nahEditSettings").style.display = "block";
	nahGoToStep(1);
	
	nahUpdateNameInput();
	
	// the rest
	for (nahTempRow in nahGenericArticle) {
		if (nahGenericArticle[nahTempRow][0] == "\n") // new row or required row (=no special alternatives used)
			continue;
		if (nahTemplates[nahTemplateId][nahTempRow]) { // if this setting should be used
			nahSet(nahTempRow, "update", nahTemplates[nahTemplateId][nahTempRow]); // re-set the already set setting
		}
	}
	
} // end: nahSettings()

function nahCloseSettings() {
	document.getElementById("nahEditSettings").style.display = "none";
	document.getElementById("nahLangStatusError").style.display = document.getElementById("nahLangStatusOk").style.display = document.getElementById("nahLangStatusOkCode").style.display = "none";
	for (tmpPoS in nahPoSs)
		document.getElementById("nahPoS_" + tmpPoS).className = "";
	document.getElementById("nahStep1").style.display = "none";
	document.getElementById("nahStep2").style.display = "none";
	for (i in nahGenericArticle) {
		if (document.getElementById("nahRows_" + i) && document.getElementById("nahRows_" + i + "_link")) {
			document.getElementById("nahRows_" + i).innerHTML = "[ ]";
			document.getElementById("nahRows_" + i + "_link").className = "";
		}
		if (document.getElementById("nahRows_" + i + "_custom")) {
			document.getElementById("nahRows_" + i + "_custom").style.display = "none";
			document.getElementById("nahRows_" + i + "_custom").innerHTML = "";
		}
	}
	nahUpdateInsertableTemplates();
	nahUpdateCookie();
} // end: nahCloseSettings()

function nahGoToStep(step) {
	document.getElementById("nahStep1").style.display = "none";
	document.getElementById("nahStep2").style.display = "none";
	document.getElementById("nahStep" + step).style.display = "block";
	document.getElementById("nahCloseButton").focus();
} // end: nahGoToStep()

function nahShowPartsByLang(curLang){
	for (art in nahGenericArticle){
		if (nahGenericArticle[art][0] == "\n")
			continue;
		if ((nahGenericArticle[art][3] == '+' || nahGenericArticle[art][3] == curLang ||
			(nahGenericArticle[art][3] == '-' && curLang != 'lt')) && curLang != '-'){
		   document.getElementById("nahRows_" + art + "_partId").style.display = "block";
		} else {
		   document.getElementById("nahRows_" + art + "_partId").style.display = "none";
		}
	}
}

function nahSet(action, value, param, loading) {
	if (action=="name") {
		param = param.replace(/^\s*/, ""); // ltrim
		param = param.replace(/\s*$/, ""); // rtrim
		if (param == "")
			return; // don't set
		nahTemplates[nahCurTemplate]["name"] = param;
		return;
	} else if (action=="act" && value=="update") {
		// simple representation: act=7,8,16
		param = param.split(",");
		for (co=0; co<param.length; co++)
			nahTemplates[nahCurTemplate][ param[co] ] = true;
		return;
	}
	
	updated = false;
	updateChoices = (value == "toggle" || value == "update");
	tempActive = (value == "update");
	nahDontUpdate = false;
	action += ""; // convert to string

	switch (action) {
		case "4": // language
			nahDontUpdate = true;
			if (value == "update") {
				document.getElementById("nahLangInput").value = nahLangs[param];
				nahLangName = nahLangs[param];
			} else if (value == "set name") {
				nahLangName = document.getElementById("nahLangInput").value.toLowerCase();
			}
			
			if (nahLangsRev[nahLangName]) {
				value = nahLangsRev[nahLangName];
				document.getElementById("nahLangStatusError").style.display = "none";
				document.getElementById("nahLangStatusOk").style.display = "inline";
				document.getElementById("nahLangStatusOkCode").style.display = "none";
				document.getElementById("nahLangStatusCode").innerHTML = value;
				nahTemplates[nahCurTemplate][4] = value;
				nahShowPartsByLang(value);
			} else if (nahLangs[nahLangName]) { // input was actually lang code
				document.getElementById("nahLangStatusError").style.display = "none";
				document.getElementById("nahLangStatusOk").style.display = "none";
				document.getElementById("nahLangStatusOkCode").style.display = "inline";
				document.getElementById("nahLangStatusName").innerHTML = nahLangs[nahLangName];
				nahTemplates[nahCurTemplate][4] = nahLangName;
				nahShowPartsByLang(nahLangName);
			} else {
				document.getElementById("nahLangStatusError").style.display = "inline";
				document.getElementById("nahLangStatusOk").style.display = "none";
				document.getElementById("nahLangStatusOkCode").style.display = "none";
				nahShowPartsByLang('-');
			}
			break;
		case "7": // part of speech
			nahDontUpdate = true;
			if (value == "update") {
				value = param;
			} else {
				document.getElementById("nahPoS_" + nahTemplates[nahCurTemplate][7]).className = "";
			}
			if (!loading)
				document.getElementById("nahPoS_" + value).className = "selected";
			nahTemplates[nahCurTemplate][7] = value;
			break;
		case "11": // definition row
			if (value == "update") {
				document.getElementById("nahRows_11_custom").innerHTML = "<code id=\"nahRows_11_cat_active\">[ ]</code> <a href=\"javascript:nahSet(11, &quot;cat-click&quot;);\" id=\"nahRows_11_cat_link\">Nurodyti reikšmės <code>{{Kategorija}}</code></a> <span id=\"nahRows_11_cat\">formatu <code>{{Kategorija|<input type=\"text\" id=\"nahRows_11_cat_input\" onblur=\"nahSet(11, &quot;cat-update&quot;, this.value);\">|<i>&lt;kalbos kodas&gt;</i>}}</code></span>";
				document.getElementById("nahRows_11_custom").style.display = "block";
			}
			if (value == "cat-click") {
				param = nahTemplates[nahCurTemplate][11] = (nahTemplates[nahCurTemplate][11] == "-"?"":"-");
				value = "update";
			}
			if (value == "update") {
				isAct = (nahTemplates[nahCurTemplate][11] != "-");
				document.getElementById("nahRows_11_cat").style.display = (isAct?"inline":"none");
				document.getElementById("nahRows_11_cat_link").className = (isAct?"selected":"");
				document.getElementById("nahRows_11_cat_active").innerHTML = (isAct?"[X]":"[ ]");
				if (isAct)
					document.getElementById("nahRows_11_cat_input").value = (nahTemplates[nahCurTemplate][11]==" "?"":nahTemplates[nahCurTemplate][11]);
			}
			if (value == "cat-update") {
				param = param.replace(/^[\|]*/, ""); // trim spaces and |
				param = param.replace(/[\|]*$/, "");
				if (param == "-" || param == "") // dash shouldn't be used, but shouldn't give too unexpected results; can't store ""
					param = " ";
			}
			value = param;
			updateChoices = false;
			break;
	}
	if (value == "toggle") { // for simple toggle sections
		if (!updated)
			nahTemplates[nahCurTemplate][action] = tempActive = !nahTemplates[nahCurTemplate][action];
		else
			tempActive = nahTemplates[nahCurTemplate][action];
	}
	
	if (updateChoices && !loading) {
		if (document.getElementById("nahRows_" + action) && document.getElementById("nahRows_" + action + "_link")) {
			document.getElementById("nahRows_" + action).innerHTML = (tempActive?"[X]":"[ ]");
			document.getElementById("nahRows_" + action + "_link").className = (tempActive?"selected":"");
		}
		if (!tempActive)
			document.getElementById("nahRows_" + action + "_custom").innerHTML = "";
	}
	else if (!nahDontUpdate) {
		nahTemplates[nahCurTemplate][action] = value;
	}
} // end: nahSet()

function nahUpdateNameInput() {
	document.getElementById("nahNameInput").value = nahTemplates[nahCurTemplate]["name"];
} // end: nahUpdateNameInput()

function nahInsert(nahTemplateId, mode) {
	if (mode == "new") {
		if (nahTemplateId == 0) { // save a new template
			for (i=1; i<=5; i++)
				if (!nahTemplates[i])
					break;
			if (nahTemplates[i]) { // no empty template spaces - something's wrong
				alert("Nebegalimas naujo šablono sukūrimas. Naudokite vieną iš jau jūsų turimų šablonų.");
				nahCloseSettings();
				return;
			}
			nahNumInsertedNewTemplates++;
			nahTemplates[i] = nahClone(nahTemplates[0]);
			nahTemplateId = i;
		}
		nahUpdateCookie();
		nahUpdateInsertableTemplates();
	}
	
	// and now the actual inserting
	nahText = "";
	for (row in nahGenericArticle)
		if (nahTemplates[nahTemplateId][row])
			nahText += nahGeneratedText(nahTemplateId, row);
		else if (nahGenericArticle[row][0] == "\n")
			nahText += "\n";
	
	nahText = nahText.replace(/^\s*/, ""); // ltrim
	nahText = nahText.replace(/\s*$/, ""); // rtrim
	
	// replace 
	nahAllText = document.getElementById("wpTextbox1").value;
	if (nahAllText.indexOf("{"+"{įterpti}"+"}") != -1) {
		nahAllText = nahAllText.replace("{"+"{iterpti}}", nahText);
		document.getElementById("wpTextbox1").value = nahAllText;
		nahAllText = false;
	} else 
		document.getElementById("wpTextbox1").value = (nahAllText == ""? "":nahAllText + "\n") + nahText;


/*	nahText = nahText.split("<separator>");

	if (nahText.length == 2)
		insertTags(nahText[0], nahText[1], "<žodžio reikšmės aprašymas>");
	else {
		//alert("Trūksta žodžio reikšmės aprašymo");
		insertTags(nahText[0], "", "");
	}*/
	nahCloseSettings();
} // end: nahInsert()


function nahForgetMe() {
	if (confirm("Ar tikrai norite, kad nebūtų saugomi Jūsų naudojami šablonai?\nŠio veiksmo negalima bus atšaukti!\n(Jūsų naudota informacija bus panaikinta iš kompiuteryje saugomo slapulo)")) {
		nahSaveCookie = false;
		for (i=1; i<=5; i++)
			nahTemplates[i] = false;
		nahUpdateCookie();
		nahCloseSettings();
	}
} // end: nahForgetMe()

function nahRememberMe() {
	if (confirm("Ar tikrai norite, kad būtų saugomi slapukuose Jūsų naudojami šablonai?\nTam turi būti aktyvuotas slapukų naudojimas")) {
		nahSaveCookie = true;
		nahUpdateCookie();
		if (nahReadCookie("prototypeArticles") == null) {
			alert("Į slapuką Jūsų naudojami šablonai neišsaugoti.\nAktyvuokite slapukų naudojimą.");
			nahSaveCookie = false;
			nahUpdateCookie();
		}
	}
} // end: nahRememberMe()

function nahUpdateCookie() {
	if (nahSaveCookie) {
		theCookie = [""];
		for (i=1; i<=5; i++) {
			theCookie[i] = "";
			headers = "";
			if (typeof nahTemplates[i] == "object") {
				for (j in nahTemplates[i]) {
					if (typeof nahTemplates[i][j] == "boolean")
						if (nahTemplates[i][j])
							headers += ","+escape(j); // simpler representation: act=7,9,16
						else
							theCookie[i] += "&" + escape(j) + "="; // false represented by empty string
					else
						theCookie[i] += "&" + escape(j) + "=" + escape(nahTemplates[i][j]);
				}
			}
			if (headers != "")
				theCookie[i] += "&act="+headers.substring(1);
			if (theCookie[i] != "")
				theCookie[i] = theCookie[i].substring(1);
			
		}
		theCookie = theCookie.join("|");
		theCookie = theCookie.substring(1);
		
		nahCreateCookie("prototypeArticles", theCookie, 30);
		document.getElementById("nahCookieSettingsOn").style.display = "inline";
		document.getElementById("nahCookieSettingsOff").style.display = "none";
	} else {
		nahEraseCookie("prototypeArticles");
		document.getElementById("nahCookieSettingsOn").style.display = "none";
		document.getElementById("nahCookieSettingsOff").style.display = "inline";
	}
} // end: nahUpdateCookie()

function nahUpdateInsertableTemplates() {
	nahHTML = "Naudoti šablonai <small>(šablono įstatymui spauskite jo vardą)</small>: ";
	nahFirst = true;
	for (i=1; i<=5; i++) {
		if (nahTemplates[i]) {
			if (nahFirst) nahFirst = false;
			else nahHTML += " &mdash; ";
			nahHTML += "<b><a href=\"javascript:nahInsert("+i+");\" title=\"Pasirinkto šablono įstatymas\">" + nahHtmlEscape(nahTemplates[i]["name"]) + "</a></b> <small><a href=\"javascript:nahSettings("+i+");\" title=\"Šablono keitimas\">[+/-]</a> <a href=\"javascript:nahDeleteTemplate("+i+");\" title=\"Šablono panaikinimas\">[&times;]</a></small>";
		}
	}
	if (nahFirst) // no templates created
		nahHTML = "";
	document.getElementById("nahInsertableTemplates").innerHTML = nahHTML;
	document.getElementById("nahInsertableTemplates").style.display = (nahHTML==""?"none":"block");
} // end: nahUpdateInsertableTemplates()

function nahDeleteTemplate(nahTemplateId) {
	if (confirm("Ar jūs tikrai norite panaikinti šabloną \""+nahTemplates[nahTemplateId]["name"]+"\"?\nŠio veiksmo atšaukti negalėsite.")) {
		nahTemplates[nahTemplateId] = false;
		nahUpdateInsertableTemplates();
		nahUpdateCookie();
	}
} // end: nahDeleteTemplate()

// NAH specific functions end here, but since it isn't included anywhere else we
// need a few extra that could be used in any script

function nahClone(myObj) {
	if (typeof myObj != "object") return myObj;
	if (myObj == null) return myObj;

	var myNewObj = new Object();
	for (var tmpKey in myObj)
		myNewObj[tmpKey] = nahClone(myObj[tmpKey]);
	return myNewObj;
}

function nahHtmlEscape(str) {
	str = str.replace(/&/g, "&amp;");
	str = str.replace(/</g, "&lt;");
	str = str.replace(/>/g, "&gt;");
	str = str.replace(/"/g, "&quot;");
	return str;
}

function nahCreateCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function nahReadCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c[0]==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function nahEraseCookie(name) {
	nahCreateCookie(name,"",-1);
}

$(nahInit);