<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://en-i.demopaedia.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nicolas+Brouard</id>
		<title>Demopædia - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://en-i.demopaedia.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nicolas+Brouard"/>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/wiki/Special:Contributions/Nicolas_Brouard"/>
		<updated>2026-10-14T18:34:02Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.28.0</generator>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=71&amp;diff=9880</id>
		<title>71</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=71&amp;diff=9880"/>
				<updated>2018-07-22T13:58:13Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: /* 710 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;!--'''71'''--&amp;gt;&lt;br /&gt;
{{CurrentStatus}}&lt;br /&gt;
{{Unmodified edition I}}&lt;br /&gt;
{{Summary}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
== 71 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 710 ===&lt;br /&gt;
&lt;br /&gt;
The theory of {{TextTerm|population replacement|1|710|OtherIndexEntry=replacement population}} treats population as a {{TextTerm|renewable resource|2|710|OtherIndexEntry=resource, renewable}} in the mathematical sense of the term. A distinction is drawn between {{TextTerm|gross replacement|3|710|OtherIndexEntry=replacement, gross}}, where no account is taken of mortality before the end of the reproductive period ({{RefNumber|62|0|1}}), and {{TextTerm|net replacement|4|710|OtherIndexEntry=replacement, net}}, in which this mortality is taken into account.&lt;br /&gt;
&lt;br /&gt;
=== 711 ===&lt;br /&gt;
&lt;br /&gt;
In the study of replacement a number of indices, {{TextTerm|replacement rates|1|711|IndexEntry=replacement rate|OtherIndexEntry=rate, replacement}} or {{TextTerm|reproduction rates|1|711|2|IndexEntry=reproduction rate|OtherIndexEntry=rate, reproduction}} are used. Reproduction rates are generally {{TextTerm|female reproduction rates|2|711|IndexEntry=female reproduction rate|OtherIndexEntry=reproduction rate, female}} or {{TextTerm|maternal reproduction rates|2|711|2|IndexEntry=maternal reproduction rate|OtherIndexEntry=reproduction rate, maternal}}. The female {{TextTerm|net reproduction rate|3|711|OtherIndexEntry=reproduction rate, net}} (see also para. 718) is defined as the average number of live daughters that would be born to a hypothetical female birth cohort ({{RefNumber|11|6|2}}) which would be subjected to current age-specific fertility ({{RefNumber|03|1|8}}) and mortality rates ({{RefNumber|40|1|2}}). A female {{TextTerm|gross reproduction rate|4|711|OtherIndexEntry=reproduction rate, gross}} is computed similarly on the assumption that mortality before the end of the reproductive age is zero. {{TextTerm|Male reproduction rates|5|711|IndexEntry=male reproduction rate|OtherIndexEntry=reproduction rate, male}} or {{TextTerm|paternal reproduction rates|5|711|2|IndexEntry=paternal reproduction rate|OtherIndexEntry=reproduction rate, paternal}} can be computed analogously using male births and a male birth cohort, and certain varieties of {{TextTerm|joint reproduction rates|6|711|IndexEntry=joint reproduction rate|OtherIndexEntry=reproduction rate, joint}} which take both sexes into account have been proposed. Where the experience of an actual cohort is used in the construction of reproduction rates, {{TextTerm|cohort reproduction rates|7|711|IndexEntry=cohort reproduction rate|OtherIndexEntry=reproduction rate, cohort}} or {{TextTerm|generation reproduction rates|7|711|2|IndexEntry=generation reproduction rate|OtherIndexEntry=reproduction rate, generation}} are obtained. The mortality and the fertility rates used in the construction of these rates will refer to different periods of time. Where statistics of fertility by age are not available, the so-called {{TextTerm|replacement index|8|711|OtherIndexEntry=index, replacement}} or {{TextTerm|J-ratio|8|711|2}} may be used. This ratio relates the quotient of the population of children of a given age (as a rule those under 1 year or 0-4 years) to the number of women of childbcaring age in the actual population to the corresponding quotient in the stationary population ({{RefNumber|70|3|6}}).&lt;br /&gt;
{{Note|1| Some writers have used the term {{NoteTerm|replacement rate}} for a reproduction rate which takes emigration and immigration into account.}} 4, In England a variant of the net reproduction rate, the so-called {{NoteTerm|effective reproduction rate}}, has been calculated. In this rate current age-specific fertility rates ({{RefNumber|63|1|8}}} are used in combination with estimated future age-specific mortality ({{RefNumber|41|2|1}}) rates. The table which shows the product of the age-specific fertility rate and the number of years lived within this group in the life table is known as the {{NoteTerm|net fertility schedule}}.&lt;br /&gt;
&lt;br /&gt;
=== 712 ===&lt;br /&gt;
&lt;br /&gt;
Other replacement indices also are computed. For instance, the net reproduction rate is sometimes split into a {{TextTerm|legitimate component|1|712|IndexEntry=legitimate  component|OtherIndexEntry=component, legitimate}} and an {{TextTerm|illegitimate component|2|712|OtherIndexEntry=component, illegitimate}}. Again, a {{TextTerm|nuptial net reproduction rate|3|712|OtherIndexEntry=net reproduction rate, nuptial}} has been computed, showing the number of legitimate daughters that will be born to a newly-born female if current rates of mortality, fertility, nuptiality and dissolution of marriage remain unchanged. Generally such rates are female rates, but it would be possible to compute analogous male rates.&lt;br /&gt;
&lt;br /&gt;
=== 713 ===&lt;br /&gt;
&lt;br /&gt;
The net reproduction rate ({{RefNumber|71|1|3}}) and the intrinsic rate of natural increase ({{RefNumber|70|3|1}}) are closely related to one another. The net reproduction rate will measure the increase of the stable population ({{RefNumber|70|3|2}}) implied by the given age-specific fertility and mortality rates ({{RefNumber|40|1|2}}), over a period equivalent to the {{TextTerm|length of a generation|1|713|OtherIndexEntry=generation, length of a}} or the {{TextTerm|mean interval between successive generations|1|713|2|OtherIndexEntry=generations, mean interval between successive}}. This length of a female generation is approximately equal to the {{TextTerm|average age of mothers|2|713|IndexEntry=average age of mother|OtherIndexEntry=mother, average age of}} giving birth to live daughters, provided current age-specific fertility and mortality rates prevail. Replacement indices are generally current indices (cf. {{RefNumber|15|3|4}}) which relate to {{TextTerm|hypothetical cohorts|3|713|IndexEntry=hypothetical cohort|OtherIndexEntry=cohort, hypothetical}}, {{TextTerm|fictitious cohorts|3|713|2|IndexEntry=fictitious cohort|OtherIndexEntry=cohort, fictitious}} or {{TextTerm|synthetic cohorts|3|713|3|IndexEntry=synthetic cohort|OtherIndexEntry=cohort, synthetic}}.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;center&amp;gt;&amp;lt;font size=12&amp;gt;* * * &amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;==&lt;br /&gt;
{{SummaryShort}}&lt;br /&gt;
&lt;br /&gt;
{{OtherLanguages|71}}&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=Age_last_birthday&amp;diff=9878</id>
		<title>Age last birthday</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=Age_last_birthday&amp;diff=9878"/>
				<updated>2017-11-07T10:00:48Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: Nicolas Brouard moved page Last birthday, age to Age last birthday: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--'''last birthday, age'''--&amp;gt;&lt;br /&gt;
{{TextTerms|S=322|P=32|Ed=I|CompleteIndexTerm=(LAST birthday, age)| content=&lt;br /&gt;
{{NewLineT|S=322|N=1}} {{&lt;br /&gt;
TofT|Lang=en|Ed=I|N=1|Color=yes|Te=age}}{{&lt;br /&gt;
TofT|Lang=ar|Ed=I|N=1|Te=سن (سن)}}{{&lt;br /&gt;
TofT|Lang=ar|Ed=I|N=1|SubN=2|Te=عمر (عمر)}}{{&lt;br /&gt;
TofT|Lang=de|Ed=I|N=1|Color=yes|Te=Alter}}{{&lt;br /&gt;
TofT|Lang=de|Ed=I|N=1|SubN=2|Te=chronologisches Alter}}{{&lt;br /&gt;
TofT|Lang=es|Ed=I|N=1|Te=edad}}{{&lt;br /&gt;
TofT|Lang=fi|Ed=I|N=1|Color=yes|Te=ikä}}{{&lt;br /&gt;
TofT|Lang=fi|Ed=I|N=1|SubN=2|Te=kronologinen ikä}}{{&lt;br /&gt;
TofT|Lang=fr|Ed=I|N=1|Te=âge chronologique}}{{&lt;br /&gt;
TofT|Lang=it|Ed=I|N=1|Color=yes|Te=età}}{{&lt;br /&gt;
TofT|Lang=pl|Ed=I|N=1|Te=wiek}}{{&lt;br /&gt;
TofT|Lang=pt|Ed=I|N=1|Color=yes|Te=IDADE}}{{&lt;br /&gt;
TofT|Lang=ru|Ed=I|N=1|Te=Возраст}}&lt;br /&gt;
{{NewLineT|S=322|N=2}} {{&lt;br /&gt;
TofT|Lang=en|Ed=I|N=2|Color=yes|Te=complete years}}{{&lt;br /&gt;
TofT|Lang=ar|Ed=I|N=2|Te=سنوات الكاملة (سنة)}}{{&lt;br /&gt;
TofT|Lang=de|Ed=I|N=2|Color=yes|Te=vollendetes Altersjahr}}{{&lt;br /&gt;
TofT|Lang=de|Ed=I|N=2|SubN=2|Te=vollendeter Altersmonat}}{{&lt;br /&gt;
TofT|Lang=de|Ed=I|N=2|SubN=3|Te=vollendeter Alterstag}}{{&lt;br /&gt;
TofT|Lang=es|Ed=I|N=2|Te=años cumplidos}}{{&lt;br /&gt;
TofT|Lang=fi|Ed=I|N=2|Color=yes|Te=täytetty ikävuosi}}{{&lt;br /&gt;
TofT|Lang=fr|Ed=I|N=2|Te=année accomplie}}{{&lt;br /&gt;
TofT|Lang=fr|Ed=I|N=2|SubN=2|Te=année révolue}}{{&lt;br /&gt;
TofT|Lang=fr|Ed=I|N=2|SubN=3|Te=mois accompli}}{{&lt;br /&gt;
TofT|Lang=fr|Ed=I|N=2|SubN=4|Te=mois révolu}}{{&lt;br /&gt;
TofT|Lang=it|Ed=I|N=2|Color=yes|Te=anno compiuto}}{{&lt;br /&gt;
TofT|Lang=pl|Ed=I|N=2|Te=pełne lata}}{{&lt;br /&gt;
TofT|Lang=pt|Ed=I|N=2|Color=yes|Te=ANOS completos}}{{&lt;br /&gt;
TofT|Lang=ru|Ed=I|N=2|Te=Число исполнившихся лет}}&lt;br /&gt;
{{NewLineT|S=322|N=3}} {{&lt;br /&gt;
TofT|Lang=en|Ed=I|N=3|Color=yes|Te=last birthday, age}}{{&lt;br /&gt;
TofT|Lang=ar|Ed=I|N=3|Te=عمر في آخر عيد ميلاد (آخر)}}{{&lt;br /&gt;
TofT|Lang=de|Ed=I|N=3|Color=yes|Te=Alter beim letzten Geburtstag}}{{&lt;br /&gt;
TofT|Lang=es|Ed=I|N=3|Te=edad en el último aniversario}}{{&lt;br /&gt;
TofT|Lang=fi|Ed=I|N=3|Color=yes|Te=ikä edellisenä syntymäpäivänä}}{{&lt;br /&gt;
TofT|Lang=fr|Ed=I|N=3|Te=âge au dernier anniversaire}}{{&lt;br /&gt;
TofT|Lang=it|Ed=I|N=3|Color=yes|Te=età all’ultimo compleanno}}{{&lt;br /&gt;
TofT|Lang=pl|Ed=I|N=3|Te=wiek w chwili  ostatnich urodzin}}{{&lt;br /&gt;
TofT|Lang=pt|Ed=I|N=3|Color=yes|Te=IDADE no último}}{{&lt;br /&gt;
TofT|Lang=ru|Ed=I|N=3|Te=Число лет, исполнившихся в последнюю годовщину рождения}}&lt;br /&gt;
{{NewLineT|S=322|N=4}} {{&lt;br /&gt;
TofT|Lang=en|Ed=I|N=4|Color=yes|Te=age at next birthday}}{{&lt;br /&gt;
TofT|Lang=ar|Ed=I|N=4|Te=عمر في عيد الميلاد المقبل (عمر)}}{{&lt;br /&gt;
TofT|Lang=de|Ed=I|N=4|Color=yes|Te=Alter beim nächsten Geburtstag}}{{&lt;br /&gt;
TofT|Lang=es|Ed=I|N=4|Te=edad en el próximo aniversario}}{{&lt;br /&gt;
TofT|Lang=fi|Ed=I|N=4|Color=yes|Te=ikä seuraavana syntymäpäivänä}}{{&lt;br /&gt;
TofT|Lang=fr|Ed=I|N=4|Te=âge au prochain anniversaire}}{{&lt;br /&gt;
TofT|Lang=it|Ed=I|N=4|Color=yes|Te=anno iniziato}}{{&lt;br /&gt;
TofT|Lang=it|Ed=I|N=4|SubN=2|Te=età al prossimo compleanno}}{{&lt;br /&gt;
TofT|Lang=pl|Ed=I|N=4|Te=wiek w chwili  następnych urodzin}}{{&lt;br /&gt;
TofT|Lang=pt|Ed=I|N=4|Color=yes|Te=IDADE no aniversário mais próximo}}{{&lt;br /&gt;
TofT|Lang=ru|Ed=I|N=4|Te=Число лет, которое исполнится в ближайшую годовщину рождения}}&lt;br /&gt;
{{NewLineT|S=322|N=5}} {{&lt;br /&gt;
TofT|Lang=en|Ed=I|N=5|Color=yes|Te=age at nearest birthday}}{{&lt;br /&gt;
TofT|Lang=ar|Ed=I|N=5|Te=عمر اقرب عيد ميلاد (عمر)}}{{&lt;br /&gt;
TofT|Lang=de|Ed=I|N=5|Color=yes|Te=nächstliegendes ganzes Altersjahr}}{{&lt;br /&gt;
TofT|Lang=de|Ed=I|N=5|SubN=2|Te=nächstliegender ganzer Altersmonat}}{{&lt;br /&gt;
TofT|Lang=es|Ed=I|N=5|Te=edad referida al cumpleaños más próximo}}{{&lt;br /&gt;
TofT|Lang=fi|Ed=I|N=5|Color=yes|Te=ikä lähimpänä syntymäpäivänä}}{{&lt;br /&gt;
TofT|Lang=fr|Ed=I|N=5|Te=âge arrondi à l’entier le plus proche}}{{&lt;br /&gt;
TofT|Lang=it|Ed=I|N=5|Color=yes|Te=età arrotondata al compleanno più vicino}}{{&lt;br /&gt;
TofT|Lang=pl|Ed=I|N=5|Te=wiek w chwili  najbliższych urodzin}}{{&lt;br /&gt;
TofT|Lang=pt|Ed=I|N=5|Color=yes|Te=IDADE arredondada para o inteiro mais próximo}}{{&lt;br /&gt;
TofT|Lang=ru|Ed=I|N=5|Te=Округленный возраст по ближайшей годовщине рождения}}&lt;br /&gt;
{{NewLineT|S=322|N=6}} {{&lt;br /&gt;
TofT|Lang=en|Ed=I|N=6|Color=yes|Te=exact age}}{{&lt;br /&gt;
TofT|Lang=ar|Ed=I|N=6|Te=عمر المضبوط (ضبط)}}{{&lt;br /&gt;
TofT|Lang=de|Ed=I|N=6|Color=yes|Te=genaues Alter}}{{&lt;br /&gt;
TofT|Lang=es|Ed=I|N=6|Te=edad exacta}}{{&lt;br /&gt;
TofT|Lang=fi|Ed=I|N=6|Color=yes|Te=tarkka ikä}}{{&lt;br /&gt;
TofT|Lang=fr|Ed=I|N=6|Te=âge exact}}{{&lt;br /&gt;
TofT|Lang=it|Ed=I|N=6|Color=yes|Te=età precisa}}{{&lt;br /&gt;
TofT|Lang=it|Ed=I|N=6|SubN=2|Te=età esatta}}{{&lt;br /&gt;
TofT|Lang=pl|Ed=I|N=6|Te=wiek dokładny}}{{&lt;br /&gt;
TofT|Lang=pt|Ed=I|N=6|Color=yes|Te=IDADE exata}}{{&lt;br /&gt;
TofT|Lang=ru|Ed=I|N=6|Te=Точный возраст}}|&lt;br /&gt;
Lang=en|Lang2=ar|Lang3=de|Lang4=es|Lang5=fi|Lang6=fr|Lang7=it|Lang8=pl|Lang9=pt|Lang10=ru}}&lt;br /&gt;
&lt;br /&gt;
{{Gallery&lt;br /&gt;
| caption={{Lang_audio_pronunciation_-en}}&lt;br /&gt;
| width=100&lt;br /&gt;
| height=20&lt;br /&gt;
| lines=3&lt;br /&gt;
|322_1_1_en_I Age.ogg|'''age''' &lt;br /&gt;
|322_2_1_en_I Complete years.ogg|'''complete years''' &lt;br /&gt;
|322_3_1_en_I Last birthday, age.ogg|'''last birthday, age''' &lt;br /&gt;
|322_4_1_en_I Age at next birthday.ogg|'''age at next birthday''' &lt;br /&gt;
|322_5_1_en_I Age at nearest birthday.ogg|'''age at nearest birthday''' &lt;br /&gt;
|322_6_1_en_I Exact age.ogg|'''exact age''' &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[en-I:last birthday, age]] [[ar-I:عمر في آخر عيد ميلاد (آخر)]] [[de-I:Alter beim letzten Geburtstag]] [[es-I:edad en el último aniversario]] [[fi-I:ikä edellisenä syntymäpäivänä]] [[fr-I:âge au dernier anniversaire]] [[it-I:età all’ultimo compleanno]] [[pl-I:wiek w chwili  ostatnich urodzin]] [[pt-I:IDADE no último]] [[ru-I:Число лет, исполнившихся в последнюю годовщину рождения]] &lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Term of the first edition of the multilingual demographic Dictionary]]&lt;br /&gt;
[[Category:Distribution and classification of the population]]&lt;br /&gt;
[[Category:32]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=Last_birthday,_age&amp;diff=9879</id>
		<title>Last birthday, age</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=Last_birthday,_age&amp;diff=9879"/>
				<updated>2017-11-07T10:00:48Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: Nicolas Brouard moved page Last birthday, age to Age last birthday: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Age last birthday]]&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=32&amp;diff=9877</id>
		<title>32</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=32&amp;diff=9877"/>
				<updated>2017-11-07T09:58:37Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: /* 322 */ age last birthday in original version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;!--'''32'''--&amp;gt;&lt;br /&gt;
{{CurrentStatus}}&lt;br /&gt;
{{Unmodified edition I}}&lt;br /&gt;
{{Summary}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
== 32 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 320 ===&lt;br /&gt;
&lt;br /&gt;
The {{TextTerm|sex structure|1|320|OtherIndexEntry=structure, sex}} or {{TextTerm|sex distribution|1|320|2|OtherIndexEntry=distribution, sex}} of the population is generally measured by the ratio of the total number of one {{TextTerm|sex|2|320}} to the total number of the population, or to the total number of the other sex. When the male sex is considered, we often speak of the {{TextTerm|masculinity|3|320}} of the population. The {{TextTerm|masculinity proportion|4|320|OtherIndexEntry=proportion, masculinity}} is the proportion of males in the total population. The {{TextTerm|sex ratio|5|320|OtherIndexEntry=ratio, sex}} is the ratio of the number of one sex to that of the other; the ratio of the number of men to the number of women is called the {{TextTerm|masculinity ratio|5|320|2|OtherIndexEntry=ratio, masculinity}}.&lt;br /&gt;
{{Note|2| {{NoteTerm|sex}} n. — {{NoteTerm|sexual}} adj.}}&lt;br /&gt;
{{Note|3| {{NoteTerm|masculinity}} n. — {{NoteTerm|masculine}} adj.}}&lt;br /&gt;
&lt;br /&gt;
=== 321 ===&lt;br /&gt;
&lt;br /&gt;
The terms {{TextTerm|males|1|321|IndexEntry=male}} and {{TextTerm|females|2|321|IndexEntry=female}} are commonly used in demography in place of {{TextTerm|men|1|321|2|IndexEntry=man}} and {{TextTerm|women|2|321|2|IndexEntry=woman}} to refer to persons of each sex at all ages including {{TextTerm|boys|3|321|IndexEntry=boy}} and {{TextTerm|girls|4|321|IndexEntry=girl}}, The word {{TextTerm|man|5|321}} is, however, also used in the sense of {{TextTerm|human being|5|321|2|OtherIndexEntry=being, human}}.&lt;br /&gt;
&lt;br /&gt;
=== 322 ===&lt;br /&gt;
&lt;br /&gt;
{{TextTerm|Age|1|322}} is another fundamental characteristic of population structure ({{RefNumber|14|4|4}}). Generally it is expressed in years, or years and months, save in the case of very small children, where it may be given in months and days only, or in years and decimal fractions of years. Statisticians often round off the age to the number of {{TextTerm|complete years|2|322|OtherIndexEntry=years, complete}} lived, and this is called {{TextTerm|age last birthday|3|322|OtherIndexEntry=birthday, age last}}. Where the fraction of the last complete year lived is counted as a whole year, as in some actuarial applications, we speak of {{TextTerm|age next birthday|4|322|IndexEntry=age at next birthday|OtherIndexEntry=birthday, age at next}}. Occasionally {{TextTerm|age at nearest birthday|5|322|OtherIndexEntry=birthday, age at nearest}} is given, where the age is rounded to the nearest integer. The term {{TextTerm|exact age|6|322|OtherIndexEntry=age, exact}} is used, particularly in life table calculations, to denote the date when an individual reaches his birthday. Thus, a man will reach exact age 25 on his 25th birthday, and a man aged 25 will be between exact age 25 and exact age 26.&lt;br /&gt;
&lt;br /&gt;
=== 323 ===&lt;br /&gt;
&lt;br /&gt;
In demography, certain terms which have been taken from everyday language are used to denote different {{TextTerm|age periods|1|323|IndexEntry=age period|OtherIndexEntry=period, age}}, though without precision. At the beginning of life comes {{TextTerm|childhood|2|323}}. In general a {{TextTerm|child|3|323}} is a person who has not yet attained puberty ({{RefNumber|62|0|2}}). In the very early days of life, the child is called {{TextTerm|new-born|4|323}}. A {{TextTerm|child at the breast|5|323|IndexEntry=child at the breast|OtherIndexEntry=breast, child at the}} is a child who has not yet been weaned from its mother. The term {{TextTerm|infant|6|323}} or {{TextTerm|baby|6|323|2}} may be used to denote a child who has not reached his first birthday, though in colloquial language it may be applied to slightly older children. Children who have not yet reached the compulsory school age are called {{TextTerm|pre-school children|7|323|IndexEntry=pre-school child|OtherIndexEntry=child, pre-school}}, a {{TextTerm|school child|8|323|IndexEntry=schoolchild}} is a child who habitually attends school.&lt;br /&gt;
{{Note|6| {{NoteTerm|infant}} n. — {{NoteTerm|infancy}} n., the period of being an infant —. {{NoteTerm|infantile}} adj. In legal terminology, an {{NoteTerm|infant}} is a person who has not yet attained his {{NoteTerm|majority}}, generally a person under 21 years of age, who is often called a {{NoteTerm|minor}}.}}&lt;br /&gt;
&lt;br /&gt;
=== 324 ===&lt;br /&gt;
&lt;br /&gt;
Childhood is followed by {{TextTerm|adolescence|1|324}} which is marked by puberty ({{RefNumber|62|0|2}}). An {{TextTerm|adolescent|2|324}} is a person, who is entering adolescence. The terms young {{TextTerm|persons|3|324|IndexEntry=young person|OtherIndexEntry=person, young}} or {{TextTerm|juveniles|3|324|2|IndexEntry=juvenile}} are employed for men and women approaching {{TextTerm|adult age|4|324|OtherIndexEntry=age, adult}}. Those who have reached {{TextTerm|maturity|4|324|2}} are called {{TextTerm|adults|5|324|IndexEntry=adult}}. {{TextTerm|Old age|6|324|OtherIndexEntry=age, old}} is frequently taken as beginning at the {{TextTerm|age at retirement|7|324|OtherIndexEntry=retirement, age at}} ({{RefNumber|36|1|3}}) i.e., about 60 or 65 years. Persons above that age are called {{TextTerm|old people|8|324|IndexEntry=old age people|OtherIndexEntry=people old}}.&lt;br /&gt;
{{Note|3| The term {{NoteTerm|youth}} is employed for a male young person, and also for the age period referred to.}}&lt;br /&gt;
{{Note|4| {{NoteTerm|maturity}} n. - {{NoteTerm|mature}} adj. - {{NoteTerm|maturation}} n.,the process of growing to maturity.}}&lt;br /&gt;
&lt;br /&gt;
=== 325 ===&lt;br /&gt;
&lt;br /&gt;
The age distribution of a population is either given by {{TextTerm|individual years of age|1|325|OtherIndexEntry=age, individual years of}} or by {{TextTerm|age groups|2|325|IndexEntry=age group|OtherIndexEntry=group, age}}, which may be {{TextTerm|quinquennial age groups|3|325|OtherIndexEntry=group, quinquennial}} or {{TextTerm|quinary age groups|3|325|2|OtherIndexEntry=group, quinary}}, or {{TextTerm|broad age groups|4|325|IndexEntry=broad age group|OtherIndexEntry=group, broad}}, such as 0-19 years, 20-59 {{NoteTerm|years}}, 60 years and over. Occasionally a population’s {{TextTerm|age distribution|6|325|OtherIndexEntry=distribution, age}} or {{TextTerm|age structure|6|325|2|OtherIndexEntry=structure, age}} is given by classifying the population by {{TextTerm|year of birth|5|325|OtherIndexEntry=birth, year of}}. Graphically an age distribution may be represented by a {{TextTerm|population pyramid|7|325|OtherIndexEntry=pyramid, population}} which is a histogram ({{RefNumber|15|5|8}}) showing the population by age and sex and so named because of its pyramidal shape.&lt;br /&gt;
&lt;br /&gt;
=== 326 ===&lt;br /&gt;
&lt;br /&gt;
The {{TextTerm|mean age|1|326|OtherIndexEntry=age, mean}} of a population is the average age of all its members, {{TextTerm|the median age|2|326|IndexEntry=median age|OtherIndexEntry=age, median}} is the age which divides it into two numerically equal groups. When the proportion of old people in a population increases, we speak of the {{TextTerm|ageing|3|326}} of the population. An increase in the proportion of young people may be called {{TextTerm|rejuvenation|4|326}} of the population. The term ageing used above should not be confused with the technique of {{TextTerm|ageing|5|326}} a population. This technique consists of applying certain {{TextTerm|ageing factors|6|326|IndexEntry=ageing factor|OtherIndexEntry=factor, ageing}} to particular age groups of the population, in order to compute the total number of survivors of that age group at a later date.&lt;br /&gt;
&lt;br /&gt;
=== 327 ===&lt;br /&gt;
&lt;br /&gt;
Ageing ({{RefNumber|32|6|5}}) of a population must also be distinguished from {{TextTerm|individual ageing|1|327|OtherIndexEntry=ageing, individual}} or {{TextTerm|senescence|1|327|2}}, and from an increase in the duration of human life or {{TextTerm|increased longevity|2|327|OtherIndexEntry=longevity, increased}} which is the result of improved standards oi living and of medical discoveries. An individual’s {{TextTerm|physiological age|3|327|OtherIndexEntry=age, physiological}} will depend on the state of his tissues and organs. In the case of children we speak of {{TextTerm|mental age|4|327|OtherIndexEntry=age, mental}}, which is defined as the age at which the attainments of the individual child as measured by certain tests can be performed by the average child. In studies of mental and physiological age, a distinction is made between these ages and chronological age measured by the time elapsed since the individual’s {{TextTerm|date of birth|5|327|OtherIndexEntry=birth date}}. The ratio of mental to chronological age is called the {{TextTerm|intelligence quotient|6|327|OtherIndexEntry=quotient, intelligence}} (often abbreviated to {{NoteTerm|I.Q.)}}.&lt;br /&gt;
{{Note|1| {{NoteTerm|senescence}} n. — {{NoteTerm|senescent}} adj.}}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;center&amp;gt;&amp;lt;font size=12&amp;gt;* * * &amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;==&lt;br /&gt;
{{SummaryShort}}&lt;br /&gt;
&lt;br /&gt;
{{OtherLanguages|32}}&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=22&amp;diff=9876</id>
		<title>22</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=22&amp;diff=9876"/>
				<updated>2017-07-21T08:59:25Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: /* 22 */ from 21&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;!--'''22'''--&amp;gt;&lt;br /&gt;
{{CurrentStatus}}&lt;br /&gt;
{{Unmodified edition I}}&lt;br /&gt;
{{Summary}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
== 22 ==&lt;br /&gt;
=== 220 ===&lt;br /&gt;
&lt;br /&gt;
The process of obtaining statistical data from documents not primarily designed for this purpose is called {{TextTerm|extraction|1|220}}. Data may be extracted from documents {{TextTerm|mechanically|2|220}} by using {{TextTerm|tabulating machinery|3|220|OtherIndexEntry=machinery, tabulating}} or {{TextTerm|punched card machines|3|220|2|IndexEntry=punched machine|OtherIndexEntry=machine, punched card}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 221 ===&lt;br /&gt;
&lt;br /&gt;
To extract information mechanically it is first necessary to {{TextTerm|code|1|221}} the information on the {{TextTerm|basic document|2|221|OtherIndexEntry=document, basic}}. This process consists of the translation of the information into numerical form by means of {{TextTerm|code numbers|3|221|IndexEntry=cluster number|OtherIndexEntry=number, code}}. The key by which this information is translated is known as a {{TextTerm|coding scheme|4|221|OtherIndexEntry=scheme, coding}}. Such a scheme limits possible sub-division of the data, but in the ultimate tabulation or breakdown certain codes may be shown in combination. A combination of individual codes may be called a {{TextTerm|classification|5|221}} (cf. {{RefNumber|13|0|7}}*) where the information is shown under certain {{TextTerm|heads|6|221|IndexEntry=head}} (cf. {{RefNumber|11|0|2}}) or {{TextTerm|headings|6|221|2|IndexEntry=heading}}.&lt;br /&gt;
{{Note|1| {{NoteTerm|code}} n. — {{NoteTerm|code}} v. — {{NoteTerm|coder}} n''''''., one who codes.}}&lt;br /&gt;
&lt;br /&gt;
=== 222 ===&lt;br /&gt;
&lt;br /&gt;
There are four fundamental operations in mechanical tabulation. {{TextTerm|Punching|1|222}} consists of the transfer of the information to a {{TextTerm|punched card|2|222|OtherIndexEntry=card, punched}} sometimes called a {{TextTerm|punch card|2|222|2|OtherIndexEntry=card, punch}}. The information is shown on that card by punching a hole in a given position. {{TextTerm|Verification|3|222}} is the process of checking the accuracy of the punching. {{TextTerm|Sorting|4|222}} is the arrangement of cards in a certain order, and {{TextTerm|tabulation|5|222}} consists of counting the cards or the information on them in certain groups and {{TextTerm|totalling|6|222}} them in these groups. The mechanical tabulation of data is in process of very rapid development and new terms and operations are being introduced almost continuously. Thus {{TextTerm|mark sensing|7|222|OtherIndexEntry=sensing, mark}} is a process by which pencil marks on a document are automatically translated into punched holes on the same document. This operation has the effect of mechanizing the two manual processes of punching and verification.&lt;br /&gt;
{{Note|3| {{NoteTerm|verification}} n. — {{NoteTerm|verify}} v. 5. {{NoteTerm|tabulation}} n. — {{NoteTerm|tabulate}} v.}}&lt;br /&gt;
&lt;br /&gt;
=== 223 ===&lt;br /&gt;
&lt;br /&gt;
The machines used in these operations are the {{TextTerm|punch|1|223}}, {{TextTerm|verifier|2|223}}, {{TextTerm|sorter|3|223}} and {{TextTerm|tabulator|4|223}}. Other machines used in mechanical tabulation are the {{TextTerm|reproducer|5|223}}, which copies information from one punched card to another, the {{TextTerm|interpreter|6|223}}, which converts the information contained on the cards as punched holes into print on the card, and the {{TextTerm|collator|7|223}}, which is used for the comparison or merging of different packs of cards. The {{TextTerm|summary punch|8|223|OtherIndexEntry=punch summary}} is used for preparing cards, sometimes called {{TextTerm|summary cards|9|223|IndexEntry=summary card|OtherIndexEntry=card summary}}, containing intermediate totals, which can then be used in later tabulations.&lt;br /&gt;
&lt;br /&gt;
=== 224 ===&lt;br /&gt;
&lt;br /&gt;
{{TextTerm|Adding machines|1|224|IndexEntry=adding machine|OtherIndexEntry=machine, adding}} are used for the processes of addition and subtraction, the term {{TextTerm|calculating machine|2|224|OtherIndexEntry=machine, calculating}} being in general reserved for machines capable of performing also multiplication and division. Small calculating machines and adding machines are often referred to as {{TextTerm|desk machines|3|224|IndexEntry=desk machine|OtherIndexEntry=machine, desk}}, The {{TextTerm|multiplier|4|224}} is a punched card machine, which performs certain calculations and punches the results on the cards containing the original data. {{TextTerm|Electronic computing|5|224|OtherIndexEntry=computing, electronic}} makes it possible to perform a large number of calculations within a very short space of time. The machines that do this are {{TextTerm|electronic computers|6|224|IndexEntry=electronic computer|OtherIndexEntry=computer, electronic}}.&lt;br /&gt;
&lt;br /&gt;
=== 225 ===&lt;br /&gt;
&lt;br /&gt;
{{TextTerm|Slide-rules|1|225|IndexEntry=slide-rule}} are used as an aid to calculations. {{TextTerm|Nomographic methods of computation|2|225|IndexEntry=nomographic method of computation|OtherIndexEntry=computation, nomographic method of}} may also be used. A {{TextTerm|nomogram|3|225}} is a figure ({{RefNumber|15|5|2}}) whereby calculations can often be made at sight.&lt;br /&gt;
{{Note|3| {{NoteTerm|nomography n}}., the part of mathematics dealing with the construction and use of nomograms.}}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;center&amp;gt;&amp;lt;font size=12&amp;gt;* * * &amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;==&lt;br /&gt;
{{SummaryShort}}&lt;br /&gt;
&lt;br /&gt;
{{OtherLanguages|22}}&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=21&amp;diff=9875</id>
		<title>21</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=21&amp;diff=9875"/>
				<updated>2017-07-21T08:58:48Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: /* 220 */ Move to section 22&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;!--'''21'''--&amp;gt;&lt;br /&gt;
{{CurrentStatus}}&lt;br /&gt;
{{Unmodified edition I}}&lt;br /&gt;
{{Summary}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
== 21 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 210 ===&lt;br /&gt;
&lt;br /&gt;
{{TextTerm|Census operations|1|210|OtherIndexEntry=operation, census}} usually begin with the delimitation of {{TextTerm|census areas|2|210|IndexEntry=census area|OtherIndexEntry=area census}} and {{TextTerm|enumeration districts|3|210|IndexEntry=enumeration district|OtherIndexEntry=district enumeration}}. Enumeration districts in towns may consist of one or several {{TextTerm|blocks|4|210|IndexEntry=block}}, a block being defined as a group of buildings around which it is possible to walk without crossing a street, or which are bounded by some obstacle, such as a railway line, or a river. Most of the larger cities of the United States of America have been divided into statistical areas called {{TextTerm|census tracts|5|210|IndexEntry=census tract|OtherIndexEntry=tract, census}}, which may contain several enumeration districts.&lt;br /&gt;
&lt;br /&gt;
=== 211 ===&lt;br /&gt;
&lt;br /&gt;
{{TextTerm|Vital records|1|211|OtherIndexEntry=record, vital}} may be defined as those dealing with births, deaths, stillbirths, foetal deaths, marriages, adoptions, legitimations, recognitions, annulments, divorces and separations; in short all the events which have to do with an individual’s entrance into or departure from life, together with changes in civil status. For legal reasons such events have, in many countries, long been recorded in {{TextTerm|registers|2|211|IndexEntry=register}} of which the most common are the register of {{TextTerm|births|3|211|IndexEntry=register of births|OtherIndexEntry=births, register of}}, the {{TextTerm|register of marriages|4|211|OtherIndexEntry=marriages, register of}} and the {{TextTerm|register of deaths|5|211|OtherIndexEntry=deaths, register of}}. {{TextTerm|Vital statistics|6|211|OtherIndexEntry=statistics, vital}} or {{TextTerm|registration statistics|6|211|2|OtherIndexEntry=statistics, registration}} are prepared from these registers, generally by means of {{TextTerm|transcripts|7|211|IndexEntry=transcript}} or {{TextTerm|transcriptions|7|211|2|IndexEntry=transcription}} from the registers or from {{TextTerm|draft entries|7|211|3|IndexEntry=draft entry|OtherIndexEntry=entries, draft}} in the registers.&lt;br /&gt;
{{Note|2| {{NoteTerm|register}} n. — {{NoteTerm|register}} v. — {{NoteTerm|registration}} n., the act of registering. Modern registers are the descendants of the old {{NoteTerm|parish}} registers or {{NoteTerm|parochial registers}} in which there were registered {{NoteTerm|baptisms}}, {{NoteTerm|marriages}} and {{NoteTerm|burials}}.}}&lt;br /&gt;
&lt;br /&gt;
=== 212 ===&lt;br /&gt;
&lt;br /&gt;
The registers mentioned in the preceding paragraphs are distinct from the {{TextTerm|population registers|1|212|IndexEntry=population register|OtherIndexEntry=register, population}} of those countries which possess a system of {{TextTerm|continuous registration|2|212|OtherIndexEntry=registration, continuous}}. In these registers every member of the population or every family may be represented by a {{TextTerm|card|3|212}}, and the register is {{TextTerm|maintained|4|212|IndexEntry=maintain}} or {{TextTerm|kept up to date|4|212|2|IndexEntry=keep up to date}} through information which reaches it through the local registration officers and through registration of {{TextTerm|changes of residence|5|212|IndexEntry=change of residence|OtherIndexEntry=residence, change of}}. It is generally {{TextTerm|collated|6|212}} (cf. {{RefNumber|13|0|9}}*) or {{TextTerm|matched|6|212|2|IndexEntry=match}} with the census results and brought up to date at regular intervals by special {{TextTerm|checks|7|212|IndexEntry=check}}.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;center&amp;gt;&amp;lt;font size=12&amp;gt;* * * &amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;==&lt;br /&gt;
{{SummaryShort}}&lt;br /&gt;
&lt;br /&gt;
{{OtherLanguages|21}}&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=Template:NoteTerm&amp;diff=9870</id>
		<title>Template:NoteTerm</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=Template:NoteTerm&amp;diff=9870"/>
				<updated>2017-06-25T19:43:42Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--'''Template:NoteTerm'''--&amp;gt;&amp;lt;b&amp;gt;{{{1}}}&amp;lt;/b&amp;gt;{{&lt;br /&gt;
  #if: {{{2|}}} |({{{2}}})|}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Index]] {{PAGENAME}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=Template:TextTerm&amp;diff=9872</id>
		<title>Template:TextTerm</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=Template:TextTerm&amp;diff=9872"/>
				<updated>2017-06-25T19:43:42Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--'''Template:TextTerm'''--&amp;gt;{{&lt;br /&gt;
  #if: {{{IndexEntry|}}} |&lt;br /&gt;
     &amp;lt;b&amp;gt;[[{{{IndexEntry}}}|{{{1}}}]]&amp;lt;/b&amp;gt;|&lt;br /&gt;
   &amp;lt;b&amp;gt;[[{{{1}}}]]&amp;lt;/b&amp;gt;}}&amp;lt;sup&amp;gt;{{{2}}}&amp;lt;/sup&amp;gt;{{&lt;br /&gt;
  #if: {{{EnglishEntry|}}} |({{{EnglishEntry}}})|}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Dictionary]] {{PAGENAME}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=Template:RefNumber&amp;diff=9874</id>
		<title>Template:RefNumber</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=Template:RefNumber&amp;diff=9874"/>
				<updated>2017-06-25T19:43:42Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--'''Template:RefNumber'''--&amp;gt;{{&lt;br /&gt;
  #if: {{{Page|}}} |&lt;br /&gt;
[[{{{Page}}}#{{{1}}}{{{2}}}|{{{1}}}{{{2}}}-{{{3}}}]]|&lt;br /&gt;
[[{{{1}}}#{{{1}}}{{{2}}}|{{{1}}}{{{2}}}-{{{3}}}]]}}&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=MediaWiki:RefToolbarBaseTextTerm.js&amp;diff=9856</id>
		<title>MediaWiki:RefToolbarBaseTextTerm.js</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=MediaWiki:RefToolbarBaseTextTerm.js&amp;diff=9856"/>
				<updated>2017-06-25T19:43:42Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// Global object&lt;br /&gt;
if (typeof CiteTB == 'undefined') {&lt;br /&gt;
  var CiteTB = {&lt;br /&gt;
    &amp;quot;Templates&amp;quot; : {}, // All templates&lt;br /&gt;
    &amp;quot;Options&amp;quot; : {}, // Global options&lt;br /&gt;
    &amp;quot;UserOptions&amp;quot; : {}, // User options&lt;br /&gt;
    &amp;quot;DefaultOptions&amp;quot; : {}, // Script defaults&lt;br /&gt;
    &amp;quot;ErrorChecks&amp;quot; : {} // Error check functions&lt;br /&gt;
  };&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (typeof mw.usability == 'undefined') {&lt;br /&gt;
  mw.usability = {};&lt;br /&gt;
  mw.usability.getMsg = function(m) { return mw.messages.get(m); }&lt;br /&gt;
  mw.usability.addMessages = function(msgs) { mw.messages.set(msgs); };&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Object for cite templates&lt;br /&gt;
function citeTemplate(templatename, shortform, basicfields, expandedfields) {&lt;br /&gt;
  // Properties&lt;br /&gt;
  this.templatename = templatename; // The template name - &amp;quot;cite web&amp;quot;, &amp;quot;cite book&amp;quot;, etc.&lt;br /&gt;
  this.shortform = shortform; // A short form, used for the dropdown box&lt;br /&gt;
  this.basic = basicfields; // Basic fields - author, title, publisher...&lt;br /&gt;
  // Less common - quote, archiveurl - should be everything the template supports minus the basic ones&lt;br /&gt;
  this.extra = expandedfields;&lt;br /&gt;
&lt;br /&gt;
  // Add it to the list&lt;br /&gt;
  CiteTB.Templates[this.templatename] = this;&lt;br /&gt;
  // Methods&lt;br /&gt;
  this.makeFormInner = function(fields) {&lt;br /&gt;
    var i=0;&lt;br /&gt;
    var trs = new Array();&lt;br /&gt;
    for (i=0; i&amp;lt;fields.length; i++) {&lt;br /&gt;
      var fieldobj = fields[i];&lt;br /&gt;
      var field = fieldobj.field;&lt;br /&gt;
      var ad = false;&lt;br /&gt;
      if ($j.inArray(field, CiteTB.getOption('autodate fields')) != -1 ) {&lt;br /&gt;
        im = $j('&amp;lt;img /&amp;gt;').attr('src', '//upload.wikimedia.org/wikipedia/commons/thumb/7/7b/Nuvola_apps_date.svg/20px-Nuvola_apps_date.svg.png');&lt;br /&gt;
        im.attr('alt', mw.usability.getMsg('cite-insert-date')).attr('title', mw.usability.getMsg('cite-insert-date'));&lt;br /&gt;
        var ad = $j('&amp;lt;a /&amp;gt;').attr('href', '#');&lt;br /&gt;
        ad.append(im);&lt;br /&gt;
        ad.attr('id', 'cite-date-'+CiteTB.escStr(this.shortform)+'-'+field);&lt;br /&gt;
        $j('#cite-date-'+CiteTB.escStr(this.shortform)+'-'+field).live('click', CiteTB.fillAccessdate);&lt;br /&gt;
      }&lt;br /&gt;
	  &lt;br /&gt;
      if (fieldobj.autofillid) {&lt;br /&gt;
        var autotype = fieldobj.autofillid;&lt;br /&gt;
        im = $j('&amp;lt;img /&amp;gt;').attr('src', '//upload.wikimedia.org/wikipedia/commons/thumb/1/17/System-search.svg/20px-System-search.svg.png');&lt;br /&gt;
        im.attr('alt', mw.usability.getMsg('cite-autofill-alt')).attr('title', mw.usability.getMsg('cite-autofill-alt'));&lt;br /&gt;
        var ad = $j('&amp;lt;a /&amp;gt;').attr('href', '#');&lt;br /&gt;
        ad.append(im);&lt;br /&gt;
        ad.attr('id', 'cite-auto-'+CiteTB.escStr(this.shortform)+'-'+field+'-'+autotype);&lt;br /&gt;
        $j('#cite-auto-'+CiteTB.escStr(this.shortform)+'-'+field+'-'+autotype).live('click', CiteTB.initAutofill);	  &lt;br /&gt;
      }&lt;br /&gt;
	  &lt;br /&gt;
      var display = mw.usability.getMsg('cite-'+field+'-label');&lt;br /&gt;
      var tooltip = fieldobj.tooltip ? $j('&amp;lt;abbr /&amp;gt;').attr('title', mw.usability.getMsg(fieldobj.tooltip)).text('*') : false;&lt;br /&gt;
      &lt;br /&gt;
      var input = '';&lt;br /&gt;
      if (ad) {&lt;br /&gt;
        input = $j('&amp;lt;input tabindex=&amp;quot;1&amp;quot; style=&amp;quot;width:85%&amp;quot; type=&amp;quot;text&amp;quot; /&amp;gt;');&lt;br /&gt;
      } else {&lt;br /&gt;
        input = $j('&amp;lt;input tabindex=&amp;quot;1&amp;quot; style=&amp;quot;width:100%&amp;quot; type=&amp;quot;text&amp;quot; /&amp;gt;');&lt;br /&gt;
      }&lt;br /&gt;
      input.attr('id', 'cite-'+CiteTB.escStr(this.shortform)+'-'+field);&lt;br /&gt;
	  if (fieldobj.autofillprop) {&lt;br /&gt;
	    input.addClass('cite-'+CiteTB.escStr(this.shortform)+'-'+fieldobj.autofillprop);&lt;br /&gt;
	  }&lt;br /&gt;
      var label = $j('&amp;lt;label /&amp;gt;');&lt;br /&gt;
      label.attr('for', 'cite-'+CiteTB.escStr(this.shortform)+'-'+field).text(display);&lt;br /&gt;
      if (tooltip) {&lt;br /&gt;
        label.append(tooltip);&lt;br /&gt;
      }&lt;br /&gt;
      var style = 'text-align:right; width:20%;';&lt;br /&gt;
      if (i%2 == 1) {&lt;br /&gt;
        style += ' padding-left:1em;';&lt;br /&gt;
      } else {&lt;br /&gt;
        var tr = $j('&amp;lt;tr /&amp;gt;');&lt;br /&gt;
      }&lt;br /&gt;
      var td1 = $j('&amp;lt;td class=&amp;quot;cite-form-td&amp;quot; /&amp;gt;').attr('style', style);&lt;br /&gt;
      td1.append(label);&lt;br /&gt;
      tr.append(td1);&lt;br /&gt;
      var td2 = $j('&amp;lt;td class=&amp;quot;cite-form-td&amp;quot; style=&amp;quot;width:30%&amp;quot; /&amp;gt;');&lt;br /&gt;
      td2.append(input);&lt;br /&gt;
      if (ad) {&lt;br /&gt;
        td2.append(ad);&lt;br /&gt;
      }&lt;br /&gt;
      tr.append(td2);&lt;br /&gt;
      if (i%2 == 0) {&lt;br /&gt;
        trs.push(tr);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    return trs;&lt;br /&gt;
  &lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  // gives a little bit of HTML so the open form can be identified&lt;br /&gt;
  this.getInitial = function() {&lt;br /&gt;
    var hidden = $j('&amp;lt;input type=&amp;quot;hidden&amp;quot; class=&amp;quot;cite-template&amp;quot; /&amp;gt;');&lt;br /&gt;
    hidden.val(this.templatename);&lt;br /&gt;
    return hidden;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  // makes the form used in the dialog boxes&lt;br /&gt;
  this.getForm = function() {&lt;br /&gt;
    var main = $j(&amp;quot;&amp;lt;div class='cite-form-container' /&amp;gt;&amp;quot;);&lt;br /&gt;
    var form1 = $j('&amp;lt;table style=&amp;quot;width:100%; background-color:transparent;&amp;quot; class=&amp;quot;cite-basic-fields&amp;quot; /&amp;gt;');&lt;br /&gt;
    var i=0;&lt;br /&gt;
    var trs = this.makeFormInner(this.basic);&lt;br /&gt;
    for (var i=0; i&amp;lt;trs.length; i++) {&lt;br /&gt;
      form1.append(trs[i]);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    var form2 = $j('&amp;lt;table style=&amp;quot;width:100%; background-color:transparent; display:none&amp;quot; class=&amp;quot;cite-extra-fields&amp;quot;&amp;gt;');&lt;br /&gt;
    trs = this.makeFormInner(this.extra);&lt;br /&gt;
    for (var i=0; i&amp;lt;trs.length; i++) {&lt;br /&gt;
      form2.append(trs[i]);&lt;br /&gt;
    }    &lt;br /&gt;
    main.append(form1).append(form2);&lt;br /&gt;
    &lt;br /&gt;
    var form3 = $j('&amp;lt;table style=&amp;quot;width:100%; background-color:transparent;padding-top:1em&amp;quot; class=&amp;quot;cite-other-fields&amp;quot;&amp;gt;');&lt;br /&gt;
    var tr = $j('&amp;lt;tr /&amp;gt;');&lt;br /&gt;
    var td1 = $j('&amp;lt;td class=&amp;quot;cite-form-td&amp;quot; style=&amp;quot;text-align:right; width:20%&amp;quot; /&amp;gt;');&lt;br /&gt;
    var label1 = $j('&amp;lt;label /&amp;gt;');&lt;br /&gt;
    label1.attr('for', &amp;quot;cite-&amp;quot;+CiteTB.escStr(this.shortform)+'-name').text(mw.usability.getMsg('cite-name-label'));&lt;br /&gt;
    td1.append(label1);&lt;br /&gt;
    var td2 = $j('&amp;lt;td class=&amp;quot;cite-form-td&amp;quot; style=&amp;quot;width:30%&amp;quot; /&amp;gt;');&lt;br /&gt;
    var input1 = $j('&amp;lt;input tabindex=&amp;quot;1&amp;quot; style=&amp;quot;width:100%&amp;quot; type=&amp;quot;text&amp;quot; /&amp;gt;');&lt;br /&gt;
    input1.attr('id', 'cite-'+CiteTB.escStr(this.shortform)+'-name');&lt;br /&gt;
    td2.append(input1);&lt;br /&gt;
    var td3 = $j('&amp;lt;td class=&amp;quot;cite-form-td&amp;quot; style=&amp;quot;text-align:right; padding-left:1em; width:20%&amp;quot;&amp;gt;');&lt;br /&gt;
    var label2 = $j('&amp;lt;label /&amp;gt;');&lt;br /&gt;
    label2.attr('for', 'cite-'+CiteTB.escStr(this.shortform)+'-group').text(mw.usability.getMsg('cite-group-label'));&lt;br /&gt;
    td3.append(label2);&lt;br /&gt;
    var td4 = $j('&amp;lt;td class=&amp;quot;cite-form-td&amp;quot; style=&amp;quot;width:30%&amp;quot; /&amp;gt;');&lt;br /&gt;
    var input2 = $j('&amp;lt;input tabindex=&amp;quot;1&amp;quot; style=&amp;quot;width:100%&amp;quot; type=&amp;quot;text&amp;quot; /&amp;gt;');&lt;br /&gt;
    input2.attr('id', 'cite-'+CiteTB.escStr(this.shortform)+'-group');&lt;br /&gt;
    td4.append(input2);&lt;br /&gt;
    tr.append(td1).append(td2).append(td3).append(td4);&lt;br /&gt;
    form3.append(tr);&lt;br /&gt;
    main.append(form3);&lt;br /&gt;
    var extras = $j('&amp;lt;div /&amp;gt;');&lt;br /&gt;
    extras.append('&amp;lt;input type=&amp;quot;hidden&amp;quot; class=&amp;quot;cite-form-status&amp;quot; value=&amp;quot;closed&amp;quot; /&amp;gt;');&lt;br /&gt;
    var hidden = $j('&amp;lt;input type=&amp;quot;hidden&amp;quot; class=&amp;quot;cite-template&amp;quot; /&amp;gt;');&lt;br /&gt;
    hidden.val(this.templatename);&lt;br /&gt;
    extras.append(hidden);&lt;br /&gt;
    var span1 = $j('&amp;lt;span class=&amp;quot;cite-preview-label&amp;quot; style=&amp;quot;display:none;&amp;quot; /&amp;gt;');&lt;br /&gt;
    span1.text(mw.usability.getMsg('cite-raw-preview'));&lt;br /&gt;
    extras.append(span1).append('&amp;lt;div class=&amp;quot;cite-ref-preview&amp;quot; style=&amp;quot;padding:0.5em; font-size:110%&amp;quot; /&amp;gt;');&lt;br /&gt;
    var span2 = $j('&amp;lt;span class=&amp;quot;cite-prev-parsed-label&amp;quot; style=&amp;quot;display:none;&amp;quot; /&amp;gt;');&lt;br /&gt;
    span2.text(mw.usability.getMsg('cite-parsed-label'));&lt;br /&gt;
    extras.append(span2).append('&amp;lt;div class=&amp;quot;cite-preview-parsed&amp;quot; style=&amp;quot;padding-bottom:0.5em; font-size:110%&amp;quot; /&amp;gt;');&lt;br /&gt;
    var link = $j('&amp;lt;a href=&amp;quot;#&amp;quot; class=&amp;quot;cite-prev-parse&amp;quot; style=&amp;quot;margin:0 1em 0 1em; display:none; color:darkblue&amp;quot; /&amp;gt;');&lt;br /&gt;
    link.text(mw.usability.getMsg('cite-form-parse'));&lt;br /&gt;
    extras.append(link);    &lt;br /&gt;
    main.append(extras);&lt;br /&gt;
    &lt;br /&gt;
    return main;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Class for error checks&lt;br /&gt;
    FIXME: DOCS OUT OF DATE&lt;br /&gt;
   type - type of error check - current options:&lt;br /&gt;
    * 'refcheck' - apply a function on each ref individually&lt;br /&gt;
      * function should accept a ref object, return a string&lt;br /&gt;
    * 'reflist' - apply a function on the entire ref list&lt;br /&gt;
      * function should accept an array of ref objects, return an array of strings&lt;br /&gt;
    * 'search' - apply a function ro the page text&lt;br /&gt;
      * function should accept the page text as a string, return an array of strings&lt;br /&gt;
   The strings returned by the function should be valid HTML&lt;br /&gt;
   &lt;br /&gt;
   func - The function described above&lt;br /&gt;
   testname - Name of the error check, must not contain spaces&lt;br /&gt;
   desc - A short description of the test&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
function citeErrorCheck(obj) {&lt;br /&gt;
  this.obj = obj&lt;br /&gt;
  CiteTB.ErrorChecks[this.obj.testname] = this;&lt;br /&gt;
  &lt;br /&gt;
  this.run = function() {&lt;br /&gt;
    var errors = [];&lt;br /&gt;
    switch(this.obj['type']) {&lt;br /&gt;
      case &amp;quot;refcheck&amp;quot;:&lt;br /&gt;
        CiteTB.loadRefs();&lt;br /&gt;
        for(var i=0; i&amp;lt;CiteTB.mainRefList.length; i++) {&lt;br /&gt;
          var e = this.obj.func(CiteTB.mainRefList[i]);&lt;br /&gt;
          if (e) {&lt;br /&gt;
            errors.push(e);&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
        break;&lt;br /&gt;
      case &amp;quot;reflist&amp;quot;:&lt;br /&gt;
        CiteTB.loadRefs();&lt;br /&gt;
        errors = this.obj.func(CiteTB.mainRefList);&lt;br /&gt;
        break;&lt;br /&gt;
      case &amp;quot;search&amp;quot;:&lt;br /&gt;
        var func = this.obj.func&lt;br /&gt;
        CiteTB.getPageText(function(text) {&lt;br /&gt;
          errors = func(text);&lt;br /&gt;
        });&lt;br /&gt;
        break;&lt;br /&gt;
    }&lt;br /&gt;
    return errors;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  this.getRow = function() {&lt;br /&gt;
    var row = $j(&amp;quot;&amp;lt;li /&amp;gt;&amp;quot;);&lt;br /&gt;
    var check = $j(&amp;quot;&amp;lt;input type='checkbox' name='cite-err-test' /&amp;gt;&amp;quot;);&lt;br /&gt;
    check.attr('value', this.obj.testname);&lt;br /&gt;
    var label = $j(&amp;quot;&amp;lt;label /&amp;gt;&amp;quot;).html(mw.usability.getMsg(this.obj.desc));&lt;br /&gt;
    label.attr('for', this.obj.testname); &lt;br /&gt;
    row.append(check).append(' &amp;amp;ndash; ').append(label);&lt;br /&gt;
    return row;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
$j('head').trigger('reftoolbarbase');&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=MediaWiki:RefToolbarTextTerm.js&amp;diff=9858</id>
		<title>MediaWiki:RefToolbarTextTerm.js</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=MediaWiki:RefToolbarTextTerm.js&amp;diff=9858"/>
				<updated>2017-06-25T19:43:42Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*jshint smarttabs:true, loopfunc:true,forin:false*/&lt;br /&gt;
/*global mw, $, importScript */&lt;br /&gt;
// TODO: make autodate an option in the CiteTemplate object, not a preference&lt;br /&gt;
&lt;br /&gt;
// Global object&lt;br /&gt;
// TODO:&lt;br /&gt;
// * Remove this once the page is moved to a module 'ext.gadget.refToolbarDialogs' depending on 'ext.gadget.refToolbarBase'&lt;br /&gt;
if (typeof CiteTB === 'undefined') {&lt;br /&gt;
  var CiteTB = {&lt;br /&gt;
    &amp;quot;Templates&amp;quot; : {}, // All templates&lt;br /&gt;
    &amp;quot;Options&amp;quot; : {}, // Global options&lt;br /&gt;
    &amp;quot;UserOptions&amp;quot; : {}, // User options&lt;br /&gt;
    &amp;quot;DefaultOptions&amp;quot; : {}, // Script defaults&lt;br /&gt;
    &amp;quot;ErrorChecks&amp;quot; : {} // Error check functions&lt;br /&gt;
  };&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Only execute on edit, unless it is a user JS/CSS page&lt;br /&gt;
// TODO: Remove tests already done by [[MediaWiki:Gadget-refToolbar.js]]&lt;br /&gt;
if (&lt;br /&gt;
	( mw.config.get('wgAction') === 'edit' || mw.config.get('wgAction') === 'submit' ) &amp;amp;&amp;amp;&lt;br /&gt;
	( ( mw.config.get('wgNamespaceNumber') !== 2 &amp;amp;&amp;amp; mw.config.get('wgNamespaceNumber') !== 4 ) ||&lt;br /&gt;
	( mw.config.get('wgPageName').indexOf('.js') === -1 &amp;amp;&amp;amp; mw.config.get('wgPageName').indexOf('.css') === -1 ) )&lt;br /&gt;
) {&lt;br /&gt;
&lt;br /&gt;
// TODO: Move this to [[MediaWiki:Gadget-refToolbarDialogs.css]] and add it to the definition of module 'ext.gadget.refToolbarDialogs'&lt;br /&gt;
mw.util.addCSS(&amp;quot;.cite-form-td {&amp;quot;+&lt;br /&gt;
&amp;quot;height: 0 !important;&amp;quot;+&lt;br /&gt;
&amp;quot;padding: 0.1em !important;&amp;quot;+&lt;br /&gt;
&amp;quot;}&amp;quot;);  &lt;br /&gt;
&lt;br /&gt;
// Default options, these mainly exist so the script won't break if a new option is added&lt;br /&gt;
CiteTB.DefaultOptions = {&lt;br /&gt;
  &amp;quot;date format&amp;quot; : &amp;quot;&amp;lt;year&amp;gt;-&amp;lt;zmonth&amp;gt;-&amp;lt;zdate&amp;gt;&amp;quot;,&lt;br /&gt;
  &amp;quot;autodate fields&amp;quot; : [],&lt;br /&gt;
  &amp;quot;months&amp;quot; : ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],&lt;br /&gt;
  &amp;quot;modal&amp;quot; : true,&lt;br /&gt;
  &amp;quot;autoparse&amp;quot; : false,&lt;br /&gt;
  &amp;quot;expandtemplates&amp;quot;: false&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Get an option - user settings override global which override defaults&lt;br /&gt;
CiteTB.getOption = function(opt) {&lt;br /&gt;
  if (CiteTB.UserOptions[opt] !== undefined) {&lt;br /&gt;
    return CiteTB.UserOptions[opt];&lt;br /&gt;
  } else if (CiteTB.Options[opt] !== undefined) {&lt;br /&gt;
    return CiteTB.Options[opt];&lt;br /&gt;
  }&lt;br /&gt;
  return CiteTB.DefaultOptions[opt];&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
CiteTB.init = function() {&lt;br /&gt;
  /* Main stuff, build the actual toolbar structure&lt;br /&gt;
   * 1. get the template list, make the dropdown list and set up the template dialog boxes&lt;br /&gt;
   * 2. actually build the toolbar:&lt;br /&gt;
   *    * A section for cites&lt;br /&gt;
   *    ** dropdown for the templates (previously defined)&lt;br /&gt;
   *    ** button for named refs with a dialog box&lt;br /&gt;
   *    ** button for errorcheck&lt;br /&gt;
   * 3. add the whole thing to the main toolbar&lt;br /&gt;
  */&lt;br /&gt;
&lt;br /&gt;
  if (typeof $('div[rel=cites]')[0] !== 'undefined') { // Mystery IE bug workaround&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
  $('head').trigger('reftoolbarbase');&lt;br /&gt;
  var $target = $('#wpTextbox1');&lt;br /&gt;
  var temlist = {};&lt;br /&gt;
  for (var t in CiteTB.Templates) {&lt;br /&gt;
    var tem = CiteTB.Templates[t];&lt;br /&gt;
    var sform = CiteTB.escStr(tem.shortform);&lt;br /&gt;
    var actionobj = { &lt;br /&gt;
      type: 'dialog',&lt;br /&gt;
      module: 'cite-dialog-'+sform&lt;br /&gt;
    };&lt;br /&gt;
    var dialogobj = {};&lt;br /&gt;
    dialogobj['cite-dialog-'+sform] = {&lt;br /&gt;
      resizeme: false,&lt;br /&gt;
      titleMsg: 'cite-dialog-'+sform, &lt;br /&gt;
      id: 'citetoolbar-'+sform,&lt;br /&gt;
      init: function() {}, &lt;br /&gt;
      html: tem.getInitial(), &lt;br /&gt;
      dialog: {&lt;br /&gt;
        width:675,&lt;br /&gt;
        open: function() { &lt;br /&gt;
          $(this).html(CiteTB.getOpenTemplate().getForm());&lt;br /&gt;
          /** @param {jQuery.Event} e */&lt;br /&gt;
          $('.cite-prev-parse').bind( 'click', function ( e ) {&lt;br /&gt;
            e.preventDefault();&lt;br /&gt;
            CiteTB.prevParseClick();&lt;br /&gt;
          });&lt;br /&gt;
        },&lt;br /&gt;
        buttons: {&lt;br /&gt;
          'cite-form-submit': function() {&lt;br /&gt;
            var ref = CiteTB.getRef(false, true);&lt;br /&gt;
            $(this).dialog( 'close' );&lt;br /&gt;
            $.wikiEditor.modules.toolbar.fn.doAction( $(this).data( 'context' ), {&lt;br /&gt;
              type: 'encapsulate',&lt;br /&gt;
              options: {&lt;br /&gt;
                post: ref&lt;br /&gt;
              }&lt;br /&gt;
            }, $(this) );&lt;br /&gt;
          },&lt;br /&gt;
          'cite-form-showhide': CiteTB.showHideExtra,&lt;br /&gt;
          'cite-refpreview': function() {   &lt;br /&gt;
            var ref = CiteTB.getRef(false, false);&lt;br /&gt;
            var template = CiteTB.getOpenTemplate();&lt;br /&gt;
            var div = $(&amp;quot;#citetoolbar-&amp;quot;+CiteTB.escStr(template.shortform));&lt;br /&gt;
            div.find('.cite-preview-label').show();&lt;br /&gt;
            div.find('.cite-ref-preview').text(ref).show();&lt;br /&gt;
            if (CiteTB.getOption('autoparse')) {&lt;br /&gt;
              CiteTB.prevParseClick();&lt;br /&gt;
            } else {&lt;br /&gt;
              div.find('.cite-prev-parse').show();&lt;br /&gt;
              div.find('.cite-prev-parsed-label').hide();&lt;br /&gt;
              div.find('.cite-preview-parsed').html('');&lt;br /&gt;
            }         &lt;br /&gt;
          },&lt;br /&gt;
          'wikieditor-toolbar-tool-link-cancel': function() {&lt;br /&gt;
            $(this).dialog( 'close' );&lt;br /&gt;
          },&lt;br /&gt;
          'cite-form-reset': function() {&lt;br /&gt;
            CiteTB.resetForm();&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
      } &lt;br /&gt;
    };&lt;br /&gt;
    $target.wikiEditor('addDialog', dialogobj);&lt;br /&gt;
    //if (!CiteTB.getOption('modal')) {&lt;br /&gt;
      //$('#citetoolbar-'+sform).dialog('option', 'modal', false);&lt;br /&gt;
    //}&lt;br /&gt;
    temlist[sform] = {label: tem.templatename, action: actionobj };  &lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  var refsection =  {&lt;br /&gt;
    'sections': {&lt;br /&gt;
      'cites': { &lt;br /&gt;
        type: 'toolbar', &lt;br /&gt;
        labelMsg: 'cite-section-label',&lt;br /&gt;
        groups: { &lt;br /&gt;
          'template': {&lt;br /&gt;
            tools: {&lt;br /&gt;
              'template': {&lt;br /&gt;
                type: 'select',&lt;br /&gt;
                labelMsg: 'cite-template-list',&lt;br /&gt;
                list: temlist&lt;br /&gt;
              } &lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          'namedrefs': {&lt;br /&gt;
            labelMsg: 'cite-named-refs-label',&lt;br /&gt;
            tools: {&lt;br /&gt;
              'nrefs': {&lt;br /&gt;
                type: 'button',&lt;br /&gt;
                action: {&lt;br /&gt;
                  type: 'dialog',&lt;br /&gt;
                  module: 'cite-toolbar-namedrefs'&lt;br /&gt;
                },&lt;br /&gt;
                icon: '//upload.wikimedia.org/wikipedia/commons/thumb/b/be/Nuvola_clipboard_lined.svg/22px-Nuvola_clipboard_lined.svg.png',&lt;br /&gt;
                section: 'cites',&lt;br /&gt;
                group: 'namedrefs',&lt;br /&gt;
                labelMsg: 'cite-named-refs-button'&lt;br /&gt;
              }&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          'errorcheck': {&lt;br /&gt;
            labelMsg: 'cite-errorcheck-label',&lt;br /&gt;
            tools: {&lt;br /&gt;
              'echeck': {&lt;br /&gt;
                type: 'button',&lt;br /&gt;
                action: {&lt;br /&gt;
                  type: 'dialog',&lt;br /&gt;
                  module: 'cite-toolbar-errorcheck'           &lt;br /&gt;
                },&lt;br /&gt;
                icon: '//upload.wikimedia.org/wikipedia/commons/thumb/a/a3/Nuvola_apps_korganizer-NO.png/22px-Nuvola_apps_korganizer-NO.png',&lt;br /&gt;
                section: 'cites',&lt;br /&gt;
                group: 'errorcheck',&lt;br /&gt;
                labelMsg: 'cite-errorcheck-button'&lt;br /&gt;
              }&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
        } &lt;br /&gt;
      } &lt;br /&gt;
    } &lt;br /&gt;
  };&lt;br /&gt;
  &lt;br /&gt;
  var defaultdialogs = { &lt;br /&gt;
    'cite-toolbar-errorcheck': {&lt;br /&gt;
      titleMsg: 'cite-errorcheck-label',&lt;br /&gt;
      id: 'citetoolbar-errorcheck',&lt;br /&gt;
      resizeme: false,&lt;br /&gt;
      init: function() {},&lt;br /&gt;
      html: '&amp;lt;div id=&amp;quot;cite-namedref-loading&amp;quot;&amp;gt;'+&lt;br /&gt;
        '&amp;lt;img src=&amp;quot;//upload.wikimedia.org/wikipedia/commons/4/42/Loading.gif&amp;quot; /&amp;gt;'+&lt;br /&gt;
        '&amp;amp;nbsp;'+mw.usability.getMsg('cite-loading')+'&amp;lt;/div&amp;gt;',&lt;br /&gt;
      dialog: {&lt;br /&gt;
        width:550,&lt;br /&gt;
        open: function() { &lt;br /&gt;
          CiteTB.loadRefs();&lt;br /&gt;
        },&lt;br /&gt;
        buttons: {&lt;br /&gt;
          'cite-errorcheck-submit': function() {&lt;br /&gt;
            var errorchecks = $(&amp;quot;input[name='cite-err-test']:checked&amp;quot;);&lt;br /&gt;
            var errors = [];&lt;br /&gt;
            for (var i=0; i&amp;lt;errorchecks.length; i++) {&lt;br /&gt;
              errors = errors.concat(CiteTB.ErrorChecks[$(errorchecks[i]).val()].run());&lt;br /&gt;
            }&lt;br /&gt;
            CiteTB.displayErrors(errors);&lt;br /&gt;
            $(this).dialog( 'close' );                      &lt;br /&gt;
          },&lt;br /&gt;
          'wikieditor-toolbar-tool-link-cancel': function() {&lt;br /&gt;
            $(this).dialog( 'close' );&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    'cite-toolbar-namedrefs': {&lt;br /&gt;
      titleMsg: 'cite-named-refs-title',&lt;br /&gt;
      resizeme: false,&lt;br /&gt;
      id: 'citetoolbar-namedrefs',&lt;br /&gt;
      html: '&amp;lt;div id=&amp;quot;cite-namedref-loading&amp;quot;&amp;gt;'+&lt;br /&gt;
        '&amp;lt;img src=&amp;quot;//upload.wikimedia.org/wikipedia/commons/4/42/Loading.gif&amp;quot; /&amp;gt;'+&lt;br /&gt;
        '&amp;amp;nbsp;'+mw.usability.getMsg('cite-loading')+'&amp;lt;/div&amp;gt;',&lt;br /&gt;
      init: function() {},&lt;br /&gt;
      dialog: {&lt;br /&gt;
        width: 550,&lt;br /&gt;
        open: function() { &lt;br /&gt;
          CiteTB.loadRefs();&lt;br /&gt;
        },&lt;br /&gt;
        buttons: {&lt;br /&gt;
          'cite-form-submit': function() {&lt;br /&gt;
            var refname = $(&amp;quot;#cite-namedref-select&amp;quot;).val();&lt;br /&gt;
            if (refname === '') {&lt;br /&gt;
              return;&lt;br /&gt;
            }&lt;br /&gt;
            $(this).dialog( 'close' );&lt;br /&gt;
            $.wikiEditor.modules.toolbar.fn.doAction( $(this).data( 'context' ), {&lt;br /&gt;
              type: 'encapsulate',&lt;br /&gt;
              options: {&lt;br /&gt;
                post: CiteTB.getNamedRef(refname, true)&lt;br /&gt;
              }&lt;br /&gt;
            }, $(this) );&lt;br /&gt;
          },&lt;br /&gt;
          'wikieditor-toolbar-tool-link-cancel': function() {&lt;br /&gt;
            $(this).dialog( 'close' );&lt;br /&gt;
          }                   &lt;br /&gt;
        }&lt;br /&gt;
      }      &lt;br /&gt;
    }&lt;br /&gt;
  };&lt;br /&gt;
  &lt;br /&gt;
  $target.wikiEditor('addDialog', defaultdialogs);&lt;br /&gt;
  $('#citetoolbar-namedrefs').unbind('dialogopen');&lt;br /&gt;
  if (!CiteTB.getOption('modal')) {&lt;br /&gt;
    //$('#citetoolbar-namedrefs').dialog('option', 'modal', false);&lt;br /&gt;
    //$('#citetoolbar-errorcheck').dialog('option', 'modal', false);&lt;br /&gt;
    mw.util.addCSS(&amp;quot;.ui-widget-overlay {&amp;quot;+&lt;br /&gt;
    &amp;quot;display:none !important;&amp;quot;+&lt;br /&gt;
    &amp;quot;}&amp;quot;);  &lt;br /&gt;
  }&lt;br /&gt;
  $target.wikiEditor('addToToolbar', refsection);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Load local data - messages, cite templates, etc.&lt;br /&gt;
$(document).ready( function() {&lt;br /&gt;
  switch( mw.config.get('wgUserLanguage') ) {&lt;br /&gt;
    case 'de': // German&lt;br /&gt;
      importScript('MediaWiki:RefToolbarMessages-de.js');&lt;br /&gt;
      break;&lt;br /&gt;
    default: // English&lt;br /&gt;
      importScript('MediaWiki:RefToolbarMessages-en.js');&lt;br /&gt;
  }&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// Setup the main object&lt;br /&gt;
CiteTB.mainRefList = [];&lt;br /&gt;
CiteTB.refsLoaded = false;&lt;br /&gt;
&lt;br /&gt;
// REF FUNCTIONS&lt;br /&gt;
// Actually assemble a ref from user input&lt;br /&gt;
CiteTB.getRef = function(inneronly, forinsert) {&lt;br /&gt;
  var i;&lt;br /&gt;
  var template = CiteTB.getOpenTemplate();&lt;br /&gt;
  var templatename = template.templatename;&lt;br /&gt;
  var res = '';&lt;br /&gt;
  var refobj = {'shorttag':false};&lt;br /&gt;
  if (!inneronly) {&lt;br /&gt;
    var group = $('#cite-'+CiteTB.escStr(template.shortform)+'-group').val();&lt;br /&gt;
    var refname = $('#cite-'+CiteTB.escStr(template.shortform)+'-name').val();&lt;br /&gt;
    res += '&amp;lt;ref';&lt;br /&gt;
    if (refname) {&lt;br /&gt;
      refname = $.trim(refname);&lt;br /&gt;
      res+=' name='+CiteTB.getQuotedString(refname);&lt;br /&gt;
      refobj.refname = refname;&lt;br /&gt;
    }&lt;br /&gt;
    if (group) {&lt;br /&gt;
      group = $.trim(group);&lt;br /&gt;
      res+=' group='+CiteTB.getQuotedString(group);&lt;br /&gt;
      refobj.refgroup = group;&lt;br /&gt;
    }&lt;br /&gt;
    res+='&amp;gt;';&lt;br /&gt;
  }&lt;br /&gt;
  var content ='{{'+templatename;&lt;br /&gt;
  for( g in template.incrementables ) {&lt;br /&gt;
  	group = template.incrementables[g];&lt;br /&gt;
  	for (i=1; i&amp;lt;=group.val; i++) {&lt;br /&gt;
		for (j=0; j&amp;lt;group.fields.length; j++) {&lt;br /&gt;
  			var fieldname = group.fields[j].field;&lt;br /&gt;
  			var fieldid = fieldname.replace('&amp;lt;N&amp;gt;', i.toString());&lt;br /&gt;
  			var field = $('#cite-'+CiteTB.escStr(template.shortform)+'-'+fieldid).val();&lt;br /&gt;
  			if (field) {&lt;br /&gt;
  				content+='|'+fieldid+'=';&lt;br /&gt;
  				content+= $.trim(field);&lt;br /&gt;
  			}&lt;br /&gt;
  		}&lt;br /&gt;
  	}&lt;br /&gt;
  }&lt;br /&gt;
  for( i=0; i&amp;lt;template.basic.length; i++ ) {&lt;br /&gt;
  	if (template.basic[i].increment_group) {&lt;br /&gt;
  		continue;&lt;br /&gt;
  	}&lt;br /&gt;
    var fieldname = template.basic[i].field;&lt;br /&gt;
    var field = $('#cite-'+CiteTB.escStr(template.shortform)+'-'+fieldname).val();&lt;br /&gt;
    if (field) {&lt;br /&gt;
      content+='|'+fieldname+'=';&lt;br /&gt;
      content+= $.trim(field);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  if ($('#cite-form-status').val() !== 'closed') {&lt;br /&gt;
    for( i=0; i&amp;lt;template.extra.length; i++ ) {&lt;br /&gt;
      if (template.extra[i].increment_group) {&lt;br /&gt;
        continue;&lt;br /&gt;
      }&lt;br /&gt;
      var fieldname = template.extra[i].field;&lt;br /&gt;
      var field = $('#cite-'+CiteTB.escStr(template.shortform)+'-'+fieldname).val();&lt;br /&gt;
      if (field) {&lt;br /&gt;
        content+='|'+fieldname+'=';&lt;br /&gt;
        content+= $.trim(field);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  content+= '}}';&lt;br /&gt;
  res+=content;&lt;br /&gt;
  refobj.content = content;&lt;br /&gt;
  if (!inneronly) {&lt;br /&gt;
    res+= '&amp;lt;/ref&amp;gt;';&lt;br /&gt;
  }&lt;br /&gt;
  if (forinsert) {&lt;br /&gt;
    CiteTB.mainRefList.push(refobj);&lt;br /&gt;
  }&lt;br /&gt;
  return res;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Make a reference to a named ref&lt;br /&gt;
CiteTB.getNamedRef = function(refname, forinsert) {&lt;br /&gt;
  if (forinsert) {&lt;br /&gt;
    CiteTB.mainRefList.push( {'shorttag':true, 'refname':refname} );&lt;br /&gt;
  }&lt;br /&gt;
  return '&amp;lt;ref name='+CiteTB.getQuotedString(refname)+' /&amp;gt;';  &lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Function to load the ref list&lt;br /&gt;
CiteTB.loadRefs = function() {&lt;br /&gt;
  if (CiteTB.refsLoaded) {&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
  CiteTB.getPageText(CiteTB.loadRefsInternal);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Function that actually loads the list from the page text&lt;br /&gt;
CiteTB.loadRefsInternal = function(text) { &lt;br /&gt;
  // What this does:             extract first name/group                                     extract second name/group                                          shorttag   inner content&lt;br /&gt;
  var refsregex = /&amp;lt; *ref(?: +(name|group) *= *(?:&amp;quot;([^&amp;quot;]*?)&amp;quot;|'([^']*?)'|([^ '&amp;quot;\/\&amp;gt;]*?)) *)? *(?: +(name|group) *= *(?:&amp;quot;([^&amp;quot;]*?)&amp;quot;|'([^']*?)'|([^ '&amp;quot;\/\&amp;gt;]*?)) *)? *(?:\/ *&amp;gt;|&amp;gt;((?:.|\n)*?)&amp;lt; *\/ *ref *&amp;gt;)/gim;&lt;br /&gt;
  // This should work regardless of the quoting used for names/groups and for linebreaks in the inner content  &lt;br /&gt;
  while (true) {&lt;br /&gt;
    var ref = refsregex.exec(text);&lt;br /&gt;
    if (ref === null) {&lt;br /&gt;
      break;&lt;br /&gt;
    }&lt;br /&gt;
    var refobj = {};&lt;br /&gt;
    if (ref[9]) { // Content + short tag check&lt;br /&gt;
      //alert('&amp;quot;'+ref[9]+'&amp;quot;');&lt;br /&gt;
      refobj.content = ref[9]; &lt;br /&gt;
      refobj.shorttag = false;&lt;br /&gt;
    } else {&lt;br /&gt;
      refobj.shorttag = true;&lt;br /&gt;
    }&lt;br /&gt;
    if (ref[1] !== '') { // First name/group&lt;br /&gt;
      if (ref[2]) {&lt;br /&gt;
        refobj['ref'+ref[1]] = ref[2];&lt;br /&gt;
      } else if (ref[3]) {&lt;br /&gt;
        refobj['ref'+ref[1]] = ref[3];&lt;br /&gt;
      } else {&lt;br /&gt;
        refobj['ref'+ref[1]] = ref[4];&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    if (ref[5] !== '') { // Second name/group&lt;br /&gt;
      if (ref[6]) {&lt;br /&gt;
        refobj['ref'+ref[5]] = ref[6];&lt;br /&gt;
      } else if (ref[7]) {&lt;br /&gt;
        refobj['ref'+ref[5]] = ref[7];&lt;br /&gt;
      } else {&lt;br /&gt;
        refobj['ref'+ref[5]] = ref[8];&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    CiteTB.mainRefList.push(refobj);&lt;br /&gt;
  }&lt;br /&gt;
  CiteTB.refsLoaded = true;&lt;br /&gt;
  CiteTB.setupErrorCheck();&lt;br /&gt;
  CiteTB.setupNamedRefs();&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// AJAX FUNCTIONS&lt;br /&gt;
// Parse some wikitext and hand it off to a callback function&lt;br /&gt;
CiteTB.parse = function(text, callback) {&lt;br /&gt;
  $.post( mw.util.wikiScript( 'api' ),&lt;br /&gt;
    {action:'parse', title:mw.config.get('wgPageName'), text:text, prop:'text', format:'json'},&lt;br /&gt;
    function(data) {&lt;br /&gt;
      var html = data.parse.text['*'];&lt;br /&gt;
      callback(html);&lt;br /&gt;
    },&lt;br /&gt;
    'json'&lt;br /&gt;
  );  &lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Use the API to expand templates on some text&lt;br /&gt;
CiteTB.expandtemplates = function(text, callback) {&lt;br /&gt;
  $.post( mw.util.wikiScript( 'api' ),&lt;br /&gt;
    {action:'expandtemplates', title:mw.config.get('wgPageName'), text:text, format:'json'},&lt;br /&gt;
    function(data) {&lt;br /&gt;
      var restext = data.expandtemplates['*'];&lt;br /&gt;
      callback(restext);&lt;br /&gt;
    },&lt;br /&gt;
    'json'&lt;br /&gt;
  );&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Function to get the page text&lt;br /&gt;
CiteTB.getPageText = function(callback) {&lt;br /&gt;
  var section = $(&amp;quot;input[name='wpSection']&amp;quot;).val();&lt;br /&gt;
  if ( section !== '' ) {&lt;br /&gt;
    var postdata = {action:'query', prop:'revisions', rvprop:'content', pageids:mw.config.get('wgArticleId'), format:'json'};&lt;br /&gt;
    if (CiteTB.getOption('expandtemplates')) {&lt;br /&gt;
      postdata.rvexpandtemplates = '1';&lt;br /&gt;
    }&lt;br /&gt;
    $.get( mw.util.wikiScript( 'api' ),&lt;br /&gt;
      postdata,&lt;br /&gt;
      function(data) {&lt;br /&gt;
        var pagetext = data.query.pages[mw.config.get('wgArticleId').toString()].revisions[0]['*'];&lt;br /&gt;
        callback(pagetext);&lt;br /&gt;
      },&lt;br /&gt;
      'json'&lt;br /&gt;
    );&lt;br /&gt;
  } else {&lt;br /&gt;
    if (CiteTB.getOption('expandtemplates')) {&lt;br /&gt;
      CiteTB.expandtemplates($('#wpTextbox1').wikiEditor('getContents').text(), callback);&lt;br /&gt;
    } else {&lt;br /&gt;
      callback($('#wpTextbox1').wikiEditor('getContents').text());&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Autofill a template from an ID (ISBN, DOI, PMID, URL)&lt;br /&gt;
CiteTB.initAutofill = function() {&lt;br /&gt;
  var elemid = $(this).attr('id');&lt;br /&gt;
  var res = /^cite\-auto\-(.*?)\-(.*)\-(.*)$/.exec(elemid);&lt;br /&gt;
  var tem = res[1];&lt;br /&gt;
  var field = res[2];&lt;br /&gt;
  var autotype = res[3];&lt;br /&gt;
  var id = $('#cite-'+tem+'-'+field).val();&lt;br /&gt;
  if (!id) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  var url = '//tools.wmflabs.org/reftoolbar/lookup.php?';&lt;br /&gt;
  url+=autotype+'='+encodeURIComponent(id);&lt;br /&gt;
  url+='&amp;amp;template='+encodeURIComponent(tem);&lt;br /&gt;
  var s = document.createElement('script');&lt;br /&gt;
  s.setAttribute('src', url);&lt;br /&gt;
  s.setAttribute('type', 'text/javascript');&lt;br /&gt;
  document.getElementsByTagName('head')[0].appendChild(s);&lt;br /&gt;
  return false;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Callback for autofill&lt;br /&gt;
//TODO: Autofill the URL, at least for DOI&lt;br /&gt;
CiteTB.autoFill = function(data, template, type) {&lt;br /&gt;
  var cl = 'cite-'+template+'-';&lt;br /&gt;
  var i,j, coauthors;&lt;br /&gt;
  $('.'+cl+'title').val(data.title);&lt;br /&gt;
  // Fill in authors&lt;br /&gt;
  if (data.authors &amp;amp;&amp;amp; data.authors.length &amp;gt; 0) {&lt;br /&gt;
	  if ($('.'+cl+'last-incr-1').length != 0) {&lt;br /&gt;
		var classes = $('.'+cl+'last-incr-1').eq(0).attr('class').split(/\s+/);&lt;br /&gt;
		var group = false;&lt;br /&gt;
		var patt = /cite-[^-]*?-incr-(.*)/&lt;br /&gt;
		for (var c=0; c&amp;lt;classes.length; c++) {&lt;br /&gt;
			if (patt.exec(classes[c])) {&lt;br /&gt;
				group = patt.exec(classes[c])[1];&lt;br /&gt;
				break;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		$('.'+cl+'last-incr-1').val(data.authors[0][0])&lt;br /&gt;
		$('.'+cl+'first-incr-1').val(data.authors[0][1])&lt;br /&gt;
		elemid = '#cite-incr-'+template+'-'+group;&lt;br /&gt;
		for (var i=2; i&amp;lt;data.authors.length+1; i++) {&lt;br /&gt;
			$(elemid).click();&lt;br /&gt;
			$('.'+cl+'last-incr-'+i.toString()).val(data.authors[i-1][0])&lt;br /&gt;
			$('.'+cl+'first-incr-'+i.toString()).val(data.authors[i-1][1])&lt;br /&gt;
		}&lt;br /&gt;
	  } else if ($('.'+cl+'author-incr-1').length != 0) {&lt;br /&gt;
		var classes = $('.'+cl+'author-incr-1').eq(0).attr('class').split(/\s+/);&lt;br /&gt;
		var group = false;&lt;br /&gt;
		var patt = /cite-[^-]*?-incr-(.*)/&lt;br /&gt;
		for (var c=0; c&amp;lt;classes.length; c++) {&lt;br /&gt;
			if (patt.exec(classes[c])) {&lt;br /&gt;
				group = patt.exec(classes[c])[1];&lt;br /&gt;
				break;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		$('.'+cl+'author-incr-1').val(data.authors[0].join(', '))&lt;br /&gt;
		elemid = '#cite-incr-'+template+'-'+group;&lt;br /&gt;
		for (var i=2; i&amp;lt;data.authors.length+1; i++) {&lt;br /&gt;
			$(elemid).click();&lt;br /&gt;
			$('.'+cl+'author-incr-'+i.toString()).val(data.authors[i-1].join(', '))&lt;br /&gt;
		}&lt;br /&gt;
	  } else if ($('.'+cl+'last1').length != 0) {&lt;br /&gt;
		for(i=0; data.authors &amp;amp;&amp;amp; i&amp;lt;data.authors.length; i++) {&lt;br /&gt;
		  if ($('.'+cl+'last'+(i+1)).length) {&lt;br /&gt;
			 $('.'+cl+'last'+(i+1)).val(data.authors[i][0]);&lt;br /&gt;
			 $('.'+cl+'first'+(i+1)).val(data.authors[i][1]);&lt;br /&gt;
		  } else {&lt;br /&gt;
			coauthors = [];&lt;br /&gt;
			for(j=i; j&amp;lt;data.authors.length; j++) {&lt;br /&gt;
			  coauthors.push(data.authors[j].join(', '));&lt;br /&gt;
			}&lt;br /&gt;
			$('.'+cl+'coauthors').val(coauthors.join('; '));&lt;br /&gt;
			break;&lt;br /&gt;
		  }&lt;br /&gt;
		}&lt;br /&gt;
	  } else if($('.'+cl+'author1').length !== 0) {&lt;br /&gt;
		for(i=0; data.authors &amp;amp;&amp;amp; i&amp;lt;data.authors.length; i++) {&lt;br /&gt;
		  if ($('.'+cl+'author'+(i+1)).length) {&lt;br /&gt;
			 $('.'+cl+'author'+(i+1)).val(data.authors[i].join(', '));&lt;br /&gt;
		  } else {&lt;br /&gt;
			coauthors = [];&lt;br /&gt;
			for(j=i; j&amp;lt;data.authors.length; j++) {&lt;br /&gt;
			  coauthors.push(data.authors[j].join(', '));&lt;br /&gt;
			}&lt;br /&gt;
			$('.'+cl+'coauthors').val(coauthors.join('; '));&lt;br /&gt;
			break;&lt;br /&gt;
		  }&lt;br /&gt;
		}&lt;br /&gt;
	  } else {&lt;br /&gt;
		var authors = [];&lt;br /&gt;
		for(i=0; data.authors &amp;amp;&amp;amp; i&amp;lt;data.authors.length; i++) {&lt;br /&gt;
		  authors.push(data.authors[i].join(', '));&lt;br /&gt;
		}&lt;br /&gt;
		$('.'+cl+'authors').val(authors.join('; '));&lt;br /&gt;
	  }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (type === 'pmid' || type === 'doi') {&lt;br /&gt;
    if (data.date &amp;amp;&amp;amp; (data.fulldate || !$('.'+cl+'month').length)) {&lt;br /&gt;
      var DT = new Date(data.date);&lt;br /&gt;
      var useday = /\d{4}-\d{2}-\d{2}/.test(data.date);&lt;br /&gt;
      var usemonth = /\d{4}-\d{2}/.test(data.date);&lt;br /&gt;
      $('.'+cl+'date').val(CiteTB.formatDate(DT, useday, usemonth));&lt;br /&gt;
    } else if (!data.fulldate &amp;amp;&amp;amp; $('.'+cl+'month').length &amp;amp;&amp;amp; $('.'+cl+'year').length) {&lt;br /&gt;
      if (data.month) { // lookup.php sets month to false if it isn't provided&lt;br /&gt;
        $('.'+cl+'month').val( CiteTB.getOption('months')[parseInt(data.month)-1] );&lt;br /&gt;
      }&lt;br /&gt;
      $('.'+cl+'year').val(data.year);&lt;br /&gt;
    } else {&lt;br /&gt;
      $('.'+cl+'date').val(data.date);&lt;br /&gt;
    }&lt;br /&gt;
    $('.'+cl+'journal').val(data.journal);&lt;br /&gt;
    $('.'+cl+'volume').val(data.volume);&lt;br /&gt;
    $('.'+cl+'issue').val(data.issue);&lt;br /&gt;
    $('.'+cl+'pages').val(data.pages);&lt;br /&gt;
  } else if (type === 'isbn') {&lt;br /&gt;
    $('.'+cl+'publisher').val(data.publisher);&lt;br /&gt;
    $('.'+cl+'location').val(data.location);&lt;br /&gt;
    $('.'+cl+'year').val(data.year);&lt;br /&gt;
    $('.'+cl+'edition').val(data.edition);&lt;br /&gt;
  } else if (type === 'url') {&lt;br /&gt;
    if (data.date) {&lt;br /&gt;
  	  var DT = new Date(data.date);&lt;br /&gt;
      var useday = /\d{4}-\d{2}-\d{2}/.test(data.date) &amp;amp;&amp;amp; template !== 'book';&lt;br /&gt;
      var usemonth = /\d{4}-\d{2}/.test(data.date) &amp;amp;&amp;amp; template !== 'book';&lt;br /&gt;
      var yearOrDate = (template === 'book') ? 'year' : 'date';&lt;br /&gt;
      $('.'+cl+yearOrDate).val(CiteTB.formatDate(DT, useday, usemonth));&lt;br /&gt;
    }&lt;br /&gt;
    $('.'+cl+'journal').val(data.journal);&lt;br /&gt;
    $('.'+cl+'volume').val(data.volume);&lt;br /&gt;
    $('.'+cl+'issue').val(data.issue);&lt;br /&gt;
    $('.'+cl+'pages').val(data.pages);&lt;br /&gt;
    $('.'+cl+'publisher').val(data.publisher);&lt;br /&gt;
    $('.'+cl+'edition').val(data.edition);&lt;br /&gt;
    $('.'+cl+'isbn').val(data.isbn);&lt;br /&gt;
    $('.'+cl+'issn').val(data.issn);&lt;br /&gt;
    $('.'+cl+'doi').val(data.doi);&lt;br /&gt;
    // &amp;quot;en-US&amp;quot; isn't a valid value for the language parameter&lt;br /&gt;
    if (data.language &amp;amp;&amp;amp; data.language !== 'en-US' &amp;amp;&amp;amp; data.language !== 'en-GB') {&lt;br /&gt;
    	$('.'+cl+'language').val(data.language);&lt;br /&gt;
    }&lt;br /&gt;
    $('.'+cl+'chapter').val(data.chapter);&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// FORM DIALOG FUNCTIONS&lt;br /&gt;
// Add new incrementable fields&lt;br /&gt;
CiteTB.incrementFields = function() {&lt;br /&gt;
	template = CiteTB.getOpenTemplate();&lt;br /&gt;
	var currentrow = $(this).parents('tr')[0];&lt;br /&gt;
	$(this).prev().css('width', '100%')&lt;br /&gt;
	$(this).detach();&lt;br /&gt;
	var elemid = $(this).attr('id');&lt;br /&gt;
	var res = /^cite\-incr\-(.*?)\-(.*)$/.exec(elemid);&lt;br /&gt;
	group = res[2];&lt;br /&gt;
	increments = template.incrementables[group];&lt;br /&gt;
	fields = increments.fields;&lt;br /&gt;
	incrval = increments.val+1;&lt;br /&gt;
	template.incrementables[group].val += 1;&lt;br /&gt;
	trs = template.makeFormInner(fields, false);&lt;br /&gt;
	trs.reverse();&lt;br /&gt;
	for (var i=0; i&amp;lt;trs.length; i++) {&lt;br /&gt;
		$(currentrow).after(trs[i]);&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// fill the accessdate param with the current date&lt;br /&gt;
CiteTB.fillAccessdate = function() {&lt;br /&gt;
  var elemid = $(this).attr('id');&lt;br /&gt;
  var res = /^cite\-date\-(.*?)\-(.*)$/.exec(elemid);&lt;br /&gt;
  var id = res[1];&lt;br /&gt;
  var field = res[2];&lt;br /&gt;
  var DT = new Date();&lt;br /&gt;
  var datestr = CiteTB.formatDate(DT);&lt;br /&gt;
  $('#cite-'+id+'-'+field).val(datestr);&lt;br /&gt;
  return false;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
CiteTB.formatDate = function(DT, useday, usemonth) {&lt;br /&gt;
  if (typeof useday == &amp;quot;undefined&amp;quot;) {&lt;br /&gt;
    useday = true;	&lt;br /&gt;
  }&lt;br /&gt;
  if (typeof usemonth == &amp;quot;undefined&amp;quot;) {&lt;br /&gt;
    usemonth = true;	&lt;br /&gt;
  }&lt;br /&gt;
  var datestr = CiteTB.getOption('date format');&lt;br /&gt;
  var zmonth = '';&lt;br /&gt;
  var month = DT.getUTCMonth()+1;&lt;br /&gt;
  if (month &amp;lt; 10) {&lt;br /&gt;
    zmonth = &amp;quot;0&amp;quot;+month.toString();&lt;br /&gt;
  } else {&lt;br /&gt;
    zmonth = month.toString();&lt;br /&gt;
  }&lt;br /&gt;
  month = month.toString();&lt;br /&gt;
  var zdate = '';&lt;br /&gt;
  var date = DT.getUTCDate();&lt;br /&gt;
  if (date &amp;lt; 10) {&lt;br /&gt;
    zdate = &amp;quot;0&amp;quot;+date.toString();&lt;br /&gt;
  } else {&lt;br /&gt;
    zdate = date.toString();&lt;br /&gt;
  }&lt;br /&gt;
  date = date.toString();&lt;br /&gt;
  if (useday) {&lt;br /&gt;
    datestr = datestr.replace('&amp;lt;date&amp;gt;', date);&lt;br /&gt;
    datestr = datestr.replace('&amp;lt;zdate&amp;gt;', zdate);&lt;br /&gt;
  } else {&lt;br /&gt;
    datestr = datestr.replace('&amp;lt;date&amp;gt;', '');&lt;br /&gt;
    datestr = datestr.replace('&amp;lt;zdate&amp;gt;', '');&lt;br /&gt;
  }&lt;br /&gt;
  if (usemonth) {&lt;br /&gt;
    datestr = datestr.replace('&amp;lt;month&amp;gt;', month);&lt;br /&gt;
    datestr = datestr.replace('&amp;lt;zmonth&amp;gt;', zmonth);&lt;br /&gt;
    datestr = datestr.replace('&amp;lt;monthname&amp;gt;', CiteTB.getOption('months')[DT.getUTCMonth()]);&lt;br /&gt;
  } else {&lt;br /&gt;
    datestr = datestr.replace('&amp;lt;month&amp;gt;', '');&lt;br /&gt;
    datestr = datestr.replace('&amp;lt;zmonth&amp;gt;', '');&lt;br /&gt;
    datestr = datestr.replace('&amp;lt;monthname&amp;gt;', '');&lt;br /&gt;
  }  &lt;br /&gt;
  datestr = datestr.replace('&amp;lt;year&amp;gt;', DT.getUTCFullYear().toString());&lt;br /&gt;
  return datestr.replace(/^[ \/\-\,\.]*(.*?)[ \/\-\,\.]*$/g, &amp;quot;$1&amp;quot;); // Cleanup any dangling spaces or connectors that might result from omitting date/month&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Function called after the ref list is loaded, to actually set the contents of the named ref dialog&lt;br /&gt;
// Until the list is loaded, its just a &amp;quot;Loading&amp;quot; placeholder&lt;br /&gt;
CiteTB.setupNamedRefs = function() {&lt;br /&gt;
  var names = [], i;&lt;br /&gt;
  for( i=0; i&amp;lt;CiteTB.mainRefList.length; i++) {&lt;br /&gt;
    if (!CiteTB.mainRefList[i].shorttag &amp;amp;&amp;amp; CiteTB.mainRefList[i].refname) {&lt;br /&gt;
      names.push(CiteTB.mainRefList[i]);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  var stuff = $('&amp;lt;div&amp;gt;');&lt;br /&gt;
  $('#citetoolbar-namedrefs').html( stuff );&lt;br /&gt;
  if (names.length === 0) {&lt;br /&gt;
    stuff.html(mw.usability.getMsg('cite-no-namedrefs'));&lt;br /&gt;
  } else {&lt;br /&gt;
    stuff.html(mw.usability.getMsg('cite-namedrefs-intro'));&lt;br /&gt;
    var select = $('&amp;lt;select id=&amp;quot;cite-namedref-select&amp;quot;&amp;gt;');&lt;br /&gt;
    select.append($('&amp;lt;option value=&amp;quot;&amp;quot; /&amp;gt;').text(mw.usability.getMsg('cite-named-refs-dropdown')));&lt;br /&gt;
    for(i=0; i&amp;lt;names.length; i++) {&lt;br /&gt;
      select.append($('&amp;lt;option /&amp;gt;').text(names[i].refname));&lt;br /&gt;
    }&lt;br /&gt;
    stuff.after(select);&lt;br /&gt;
    select.before('&amp;lt;br /&amp;gt;');      &lt;br /&gt;
    var prevlabel = $('&amp;lt;div id=&amp;quot;cite-nref-preview-label&amp;quot; style=&amp;quot;display:none;&amp;quot; /&amp;gt;').html(mw.usability.getMsg('cite-raw-preview'));&lt;br /&gt;
    select.after(prevlabel);&lt;br /&gt;
    prevlabel.before(&amp;quot;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;quot;);&lt;br /&gt;
    prevlabel.after('&amp;lt;div id=&amp;quot;cite-namedref-preview&amp;quot; style=&amp;quot;padding:0.5em; font-size:110%&amp;quot; /&amp;gt;');&lt;br /&gt;
    var parselabel = $('&amp;lt;span id=&amp;quot;cite-parsed-label&amp;quot; style=&amp;quot;display:none;&amp;quot; /&amp;gt;').html(mw.usability.getMsg('cite-parsed-label'));&lt;br /&gt;
    $('#cite-namedref-preview').after(parselabel);&lt;br /&gt;
    parselabel.after('&amp;lt;div id=&amp;quot;cite-namedref-parsed&amp;quot; style=&amp;quot;padding-bottom:0.5em; font-size:110%&amp;quot; /&amp;gt;');&lt;br /&gt;
    var link = $('&amp;lt;a href=&amp;quot;#&amp;quot; id=&amp;quot;cite-nref-parse&amp;quot; style=&amp;quot;margin:0 1em 0 1em; display:none; color:darkblue&amp;quot; /&amp;gt;');&lt;br /&gt;
    link.html(mw.usability.getMsg('cite-form-parse'));&lt;br /&gt;
    $('#cite-namedref-parsed').after(link);&lt;br /&gt;
    &lt;br /&gt;
    $(&amp;quot;#cite-namedref-select&amp;quot;).bind( 'change', CiteTB.namedRefSelectClick);&lt;br /&gt;
    $('#cite-nref-parse').bind( 'click', CiteTB.nrefParseClick);&lt;br /&gt;
  }      &lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Function to get the errorcheck form HTML&lt;br /&gt;
CiteTB.setupErrorCheck = function() {&lt;br /&gt;
  var form = $('&amp;lt;div id=&amp;quot;cite-errorcheck-heading&amp;quot; /&amp;gt;').html(mw.usability.getMsg('cite-errorcheck-heading'));&lt;br /&gt;
  var ul = $(&amp;quot;&amp;lt;ul id='cite-errcheck-list' /&amp;gt;&amp;quot;);&lt;br /&gt;
  var test;&lt;br /&gt;
  for (var t in CiteTB.ErrorChecks) {&lt;br /&gt;
    test = CiteTB.ErrorChecks[t];&lt;br /&gt;
    ul.append(test.getRow());&lt;br /&gt;
  }&lt;br /&gt;
  form.append(ul);&lt;br /&gt;
  $('#citetoolbar-errorcheck').html(form);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Callback function for parsed preview&lt;br /&gt;
CiteTB.fillNrefPreview = function(parsed) {&lt;br /&gt;
  $('#cite-parsed-label').show();&lt;br /&gt;
  $('#cite-namedref-parsed').html(parsed);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Click handler for the named-ref parsed preview&lt;br /&gt;
CiteTB.nrefParseClick = function() {&lt;br /&gt;
  var choice = $(&amp;quot;#cite-namedref-select&amp;quot;).val();&lt;br /&gt;
  if (choice === '') {&lt;br /&gt;
    $('#cite-parsed-label').hide();&lt;br /&gt;
    $('#cite-namedref-parsed').text('');&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  $('#cite-nref-parse').hide();&lt;br /&gt;
  for( var i=0; i&amp;lt;CiteTB.mainRefList.length; i++) {&lt;br /&gt;
    if (!CiteTB.mainRefList[i].shorttag &amp;amp;&amp;amp; CiteTB.mainRefList[i].refname == choice) {&lt;br /&gt;
      CiteTB.parse(CiteTB.mainRefList[i].content, CiteTB.fillNrefPreview);&lt;br /&gt;
      return false;&lt;br /&gt;
    }&lt;br /&gt;
  }  &lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Click handler for the named-ref dropdown&lt;br /&gt;
CiteTB.lastnamedrefchoice = '';&lt;br /&gt;
CiteTB.namedRefSelectClick = function() {&lt;br /&gt;
  var choice = $(&amp;quot;#cite-namedref-select&amp;quot;).val();&lt;br /&gt;
  if (CiteTB.lastnamedrefchoice == choice) {&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
  CiteTB.lastnamedrefchoice = choice;&lt;br /&gt;
  $('#cite-parsed-label').hide();&lt;br /&gt;
  $('#cite-namedref-parsed').text('');&lt;br /&gt;
  if (choice === '') {&lt;br /&gt;
    $('#cite-nref-preview-label').hide();&lt;br /&gt;
    $('#cite-namedref-preview').text('');&lt;br /&gt;
    $('#cite-nref-parse').hide();&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
  for( var i=0; i&amp;lt;CiteTB.mainRefList.length; i++) {&lt;br /&gt;
    if (!CiteTB.mainRefList[i].shorttag &amp;amp;&amp;amp; CiteTB.mainRefList[i].refname == choice) {&lt;br /&gt;
      $('#cite-nref-preview-label').show();&lt;br /&gt;
      $('#cite-namedref-preview').text(CiteTB.mainRefList[i].content);&lt;br /&gt;
      if (CiteTB.getOption('autoparse')) {&lt;br /&gt;
        CiteTB.nrefParseClick();&lt;br /&gt;
      } else {&lt;br /&gt;
        $('#cite-nref-parse').show();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// callback function for parsed preview&lt;br /&gt;
CiteTB.fillTemplatePreview = function(text) {&lt;br /&gt;
  var template = CiteTB.getOpenTemplate();&lt;br /&gt;
  var div = $(&amp;quot;#citetoolbar-&amp;quot;+CiteTB.escStr(template.shortform));&lt;br /&gt;
  div.find('.cite-prev-parsed-label').show();&lt;br /&gt;
  div.find('.cite-preview-parsed').html(text);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Click handler for template parsed preview&lt;br /&gt;
CiteTB.prevParseClick = function() {&lt;br /&gt;
  var ref = CiteTB.getRef(true, false);&lt;br /&gt;
  var template = CiteTB.getOpenTemplate();&lt;br /&gt;
  var div = $(&amp;quot;#citetoolbar-&amp;quot;+CiteTB.escStr(template.shortform));&lt;br /&gt;
  div.find('.cite-prev-parse').hide();&lt;br /&gt;
  CiteTB.parse(ref, CiteTB.fillTemplatePreview);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Show/hide the extra fields in the dialog box&lt;br /&gt;
CiteTB.showHideExtra = function() {&lt;br /&gt;
  var template = CiteTB.getOpenTemplate();&lt;br /&gt;
  var div = $(&amp;quot;#citetoolbar-&amp;quot;+CiteTB.escStr(template.shortform));&lt;br /&gt;
  var setting = div.find(&amp;quot;.cite-form-status&amp;quot;).val();&lt;br /&gt;
  if ( setting === 'closed' ) {&lt;br /&gt;
    div.find(&amp;quot;.cite-form-status&amp;quot;).val('open');&lt;br /&gt;
    div.find('.cite-extra-fields').show(1, function() {&lt;br /&gt;
      // jQuery adds &amp;quot;display:block&amp;quot;, which screws things up&lt;br /&gt;
      div.find('.cite-extra-fields').attr('style', 'width:100%; background-color:transparent;'); &lt;br /&gt;
    });&lt;br /&gt;
  } else {&lt;br /&gt;
    div.find(&amp;quot;.cite-form-status&amp;quot;).val('closed');&lt;br /&gt;
    div.find('.cite-extra-fields').hide();&lt;br /&gt;
  } &lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Resets form fields and previews&lt;br /&gt;
// Resets form fields and previews&lt;br /&gt;
CiteTB.resetForm = function() {&lt;br /&gt;
  var template = CiteTB.getOpenTemplate();&lt;br /&gt;
  var div = $(&amp;quot;#citetoolbar-&amp;quot;+CiteTB.escStr(template.shortform));&lt;br /&gt;
  div.html(template.getForm());&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// STRING UTILITY FUNCTIONS&lt;br /&gt;
// Returns a string quoted as necessary for name/group attributes&lt;br /&gt;
CiteTB.getQuotedString = function(s) {&lt;br /&gt;
  var sq = /\'/.test(s); // single quotes&lt;br /&gt;
  var dq = /\&amp;quot;/.test(s); // double quotes&lt;br /&gt;
  if (!sq &amp;amp;&amp;amp; !dq) { // Always quotes for non-latin alphabet&lt;br /&gt;
    return '&amp;quot;'+s+'&amp;quot;';&lt;br /&gt;
  } else if (!dq) { // Can use double quotes&lt;br /&gt;
    return '&amp;quot;'+s+'&amp;quot;';&lt;br /&gt;
  } else if (!sq) { // Can use single quotes&lt;br /&gt;
    return &amp;quot;'&amp;quot;+s+&amp;quot;'&amp;quot;;&lt;br /&gt;
  } else { // Has double and single quotes&lt;br /&gt;
    s = s.replace(/\&amp;quot;/g, '\'');&lt;br /&gt;
    return '&amp;quot;'+s+'&amp;quot;';&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Fix up strings for output - capitalize first char, replace underscores with spaces&lt;br /&gt;
CiteTB.fixStr = function(s) {&lt;br /&gt;
  s = s.slice(0,1).toUpperCase() + s.slice(1);&lt;br /&gt;
  s = s.replace('_',' ');&lt;br /&gt;
  return s;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Escape spaces and quotes for use in HTML classes/ids&lt;br /&gt;
CiteTB.escStr = function(s) {&lt;br /&gt;
  return s.replace(' ', '-').replace(&amp;quot;'&amp;quot;, &amp;quot;\'&amp;quot;).replace('&amp;quot;', '\&amp;quot;');&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// MISC FUNCTIONS&lt;br /&gt;
// Determine which template form is open, and get the template object for it&lt;br /&gt;
CiteTB.getOpenTemplate = function() {&lt;br /&gt;
  var dialogs = $(&amp;quot;.ui-dialog-content.ui-widget-content:visible&amp;quot;);&lt;br /&gt;
  var templatename = $(dialogs[0]).find(&amp;quot;.cite-template&amp;quot;).val();&lt;br /&gt;
  return CiteTB.Templates[templatename];&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Display the report for the error checks&lt;br /&gt;
CiteTB.displayErrors = function(errors) {&lt;br /&gt;
  $('#cite-err-report').remove();&lt;br /&gt;
  var table = $('&amp;lt;table id=&amp;quot;cite-err-report&amp;quot; style=&amp;quot;width:100%; border:1px solid #A9A9A9; background-color:#FFEFD5; padding:0.25em; margin-top:0.5em&amp;quot; /&amp;gt;');&lt;br /&gt;
  $('#editpage-copywarn').before(table);&lt;br /&gt;
  var tr;&lt;br /&gt;
  var tr1 = $('&amp;lt;tr style=&amp;quot;width:100%&amp;quot; /&amp;gt;');&lt;br /&gt;
  var th1 = $('&amp;lt;th style=&amp;quot;width:60%; font-size:110%&amp;quot; /&amp;gt;').html(mw.usability.getMsg('cite-err-report-heading'));&lt;br /&gt;
  var th2 = $('&amp;lt;th style=&amp;quot;text-align:right; width:40%&amp;quot; /&amp;gt;');&lt;br /&gt;
  var im = $('&amp;lt;img /&amp;gt;').attr('src', '//upload.wikimedia.org/wikipedia/commons/thumb/5/55/Gtk-stop.svg/20px-Gtk-stop.svg.png');&lt;br /&gt;
  im.attr('alt', mw.usability.getMsg('cite-err-report-close')).attr('title', mw.usability.getMsg('cite-err-report-close'));&lt;br /&gt;
  var ad = $('&amp;lt;a id=&amp;quot;cite-err-check-close&amp;quot; /&amp;gt;').attr('href', '#');&lt;br /&gt;
  ad.append(im);&lt;br /&gt;
  th2.append(ad);&lt;br /&gt;
  tr1.append(th1).append(th2);&lt;br /&gt;
  table.append(tr1);&lt;br /&gt;
  $('#cite-err-check-close').bind('click', function() {  $('#cite-err-report').remove(); });&lt;br /&gt;
  if (errors.length === 0) {&lt;br /&gt;
    tr = $('&amp;lt;tr style=&amp;quot;width:100%;&amp;quot; /&amp;gt;');&lt;br /&gt;
    var td = $('&amp;lt;td style=&amp;quot;text-align:center; margin:1.5px;&amp;quot; /&amp;gt;').html(mw.usability.getMsg('cite-err-report-empty'));&lt;br /&gt;
    tr.append(td);&lt;br /&gt;
    table.append(tr);&lt;br /&gt;
    &lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
  for(var e in errors) {&lt;br /&gt;
    var err = errors[e];&lt;br /&gt;
    tr = $('&amp;lt;tr style=&amp;quot;width:100%;&amp;quot; /&amp;gt;');&lt;br /&gt;
    var td1 = $('&amp;lt;td style=&amp;quot;border: 1px solid black; margin:1.5px; width:60%&amp;quot; /&amp;gt;').html(err.err);&lt;br /&gt;
    var td2 = $('&amp;lt;td style=&amp;quot;border: 1px solid black; margin:1.5px; width:40%&amp;quot; /&amp;gt;').html(mw.usability.getMsg(err.msg));&lt;br /&gt;
    tr.append(td1).append(td2);&lt;br /&gt;
    table.append(tr);&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
   &lt;br /&gt;
} // End of code loaded only on edit&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Editpage.js&amp;diff=9860</id>
		<title>MediaWiki:Editpage.js</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Editpage.js&amp;diff=9860"/>
				<updated>2017-06-25T19:43:42Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//dynamically load Commons-style Edittools&lt;br /&gt;
function createEdittoolsLink(){&lt;br /&gt;
 //get div.mw-editTools&lt;br /&gt;
 var box = document.getElementById('wpTextbox1')&lt;br /&gt;
 while (box &amp;amp;&amp;amp; box.className!='mw-editTools') box=box.nextSibling&lt;br /&gt;
 if (!box) return&lt;br /&gt;
 //create a link&lt;br /&gt;
 var lnk = document.createElement('a')&lt;br /&gt;
 lnk.href =  'javascript:loadCommonsTools()'&lt;br /&gt;
 lnk.title = 'Load Commons-style Edittools' &lt;br /&gt;
 lnk.id = 'loadCommonsEdittoos'&lt;br /&gt;
 lnk.appendChild(document.createTextNode('[load edittools]'))&lt;br /&gt;
 lnk.style.cssText = 'float:right'&lt;br /&gt;
 box.appendChild(lnk)&lt;br /&gt;
}&lt;br /&gt;
function loadCommonsTools(){&lt;br /&gt;
 importScript('MediaWiki:Edittools.js')&lt;br /&gt;
 var lnk = document.getElementById('loadCommonsEdittoos')&lt;br /&gt;
 if (lnk) lnk.parentNode.removeChild(lnk)&lt;br /&gt;
}&lt;br /&gt;
if (doneOnloadHook) createEdittoolsLink()&lt;br /&gt;
else addOnloadHook(createEdittoolsLink)&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Gadget-citations.js&amp;diff=9862</id>
		<title>MediaWiki:Gadget-citations.js</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Gadget-citations.js&amp;diff=9862"/>
				<updated>2017-06-25T19:43:42Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*  _____________________________________________________________________________&lt;br /&gt;
 * |                                                                             |&lt;br /&gt;
 * |                    === WARNING: GLOBAL GADGET FILE ===                      |&lt;br /&gt;
 * |                  Changes to this page affect many users.                    |&lt;br /&gt;
 * | Please discuss changes on the talk page or on [[WT:Gadget]] before editing. |&lt;br /&gt;
 * |_____________________________________________________________________________|&lt;br /&gt;
 *&lt;br /&gt;
 * Imported from version 1.0 as of 17:18, 9 April 2011 (UTC) from [[User:Smith609/citations.js]]&lt;br /&gt;
 * Adds a &amp;quot;Citation bot&amp;quot; link to the toolbox, and a button beneath edit fields, see [[User:Smith609/citations]]&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
// @Version 1.0 - Adds an &amp;quot;Expand citations&amp;quot; link to the toolbox, and a button beneath edit fields.&lt;br /&gt;
&lt;br /&gt;
function addCBToToolbox() {&lt;br /&gt;
  if (wgCanonicalNamespace != &amp;quot;Special&amp;quot;) {&lt;br /&gt;
   var pTb = document.getElementById(&amp;quot;p-tb&amp;quot;);&lt;br /&gt;
   if( !pTb ) return;&lt;br /&gt;
   var escPageName = encodeURIComponent(wgPageName);&lt;br /&gt;
&lt;br /&gt;
   addPortletLink(&amp;quot;p-tb&amp;quot;, &amp;quot;http://toolserver.org/~verisimilus/Bot/citation-bot/doibot.php?edit=toolbar&amp;amp;slow=1&amp;amp;user=&amp;quot;+encodeURIComponent(wgUserName)+&amp;quot;&amp;amp;page=&amp;quot;+escPageName, 'Expand citations', '', &amp;quot;Expand citations and fix common formatting errors&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Add a citation bot button&lt;br /&gt;
function addCitationBot() {&lt;br /&gt;
	if (document.getElementById('wpDiff')){&lt;br /&gt;
	 var diff = document.getElementById('wpDiff');&lt;br /&gt;
	 var cbButton = document.createElement(&amp;quot;input&amp;quot;);&lt;br /&gt;
	 cbButton.value=&amp;quot;Citations&amp;quot;;&lt;br /&gt;
	 cbButton.type=&amp;quot;submit&amp;quot;;&lt;br /&gt;
	 originalAction=document.getElementById('editform').getAttribute('action');&lt;br /&gt;
	 cbButton.setAttribute(&amp;quot;onmousedown&amp;quot;, &amp;quot; document.getElementById('editform').setAttribute('action', 'http://toolserver.org/~verisimilus/Bot/citation-bot/text.php')&amp;quot;);&lt;br /&gt;
	 cbButton.setAttribute(&amp;quot;onkeydown&amp;quot;, &amp;quot; document.getElementById('editform').setAttribute('action', 'http://toolserver.org/~verisimilus/Bot/citation-bot/text.php')&amp;quot;);&lt;br /&gt;
	 diff.setAttribute(&amp;quot;onmousedown&amp;quot;, originalAction);&lt;br /&gt;
	 diff.setAttribute(&amp;quot;onkeydown&amp;quot;, originalAction);&lt;br /&gt;
	 document.getElementById('wpPreview').setAttribute(&amp;quot;onmousedown&amp;quot;, originalAction);&lt;br /&gt;
	 document.getElementById('wpPreview').setAttribute(&amp;quot;onkeydown&amp;quot;, originalAction);&lt;br /&gt;
	 document.getElementById('wpSave').setAttribute(&amp;quot;onmousedown&amp;quot;, originalAction);&lt;br /&gt;
	 document.getElementById('wpSave').setAttribute(&amp;quot;onkeydown&amp;quot;, originalAction);&lt;br /&gt;
	 diff.parentNode.insertBefore(cbButton, diff.nextSibling);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
addOnloadHook(addCitationBot);&lt;br /&gt;
if( skin == &amp;quot;myskin&amp;quot; || skin == &amp;quot;simple&amp;quot; || skin == &amp;quot;monobook&amp;quot; || skin == &amp;quot;modern&amp;quot; || skin == &amp;quot;chick&amp;quot; || skin == &amp;quot;vector&amp;quot;) {&lt;br /&gt;
  addOnloadHook(addCBToToolbox);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Gadget-citations&amp;diff=9864</id>
		<title>MediaWiki:Gadget-citations</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Gadget-citations&amp;diff=9864"/>
				<updated>2017-06-25T19:43:42Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[WP:Citation expander|Citation expander]]: Automatically expand and format citations (uses &amp;quot;[[WP:UCB|Citation bot]]&amp;quot;).&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* A link in the toolbox will activate [[User:Citation bot]] on the page that you are currently viewing.  The bot will expand, format and tidy all references on that page.&lt;br /&gt;
&lt;br /&gt;
* A button underneath the edit box (next to &amp;quot;Show Changes&amp;quot;) will send the contents of the edit box to the bot, which will process them and return the expanded version.  This has two possible uses:&lt;br /&gt;
** It allows the manual checking of the bot's output before an article is modified&lt;br /&gt;
** You can type a partial citation in to an article (e.g. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{cite journal|pmid=12345}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;), then have the bot expand this to a complete citation before you save the page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For more information about the functions performed by [[User:Citation bot|Citation bot]], see [[User:Citation bot|its user page]] or [[WP:UCB|an introductory page]].  For information about the gadget's script, see [[User:Smith609/citation]].&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=Template:NonRefTerm&amp;diff=9866</id>
		<title>Template:NonRefTerm</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=Template:NonRefTerm&amp;diff=9866"/>
				<updated>2017-06-25T19:43:42Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;i&amp;gt;{{{1}}}&amp;lt;/i&amp;gt;&amp;lt;noinclude&amp;gt;&amp;lt;!--'''Template:NonRefTerm'''--&amp;gt;&lt;br /&gt;
[[Category:NonRefTerm]] {{PAGENAME}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=Template:Note&amp;diff=9868</id>
		<title>Template:Note</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=Template:Note&amp;diff=9868"/>
				<updated>2017-06-25T19:43:42Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--'''Template:Note'''--&amp;gt;* &amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;{{{1}}}. {{{2}}}&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=MediaWiki:RefToolbarConfig.js&amp;diff=9844</id>
		<title>MediaWiki:RefToolbarConfig.js</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=MediaWiki:RefToolbarConfig.js&amp;diff=9844"/>
				<updated>2017-06-25T19:43:41Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* Sitewide options for the the Cite toolbar button:&lt;br /&gt;
* All options should be specified&lt;br /&gt;
*&lt;br /&gt;
* &amp;quot;date format&amp;quot; sets the date format used for the function to insert the current date&lt;br /&gt;
* Current available options:&lt;br /&gt;
* date - the day of the month&lt;br /&gt;
* zdate - day of the month, zero padded to 2 digits&lt;br /&gt;
* monthname - The month name&lt;br /&gt;
* month - The numberic month (1-12)&lt;br /&gt;
* zmonth - numeric month, zero padded to 2 digits&lt;br /&gt;
* year - The full year (4 digits)&lt;br /&gt;
*&lt;br /&gt;
* &amp;quot;autodate fields&amp;quot; is a list of template fields that should have a button to insert the current date&lt;br /&gt;
* &lt;br /&gt;
* &amp;quot;months&amp;quot; is a list of localized month names&lt;br /&gt;
*&lt;br /&gt;
* &amp;quot;modal&amp;quot; - if true, the dialogs will be modal windows, blocking access to the rest of the window.&lt;br /&gt;
* See http://en.wikipedia.org/wiki/Modal_window&lt;br /&gt;
* All dialogs in the toolbar are modal by default&lt;br /&gt;
*&lt;br /&gt;
* &amp;quot;autoparse&amp;quot; - if true, previewing a ref will automatically trigger a preview of the parsed wikitext.&lt;br /&gt;
* It is not recommended to set this to true as a global setting as it may slow the script down for&lt;br /&gt;
* people with slow connections.&lt;br /&gt;
*&lt;br /&gt;
* &amp;quot;expandtemplates&amp;quot; - if true, templates and parser functions will be expanded when getting page text&lt;br /&gt;
* (templates inside of ref tags will not be expanded). This will allow references inside of templates or&lt;br /&gt;
* references using {{#tag:ref}} to be listed in the named refs dialog and searched by error checks.&lt;br /&gt;
* This may slow loading the named refs and error check dialogs.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
CiteTB.Options = {&lt;br /&gt;
&amp;quot;date format&amp;quot; : &amp;quot;&amp;lt;date&amp;gt; &amp;lt;monthname&amp;gt; &amp;lt;year&amp;gt;&amp;quot;,&lt;br /&gt;
&amp;quot;autodate fields&amp;quot; : ['accessdate'],&lt;br /&gt;
&amp;quot;months&amp;quot; : ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],&lt;br /&gt;
&amp;quot;modal&amp;quot; : true,&lt;br /&gt;
&amp;quot;autoparse&amp;quot; : true,&lt;br /&gt;
&amp;quot;expandtemplates&amp;quot; : false&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Cite template definitions&lt;br /&gt;
new citeTemplate('cite web', 'web',&lt;br /&gt;
[ // Basic fields&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;last&amp;lt;N&amp;gt;&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;last-incr&amp;quot;, 'increment_group':'author'},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;first&amp;lt;N&amp;gt;&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;first-incr&amp;quot;, 'increment_group':'author', 'increment_button':true}, &lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;title&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;title&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;url&amp;quot;, &amp;quot;autofillid&amp;quot;:&amp;quot;url&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;website&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;journal&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;publisher&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;publisher&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;accessdate&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;ref&amp;quot;, &amp;quot;tooltip&amp;quot;:&amp;quot;cite-ref-tooltip&amp;quot;}&lt;br /&gt;
],&lt;br /&gt;
[ // Expanded fields&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;author&amp;lt;N&amp;gt;&amp;quot;, 'increment_group':'author_alt', 'increment_button':true},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;authorlink&amp;lt;N&amp;gt;&amp;quot;, &amp;quot;tooltip&amp;quot;:&amp;quot;cite-authorlink-tooltip&amp;quot;, 'increment_group':'authorlink', 'increment_button':true},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;archiveurl&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;archivedate&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;location&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;page&amp;quot;, &amp;quot;tooltip&amp;quot;:&amp;quot;cite-page-tooltip&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;pages&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;pages&amp;quot;, &amp;quot;tooltip&amp;quot;:&amp;quot;cite-pages-tooltip&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;language&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;language&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;format&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;doi&amp;quot;, &amp;quot;autofillid&amp;quot;:&amp;quot;doi&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;doi&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;date&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;date&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;quote&amp;quot;}&lt;br /&gt;
]);&lt;br /&gt;
&lt;br /&gt;
new citeTemplate('cite news', 'news',&lt;br /&gt;
[ // Basic fields&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;last&amp;lt;N&amp;gt;&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;last-incr&amp;quot;, 'increment_group':'author'},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;first&amp;lt;N&amp;gt;&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;first-incr&amp;quot;, 'increment_group':'author', 'increment_button':true}, &lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;title&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;title&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;url&amp;quot;, &amp;quot;autofillid&amp;quot;:&amp;quot;url&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;accessdate&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;work&amp;quot;, &amp;quot;tooltip&amp;quot;:&amp;quot;cite-work-tooltip&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;journal&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;agency&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;issue&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;publisher&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;publisher&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;date&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;date&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;ref&amp;quot;, &amp;quot;tooltip&amp;quot;:&amp;quot;cite-ref-tooltip&amp;quot;}&lt;br /&gt;
],&lt;br /&gt;
[ // Expanded fields&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;author&amp;lt;N&amp;gt;&amp;quot;, 'increment_group':'author_alt', 'increment_button':true},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;authorlink&amp;lt;N&amp;gt;&amp;quot;, &amp;quot;tooltip&amp;quot;:&amp;quot;cite-authorlink-tooltip&amp;quot;, 'increment_group':'authorlink', 'increment_button':true},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;archiveurl&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;archivedate&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;location&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;page&amp;quot;, &amp;quot;tooltip&amp;quot;:&amp;quot;cite-page-tooltip&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;pages&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;pages&amp;quot;, &amp;quot;tooltip&amp;quot;:&amp;quot;cite-pages-tooltip&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;language&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;language&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;format&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;doi&amp;quot;, &amp;quot;autofillid&amp;quot;:&amp;quot;doi&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;doi&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;quote&amp;quot;}&lt;br /&gt;
]);&lt;br /&gt;
&lt;br /&gt;
new citeTemplate('cite book', 'book',&lt;br /&gt;
[ // Basic fields&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;last&amp;lt;N&amp;gt;&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;last-incr&amp;quot;, 'increment_group':'author'},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;first&amp;lt;N&amp;gt;&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;first-incr&amp;quot;, 'increment_group':'author', 'increment_button':true}, &lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;title&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;title&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;date&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;year&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;publisher&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;publisher&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;location&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;location&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;isbn&amp;quot;, &amp;quot;autofillid&amp;quot;:&amp;quot;isbn&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;isbn&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;page&amp;quot;, &amp;quot;tooltip&amp;quot;:&amp;quot;cite-page-tooltip&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;pages&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;pages&amp;quot;, &amp;quot;tooltip&amp;quot;:&amp;quot;cite-pages-tooltip&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;edition&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;edition&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;url&amp;quot;, &amp;quot;autofillid&amp;quot;:&amp;quot;url&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;accessdate&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;ref&amp;quot;, &amp;quot;tooltip&amp;quot;:&amp;quot;cite-ref-tooltip&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
],&lt;br /&gt;
[ // Expanded fields&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;author&amp;lt;N&amp;gt;&amp;quot;, 'increment_group':'author_alt', 'increment_button':true},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;authorlink&amp;lt;N&amp;gt;&amp;quot;, &amp;quot;tooltip&amp;quot;:&amp;quot;cite-authorlink-tooltip&amp;quot;, 'increment_group':'authorlink', 'increment_button':true},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;editor&amp;lt;N&amp;gt;-last&amp;quot;, &amp;quot;increment_group&amp;quot;:&amp;quot;editor&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;editor&amp;lt;N&amp;gt;-first&amp;quot;, &amp;quot;increment_group&amp;quot;:&amp;quot;editor&amp;quot;, &amp;quot;increment_button&amp;quot;:true},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;editor&amp;lt;N&amp;gt;-link&amp;quot;, 'increment_group':'editorlink', 'increment_button':true},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;archiveurl&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;archivedate&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;language&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;language&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;format&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;chapter&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;chapter&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;quote&amp;quot;}&lt;br /&gt;
]);&lt;br /&gt;
&lt;br /&gt;
new citeTemplate('cite journal', 'journal',&lt;br /&gt;
[ // Basic fields&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;last&amp;lt;N&amp;gt;&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;last-incr&amp;quot;, 'increment_group':'author'},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;first&amp;lt;N&amp;gt;&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;first-incr&amp;quot;, 'increment_group':'author', 'increment_button':true}, &lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;title&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;title&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;journal&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;journal&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;date&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;date&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;volume&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;volume&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;issue&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;issue&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;page&amp;quot;, &amp;quot;tooltip&amp;quot;:&amp;quot;cite-page-tooltip&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;pages&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;pages&amp;quot;, &amp;quot;tooltip&amp;quot;:&amp;quot;cite-pages-tooltip&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;doi&amp;quot;, &amp;quot;autofillid&amp;quot;:&amp;quot;doi&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;doi&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;pmid&amp;quot;, &amp;quot;autofillid&amp;quot;:&amp;quot;pmid&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;url&amp;quot;, &amp;quot;autofillid&amp;quot;:&amp;quot;url&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;accessdate&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;ref&amp;quot;, &amp;quot;tooltip&amp;quot;:&amp;quot;cite-ref-tooltip&amp;quot;},&lt;br /&gt;
],&lt;br /&gt;
[ // Expanded fields&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;author&amp;lt;N&amp;gt;&amp;quot;, 'increment_group':'author_alt', 'increment_button':true},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;authorlink&amp;lt;N&amp;gt;&amp;quot;, &amp;quot;tooltip&amp;quot;:&amp;quot;cite-authorlink-tooltip&amp;quot;, 'increment_group':'authorlink', 'increment_button':true},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;editor&amp;lt;N&amp;gt;-last&amp;quot;, &amp;quot;increment_group&amp;quot;:&amp;quot;editor&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;editor&amp;lt;N&amp;gt;-first&amp;quot;, &amp;quot;increment_group&amp;quot;:&amp;quot;editor&amp;quot;, &amp;quot;increment_button&amp;quot;:true},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;editor&amp;lt;N&amp;gt;-link&amp;quot;, 'increment_group':'editorlink', 'increment_button':true},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;series&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;at&amp;quot;, &amp;quot;tooltip&amp;quot;:&amp;quot;cite-at-tooltip&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;trans-title&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;publisher&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;publisher&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;location&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;language&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;language&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;format&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;issn&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;issn&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;pmc&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;oclc&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;bibcode&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;id&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;quote&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;postscript&amp;quot;, &amp;quot;tooltip&amp;quot;:&amp;quot;cite-postscript-tooltip&amp;quot;}&lt;br /&gt;
]);&lt;br /&gt;
&lt;br /&gt;
new citeErrorCheck({'type':'reflist', 'testname':'samecontent', 'desc': 'cite-samecontent-desc',&lt;br /&gt;
'func': function(reflist) {&lt;br /&gt;
  var errors = [];&lt;br /&gt;
  var refs2 = [];&lt;br /&gt;
  for(var i=0; i&amp;lt;reflist.length; i++) {&lt;br /&gt;
    if (!reflist[i].shorttag) {&lt;br /&gt;
      if ($.inArray(reflist[i].content, refs2) != -1) {&lt;br /&gt;
        if ($.inArray(reflist[i].content, errors) == -1) {&lt;br /&gt;
          errors.push(reflist[i].content);&lt;br /&gt;
        }&lt;br /&gt;
      } else {&lt;br /&gt;
        refs2.push(reflist[i].content);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  ret = [];&lt;br /&gt;
  for(var j=0; j&amp;lt;errors.length; j++) {&lt;br /&gt;
    ret.push({'msg':'cite-samecontent-error', 'err':errors[j]});&lt;br /&gt;
  }&lt;br /&gt;
  return ret;&lt;br /&gt;
}}&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
new citeErrorCheck({'type':'reflist', 'testname':'repeated', 'desc':'cite-repeated-desc',&lt;br /&gt;
'func': function(reflist) {&lt;br /&gt;
  var errors = [];&lt;br /&gt;
  var refs2 = [];&lt;br /&gt;
  for(var i=0; i&amp;lt;reflist.length; i++) {&lt;br /&gt;
    if (!reflist[i].shorttag &amp;amp;&amp;amp; reflist[i].refname) {&lt;br /&gt;
      if ($.inArray(reflist[i].refname, refs2) != -1) {&lt;br /&gt;
        if ($.inArray(reflist[i].refname, errors) == -1) {&lt;br /&gt;
          errors.push(reflist[i].refname);&lt;br /&gt;
        }&lt;br /&gt;
      } else {&lt;br /&gt;
        refs2.push(reflist[i].refname);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  ret = [];&lt;br /&gt;
  for(var j=0; j&amp;lt;errors.length; j++) {&lt;br /&gt;
    ret.push({'msg':'cite-repeated-error', 'err':errors[j]});&lt;br /&gt;
  }&lt;br /&gt;
  return ret;&lt;br /&gt;
}}&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
new citeErrorCheck({'type':'reflist', 'testname':'undefined', 'desc':'cite-undefined-desc',&lt;br /&gt;
'func': function(reflist) {&lt;br /&gt;
  var errors = [];&lt;br /&gt;
  var longrefs = [];&lt;br /&gt;
  for(var i=0; i&amp;lt;reflist.length; i++) {&lt;br /&gt;
    if (!reflist[i].shorttag &amp;amp;&amp;amp; reflist[i].refname) {&lt;br /&gt;
      longrefs.push(reflist[i].refname);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  for(var j=0; i&amp;lt;reflist.length; j++) {&lt;br /&gt;
    if (reflist[i].shorttag &amp;amp;&amp;amp; $.inArray(reflist[i].refname, errors) == -1 &amp;amp;&amp;amp; $.inArray(reflist[i].refname, longrefs) == -1) {&lt;br /&gt;
      errors.push(reflist[i].refname);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  ret = [];&lt;br /&gt;
  for(var j=0; j&amp;lt;errors.length; j++) {&lt;br /&gt;
    ret.push({'msg':'cite-undefined-error', 'err':errors[j]});&lt;br /&gt;
  }&lt;br /&gt;
  return ret;&lt;br /&gt;
}}&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
CiteTB.init();&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Gadgets-definition&amp;diff=9846</id>
		<title>MediaWiki:Gadgets-definition</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Gadgets-definition&amp;diff=9846"/>
				<updated>2017-06-25T19:43:41Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#Editing&lt;br /&gt;
* wikEd[ResourceLoader]|wikEd.js&lt;br /&gt;
* refToolbar[ResourceLoader|dependencies=user.options,mediawiki.legacy.wikibits]|refToolbar.js&lt;br /&gt;
* refToolbarBase[ResourceLoader|hidden]|refToolbarBase.js&lt;br /&gt;
* DotsSyntaxHighlighter[ResourceLoader|default|dependencies=jquery.client]|DotsSyntaxHighlighter.js&lt;br /&gt;
&lt;br /&gt;
#Interface&lt;br /&gt;
* exlinks[ResourceLoader]|exlinks.js&lt;br /&gt;
* purgeTab[ResourceLoader]|purgeTab.js&lt;br /&gt;
* citations[ResourceLoader]|citations.js&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Common.js&amp;diff=9848</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Common.js&amp;diff=9848"/>
				<updated>2017-06-25T19:43:41Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/**&lt;br /&gt;
 * Keep code in MediaWiki:Common.js to a minimum as it is unconditionally&lt;br /&gt;
 * loaded for all users on every wiki page. If possible create a gadget that is&lt;br /&gt;
 * enabled by default instead of adding it here (since gadgets are fully&lt;br /&gt;
 * optimized ResourceLoader modules with possibility to add dependencies etc.)&lt;br /&gt;
 *&lt;br /&gt;
 * Since Common.js isn't a gadget, there is no place to declare its&lt;br /&gt;
 * dependencies, so we have to lazy load them with mw.loader.using on demand and&lt;br /&gt;
 * then execute the rest in the callback. In most cases these dependencies will&lt;br /&gt;
 * be loaded (or loading) already and the callback will not be delayed. In case a&lt;br /&gt;
 * dependency hasn't arrived yet it'll make sure those are loaded before this.&lt;br /&gt;
 */&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Common.js/edit.js&amp;diff=9850</id>
		<title>MediaWiki:Common.js/edit.js</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Common.js/edit.js&amp;diff=9850"/>
				<updated>2017-06-25T19:43:41Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* Any JavaScript here will be loaded for all users on every page load. */&lt;br /&gt;
/** Extra toolbar options ******************************************************&lt;br /&gt;
 *  &lt;br /&gt;
 *  Description: Adds extra buttons to the editing toolbar.&lt;br /&gt;
 *  &lt;br /&gt;
 *  To disable this script, add &amp;lt;code&amp;gt;mwCustomEditButtons = [];&amp;lt;code&amp;gt; to [[Special:Mypage/vector.js]].&lt;br /&gt;
 *  &lt;br /&gt;
 *  Maintainers: [[User:MarkS]], [[User:Voice of All]], [[User:R. Koot]]&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
if (mwCustomEditButtons) {&lt;br /&gt;
    mwCustomEditButtons.push({&lt;br /&gt;
        &amp;quot;imageFile&amp;quot;: &amp;quot;//upload.wikimedia.org/wikipedia/en/c/c8/Button_redirect.png&amp;quot;,&lt;br /&gt;
        &amp;quot;speedTip&amp;quot;: &amp;quot;Redirect&amp;quot;,&lt;br /&gt;
        &amp;quot;tagOpen&amp;quot;: &amp;quot;#REDIRECT [[&amp;quot;,&lt;br /&gt;
        &amp;quot;tagClose&amp;quot;: &amp;quot;]]&amp;quot;,&lt;br /&gt;
        &amp;quot;sampleText&amp;quot;: &amp;quot;Target page name&amp;quot;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    mwCustomEditButtons.push({&lt;br /&gt;
        &amp;quot;imageFile&amp;quot;: &amp;quot;//upload.wikimedia.org/wikipedia/en/c/c9/Button_strike.png&amp;quot;,&lt;br /&gt;
        &amp;quot;speedTip&amp;quot;: &amp;quot;Strike&amp;quot;,&lt;br /&gt;
        &amp;quot;tagOpen&amp;quot;: &amp;quot;&amp;lt;s&amp;gt;&amp;quot;,&lt;br /&gt;
        &amp;quot;tagClose&amp;quot;: &amp;quot;&amp;lt;/s&amp;gt;&amp;quot;,&lt;br /&gt;
        &amp;quot;sampleText&amp;quot;: &amp;quot;Strike-through text&amp;quot;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    mwCustomEditButtons.push({&lt;br /&gt;
         &amp;quot;imageFile&amp;quot;: &amp;quot;//upload.wikimedia.org/wikipedia/en/1/13/Button_enter.png&amp;quot;,&lt;br /&gt;
        &amp;quot;speedTip&amp;quot;: &amp;quot;Line break&amp;quot;,&lt;br /&gt;
        &amp;quot;tagOpen&amp;quot;: &amp;quot;&amp;lt;br /&amp;gt;&amp;quot;,&lt;br /&gt;
        &amp;quot;tagClose&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;sampleText&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    mwCustomEditButtons.push({&lt;br /&gt;
        &amp;quot;imageFile&amp;quot;: &amp;quot;//upload.wikimedia.org/wikipedia/en/8/80/Button_upper_letter.png&amp;quot;,&lt;br /&gt;
        &amp;quot;speedTip&amp;quot;: &amp;quot;Superscript&amp;quot;,&lt;br /&gt;
        &amp;quot;tagOpen&amp;quot;: &amp;quot;&amp;lt;sup&amp;gt;&amp;quot;,&lt;br /&gt;
        &amp;quot;tagClose&amp;quot;: &amp;quot;&amp;lt;/sup&amp;gt;&amp;quot;,&lt;br /&gt;
        &amp;quot;sampleText&amp;quot;: &amp;quot;Superscript text&amp;quot;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    mwCustomEditButtons.push({&lt;br /&gt;
        &amp;quot;imageFile&amp;quot;: &amp;quot;//upload.wikimedia.org/wikipedia/en/7/70/Button_lower_letter.png&amp;quot;,&lt;br /&gt;
        &amp;quot;speedTip&amp;quot;: &amp;quot;Subscript&amp;quot;,&lt;br /&gt;
        &amp;quot;tagOpen&amp;quot;: &amp;quot;&amp;lt;sub&amp;gt;&amp;quot;,&lt;br /&gt;
        &amp;quot;tagClose&amp;quot;: &amp;quot;&amp;lt;/sub&amp;gt;&amp;quot;,&lt;br /&gt;
        &amp;quot;sampleText&amp;quot;: &amp;quot;Subscript text&amp;quot;&lt;br /&gt;
    });&lt;br /&gt;
 &lt;br /&gt;
    mwCustomEditButtons.push({&lt;br /&gt;
        &amp;quot;imageFile&amp;quot;: &amp;quot;//upload.wikimedia.org/wikipedia/en/5/58/Button_small.png&amp;quot;,&lt;br /&gt;
        &amp;quot;speedTip&amp;quot;: &amp;quot;Small&amp;quot;,&lt;br /&gt;
        &amp;quot;tagOpen&amp;quot;: &amp;quot;&amp;lt;small&amp;gt;&amp;quot;,&lt;br /&gt;
        &amp;quot;tagClose&amp;quot;: &amp;quot;&amp;lt;/small&amp;gt;&amp;quot;,&lt;br /&gt;
        &amp;quot;sampleText&amp;quot;: &amp;quot;Small Text&amp;quot;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    mwCustomEditButtons.push({&lt;br /&gt;
        &amp;quot;imageFile&amp;quot;: &amp;quot;//upload.wikimedia.org/wikipedia/en/3/34/Button_hide_comment.png&amp;quot;,&lt;br /&gt;
        &amp;quot;speedTip&amp;quot;: &amp;quot;Insert hidden Comment&amp;quot;,&lt;br /&gt;
        &amp;quot;tagOpen&amp;quot;: &amp;quot;&amp;lt;!-- &amp;quot;,&lt;br /&gt;
        &amp;quot;tagClose&amp;quot;: &amp;quot; --&amp;gt;&amp;quot;,&lt;br /&gt;
        &amp;quot;sampleText&amp;quot;: &amp;quot;Comment&amp;quot;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    mwCustomEditButtons.push({&lt;br /&gt;
        &amp;quot;imageFile&amp;quot;: &amp;quot;//upload.wikimedia.org/wikipedia/en/1/12/Button_gallery.png&amp;quot;,&lt;br /&gt;
        &amp;quot;speedTip&amp;quot;: &amp;quot;Insert a picture gallery&amp;quot;,&lt;br /&gt;
        &amp;quot;tagOpen&amp;quot;: &amp;quot;\n&amp;lt;gallery&amp;gt;\n&amp;quot;,&lt;br /&gt;
        &amp;quot;tagClose&amp;quot;: &amp;quot;\n&amp;lt;/gallery&amp;gt;&amp;quot;,&lt;br /&gt;
        &amp;quot;sampleText&amp;quot;: &amp;quot;Image:Example.jpg|Caption1\nImage:Example.jpg|Caption2&amp;quot;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    mwCustomEditButtons.push({&lt;br /&gt;
        &amp;quot;imageFile&amp;quot;: &amp;quot;//upload.wikimedia.org/wikipedia/en/f/fd/Button_blockquote.png&amp;quot;,&lt;br /&gt;
        &amp;quot;speedTip&amp;quot;: &amp;quot;Insert block of quoted text&amp;quot;,&lt;br /&gt;
        &amp;quot;tagOpen&amp;quot;: &amp;quot;&amp;lt;blockquote&amp;gt;\n&amp;quot;,&lt;br /&gt;
        &amp;quot;tagClose&amp;quot;: &amp;quot;\n&amp;lt;/blockquote&amp;gt;&amp;quot;,&lt;br /&gt;
        &amp;quot;sampleText&amp;quot;: &amp;quot;Block quote&amp;quot;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    mwCustomEditButtons.push({&lt;br /&gt;
        &amp;quot;imageFile&amp;quot;: &amp;quot;//upload.wikimedia.org/wikipedia/en/6/60/Button_insert_table.png&amp;quot;,&lt;br /&gt;
        &amp;quot;speedTip&amp;quot;: &amp;quot;Insert a table&amp;quot;,&lt;br /&gt;
        &amp;quot;tagOpen&amp;quot;: '{| class=&amp;quot;wikitable&amp;quot;\n|',&lt;br /&gt;
        &amp;quot;tagClose&amp;quot;: &amp;quot;\n|}&amp;quot;,&lt;br /&gt;
        &amp;quot;sampleText&amp;quot;: &amp;quot;-\n! header 1\n! header 2\n! header 3\n|-\n| row 1, cell 1\n| row 1, cell 2\n| row 1, cell 3\n|-\n| row 2, cell 1\n| row 2, cell 2\n| row 2, cell 3&amp;quot;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    mwCustomEditButtons.push({&lt;br /&gt;
        &amp;quot;imageFile&amp;quot;: &amp;quot;//upload.wikimedia.org/wikipedia/commons/7/79/Button_reflink.png&amp;quot;,&lt;br /&gt;
        &amp;quot;speedTip&amp;quot;: &amp;quot;Insert a reference&amp;quot;,&lt;br /&gt;
        &amp;quot;tagOpen&amp;quot;: &amp;quot;&amp;lt;ref&amp;gt;&amp;quot;,&lt;br /&gt;
        &amp;quot;tagClose&amp;quot;: &amp;quot;&amp;lt;/ref&amp;gt;&amp;quot;,&lt;br /&gt;
        &amp;quot;sampleText&amp;quot;: &amp;quot;Insert footnote text here&amp;quot;&lt;br /&gt;
    });&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/** Fix edit summary prompt for undo  ******************************************&lt;br /&gt;
 *  Fixes the fact that the undo function combined with the &amp;quot;no edit summary prompter&amp;quot;&lt;br /&gt;
 *  causes problems if leaving the edit summary unchanged.&lt;br /&gt;
 *  Added by [[User:Deskana]], code by [[User:Tra]].&lt;br /&gt;
 *  See also [[bugzilla:8912]].&lt;br /&gt;
 */&lt;br /&gt;
$(function () {&lt;br /&gt;
    if (document.location.search.indexOf(&amp;quot;undo=&amp;quot;) != -1 &amp;amp;&amp;amp; document.getElementsByName('wpAutoSummary')[0]) {&lt;br /&gt;
        document.getElementsByName('wpAutoSummary')[0].value='1';&lt;br /&gt;
    }&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/** Edittools javascript loader ************************************************&lt;br /&gt;
 *&lt;br /&gt;
 *  Description: Pulls in [[MediaWiki:Edittools.js]]. Includes a cache-bypassing&lt;br /&gt;
 *  version number in the URL in order to allow any changes to the edittools to&lt;br /&gt;
 *  be rapidly deployed to users.&lt;br /&gt;
 *&lt;br /&gt;
 *  Note that, by default, this function does nothing unless the element with&lt;br /&gt;
 *  the ID &amp;quot;editpage-specialchars&amp;quot; (which contains the old edittools code in&lt;br /&gt;
 *  [[MediaWiki:Edittools]], and will be retained as a placeholder in the new&lt;br /&gt;
 *  implementation) has a class named &amp;quot;edittools-version-NNN&amp;quot;, where NNN is a&lt;br /&gt;
 *  number.  If the class name has &amp;quot;test&amp;quot; before the number, the code will only&lt;br /&gt;
 *  run for users who have set &amp;quot;window.testJsEdittools = true&amp;quot; in their user JS.&lt;br /&gt;
 *  The &amp;quot;test&amp;quot; should be retained in the class name until the new edittools&lt;br /&gt;
 *  implementation is ready and fully tested, and until at least 30 days have&lt;br /&gt;
 *  passed since this loader stub was added (which will be in 27 June 2008).&lt;br /&gt;
 *&lt;br /&gt;
 *  For compatibility with Alex Smotrov's original implementation, on which this&lt;br /&gt;
 *  code is loosely based (see [[mw:User talk:Alex Smotrov/edittools.js]]), this&lt;br /&gt;
 *  loader can also be disabled by setting &amp;quot;window.noDefaultEdittools = true&amp;quot;.&lt;br /&gt;
 *&lt;br /&gt;
 *  Maintainers: [[User:Ilmari Karonen]]&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
//Prevent the static edittools from flashing before the compact edittools below is loaded.&lt;br /&gt;
mw.util.addCSS('div.edittools-text { display:none; }');&lt;br /&gt;
&lt;br /&gt;
$(function () {&lt;br /&gt;
    // needs to be deferred until the DOM has fully loaded&lt;br /&gt;
    var placeholder = document.getElementById(&amp;quot;editpage-specialchars&amp;quot;);&lt;br /&gt;
    if (!placeholder || window.noDefaultEdittools) {&lt;br /&gt;
        //Show the static edittools again for users with &amp;quot;window.noDefaultEdittools=true&amp;quot;.&lt;br /&gt;
        mw.util.addCSS('div.edittools-text { display:block; }');&lt;br /&gt;
        return;&lt;br /&gt;
    }&lt;br /&gt;
    var match = /(?:^| )edittools-version-(\d+)(?: |$)/.exec(placeholder.className);&lt;br /&gt;
    console.log(&amp;quot;Common.js/edit.js match =&amp;quot; + match);&lt;br /&gt;
    // set window.testJsEdittools = true to enable testing before full deployment&lt;br /&gt;
    if (!match &amp;amp;&amp;amp; window.testJsEdittools)&lt;br /&gt;
        match = /(?:^| )edittools-version-(test\d+)(?: |$)/.exec(placeholder.className);&lt;br /&gt;
    &lt;br /&gt;
    if (!match) return;&lt;br /&gt;
    var url = wgScript + '?title=MediaWiki:Edittools.js&amp;amp;action=raw&amp;amp;ctype=text/javascript&amp;amp;nocache=' + match[1];&lt;br /&gt;
    importScriptURI(url);&lt;br /&gt;
});&lt;br /&gt;
var url = wgScript + '?title=MediaWiki:Edittools.js&amp;amp;action=raw&amp;amp;ctype=text/javascript';&lt;br /&gt;
    importScriptURI(url);&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Edittools.js&amp;diff=9852</id>
		<title>MediaWiki:Edittools.js</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Edittools.js&amp;diff=9852"/>
				<updated>2017-06-25T19:43:41Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// copied from [[mw:User:Alex Smotrov/edittools.js]], modified for use on the English Wikipedia.&lt;br /&gt;
// enableForAllFields() feature from [[commons:MediaWiki:Edittools.js]]&lt;br /&gt;
// combined and modified by [[User:Ilmari Karonen]]&lt;br /&gt;
// after making changes to this page and testing them, update the number after &amp;quot;edittools-version-&amp;quot; in [[MediaWiki:Edittools]] to purge the cache for everyone&lt;br /&gt;
&lt;br /&gt;
if (typeof (EditTools_set_focus) == 'undefined')&lt;br /&gt;
   var EditTools_set_focus = true;&lt;br /&gt;
&lt;br /&gt;
if (typeof (EditTools_set_focus_initially) == 'undefined')&lt;br /&gt;
   var EditTools_set_focus_initially = EditTools_set_focus;&lt;br /&gt;
&lt;br /&gt;
var EditTools =&lt;br /&gt;
{&lt;br /&gt;
  charinsert : {&lt;br /&gt;
     'Insert': ' – — ‘+’ “+” ° ″ ′ ≈ ≠ ≤ ≥ ± − × ÷ √ ← → · §  Sign_your_posts_on_talk_pages: ~~\~~  Cite_your_sources: &amp;lt;ref&amp;gt;+&amp;lt;/ref&amp;gt;',&lt;br /&gt;
     'Wiki markup': 'Insert:  – — ‘+’ “+” ° ″ ′ ≈ ≠ ≤ ≥ ± − × ÷ √ ← → · § ~~\~~ &amp;lt;ref&amp;gt;+&amp;lt;/ref&amp;gt;  Wiki_markup:  {\{+}}  {\{\{+}}}  |  {\{TextTerm|demography|1+}} {\{RefNumber|+13|0|1}} {\{NonRefTerm|+}} {\{Note|+|}} {\{NoteTerm|+}} [+]  [\[+]]  [\[Category:+]]  #REDIRECT.[\[+]]  &amp;amp;nbsp;  &amp;lt;s&amp;gt;+&amp;lt;/s&amp;gt;  &amp;lt;sup&amp;gt;+&amp;lt;/sup&amp;gt;  &amp;lt;sub&amp;gt;+&amp;lt;/sub&amp;gt;  &amp;lt;code&amp;gt;+&amp;lt;/code&amp;gt;  &amp;lt;pre&amp;gt;+&amp;lt;/pre&amp;gt;  &amp;lt;blockquote&amp;gt;+&amp;lt;/blockquote&amp;gt;  &amp;lt;ref.name=&amp;quot;+&amp;quot;/&amp;gt;  {\{#tag:ref|+|group=&amp;quot;nb&amp;quot;}}  {\{Reflist}}  &amp;lt;references/&amp;gt;  &amp;lt;includeonly&amp;gt;+&amp;lt;/includeonly&amp;gt;  &amp;lt;noinclude&amp;gt;+&amp;lt;/noinclude&amp;gt;  {\{DEFAULTSORT:+}}  &amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt;  &amp;lt;!--.+_--&amp;gt;  &amp;lt;span.class=&amp;quot;plainlinks&amp;quot;&amp;gt;+&amp;lt;/span&amp;gt;',&lt;br /&gt;
     'Symbols': '~ | ¡¿†‡↔↑↓•¶  # ½⅓⅔¼¾⅛⅜⅝⅞∞  ‘+’ “+” ‹+› «+» ⟨+⟩  ¤₳฿₵¢₡₢$₫₯€₠₣ƒ₴₭₤ℳ₥₦№₧₰£៛₨₪৳₮₩¥  ♠♣♥♦  m² m³  ♭♯♮  ©®™ ◌ {\{Unicode|+}}', &lt;br /&gt;
     'Latin': 'A a Á á À à Â â Ä ä Ǎ ǎ Ă ă Ā ā Ã ã Å å Ą ą Æ æ Ǣ ǣ  B b  C c Ć ć Ċ ċ Ĉ ĉ Č č Ç ç  D d Ď ď Đ đ Ḍ ḍ Ð ð  E e É é È è Ė ė Ê ê Ë ë Ě ě Ĕ ĕ Ē ē Ẽ ẽ Ę ę Ɛ ɛ Ə ə  F f  G g Ġ ġ Ĝ ĝ Ğ ğ Ģ ģ  H h Ĥ ĥ Ħ ħ Ḥ ḥ  I i İ ı Í í Ì ì Î î Ï ï Ǐ ǐ Ĭ ĭ Ī ī Ĩ ĩ Į į  J j Ĵ ĵ  K k Ķ ķ  L l Ĺ ĺ Ŀ ŀ Ľ ľ Ļ ļ Ł ł Ḷ ḷ Ḹ ḹ  M m Ṃ ṃ  N n Ń ń Ň ň Ñ ñ Ņ ņ Ṇ ṇ Ŋ ŋ  O o Ó ó Ò ò Ô ô Ö ö Ǒ ǒ Ŏ ŏ Ō ō Õ õ Ǫ ǫ Ő ő Ø ø Œ œ  Ɔ ɔ  P p  Q q  R r Ŕ ŕ Ř ř Ŗ ŗ Ṛ ṛ Ṝ ṝ  S s Ś ś Ŝ ŝ Š š Ş ş Ṣ ṣ ß  T t Ť ť Ţ ţ Ṭ ṭ Þ þ  U u Ú ú Ù ù Û û Ü ü Ǔ ǔ Ŭ ŭ Ū ū Ũ ũ Ů ů Ų ų Ű ű Ǘ ǘ Ǜ ǜ Ǚ ǚ Ǖ ǖ  V v  W w Ŵ ŵ  X x  Y y Ý ý Ŷ ŷ Ÿ ÿ Ỹ ỹ Ȳ ȳ  Z z Ź ź Ż ż Ž ž  ß Ð ð Þ þ Ŋ ŋ Ə ə  {\{Unicode|+}}',&lt;br /&gt;
     'Greek': 'ΆάΈέΉήΊίΌόΎύΏώ  ΑαΒβΓγΔδ  ΕεΖζΗηΘθ  ΙιΚκΛλΜμ  ΝνΞξΟοΠπ  ΡρΣσςΤτΥυ  ΦφΧχΨψΩω  ᾼᾳᾴᾺὰᾲᾶᾷἈἀᾈᾀἉἁᾉᾁἌἄᾌᾄἊἂᾊᾂἎἆᾎᾆἍἅᾍᾅἋἃᾋᾃἏἇᾏᾇ  ῈὲἘἐἙἑἜἔἚἒἝἕἛἓ  ῌῃῄῊὴῂῆῇἨἠᾘᾐἩἡᾙᾑἬἤᾜᾔἪἢᾚᾒἮἦᾞᾖἭἥᾝᾕἫἣᾛᾓἯἧᾟᾗ  ῚὶῖἸἰἹἱἼἴἺἲἾἶἽἵἻἳἿἷ  ῸὸὈὀὉὁὌὄὊὂὍὅὋὃ  ῤῬῥ  ῪὺῦὐὙὑὔὒὖὝὕὛὓὟὗ  ῼῳῴῺὼῲῶῷὨὠᾨᾠὩὡᾩᾡὬὤᾬᾤὪὢᾪᾢὮὦᾮᾦὭὥᾭᾥὫὣᾫᾣὯὧᾯᾧ   {\{Polytonic|+}}',&lt;br /&gt;
     'Cyrillic': 'АаБбВвГг  ҐґЃѓДдЂђ  ЕеЁёЄєЖж  ЗзЅѕИиІі  ЇїЙйЈјКк  ЌќЛлЉљМм  НнЊњОоПп  РрСсТтЋћ  УуЎўФфХх  ЦцЧчЏџШш  ЩщЪъЫыЬь  ЭэЮюЯя ӘәӨөҒғҖҗ ҚқҜҝҢңҮү ҰұҲҳҸҹҺһ  ҔҕӢӣӮӯҘҙ  ҠҡҤҥҪҫӐӑ  ӒӓӔӕӖӗӰӱ  ӲӳӸӹӀ  ҞҟҦҧҨҩҬҭ  ҴҵҶҷҼҽҾҿ  ӁӂӃӄӇӈӋӌ  ӚӛӜӝӞӟӠӡ  ӤӥӦӧӪӫӴӵ  ́',&lt;br /&gt;
     'Hebrew': 'אבגדהוזחטיךכלםמןנסעףפץצקרשת  ׳ ״  װױײ',&lt;br /&gt;
     'Arabic': '  Transcription: ʾ ṯ ḥ ḫ ẖ ḏ š ṣ ḍ ṭ ẓ ʿ ġ ẗ ا ﺁ ب ت ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ ف ق ك ل م ن ه ة و ي ى ء أ إ ؤ ئ',&lt;br /&gt;
     'IPA (English)': 'ˈ ˌ ŋ ɡ tʃ dʒ ʃ ʒ θ ð ʔ  iː ɪ uː ʊ ʌ ɜr eɪ ɛ æ oʊ ɒ ɔː ɔɪ ɔr ɑː ɑr aɪ aʊ  ə ər ɨ ɵ ʉ  {\{IPA-en|+}} {\{IPA|/+/}} ‹+›',&lt;br /&gt;
     'IPA': 'ʈɖɟɡɢʡʔ  ɸβθðʃʒɕʑʂʐçʝɣχʁħʕʜʢɦ  ɱɳɲŋɴ  ʋɹɻɰ  ʙⱱʀɾɽ  ɬ ɮ ɺ ɭʎʟ  ʍɥɧ  ʼ ɓɗʄɠʛ  ʘǀǃǂǁ  ɨʉɯ ɪʏʊ øɘɵɤ ə ɛœɜɞʌɔ æ ɐ ɶɑɒ  ʰʱʷʲˠˤˀ ᵊ k̚ ⁿˡ  ˈˌːˑ t̪ d̪ s̺ s̻ θ̼ s̬ n̥ ŋ̊ a̤ a̰  β̞ ˕ r̝ ˔ o˞ ɚ ɝ e̘ e̙ u̟ i̠ ɪ̈ e̽ ɔ̹ ɔ̜ n̩ ə̆ ə̯ ə̃ ȷ̃ ɫ z̴ ə̋ ə́ ə̄ ə̀ ə̏ ə̌ ə̂ ə᷄ ə᷅ ə᷇ ə᷆ ə᷈ ə᷉ t͡ʃ d͡ʒ t͜ɬ ‿  ˥ ˦ ˧ ˨ ˩ ꜛ ꜜ | ‖ ↗ ↘  k͈ s͎ {\{IPA|+}}',&lt;br /&gt;
     'Math and logic': '− × ÷ ⋅ ° ∗ ∘ ± ∓ ≤ ≥ ≠ ≡ ≅ ≜ ≝ ≐ ≃ ≈ ⊕ ⊗ ⇐ ⇔ ⇒ ∞ ← ↔ → ≪ ≫ ∝ √ ∤ ≀ ◅ ▻ ⋉ ⋊ ⋈ ∴ ∵ ↦ ¬ ∧ ∨ ⊻ ∀ ∃ ∈ ∉ ∋ ⊆ ⊈ ⊊ ⊂ ⊄ ⊇ ⊉ ⊋ ⊃ ⊅ ∪ ∩ ∑ ∏ ∐ ′ ∫ ∬ ∭ ∮ ∇ ∂ ∆ ∅ ℂ ℍ ℕ ℙ ℚ ℝ ℤ ℵ ⌊ ⌋ ⌈ ⌉ ⊤ ⊥ ⊢ ⊣ ⊧ □ ∠ ⟨ ⟩ {\{frac|+|}} &amp;amp;nbsp; &amp;amp;minus; &amp;lt;math&amp;gt;+&amp;lt;/math&amp;gt; {\{math|+}}'&lt;br /&gt;
  },&lt;br /&gt;
&lt;br /&gt;
  charinsertDivider : &amp;quot;\240&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
  extraCSS : '\&lt;br /&gt;
    #editpage-specialchars {\&lt;br /&gt;
      margin-top: 15px;\&lt;br /&gt;
      border-width: 1px;\&lt;br /&gt;
      border-style: solid;\&lt;br /&gt;
      border-color: #aaaaaa;\&lt;br /&gt;
      padding: 2px;\&lt;br /&gt;
    }\&lt;br /&gt;
    #editpage-specialchars a {\&lt;br /&gt;
    }\&lt;br /&gt;
    #editpage-specialchars a:hover {\&lt;br /&gt;
    }\&lt;br /&gt;
  ',&lt;br /&gt;
&lt;br /&gt;
  appendExtraCSS : function ()&lt;br /&gt;
  {&lt;br /&gt;
     appendCSS(EditTools.extraCSS);&lt;br /&gt;
  },&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  cookieName : 'edittoolscharsubset',&lt;br /&gt;
&lt;br /&gt;
  createEditTools : function (placeholder)&lt;br /&gt;
  {&lt;br /&gt;
     var box = document.createElement(&amp;quot;div&amp;quot;);&lt;br /&gt;
     box.id = &amp;quot;editpage-specialchars&amp;quot;;&lt;br /&gt;
     box.title = 'Click on the character or tag to insert it into the edit window';&lt;br /&gt;
     &lt;br /&gt;
     //append user-defined sets&lt;br /&gt;
     if (window.charinsertCustom)&lt;br /&gt;
	for (id in charinsertCustom)&lt;br /&gt;
	   if (EditTools.charinsert[id]) EditTools.charinsert[id] += ' ' + charinsertCustom[id];&lt;br /&gt;
	   else EditTools.charinsert[id] = charinsertCustom[id];&lt;br /&gt;
&lt;br /&gt;
     //create drop-down select&lt;br /&gt;
     var prevSubset = 0, curSubset = 0;&lt;br /&gt;
     var sel = document.createElement('select'), id;&lt;br /&gt;
     for (id in EditTools.charinsert)&lt;br /&gt;
	sel.options[sel.options.length] = new Option(id, id);&lt;br /&gt;
     sel.selectedIndex = 0;&lt;br /&gt;
     sel.style.cssFloat = sel.style.styleFloat = 'left';&lt;br /&gt;
     sel.style.marginRight = '5px';&lt;br /&gt;
     sel.title = 'Choose character subset';&lt;br /&gt;
     sel.onchange = sel.onkeyup = selectSubset;&lt;br /&gt;
     box.appendChild(sel);&lt;br /&gt;
&lt;br /&gt;
     //create &amp;quot;recall&amp;quot; switch&lt;br /&gt;
     if (window.editToolsRecall) {&lt;br /&gt;
	var recall = document.createElement('span');&lt;br /&gt;
	recall.appendChild(document.createTextNode('↕')); // ↔&lt;br /&gt;
	recall.onclick = function () {&lt;br /&gt;
	   sel.selectedIndex = prevSubset;&lt;br /&gt;
	   selectSubset();&lt;br /&gt;
	}&lt;br /&gt;
	with (recall.style) { cssFloat = styleFloat = 'left'; marginRight = '5px'; cursor = 'pointer'; }&lt;br /&gt;
	box.appendChild(recall);&lt;br /&gt;
     }&lt;br /&gt;
&lt;br /&gt;
     // load latest selection from cookies&lt;br /&gt;
     try {&lt;br /&gt;
        var cookieRe = new RegExp (&amp;quot;(?:^|;)\\s*&amp;quot; + EditTools.cookieName + &amp;quot;=(\\d+)\\s*(?:;|$)&amp;quot;);&lt;br /&gt;
        var m = cookieRe.exec(document.cookie);&lt;br /&gt;
        if (m &amp;amp;&amp;amp; m.length &amp;gt; 1 &amp;amp;&amp;amp; parseInt(m[1]) &amp;lt; sel.options.length)&lt;br /&gt;
           sel.selectedIndex = parseInt(m[1]);&lt;br /&gt;
     } catch (err) { /* ignore */ }&lt;br /&gt;
&lt;br /&gt;
     placeholder.parentNode.replaceChild(box, placeholder);&lt;br /&gt;
     selectSubset();&lt;br /&gt;
     return;&lt;br /&gt;
&lt;br /&gt;
     function selectSubset ()&lt;br /&gt;
     {&lt;br /&gt;
	//remember previous (for &amp;quot;recall&amp;quot; button)&lt;br /&gt;
	prevSubset = curSubset;&lt;br /&gt;
	curSubset = sel.selectedIndex;&lt;br /&gt;
        //save into cookies for persistence&lt;br /&gt;
        try {&lt;br /&gt;
           var expires = new Date ();&lt;br /&gt;
           expires.setTime( expires.getTime() + 30 * 24 * 60 * 60 * 1000 );  // + 30 days&lt;br /&gt;
           document.cookie = EditTools.cookieName + &amp;quot;=&amp;quot; + curSubset + &amp;quot;;path=/;expires=&amp;quot; + expires.toUTCString();&lt;br /&gt;
        } catch (err) { /* ignore */ }&lt;br /&gt;
	//hide other subsets&lt;br /&gt;
	var pp = box.getElementsByTagName('p') ;&lt;br /&gt;
	for (var i=0; i&amp;lt;pp.length; i++)&lt;br /&gt;
	   pp[i].style.display = 'none';&lt;br /&gt;
	//show/create current subset&lt;br /&gt;
	var id = sel.options[curSubset].value;&lt;br /&gt;
	var p = document.getElementById(id);&lt;br /&gt;
	if (!p){&lt;br /&gt;
	   p = document.createElement('p');&lt;br /&gt;
	   p.id = id;&lt;br /&gt;
	   if (id == 'Arabic' || id == 'Hebrew'){ p.style.fontSize = '120%'; p.dir = 'rtl'; }&lt;br /&gt;
	   EditTools.createTokens(p, EditTools.charinsert[id]);&lt;br /&gt;
	   box.appendChild(p);&lt;br /&gt;
	}&lt;br /&gt;
	p.style.display = 'inline';&lt;br /&gt;
     } &lt;br /&gt;
  },&lt;br /&gt;
  createTokens : function (paragraph, str)&lt;br /&gt;
  {&lt;br /&gt;
     var tokens = str.split(' '), token, i, n;&lt;br /&gt;
     for (i = 0; i &amp;lt; tokens.length; i++) {&lt;br /&gt;
	token = tokens[i];&lt;br /&gt;
	n = token.indexOf('+');&lt;br /&gt;
	if (token == '' || token == '_')&lt;br /&gt;
	   addText(EditTools.charinsertDivider + ' ');&lt;br /&gt;
	else if (token == '\n')&lt;br /&gt;
	   paragraph.appendChild(document.createElement('br'));&lt;br /&gt;
	else if (token == '___')&lt;br /&gt;
	   paragraph.appendChild(document.createElement('hr'));&lt;br /&gt;
	else if (token.charAt(token.length-1) == ':')  // : at the end means just text&lt;br /&gt;
	   addBold(token);&lt;br /&gt;
	else if (n == 0) // +&amp;lt;tag&amp;gt;  -&amp;gt;   &amp;lt;tag&amp;gt;+&amp;lt;/tag&amp;gt;&lt;br /&gt;
	   addLink(token.substring(1), '&amp;lt;/' + token.substring(2), token.substring(1));&lt;br /&gt;
	else if (n &amp;gt; 0) // &amp;lt;tag&amp;gt;+&amp;lt;/tag&amp;gt;&lt;br /&gt;
	   addLink(token.substring(0,n), token.substring(n+1));&lt;br /&gt;
	else if (token.length &amp;gt; 2 &amp;amp;&amp;amp; token.charCodeAt(0) &amp;gt; 127) //a string of insertable characters&lt;br /&gt;
	   for (var j=0; j &amp;lt; token.length; j++) addLink(token.charAt(j), '');&lt;br /&gt;
	else&lt;br /&gt;
	   addLink(token, '');&lt;br /&gt;
     }&lt;br /&gt;
     return;&lt;br /&gt;
&lt;br /&gt;
     function addLink (tagOpen, tagClose, name)&lt;br /&gt;
     {&lt;br /&gt;
	var a = document.createElement('a');&lt;br /&gt;
	tagOpen = tagOpen.replace(/\./g,' ');&lt;br /&gt;
	tagClose = tagClose ? tagClose.replace(/_/g,' ') : '';&lt;br /&gt;
	name = name || tagOpen + tagClose;&lt;br /&gt;
	name = name.replace(/\\n/g,'');&lt;br /&gt;
	a.appendChild(document.createTextNode(name));&lt;br /&gt;
	a.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
	addHandler( a, 'click', new Function( &amp;quot;evt&amp;quot;, &amp;quot;insertTags('&amp;quot; + tagOpen + &amp;quot;', '&amp;quot; + tagClose + &amp;quot;', ''); return killEvt( evt );&amp;quot; ) );&lt;br /&gt;
	paragraph.appendChild(a);&lt;br /&gt;
	addText(' ');&lt;br /&gt;
     }&lt;br /&gt;
     function addBold (text)&lt;br /&gt;
     {&lt;br /&gt;
	var b = document.createElement('b');&lt;br /&gt;
	b.appendChild(document.createTextNode(text.replace(/_/g,' ')));&lt;br /&gt;
	paragraph.appendChild(b);&lt;br /&gt;
	addText(' ');&lt;br /&gt;
     }     &lt;br /&gt;
     function addText (txt)&lt;br /&gt;
     {&lt;br /&gt;
	paragraph.appendChild(document.createTextNode(txt));&lt;br /&gt;
     }&lt;br /&gt;
  },&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
  enableForAllFields : function ()&lt;br /&gt;
  {&lt;br /&gt;
     if (typeof (insertTags) != 'function' || window.WikEdInsertTags) return;&lt;br /&gt;
     // insertTags from the site-wide /skins-1.5/common/edit.js just inserts in the first&lt;br /&gt;
     // textarea in the document. Evidently, that's not good if we have multiple textareas.&lt;br /&gt;
     // My first idea was to simply add a hidden textarea as the first one, and redefine&lt;br /&gt;
     // insertTags such that it copied first the last active textareas contents over to that hidden&lt;br /&gt;
     // field, set the cursor or selection there, let the standard insertTags do its thing, and&lt;br /&gt;
     // then copy the hidden field's text, cursor position and selection back to the currently&lt;br /&gt;
     // active field. Unfortunately, that is just as complex as simply copying the whole code&lt;br /&gt;
     // from wikibits to here and let it work on the right text field in the first place.&lt;br /&gt;
     var texts = document.getElementsByTagName ('textarea');    &lt;br /&gt;
     for (var i = 0; i &amp;lt; texts.length; i++) {&lt;br /&gt;
	addHandler (texts[i], 'focus', EditTools.registerTextField);&lt;br /&gt;
     }&lt;br /&gt;
     // While we're at it, also enable it for input fields&lt;br /&gt;
     texts = document.getElementsByTagName ('input');&lt;br /&gt;
     for (var i = 0; i &amp;lt; texts.length; i++) {&lt;br /&gt;
	if (texts[i].type == 'text') addHandler (texts[i], 'focus', EditTools.registerTextField);&lt;br /&gt;
     }&lt;br /&gt;
     insertTags = EditTools.insertTags; // Redefine the global insertTags&lt;br /&gt;
  },&lt;br /&gt;
 &lt;br /&gt;
  last_active_textfield : null,&lt;br /&gt;
 &lt;br /&gt;
  registerTextField : function (evt)&lt;br /&gt;
  {&lt;br /&gt;
     var e = evt || window.event;&lt;br /&gt;
     var node = e.target || e.srcElement;&lt;br /&gt;
     if (!node) return;&lt;br /&gt;
     EditTools.last_active_textfield = node.id;&lt;br /&gt;
     return true;&lt;br /&gt;
  },&lt;br /&gt;
 &lt;br /&gt;
  getTextArea : function ()&lt;br /&gt;
  {&lt;br /&gt;
     var txtarea = null;&lt;br /&gt;
     if (EditTools.last_active_textfield &amp;amp;&amp;amp; EditTools.last_active_textfield != &amp;quot;&amp;quot;)&lt;br /&gt;
	txtarea = document.getElementById (EditTools.last_active_textfield);&lt;br /&gt;
     if (!txtarea) {&lt;br /&gt;
	// Fallback option: old behaviour&lt;br /&gt;
	if (document.editform) {&lt;br /&gt;
	   txtarea = document.editform.wpTextbox1;&lt;br /&gt;
	} else {&lt;br /&gt;
	   // Some alternate form? Take the first one we can find&lt;br /&gt;
	   txtarea = document.getElementsByTagName ('textarea');&lt;br /&gt;
	   if (txtarea.length &amp;gt; 0) txtarea = txtarea[0]; else txtarea = null;&lt;br /&gt;
	}&lt;br /&gt;
     }&lt;br /&gt;
     return txtarea;&lt;br /&gt;
  },&lt;br /&gt;
 &lt;br /&gt;
  insertTags : function (tagOpen, tagClose, sampleText)&lt;br /&gt;
  {&lt;br /&gt;
     var txtarea = EditTools.getTextArea ();&lt;br /&gt;
     if (!txtarea) return;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
     /* Usability initiative compatibility */&lt;br /&gt;
     if ( typeof $j != 'undefined' &amp;amp;&amp;amp; typeof $j.fn.textSelection != 'undefined' ) {&lt;br /&gt;
          $j( txtarea ).textSelection(&lt;br /&gt;
          'encapsulateSelection', { 'pre': tagOpen, 'peri': sampleText, 'post': tagClose }&lt;br /&gt;
          );&lt;br /&gt;
          return;&lt;br /&gt;
     }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
     var selText, isSample = false;&lt;br /&gt;
&lt;br /&gt;
     function checkSelectedText ()&lt;br /&gt;
     {&lt;br /&gt;
	if (!selText) {&lt;br /&gt;
	   selText = sampleText; isSample = true;&lt;br /&gt;
	} else if (selText.charAt (selText.length - 1) == ' ') { // Exclude ending space char&lt;br /&gt;
	   selText = selText.substring (0, selText.length - 1);&lt;br /&gt;
	   tagClose += ' ';&lt;br /&gt;
	} &lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     if (document.selection &amp;amp;&amp;amp; document.selection.createRange) { // IE/Opera&lt;br /&gt;
	// Save window scroll position&lt;br /&gt;
	var winScroll = 0;&lt;br /&gt;
	if (document.documentElement &amp;amp;&amp;amp; document.documentElement.scrollTop)&lt;br /&gt;
	   winScroll = document.documentElement.scrollTop;&lt;br /&gt;
	else if (document.body)&lt;br /&gt;
	   winScroll = document.body.scrollTop;&lt;br /&gt;
	// Get current selection  &lt;br /&gt;
	txtarea.focus();&lt;br /&gt;
	var range = document.selection.createRange();&lt;br /&gt;
	selText = range.text;&lt;br /&gt;
	// Insert tags&lt;br /&gt;
	checkSelectedText ();&lt;br /&gt;
	range.text = tagOpen + selText + tagClose;&lt;br /&gt;
	// Mark sample text as selected&lt;br /&gt;
	if (isSample &amp;amp;&amp;amp; range.moveStart) {&lt;br /&gt;
	   if (window.opera) tagClose = tagClose.replace (/\n/g, &amp;quot;&amp;quot;);&lt;br /&gt;
	   range.moveStart( 'character', - tagClose.length - selText.length); &lt;br /&gt;
	   range.moveEnd ('character', - tagClose.length); &lt;br /&gt;
	}&lt;br /&gt;
	range.select ();   &lt;br /&gt;
	// Restore window scroll position&lt;br /&gt;
	if (document.documentElement &amp;amp;&amp;amp; document.documentElement.scrollTop)&lt;br /&gt;
	   document.documentElement.scrollTop = winScroll;&lt;br /&gt;
	else if (document.body)&lt;br /&gt;
	   document.body.scrollTop = winScroll;&lt;br /&gt;
     } else if (txtarea.selectionStart || txtarea.selectionStart == '0') { // Mozilla&lt;br /&gt;
	// Save textarea scroll position&lt;br /&gt;
	var textScroll = txtarea.scrollTop;&lt;br /&gt;
	// Get current selection&lt;br /&gt;
	txtarea.focus();&lt;br /&gt;
	var startPos = txtarea.selectionStart;&lt;br /&gt;
	var endPos   = txtarea.selectionEnd;&lt;br /&gt;
	selText = txtarea.value.substring (startPos, endPos);&lt;br /&gt;
	// Insert tags&lt;br /&gt;
	checkSelectedText ();&lt;br /&gt;
	txtarea.value = txtarea.value.substring (0, startPos)&lt;br /&gt;
	+ tagOpen + selText + tagClose&lt;br /&gt;
	+ txtarea.value.substring (endPos);&lt;br /&gt;
	// Set new selection&lt;br /&gt;
	if (isSample) {&lt;br /&gt;
	   txtarea.selectionStart = startPos + tagOpen.length;&lt;br /&gt;
	   txtarea.selectionEnd = startPos + tagOpen.length + selText.length;&lt;br /&gt;
	} else {&lt;br /&gt;
	   txtarea.selectionStart = startPos + tagOpen.length + selText.length + tagClose.length;&lt;br /&gt;
	   txtarea.selectionEnd = txtarea.selectionStart;&lt;br /&gt;
	}&lt;br /&gt;
	// Restore textarea scroll position&lt;br /&gt;
	txtarea.scrollTop = textScroll;&lt;br /&gt;
     }&lt;br /&gt;
  }, // end insertTags&lt;br /&gt;
 &lt;br /&gt;
  setup : function ()&lt;br /&gt;
  {&lt;br /&gt;
     var placeholder = document.getElementById(&amp;quot;editpage-specialchars&amp;quot;);&lt;br /&gt;
     if (!placeholder) return;  // has this already been run once?&lt;br /&gt;
     EditTools.appendExtraCSS ();&lt;br /&gt;
     EditTools.createEditTools (placeholder);&lt;br /&gt;
     EditTools.enableForAllFields ();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
}; // end EditTools&lt;br /&gt;
   &lt;br /&gt;
// No need to hook this, as the loading of this page is itself hooked.&lt;br /&gt;
EditTools.setup();&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Edittools&amp;diff=9854</id>
		<title>MediaWiki:Edittools</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Edittools&amp;diff=9854"/>
				<updated>2017-06-25T19:43:41Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div id=&amp;quot;editpage-specialchars&amp;quot; style=&amp;quot;margin-top: 15px; border: 1px solid #aaaaaa; padding: 2px;&amp;quot; class=&amp;quot;edittools-text edittools-version-045&amp;quot;&amp;gt;&amp;lt;!-- INCREMENT THIS VERSION NUMBER TO MAKE CHANGES TO [[MediaWiki:Edittools.js]] LIVE --&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
This div gets automatically replaced with the actual edit tools by the code in [[MediaWiki:Edittools.js]].  Please make any changes there.  Any content is this div is only shown to users with JavaScript turned off (or unsupported).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
'''Copy and paste:''' – — ° ″ ′ ≈ ≠ ≤ ≥ ± − × ÷ ← → · § &amp;amp;nbsp; '''Sign your posts on talk pages:''' &amp;lt;nowiki&amp;gt;~~~~&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
Special Multilingual Demographic Dictionary :&lt;br /&gt;
{{TextTerm|Demography|1}} is ... interdisciplinary fields such as {{NonRefTerm|economic demography}} ({{RefNumber|10|4|1}}), &lt;br /&gt;
{{Note|1| {{NoteTerm|demographer}}, n.: a specialist in demography.}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{TextTerm|Demography|1}} is ... interdisciplinary fields such as {{NonRefTerm|economic demography}} ({{RefNumber|10|4|1}}), &lt;br /&gt;
{{Note|1| {{NoteTerm|demographer}}, n.: a specialist in demography.}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;charinsert&amp;gt;&amp;lt;nowiki&amp;gt;{{&amp;lt;/nowiki&amp;gt;TextTerm|+|}} &amp;lt;nowiki&amp;gt;{{&amp;lt;/nowiki&amp;gt;RefNumber|+||}}  &amp;lt;nowiki&amp;gt;{{&amp;lt;/nowiki&amp;gt;Note|+|}} &amp;lt;nowiki&amp;gt;{{&amp;lt;/nowiki&amp;gt;NoteTerm|}}&amp;lt;/charinsert&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;{{}}&amp;lt;/nowiki&amp;gt; &amp;amp;nbsp; &amp;lt;nowiki&amp;gt;{{{}}}&amp;lt;/nowiki&amp;gt; &amp;amp;nbsp; | &amp;amp;nbsp; &amp;lt;nowiki&amp;gt;[]&amp;lt;/nowiki&amp;gt; &amp;amp;nbsp; &amp;lt;nowiki&amp;gt;[[]]&amp;lt;/nowiki&amp;gt; &amp;amp;nbsp; &amp;lt;nowiki&amp;gt;[[Category:]]&amp;lt;/nowiki&amp;gt; &amp;amp;nbsp; &amp;lt;nowiki&amp;gt;#REDIRECT [[]]&amp;lt;/nowiki&amp;gt; &amp;amp;nbsp; &amp;amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;lt;s&amp;gt;&amp;amp;lt;/s&amp;gt; &amp;amp;nbsp; &amp;amp;lt;sup&amp;gt;&amp;amp;lt;/sup&amp;gt; &amp;amp;nbsp; &amp;amp;lt;sub&amp;gt;&amp;amp;lt;/sub&amp;gt; &amp;amp;nbsp; &amp;amp;lt;code&amp;gt;&amp;amp;lt;/code&amp;gt; &amp;amp;nbsp; &amp;amp;lt;pre&amp;gt;&amp;amp;lt;/pre&amp;gt; &amp;amp;nbsp; &amp;amp;lt;blockquote&amp;gt;&amp;amp;lt;/blockquote&amp;gt; &amp;amp;nbsp; &amp;amp;lt;ref&amp;gt;&amp;amp;lt;/ref&amp;gt; &amp;amp;nbsp; &amp;lt;nowiki&amp;gt;&lt;br /&gt;
{{Reflist}}&amp;lt;/nowiki&amp;gt; &amp;amp;nbsp; &amp;amp;lt;references/&amp;gt; &amp;amp;nbsp; &amp;amp;lt;includeonly&amp;gt;&amp;amp;lt;/includeonly&amp;gt; &amp;amp;nbsp; &amp;amp;lt;noinclude&amp;gt;&amp;amp;lt;/noinclude&amp;gt; &amp;amp;nbsp; &amp;lt;nowiki&amp;gt;{{DEFAULTSORT:}}&amp;lt;/nowiki&amp;gt; &amp;amp;nbsp; &amp;amp;lt;nowiki&amp;gt;&amp;amp;lt;/nowiki&amp;gt; &amp;amp;nbsp; &amp;amp;lt;!-- --&amp;gt; &amp;amp;nbsp; &amp;amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;&amp;amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
'''Symbols:''' ~ | ¡ ¿ † ‡ ↔ ↑ ↓ • ¶ &amp;amp;nbsp; # ½ ⅓ ⅔ ¼ ¾ ⅛ ⅜ ⅝ ⅞ ∞ &amp;amp;nbsp; ‘ ’ “ ” «» &amp;amp;nbsp; ¤ ₳ ฿ ₵ ¢ ₡ ₢ $ ₫ ₯ € ₠ ₣ ƒ ₴ ₭ ₤ ℳ ₥ ₦ № ₧ ₰ £ ៛ ₨ ₪ ৳ ₮ ₩ ¥ &amp;amp;nbsp; ♠ ♣ ♥ ♦ &amp;amp;nbsp; m² m³ &amp;amp;nbsp; ♭ ♯ ♮ &amp;amp;nbsp; © ® ™&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Latin:''' A a Á á À à Â â Ä ä Ǎ ǎ Ă ă Ā ā Ã ã Å å Ą ą Æ æ Ǣ ǣ &amp;amp;nbsp; B b &amp;amp;nbsp; C c Ć ć Ċ ċ Ĉ ĉ Č č Ç ç &amp;amp;nbsp; D d Ď ď Đ đ Ḍ ḍ Ð ð &amp;amp;nbsp; E e É é È è Ė ė Ê ê Ë ë Ě ě Ĕ ĕ Ē ē Ẽ ẽ Ę ę Ə ə &amp;amp;nbsp; F f &amp;amp;nbsp; G g Ġ ġ Ĝ ĝ Ğ ğ Ģ ģ &amp;amp;nbsp; H h Ĥ ĥ Ħ ħ Ḥ ḥ &amp;amp;nbsp; I i İ ı Í í Ì ì Î î Ï ï Ǐ ǐ Ĭ ĭ Ī ī Ĩ ĩ Į į &amp;amp;nbsp; J j Ĵ ĵ &amp;amp;nbsp; K k Ķ ķ &amp;amp;nbsp; L l Ĺ ĺ Ŀ ŀ Ľ ľ Ļ ļ Ł ł Ḷ ḷ Ḹ ḹ &amp;amp;nbsp; M m Ṃ ṃ &amp;amp;nbsp; N n Ń ń Ň ň Ñ ñ Ņ ņ Ṇ ṇ &amp;amp;nbsp; O o Ó ó Ò ò Ô ô Ö ö Ǒ ǒ Ŏ ŏ Ō ō Õ õ Ǫ ǫ Ő ő Ø ø Œ œ &amp;amp;nbsp; P p &amp;amp;nbsp; Q q &amp;amp;nbsp; R r Ŕ ŕ Ř ř Ŗ ŗ Ṛ ṛ Ṝ ṝ &amp;amp;nbsp; S s Ś ś Ŝ ŝ Š š Ş ş Ș ș Ṣ ṣ ß &amp;amp;nbsp; T t Ť ť Ţ ţ Ț ț Ṭ ṭ Þ þ &amp;amp;nbsp; U u Ú ú Ù ù Û û Ü ü Ǔ ǔ Ŭ ŭ Ū ū Ũ ũ Ů ů Ų ų Ű ű Ǘ ǘ Ǜ ǜ Ǚ ǚ Ǖ ǖ &amp;amp;nbsp; V v &amp;amp;nbsp; W w Ŵ ŵ &amp;amp;nbsp; X x &amp;amp;nbsp; Y y Ý ý Ŷ ŷ Ÿ ÿ Ỹ ỹ Ȳ ȳ &amp;amp;nbsp; Z z Ź ź Ż ż Ž ž &amp;amp;nbsp; ß Ð ð Þ þ Ə ə &amp;amp;nbsp; &amp;lt;nowiki&amp;gt;{{Unicode|}}&amp;lt;/nowiki&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
'''Greek:''' Ά ά Έ έ Ή ή Ί ί Ό ό Ύ ύ Ώ ώ &amp;amp;nbsp; Α α Β β Γ γ Δ δ &amp;amp;nbsp; Ε ε Ζ ζ Η η Θ θ &amp;amp;nbsp; Ι ι Κ κ Λ λ Μ μ &amp;amp;nbsp; Ν ν Ξ ξ Ο ο Π π &amp;amp;nbsp; Ρ ρ Σ σ ς Τ τ Υ υ &amp;amp;nbsp; Φ φ Χ χ Ψ ψ Ω ω &amp;amp;nbsp; &amp;lt;nowiki&amp;gt;{{Polytonic|}}&amp;lt;/nowiki&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
'''Cyrillic:''' А а Б б В в Г г &amp;amp;nbsp; Ґ ґ Ѓ ѓ Д д Ђ ђ &amp;amp;nbsp; Е е Ё ё Є є Ж ж &amp;amp;nbsp; З з Ѕ ѕ И и І і &amp;amp;nbsp; Ї ї Й й Ј ј К к &amp;amp;nbsp; Ќ ќ Л л Љ љ М м &amp;amp;nbsp; Н н Њ њ О о П п &amp;amp;nbsp; Р р С с Т т Ћ ћ &amp;amp;nbsp; У у Ў ў Ф ф Х х &amp;amp;nbsp; Ц ц Ч ч Џ џ Ш ш &amp;amp;nbsp; Щ щ Ъ ъ Ы ы Ь ь &amp;amp;nbsp; Э э Ю ю Я я &amp;amp;nbsp; ́ &amp;lt;br /&amp;gt;&lt;br /&gt;
'''IPA:''' t̪ d̪ ʈ ɖ ɟ ɡ ɢ ʡ ʔ &amp;amp;nbsp; ɸ ʃ ʒ ɕ ʑ ʂ ʐ ʝ ɣ ʁ ʕ ʜ ʢ ɦ &amp;amp;nbsp; ɱ ɳ ɲ ŋ ɴ &amp;amp;nbsp; ʋ ɹ ɻ ɰ &amp;amp;nbsp; ʙ ʀ ɾ ɽ &amp;amp;nbsp; ɫ ɬ ɮ ɺ ɭ ʎ ʟ &amp;amp;nbsp; ɥ ʍ ɧ &amp;amp;nbsp; ɓ ɗ ʄ ɠ ʛ &amp;amp;nbsp; ʘ ǀ ǃ ǂ ǁ &amp;amp;nbsp; ɨ ʉ ɯ &amp;amp;nbsp; ɪ ʏ ʊ &amp;amp;nbsp; ɘ ɵ ɤ &amp;amp;nbsp; ə ɚ &amp;amp;nbsp; ɛ ɜ ɝ ɞ ʌ ɔ &amp;amp;nbsp; ɐ ɶ ɑ ɒ &amp;amp;nbsp; ʰ ʷ ʲ ˠ ˤ ⁿ ˡ &amp;amp;nbsp; ˈ ˌ ː ˑ ̪ &amp;amp;nbsp; &amp;lt;nowiki&amp;gt;{{IPA|}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Everything up to here gets automatically replaced with the JavaScript edit tools for users with JavaScript enabled.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 1em;&amp;quot; id=&amp;quot;editpage-copywarn2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;strong style=&amp;quot;font-size: 130%;&amp;quot;&amp;gt;Please note:&amp;lt;/strong&amp;gt;&lt;br /&gt;
* When you click Save page, your changes will immediately become visible to everyone. If you wish to run a test, please edit the [[Wikipedia:Sandbox|Sandbox]] instead.&lt;br /&gt;
*Please post only [[Wikipedia:Wikipedia is an encyclopedia|encyclopedic]] information that can be [[Wikipedia:Verifiability|verified]] by external sources. Please maintain a [[Wikipedia:Neutral point of view|neutral]], unbiased point of view.&lt;br /&gt;
* Please [[Wikipedia:Copy-paste|do not copy and paste]] from copyrighted websites – only [[Wikipedia:public domain|public domain]] resources can be copied without permission.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Gadget-DotsSyntaxHighlighter.js&amp;diff=9836</id>
		<title>MediaWiki:Gadget-DotsSyntaxHighlighter.js</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Gadget-DotsSyntaxHighlighter.js&amp;diff=9836"/>
				<updated>2017-06-25T19:43:40Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//Syntax highlighter with various advantages See [[User:Remember the&lt;br /&gt;
//dot/Syntax highlighter]] for more information&lt;br /&gt;
/*&lt;br /&gt;
MediaWiki:Gadget-DotsSyntaxHighlighter&lt;br /&gt;
[https://www.mediawiki.org/wiki/User:Remember_the_dot/Syntax_highlighter Adapted from Syntax highlighter]: Make syntax stand out colourfully in the edit box and especially with Demopaedia TextTerm etc.&lt;br /&gt;
&lt;br /&gt;
MediaWiki:Gadget-DotsSyntaxHighlighter.js&lt;br /&gt;
&lt;br /&gt;
*/&lt;br /&gt;
//in the edit box and especially with Demopaedia TextTerm etc.&lt;br /&gt;
/* This file may be used under the terms of any of the following&lt;br /&gt;
   licenses, as well as any later version of the same licenses:&lt;br /&gt;
&lt;br /&gt;
   GNU General Public License 2.0&lt;br /&gt;
   &amp;lt;https://www.gnu.org/licenses/old-licenses/gpl-2.0.html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   Creative Commons Attribution-ShareAlike 3.0 Unported License&lt;br /&gt;
   &amp;lt;https://creativecommons.org/licenses/by-sa/3.0/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   GNU Free Documentation License 1.2&lt;br /&gt;
   &amp;lt;https://www.gnu.org/licenses/old-licenses/fdl-1.2.html&amp;gt;&lt;br /&gt;
   Modified by Nicolas Brouard for Demopaedia.org 12 June 2017&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
(function () {&lt;br /&gt;
    &amp;quot;use strict&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    //variables that are preserved between function calls&lt;br /&gt;
    var wpTextbox0;&lt;br /&gt;
    var wpTextbox1;&lt;br /&gt;
    var syntaxStyleTextNode;&lt;br /&gt;
    var lastText;&lt;br /&gt;
    var maxSpanNumber = -1; //the number of the last span available, used to tell if creating additional spans is necessary&lt;br /&gt;
    var highlightSyntaxIfNeededIntervalID;&lt;br /&gt;
    var attributeObserver;&lt;br /&gt;
    var parentObserver;&lt;br /&gt;
&lt;br /&gt;
    /* Define context-specific regexes, one for every common token that ends the&lt;br /&gt;
       current context.&lt;br /&gt;
&lt;br /&gt;
       An attempt has been made to search for the most common syntaxes first,&lt;br /&gt;
       thus maximizing performance. Syntaxes that begin with the same character&lt;br /&gt;
       are searched for at the same time.&lt;br /&gt;
&lt;br /&gt;
       Supported wiki syntaxes from most common to least common:&lt;br /&gt;
           [[internal link]] [http:// named external link]&lt;br /&gt;
           {{template}} {{{template parameter}}} {| table |}&lt;br /&gt;
           &amp;lt;tag&amp;gt; &amp;lt;!-- comment --&amp;gt;&lt;br /&gt;
           http:// bare external link&lt;br /&gt;
           =Heading= * unordered list # ordered list : indent ; small heading ---- horizontal line&lt;br /&gt;
           ''italic'' '''bold'''&lt;br /&gt;
           three tildes username four tildes signature five tildes timestamp&lt;br /&gt;
           &amp;amp;entity;&lt;br /&gt;
&lt;br /&gt;
       The tag-matching regex follows the XML standard closely so that users&lt;br /&gt;
       won't feel like they have to escape sequences that MediaWiki will never&lt;br /&gt;
       consider to be tags.&lt;br /&gt;
&lt;br /&gt;
       Only entities for characters which need to be escaped or cannot be&lt;br /&gt;
       unambiguously represented in a monospace font are highlighted, such as&lt;br /&gt;
       Greek letters that strongly resemble Latin letters. Use of other entities&lt;br /&gt;
       is discouraged as a matter of style. For the same reasons, numeric&lt;br /&gt;
       entities should be in hexadecimal (giving character codes in decimal only&lt;br /&gt;
       adds confusion).&lt;br /&gt;
&lt;br /&gt;
       Newlines are sucked up into ending tokens (including comments, bare&lt;br /&gt;
       external links, lists, horizontal lines, signatures, entities, etc.) to&lt;br /&gt;
       avoid creating spans with nothing but newlines in them.&lt;br /&gt;
&lt;br /&gt;
       Flags: g for global search, m for make ^ match the beginning of each line&lt;br /&gt;
       and $ the end of each line&lt;br /&gt;
    */&lt;br /&gt;
    var wgUrlProtocols = mw.config.get(&amp;quot;wgUrlProtocols&amp;quot;);&lt;br /&gt;
    var entityRegexBase = &amp;quot;&amp;amp;(?:(?:n(?:bsp|dash)|m(?:dash|inus)|lt|e[mn]sp|thinsp|amp|quot|gt|shy|zwn?j|lrm|rlm|Alpha|Beta|Epsilon|Zeta|Eta|Iota|Kappa|[Mm]u|micro|Nu|[Oo]micron|[Rr]ho|Tau|Upsilon|Chi)|#x[0-9a-fA-F]+);\n*&amp;quot;;&lt;br /&gt;
    var breakerRegexBase = &amp;quot;\\[(?:\\[|(?:&amp;quot; + wgUrlProtocols + &amp;quot;))|\\{(?:\\{\\{?|\\|)|&amp;lt;(?:[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:\\w\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD-\\.\u00B7\u0300-\u036F\u203F-\u203F-\u2040]*(?=/?&amp;gt;| |\n)|!--[^]*?--&amp;gt;\n*)|(?:&amp;quot; + wgUrlProtocols.replace(&amp;quot;|\\/\\/&amp;quot;, &amp;quot;&amp;quot;) + &amp;quot;)[^\\s\&amp;quot;&amp;lt;&amp;gt;[\\]{-}]*[^\\s\&amp;quot;,\\.:;&amp;lt;&amp;gt;[\\]{-}]\n*|^(?:=|[*#:;]+\n*|-{4,}\n*)|\\\\'\\\\'(?:\\\\')?|~{3,5}\n*|&amp;quot; + entityRegexBase;&lt;br /&gt;
    function breakerRegexWithPrefix(prefix)&lt;br /&gt;
    {&lt;br /&gt;
        //the stop token has to be at the beginning of the regex so that it takes precedence over substrings of itself.&lt;br /&gt;
        return new RegExp(&amp;quot;(&amp;quot; + prefix + &amp;quot;)\n*|&amp;quot; + breakerRegexBase, &amp;quot;gm&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    function nowikiTagBreakerRegex(tagName)&lt;br /&gt;
    {&lt;br /&gt;
        return new RegExp(&amp;quot;(&amp;lt;/&amp;quot; + tagName + &amp;quot;&amp;gt;)\n*|&amp;quot; + entityRegexBase, &amp;quot;gm&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    var defaultBreakerRegex           = new RegExp(breakerRegexBase, &amp;quot;gm&amp;quot;);&lt;br /&gt;
    var wikilinkBreakerRegex          = breakerRegexWithPrefix(&amp;quot;]][a-zA-Z]*&amp;quot;);&lt;br /&gt;
    var namedExternalLinkBreakerRegex = breakerRegexWithPrefix(&amp;quot;]&amp;quot;);&lt;br /&gt;
    var parameterBreakerRegex         = breakerRegexWithPrefix(&amp;quot;}}}&amp;quot;);&lt;br /&gt;
    var templateBreakerRegex          = breakerRegexWithPrefix(&amp;quot;}}&amp;quot;);&lt;br /&gt;
    var templateArgBreakerRegex          = breakerRegexWithPrefix(&amp;quot;[\\|}]&amp;quot;);&lt;br /&gt;
    var tableBreakerRegex             = breakerRegexWithPrefix(&amp;quot;\\|}&amp;quot;);&lt;br /&gt;
    var headingBreakerRegex           = breakerRegexWithPrefix(&amp;quot;\n&amp;quot;);&lt;br /&gt;
    var tagBreakerRegexCache          = {};&lt;br /&gt;
    var nowikiTagBreakerRegexCache    = {};&lt;br /&gt;
&lt;br /&gt;
    function highlightSyntax()&lt;br /&gt;
    {&lt;br /&gt;
        lastText = wpTextbox1.value;&lt;br /&gt;
        /* Backslashes and apostrophes are CSS-escaped at the beginning and all&lt;br /&gt;
           parsing regexes and functions are designed to match. On the other hand,&lt;br /&gt;
           newlines are not escaped until written so that in the regexes ^ and $&lt;br /&gt;
           work for both newlines and the beginning or end of the string. */&lt;br /&gt;
        var text = lastText.replace(/['\\]/g, &amp;quot;\\$&amp;amp;&amp;quot;) + &amp;quot;\n&amp;quot;; //add a newline to fix scrolling and parsing issues&lt;br /&gt;
        var i = 0; //the location of the parser as it goes through var text&lt;br /&gt;
&lt;br /&gt;
        var css = &amp;quot;&amp;quot;;&lt;br /&gt;
        var spanNumber = 0;&lt;br /&gt;
        var lastColor;&lt;br /&gt;
        var before = true;&lt;br /&gt;
&lt;br /&gt;
        //writes text into to-be-created span elements of wpTextbox0 using :before and :after pseudo-elements&lt;br /&gt;
        //both :before and :after are used because using two pseudo-elements per span is significantly faster than doubling the number of spans required&lt;br /&gt;
        function writeText(text, color)&lt;br /&gt;
        {&lt;br /&gt;
            //no need to use another span if using the same color&lt;br /&gt;
            if (color != lastColor)&lt;br /&gt;
            {&lt;br /&gt;
                //whitespace is omitted in the hope of increasing performance&lt;br /&gt;
                css += &amp;quot;'}#s&amp;quot; + spanNumber; //spans will be created with IDs s0 through sN&lt;br /&gt;
                if (before)&lt;br /&gt;
                {&lt;br /&gt;
                    css += &amp;quot;:before{&amp;quot;;&lt;br /&gt;
                    before = false;&lt;br /&gt;
                }&lt;br /&gt;
                else&lt;br /&gt;
                {&lt;br /&gt;
                    css += &amp;quot;:after{&amp;quot;;&lt;br /&gt;
                    before = true;&lt;br /&gt;
                    ++spanNumber;&lt;br /&gt;
                }&lt;br /&gt;
                if (color)&lt;br /&gt;
                {&lt;br /&gt;
                    //&amp;quot;background-color&amp;quot; is 6 characters longer than &amp;quot;background&amp;quot; but the browser processes it faster&lt;br /&gt;
                    css += &amp;quot;background-color:&amp;quot; + color + &amp;quot;;&amp;quot;;&lt;br /&gt;
                }&lt;br /&gt;
                css += &amp;quot;content:'&amp;quot;;&lt;br /&gt;
                lastColor = color;&lt;br /&gt;
            }&lt;br /&gt;
            css += text;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        /* About assumedBold and assumedItalic:&lt;br /&gt;
&lt;br /&gt;
           Highlighting bold or italic markup presents a special challenge&lt;br /&gt;
           because the actual MediaWiki parser uses multiple passes to determine&lt;br /&gt;
           which ticks represent start tags and which represent end tags.&lt;br /&gt;
           Because that would be too slow for us here, we instead keep track of&lt;br /&gt;
           what kinds of unclosed opening ticks have been encountered and use&lt;br /&gt;
           that to make a good guess as to whether the next ticks encountered&lt;br /&gt;
           are an opening tag or a closing tag.&lt;br /&gt;
&lt;br /&gt;
           The major downsides to this method are that '''apostrophe italic''&lt;br /&gt;
           and ''italic apostrophe''' are not highlighted correctly, and bold&lt;br /&gt;
           and italic are both highlighted in the same color.&lt;br /&gt;
&lt;br /&gt;
           To permit ''The best&amp;lt;ref&amp;gt;''Reference Title''&amp;lt;/ref&amp;gt; book ever'',&lt;br /&gt;
           assumedBold and assumedItalic are saved on the stack and reset to&lt;br /&gt;
           undefined (essentially, false) when recursing into a new block. */&lt;br /&gt;
&lt;br /&gt;
        function highlightBlock(color, breakerRegex, assumedBold, assumedItalic)&lt;br /&gt;
        {&lt;br /&gt;
            var match;&lt;br /&gt;
&lt;br /&gt;
            for (breakerRegex.lastIndex = i; match = breakerRegex.exec(text); breakerRegex.lastIndex = i)&lt;br /&gt;
            {&lt;br /&gt;
                // console.log(&amp;quot; breakerRegex.lastIndex=&amp;quot;+breakerRegex.lastIndex);&lt;br /&gt;
                // console.log(&amp;quot; breakerRegex.source=&amp;quot;+breakerRegex.source);&lt;br /&gt;
                //console.log(&amp;quot; match.input=&amp;quot;+match.input);&lt;br /&gt;
                // if (match[1])&lt;br /&gt;
                //     //console.log(&amp;quot; match1=&amp;quot; + match[1]+ &amp;quot; match0=&amp;quot; +match[0]);&lt;br /&gt;
                // else&lt;br /&gt;
                //     //console.log(&amp;quot; unmatch1=&amp;quot; + match[1]+ &amp;quot; match0=&amp;quot; +match[0]);&lt;br /&gt;
                if (match[1])&lt;br /&gt;
                {&lt;br /&gt;
                    //end token found, we are within a coloured zone &lt;br /&gt;
                    writeText(text.substring(i, breakerRegex.lastIndex), color);&lt;br /&gt;
                    //console.log(&amp;quot; breaker Regex i=&amp;quot;+ i + &amp;quot; breakerRegex.lastIndex=&amp;quot; +breakerRegex.lastIndex + &amp;quot; t=&amp;quot;+text.substring(i, breakerRegex.lastIndex) + &amp;quot; return highlight&amp;quot; );&lt;br /&gt;
                    i = breakerRegex.lastIndex; /* end of zone */&lt;br /&gt;
&lt;br /&gt;
                    return; /* returns after the break ie for with a defautregex in order to search again */&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                var endIndexOfLastColor = breakerRegex.lastIndex - match[0].length; /* Not including the match? */&lt;br /&gt;
                if (i &amp;lt; endIndexOfLastColor) //avoid calling writeText with text == &amp;quot;&amp;quot; to improve performance&lt;br /&gt;
                {&lt;br /&gt;
                    writeText(text.substring(i, endIndexOfLastColor), color); /* Includes i (from 0), excludes endIndexOfLastColor */&lt;br /&gt;
                    //console.log(&amp;quot; substring i=&amp;quot;+ i + &amp;quot; endIndexOfLastColor=&amp;quot; + endIndexOfLastColor );&lt;br /&gt;
&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                i = breakerRegex.lastIndex; /* Out  of coloured zone */ /* Dot is first position after the search &amp;quot;{{.&amp;quot; */&lt;br /&gt;
&lt;br /&gt;
                switch (match[0].charAt(0)) //cases in this switch should be arranged from most common to least common&lt;br /&gt;
                {&lt;br /&gt;
                    case &amp;quot;[&amp;quot;:&lt;br /&gt;
                        if (match[0].charAt(1) == &amp;quot;[&amp;quot;)&lt;br /&gt;
                        {&lt;br /&gt;
                            //wikilink&lt;br /&gt;
                            writeText(&amp;quot;[[&amp;quot;, syntaxHighlighterConfig.wikilinkColor || color);&lt;br /&gt;
                            highlightBlock(syntaxHighlighterConfig.wikilinkColor || color, wikilinkBreakerRegex);&lt;br /&gt;
                        }&lt;br /&gt;
                        else&lt;br /&gt;
                        {&lt;br /&gt;
                            //named external link&lt;br /&gt;
                            writeText(match[0], syntaxHighlighterConfig.externalLinkColor || color);&lt;br /&gt;
                            highlightBlock(syntaxHighlighterConfig.externalLinkColor || color, namedExternalLinkBreakerRegex);&lt;br /&gt;
                        }&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &amp;quot;{&amp;quot;:&lt;br /&gt;
                        if (match[0].charAt(1) == &amp;quot;{&amp;quot;)&lt;br /&gt;
                        {&lt;br /&gt;
                            if (match[0].length == 3)&lt;br /&gt;
                            {&lt;br /&gt;
                                //parameter&lt;br /&gt;
                                writeText(&amp;quot;{{{&amp;quot;, syntaxHighlighterConfig.parameterColor || color);&lt;br /&gt;
                                highlightBlock(syntaxHighlighterConfig.parameterColor || color, parameterBreakerRegex);&lt;br /&gt;
                            }&lt;br /&gt;
                            else&lt;br /&gt;
                            {&lt;br /&gt;
                                //template&lt;br /&gt;
                                //some other kind of template, search for its end&lt;br /&gt;
                                //writeText(&amp;quot;{{&amp;quot;, syntaxHighlighterConfig.templateColor || color);&lt;br /&gt;
                                //{{Note|6| {{NoteTerm|Biométrie}}, s.f. - {{NoteTerm|biométrique}}, adj. - {{NoteTerm|biométricien}}, s.m. : spécialiste de la biométrie.}}&lt;br /&gt;
                                //var templEnd = text.indexOf(&amp;quot;}&amp;quot;, i) + 1; /* Just before first } +1*/&lt;br /&gt;
                                var templTextTermEnd = text.indexOf(&amp;quot;|&amp;quot;, i); /* char from 0 to index &amp;quot;{{Note|&amp;quot; is position 6 (7th char); just after first | if any*/&lt;br /&gt;
                                var iv=text.indexOf(&amp;quot;|&amp;quot;, i);//&amp;quot;{{Note|1|&amp;quot; termEnd is position 7 (starting at &amp;quot;1&amp;quot;), result is 8&lt;br /&gt;
                                var ib=text.indexOf(&amp;quot;}&amp;quot;, i);//&amp;quot;{{RefTerm|Love}}&amp;quot; termEnd is position 9 (starting at &amp;quot;L&amp;quot;), result is 13&lt;br /&gt;
                                var nbarg=0;&lt;br /&gt;
                                var templTextTermEnd ;&lt;br /&gt;
                                var templTextTermEndClose;&lt;br /&gt;
                                if( (ib &amp;lt; iv) || (iv == -1) ){&lt;br /&gt;
                                    nbarg=0;&lt;br /&gt;
                                    templTextTermEndClose=templTextTermEnd = ib ;/* Just at } if any */ /* no argument */&lt;br /&gt;
                                }else{&lt;br /&gt;
                                    nbarg=1;&lt;br /&gt;
                                    templTextTermEnd = iv ; /* Just at second | if any */&lt;br /&gt;
                                }&lt;br /&gt;
                                //{{Current status}}&lt;br /&gt;
                                if(nbarg==1){&lt;br /&gt;
                                    iv=text.indexOf(&amp;quot;|&amp;quot;, templTextTermEnd+1);//&amp;quot;{{Note|1|&amp;quot; termEnd is position 7 (starting at &amp;quot;1&amp;quot;), result is 8&lt;br /&gt;
                                    ib=text.indexOf(&amp;quot;}&amp;quot;, templTextTermEnd+1);//&amp;quot;{{RefTerm|Love}}&amp;quot; termEnd is position 9 (starting at &amp;quot;L&amp;quot;), result is 13&lt;br /&gt;
                                    if( (ib &amp;lt; iv) || (iv == -1) ){&lt;br /&gt;
                                        templTextTermEndClose= ib ;/* Just at } if any */&lt;br /&gt;
                                    }else{&lt;br /&gt;
                                        nbarg=2;&lt;br /&gt;
                                        templTextTermEndClose = iv ; /* Just at second | if any {{Note|1| */&lt;br /&gt;
                                    }&lt;br /&gt;
                                }&lt;br /&gt;
                                //console.log(&amp;quot;templ1 TextTermEndClose  :&amp;quot; + templTextTermEndClose); // Ok before |&lt;br /&gt;
                                // Be careful with scrolling and asynchronous generated by console.log see&lt;br /&gt;
                                // https://developer.mozilla.org/en-US/docs/Mozilla/Performance/Scroll-linked_effects&lt;br /&gt;
                                //console.log(&amp;quot;templ End  :&amp;quot; + templEnd + &amp;quot; noarg=&amp;quot;, noarg); // Ok before }}&lt;br /&gt;
                                // console.log(&amp;quot;templ TextTermEnd  :&amp;quot; + templTextTermEnd); // Ok before |&lt;br /&gt;
                                //console.log(&amp;quot;templ TextTermEndClose  :&amp;quot; + templTextTermEndClose); // Ok before |&lt;br /&gt;
                                // La {{TextTerm|démographie historique|1|102|OtherIndexEntry=historique. démographie ...}} s’occupe&lt;br /&gt;
                                //de la {{NonRefTerm|structure}} &lt;br /&gt;
                                //{{Note|6| {{NoteTerm|Biométrie}}, s.f. - {{NoteTerm|biométrique}}, adj. - {{NoteTerm|biométricien}}, s.m. : spécialiste de la biométrie.}}&lt;br /&gt;
                                //var templText = text.substring(i+2 - match[0].length, templEnd-1);&lt;br /&gt;
                                //TextTerm|démographie historique|1|102|OtherIndexEntry=historique. démographie ..&lt;br /&gt;
                                //NonRefTerm|structure&lt;br /&gt;
                                var templTextType = text.substring(i+2 - match[0].length, templTextTermEnd); /* Excluding char at TermEnd | or } */&lt;br /&gt;
                                //TextTerm&lt;br /&gt;
                                //NonRefTerm&lt;br /&gt;
                                //var templTextTermall = text.substring(templTextTermEnd, templEnd); /* Just after termination | or }*/&lt;br /&gt;
                                //démographie historique|1|102|OtherIndexEntry=historique. démographie ...&lt;br /&gt;
                                //NonRefTerm|structure&lt;br /&gt;
                                var templTextTerm;&lt;br /&gt;
                                if(nbarg &amp;gt;0)&lt;br /&gt;
                                    templTextTerm = text.substring(templTextTermEnd+1,templTextTermEndClose); //excluding terminaison | or }&lt;br /&gt;
                                else&lt;br /&gt;
                                    templTextTerm=&amp;quot;&amp;quot;;&lt;br /&gt;
                                //templTextTermall.substring(0, templTextTermall.indexOf(&amp;quot;|&amp;quot;));&lt;br /&gt;
                                //démographie historique&lt;br /&gt;
                                //structure&lt;br /&gt;
                                var TypeTemplateColor=syntaxHighlighterConfig.templateColor;&lt;br /&gt;
                                var TemplateColor=syntaxHighlighterConfig.templateColor;&lt;br /&gt;
                                var Text1TemplateColor=syntaxHighlighterConfig.templateColor;&lt;br /&gt;
                                var Text2TemplateColor=syntaxHighlighterConfig.templateColor;&lt;br /&gt;
                                if((templTextType==&amp;quot;TextTerm&amp;quot;) ){&lt;br /&gt;
                                    TypeTemplateColor= syntaxHighlighterConfig.templTextTermColor;&lt;br /&gt;
                                    TemplateColor= syntaxHighlighterConfig.templTypeTextTermColor;&lt;br /&gt;
                                    Text1TemplateColor= syntaxHighlighterConfig.backgroundColor;&lt;br /&gt;
                                    Text2TemplateColor=TemplateColor ;&lt;br /&gt;
                                }else if ( (templTextType==&amp;quot;Note&amp;quot;) ){&lt;br /&gt;
                                    TypeTemplateColor= syntaxHighlighterConfig.templTypeNoteColor;&lt;br /&gt;
                                    TemplateColor= syntaxHighlighterConfig.templNoteColor;&lt;br /&gt;
                                    Text1TemplateColor= syntaxHighlighterConfig.backgroundColor;&lt;br /&gt;
                                    Text2TemplateColor= syntaxHighlighterConfig.templNoteColor;&lt;br /&gt;
                                }else if ( (templTextType==&amp;quot;NoteTerm&amp;quot;) ){&lt;br /&gt;
                                    TypeTemplateColor= syntaxHighlighterConfig.templNoteTermColor;&lt;br /&gt;
                                    TemplateColor= syntaxHighlighterConfig.templNoteTermColor;&lt;br /&gt;
                                    Text1TemplateColor= syntaxHighlighterConfig.backgroundColor;&lt;br /&gt;
                                    Text2TemplateColor= syntaxHighlighterConfig.templNoteTermColor;&lt;br /&gt;
                                }else if (templTextType==&amp;quot;NewTextTerm&amp;quot; ){&lt;br /&gt;
                                    TypeTemplateColor= syntaxHighlighterConfig.templTextTermColor;&lt;br /&gt;
                                    TemplateColor= syntaxHighlighterConfig.templTypeNewTextTermColor;&lt;br /&gt;
                                    Text1TemplateColor= syntaxHighlighterConfig.backgroundColor;&lt;br /&gt;
                                    Text2TemplateColor= TemplateColor;&lt;br /&gt;
                                }else if ( templTextType==&amp;quot;RefNumber&amp;quot; ){&lt;br /&gt;
                                    TypeTemplateColor= syntaxHighlighterConfig.templRefNumberColor;&lt;br /&gt;
                                    TemplateColor= syntaxHighlighterConfig.templRefNumberColor;&lt;br /&gt;
                                    Text1TemplateColor= syntaxHighlighterConfig.backgroundColor;&lt;br /&gt;
                                    Text2TemplateColor= TemplateColor;&lt;br /&gt;
                                }else if ((templTextType==&amp;quot;NonRefTerm&amp;quot;) ){&lt;br /&gt;
                                    TypeTemplateColor= syntaxHighlighterConfig.templNonRefTermColor;&lt;br /&gt;
                                    TemplateColor= syntaxHighlighterConfig.templNonRefTermColor;&lt;br /&gt;
                                    Text1TemplateColor= syntaxHighlighterConfig.backgroundColor;&lt;br /&gt;
                                    Text2TemplateColor= syntaxHighlighterConfig.backgroundColor;&lt;br /&gt;
                                }&lt;br /&gt;
                                //writeText(&amp;quot;{{&amp;quot;, TemplateColor || color);&lt;br /&gt;
                                writeText(&amp;quot;{{&amp;quot;, TemplateColor || color); //NonRefTerm| or TextTerm|&lt;br /&gt;
                                writeText(templTextType, TypeTemplateColor || color); //NonRefTerm| or TextTerm|&lt;br /&gt;
                                i=templTextTermEnd;&lt;br /&gt;
                                if(nbarg&amp;gt;=1){&lt;br /&gt;
                                    writeText( &amp;quot;|&amp;quot;, TemplateColor || color); //NonRefTerm| or TextTerm|&lt;br /&gt;
                                    //writeText(templTextType+&amp;quot;|&amp;quot;, syntaxHighlighterConfig.templateColor || color); //NonRefTerm| or TextTerm|&lt;br /&gt;
                                    i=templTextTermEnd+1;&lt;br /&gt;
                                    //writeText(templTextTerm, syntaxHighlighterConfig.tagColor || color); //struture&lt;br /&gt;
                                    writeText(templTextTerm, Text1TemplateColor || color); //struture&lt;br /&gt;
                                    i=templTextTermEndClose; //-noarg;  démographie historique| or 1|, at the terminaison (| or }.&lt;br /&gt;
                                }&lt;br /&gt;
                                if(nbarg==2){&lt;br /&gt;
                                    writeText(&amp;quot;|&amp;quot;,Text2TemplateColor || color);&lt;br /&gt;
                                    i=templTextTermEndClose+1; //-noarg;  démographie historique| or 1|, at the terminaison (| or }.&lt;br /&gt;
                                }&lt;br /&gt;
                                //console.log(&amp;quot; i=&amp;quot;+ i );&lt;br /&gt;
                                //highlightBlock(syntaxHighlighterConfig.templateColor || color, templateBreakerRegex);&lt;br /&gt;
                                highlightBlock(TemplateColor || color, templateBreakerRegex);&lt;br /&gt;
                            }&lt;br /&gt;
                        }&lt;br /&gt;
                        else //|&lt;br /&gt;
                        {&lt;br /&gt;
                            //table&lt;br /&gt;
                            writeText(&amp;quot;{|&amp;quot;, syntaxHighlighterConfig.tableColor || color);&lt;br /&gt;
                            highlightBlock(syntaxHighlighterConfig.tableColor || color, tableBreakerRegex);&lt;br /&gt;
                        }&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &amp;quot;&amp;lt;&amp;quot;:&lt;br /&gt;
                        if (match[0].charAt(1) == &amp;quot;!&amp;quot;)&lt;br /&gt;
                        {&lt;br /&gt;
                            //comment tag&lt;br /&gt;
                            writeText(match[0], syntaxHighlighterConfig.commentColor || color);&lt;br /&gt;
                            break;&lt;br /&gt;
                        }&lt;br /&gt;
                        else&lt;br /&gt;
                        {&lt;br /&gt;
                            //some other kind of tag, search for its end&lt;br /&gt;
                            //the search is made easier because XML attributes may not contain the character &amp;quot;&amp;gt;&amp;quot;&lt;br /&gt;
                            var tagEnd = text.indexOf(&amp;quot;&amp;gt;&amp;quot;, i) + 1;&lt;br /&gt;
                            if (tagEnd == 0)&lt;br /&gt;
                            {&lt;br /&gt;
                                //not a tag, just a &amp;quot;&amp;lt;&amp;quot; with some text after it&lt;br /&gt;
                                writeText(&amp;quot;&amp;lt;&amp;quot;, color);&lt;br /&gt;
                                i = i - match[0].length + 1;&lt;br /&gt;
                                break;&lt;br /&gt;
                            }&lt;br /&gt;
&lt;br /&gt;
                            if (text.charAt(tagEnd - 2) == &amp;quot;/&amp;quot;)&lt;br /&gt;
                            {&lt;br /&gt;
                                //empty tag&lt;br /&gt;
                                writeText(text.substring(i - match[0].length, tagEnd), syntaxHighlighterConfig.tagColor || color);&lt;br /&gt;
                                i = tagEnd;&lt;br /&gt;
                            }&lt;br /&gt;
                            else&lt;br /&gt;
                            {&lt;br /&gt;
                                var tagName = match[0].substring(1);&lt;br /&gt;
&lt;br /&gt;
                                if (syntaxHighlighterConfig.sourceTags.indexOf(tagName) != -1)&lt;br /&gt;
                                {&lt;br /&gt;
                                    //tag that contains text in a different programming language&lt;br /&gt;
                                    var stopAfter = &amp;quot;&amp;lt;/&amp;quot; + tagName + &amp;quot;&amp;gt;&amp;quot;;&lt;br /&gt;
                                    var endIndex = text.indexOf(stopAfter, i);&lt;br /&gt;
                                    if (endIndex == -1)&lt;br /&gt;
                                    {&lt;br /&gt;
                                        endIndex = text.length;&lt;br /&gt;
                                    }&lt;br /&gt;
                                    else&lt;br /&gt;
                                    {&lt;br /&gt;
                                        endIndex += stopAfter.length;&lt;br /&gt;
                                    }&lt;br /&gt;
                                    writeText(text.substring(i - match[0].length, endIndex), syntaxHighlighterConfig.tagColor || color);&lt;br /&gt;
                                    i = endIndex;&lt;br /&gt;
                                }&lt;br /&gt;
                                else if (syntaxHighlighterConfig.nowikiTags.indexOf(tagName) != -1)&lt;br /&gt;
                                {&lt;br /&gt;
                                    //tag that can contain only HTML entities&lt;br /&gt;
                                    writeText(text.substring(i - match[0].length, tagEnd), syntaxHighlighterConfig.tagColor || color);&lt;br /&gt;
                                    i = tagEnd;&lt;br /&gt;
                                    highlightBlock(syntaxHighlighterConfig.tagColor || color, nowikiTagBreakerRegexCache[tagName]);&lt;br /&gt;
                                }&lt;br /&gt;
                                else&lt;br /&gt;
                                {&lt;br /&gt;
                                    //ordinary tag&lt;br /&gt;
                                    writeText(text.substring(i - match[0].length, tagEnd), syntaxHighlighterConfig.tagColor || color);&lt;br /&gt;
                                    i = tagEnd;&lt;br /&gt;
                                    if (!tagBreakerRegexCache[tagName])&lt;br /&gt;
                                    {&lt;br /&gt;
                                        tagBreakerRegexCache[tagName] = breakerRegexWithPrefix(&amp;quot;&amp;lt;/&amp;quot; + tagName + &amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
                                    }&lt;br /&gt;
                                    highlightBlock(syntaxHighlighterConfig.tagColor || color, tagBreakerRegexCache[tagName]);&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                        }&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &amp;quot;=&amp;quot;:&lt;br /&gt;
                        if (/[^=]=+$/.test(text.substring(i, text.indexOf(&amp;quot;\n&amp;quot;, i)))) //the line begins and ends with an equals sign and has something else in the middle&lt;br /&gt;
                        {&lt;br /&gt;
                            //heading&lt;br /&gt;
                            writeText(&amp;quot;=&amp;quot;, syntaxHighlighterConfig.headingColor || color);&lt;br /&gt;
                            highlightBlock(syntaxHighlighterConfig.headingColor || color, headingBreakerRegex);&lt;br /&gt;
                        }&lt;br /&gt;
                        else&lt;br /&gt;
                        {&lt;br /&gt;
                            writeText(&amp;quot;=&amp;quot;, color); //move on, process this line as regular wikitext&lt;br /&gt;
                        }&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &amp;quot;*&amp;quot;:&lt;br /&gt;
                    case &amp;quot;#&amp;quot;:&lt;br /&gt;
                    case &amp;quot;:&amp;quot;:&lt;br /&gt;
                        //unordered list, ordered list, indent, small heading&lt;br /&gt;
                        //just highlight the marker&lt;br /&gt;
                        writeText(match[0], syntaxHighlighterConfig.listOrIndentColor || color);&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &amp;quot;;&amp;quot;:&lt;br /&gt;
                        //small heading&lt;br /&gt;
                        writeText(&amp;quot;;&amp;quot;, syntaxHighlighterConfig.headingColor || color);&lt;br /&gt;
                        highlightBlock(syntaxHighlighterConfig.headingColor || color, headingBreakerRegex);&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &amp;quot;-&amp;quot;:&lt;br /&gt;
                        //horizontal line&lt;br /&gt;
                        writeText(match[0], syntaxHighlighterConfig.hrColor || color);&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &amp;quot;\\&amp;quot;:&lt;br /&gt;
                        writeText(match[0], syntaxHighlighterConfig.boldOrItalicColor || color);&lt;br /&gt;
                        if (match[0].length == 6)&lt;br /&gt;
                        {&lt;br /&gt;
                            //bold&lt;br /&gt;
                            if (assumedBold)&lt;br /&gt;
                            {&lt;br /&gt;
                                //end tag&lt;br /&gt;
                                if (assumedItalic)&lt;br /&gt;
                                {&lt;br /&gt;
                                    //end of bold part of bold-italic block&lt;br /&gt;
                                    //block is now italic-only&lt;br /&gt;
                                    assumedBold = false;&lt;br /&gt;
                                }&lt;br /&gt;
                                else&lt;br /&gt;
                                {&lt;br /&gt;
                                    //end of bold block&lt;br /&gt;
                                    return;&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                            else&lt;br /&gt;
                            {&lt;br /&gt;
                                //start tag&lt;br /&gt;
                                if (assumedItalic)&lt;br /&gt;
                                {&lt;br /&gt;
                                    //start of bold part of previously italic-only block&lt;br /&gt;
                                    //block is now bold-italic&lt;br /&gt;
                                    assumedBold = true;&lt;br /&gt;
                                }&lt;br /&gt;
                                else&lt;br /&gt;
                                {&lt;br /&gt;
                                    //start of bold block&lt;br /&gt;
                                    highlightBlock(syntaxHighlighterConfig.boldOrItalicColor || color, defaultBreakerRegex, true, false);&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                        }&lt;br /&gt;
                        else&lt;br /&gt;
                        {&lt;br /&gt;
                            //italic&lt;br /&gt;
                            if (assumedItalic)&lt;br /&gt;
                            {&lt;br /&gt;
                                //end tag&lt;br /&gt;
                                if (assumedBold)&lt;br /&gt;
                                {&lt;br /&gt;
                                    //end of italic part of bold-italic block&lt;br /&gt;
                                    //block is now bold-only&lt;br /&gt;
                                    assumedItalic = false;&lt;br /&gt;
                                }&lt;br /&gt;
                                else&lt;br /&gt;
                                {&lt;br /&gt;
                                    //end of italic block&lt;br /&gt;
                                    return;&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                            else&lt;br /&gt;
                            {&lt;br /&gt;
                                //start tag&lt;br /&gt;
                                if (assumedBold)&lt;br /&gt;
                                {&lt;br /&gt;
                                    //start of italic part of previously bold-only block&lt;br /&gt;
                                    //block is now bold-italic&lt;br /&gt;
                                    assumedItalic = true;&lt;br /&gt;
                                }&lt;br /&gt;
                                else&lt;br /&gt;
                                {&lt;br /&gt;
                                    //start of italic block&lt;br /&gt;
                                    highlightBlock(syntaxHighlighterConfig.boldOrItalicColor || color, defaultBreakerRegex, false, true);&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                        }&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &amp;quot;&amp;amp;&amp;quot;:&lt;br /&gt;
                        //entity&lt;br /&gt;
                        writeText(match[0], syntaxHighlighterConfig.entityColor || color);&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &amp;quot;~&amp;quot;:&lt;br /&gt;
                        //username, signature, timestamp&lt;br /&gt;
                        writeText(match[0], syntaxHighlighterConfig.signatureColor || color);&lt;br /&gt;
                        break;&lt;br /&gt;
                    default:&lt;br /&gt;
                        //bare external link&lt;br /&gt;
                        writeText(match[0], syntaxHighlighterConfig.externalLinkColor || color);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        //start!&lt;br /&gt;
        var startTime = Date.now();&lt;br /&gt;
        highlightBlock(&amp;quot;&amp;quot;, defaultBreakerRegex);&lt;br /&gt;
&lt;br /&gt;
        //output the leftovers (if any) to make sure whitespace etc. matches&lt;br /&gt;
        if (i &amp;lt; text.length)&lt;br /&gt;
        {&lt;br /&gt;
            writeText(text.substring(i), &amp;quot;&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        //if highlighting took too long, disable it.&lt;br /&gt;
        var endTime = Date.now();&lt;br /&gt;
        /*if (typeof(bestTime) == &amp;quot;undefined&amp;quot;)&lt;br /&gt;
        {&lt;br /&gt;
            window.bestTime = endTime - startTime;&lt;br /&gt;
            document.title = bestTime;&lt;br /&gt;
            highlightSyntaxIfNeededIntervalID = setInterval(highlightSyntax, 250);&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
            if (endTime - startTime &amp;lt; bestTime)&lt;br /&gt;
            {&lt;br /&gt;
                bestTime = endTime - startTime;&lt;br /&gt;
                document.title = bestTime;&lt;br /&gt;
            }&lt;br /&gt;
        }//*/&lt;br /&gt;
        if (endTime - startTime &amp;gt; syntaxHighlighterConfig.timeout)&lt;br /&gt;
        {&lt;br /&gt;
            clearInterval(highlightSyntaxIfNeededIntervalID);&lt;br /&gt;
            wpTextbox1.removeEventListener(&amp;quot;input&amp;quot;, highlightSyntax);&lt;br /&gt;
            wpTextbox1.removeEventListener(&amp;quot;scroll&amp;quot;, syncScrollX);&lt;br /&gt;
            wpTextbox1.removeEventListener(&amp;quot;scroll&amp;quot;, syncScrollY);&lt;br /&gt;
            attributeObserver.disconnect();&lt;br /&gt;
            parentObserver.disconnect();&lt;br /&gt;
            syntaxStyleTextNode.nodeValue = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
            var errorMessage = {&lt;br /&gt;
                ca: &amp;quot;S'ha desactivat el remarcar de sintaxi en aquesta pàgina perquè ha trigat massa temps. El temps màxim permès per a remarcar és $1ms, i el vostre ordinador ha trigat $2ms. Proveu tancar algunes pestanyes i programes i fer clic en \&amp;quot;Mostra la previsualització\&amp;quot; o \&amp;quot;Mostra els canvis\&amp;quot;. Si no funciona això, proveu un altre navegador web, i si això no funciona, proveu un ordinador més ràpid.&amp;quot;,&lt;br /&gt;
                de: &amp;quot;Die Syntaxhervorhebung wurde auf dieser Seite deaktiviert, da diese zu lange gedauert hat. Die maximal erlaubte Zeit zur Hervorhebung beträgt $1ms und dein Computer benötigte $2ms. Versuche einige Tabs und Programme zu schließen und klicke \&amp;quot;Vorschau zeigen\&amp;quot; oder \&amp;quot;Änderungen zeigen\&amp;quot;. Wenn das nicht funktioniert, probiere einen anderen Webbrowser und wenn immer noch nicht, probiere einen schnelleren Computer.&amp;quot;,&lt;br /&gt;
                el: &amp;quot;Η έμφαση σύνταξης έχει απενεργοποιηθεί σε αυτήν τη σελίδα γιατί αργούσε πολύ. Ο μέγιστος επιτρεπτός χρόνος για την έμφαση σύνταξης είναι $1ms και ο υπολογιστής σας έκανε $2ms. Δοκιμάστε να κλείσετε μερικές καρτέλες και προγράμματα και να κάνετε κλικ στην «Εμφάνιση προεπισκόπησης» ή στην «Εμφάνιση αλλαγών». Αν αυτό δεν δουλέψει, δοκιμάστε έναν διαφορετικό περιηγητή και αν ούτε αυτό δουλέψει, δοκιμάστε έναν ταχύτερο υπολογιστή.&amp;quot;,&lt;br /&gt;
                en: &amp;quot;Syntax highlighting on this page was disabled because it took too long. The maximum allowed highlighting time is $1ms, and your computer took $2ms. Try closing some tabs and programs and clicking \&amp;quot;Show preview\&amp;quot; or \&amp;quot;Show changes\&amp;quot;. If that doesn't work, try a different web browser, and if that doesn't work, try a faster computer.&amp;quot;,&lt;br /&gt;
                es: &amp;quot;Se desactivó el resaltar de sintaxis en esta página porque tardó demasiado. El tiempo máximo permitido para resaltar es $1ms, y tu ordenador tardó $2ms. Prueba cerrar algunas pestañas y programas y hacer clic en \&amp;quot;Mostrar previsualización\&amp;quot; o \&amp;quot;Mostrar cambios\&amp;quot;. Si no funciona esto, prueba otro navegador web, y si eso no funciona, prueba un ordenador más rápido.&amp;quot;,&lt;br /&gt;
                fa: &amp;quot;از آنجایی که زمان زیادی صرف آن می‌شد، برجسته‌سازی نحو در این صفحه غیرفعال شده است. بیشینهٔ زمان برجسته‌سازی برای ابزار $1ms تعریف شده در حالی که رایانهٔ شما $2ms زمان نیاز داشت. می‌توانید بستن برخی سربرگ‌ها و برنامه‌ها و سپس کلیک‌کردن دکمهٔ «پیش‌نمایش» یا «نمایش تغییرات» را بیازمایید. اگر جواب نداد مرورگر دیگری را امتحان کنید؛ و اگر باز هم جواب نداد، رایانهٔ سریع‌تری را بیازمایید.&amp;quot;,&lt;br /&gt;
                fr: &amp;quot;La coloration syntaxique a été désactivée sur cette page en raison d'un temps de chargement trop important ($2ms). Le temps maximum autorisé est $1ms. Vous pouvez essayer de fermer certains onglets et programmes et cliquez sur \&amp;quot;Prévisualisation\&amp;quot; ou \&amp;quot;Voir mes modifications\&amp;quot;. Si cela ne fonctionne pas, essayez un autre navigateur web, et si cela ne fonctionne toujours pas, essayez un ordinateur plus rapide.&amp;quot;,&lt;br /&gt;
                hy: &amp;quot;Շարադասության ընդգծումը այս էջում անջատվել է, քանի որ այն չափից շատ է տևել։ Ընդգծման թույլատրելի առավելագույն ժամանակը $1 միլիվայրկյան է, բայց այս էջում տևել է $2 միլիվայրկյան։ Փորձեք անջատել որոշ ներդիրներ կամ ծրագրեր և սեղմել «Նախադիտել» կամ «Կատարված փոփոխությունները»։ Կրկին չաշխատելու դեպքում փորձեք այլ վեբ դիտարկիչ, եթե կրկին չաշխատի, փորձեք ավելի արագ համակարգիչ։&amp;quot;,&lt;br /&gt;
                io: &amp;quot;Sintaxo-hailaitar en ca pagino esis nekapabligata pro ke konsumis tro multa tempo. La maxima permisata hailaitala tempo es $1ms, e tua ordinatro konsumis $2ms. Probez klozar kelka tabi e programi e kliktar \&amp;quot;Previdar\&amp;quot; o \&amp;quot;Montrez chanji\&amp;quot;. Se to ne funcionas, probez altra brauzero, e se to ne funcionas, probez plu rapida ordinatro.&amp;quot;,&lt;br /&gt;
                it: &amp;quot;L'evidenziazione delle sintassi su questa pagina è stata disabilitata perché ha richiesto troppo tempo. Il tempo massimo per l'evidenziazione è di $1ms e al tuo computer sono serviti $2ms. Prova a chiudere alcune schede e programmi e ricarica la pagina cliccando su \&amp;quot;Visualizza anteprima\&amp;quot; o \&amp;quot;Mostra modifiche\&amp;quot;. Se non funziona ancora, prova con un web browser differente e, in ultima alternativa, prova ad utilizzare un computer più veloce.&amp;quot;,&lt;br /&gt;
                ko: &amp;quot;이 문서에서의 문법 강조가 너무 오래 걸러서 해제되었습니다. 최대로 할당된 강조 시간은 $1ms인데, 당신의 컴퓨터는 $2ms이나 걸렸습니다. 탭과 프로그램을 일부 닫으신 후에 \&amp;quot;미리 보기\&amp;quot;나 \&amp;quot;차이 보기\&amp;quot;를 클릭하시기 바랍니다. 만약 작동하지 않으면 다른 웹 브라우저로 시도해보시고, 그래도 안되면 더 빠른 컴퓨터를 이용하십시오&amp;quot;,&lt;br /&gt;
                pt: &amp;quot;O marcador de sintaxe foi desativado nesta página porque demorou demais. O tempo máximo permitido para marcar é de $1ms, e seu computador demorou $2ms. Tente fechar algumas abas e programas e clique em \&amp;quot;Mostrar previsão\&amp;quot; ou \&amp;quot;Mostrar alterações\&amp;quot;. Se isso não funcionar, tente usar um outro navegador web, e se ainda não funcionar, tente em um computador mais rápido.&amp;quot;,&lt;br /&gt;
                ru: &amp;quot;Подсветка синтаксиса на странице была отключена, так как заняла слишком долго. Максимальное допустимое время операции - $1мс, сейчас на вашем компьютере она заняла $2мс. Попробуйте закрыть несколько вкладок и программ, затем нажать «Предварительный просмотр» или «Внесённые изменения». Если это не поможет, попробуйте другой браузер; если и это не поможет, используйте более быстрый компьютер.&amp;quot;,&lt;br /&gt;
                sr: &amp;quot;Истицање синтаксе на овој страници је онемогућено јер се одвија предуго. Максимално дозвољено време истицања је $1ms, а на Вашем рачунару траје $2ms. Покушајте затворити неке картице и програме или кликните на „Прикажи претпреглед” или „Прикажи измене”. Ако то не ради, покушајте са другим веб-прегледачем, а ако и тада не ради, покушајте са бржим рачунаром.&amp;quot;,&lt;br /&gt;
            };&lt;br /&gt;
            var wgUserLanguage = mw.config.get(&amp;quot;wgUserLanguage&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
            errorMessage = errorMessage[wgUserLanguage] || errorMessage[wgUserLanguage.substring(0, wgUserLanguage.indexOf(&amp;quot;-&amp;quot;))] || errorMessage.en;&lt;br /&gt;
&lt;br /&gt;
            wpTextbox1.style.backgroundColor = &amp;quot;&amp;quot;;&lt;br /&gt;
            wpTextbox1.style.marginTop = wpTextbox0.style.marginTop;&lt;br /&gt;
            wpTextbox0.removeAttribute(&amp;quot;dir&amp;quot;);&lt;br /&gt;
            wpTextbox0.removeAttribute(&amp;quot;lang&amp;quot;);&lt;br /&gt;
            wpTextbox0.setAttribute(&amp;quot;style&amp;quot;, &amp;quot;color:red; font-size:small&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
            wpTextbox0.textContent = errorMessage.replace(&amp;quot;$1&amp;quot;, syntaxHighlighterConfig.timeout).replace(&amp;quot;$2&amp;quot;, endTime - startTime);&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        //do we have enough span elements to match the generated CSS?&lt;br /&gt;
        //this step isn't included in the above benchmark because it takes a highly variable amount of time&lt;br /&gt;
        if (maxSpanNumber &amp;lt; spanNumber)&lt;br /&gt;
        {&lt;br /&gt;
            var fragment = document.createDocumentFragment();&lt;br /&gt;
            do&lt;br /&gt;
            {&lt;br /&gt;
                fragment.appendChild(document.createElement(&amp;quot;span&amp;quot;)).id = &amp;quot;s&amp;quot; + ++maxSpanNumber;&lt;br /&gt;
            }&lt;br /&gt;
            while (maxSpanNumber &amp;lt; spanNumber);&lt;br /&gt;
            wpTextbox0.appendChild(fragment);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        /* finish CSS: move the extra '} from the beginning to the end and CSS-&lt;br /&gt;
           escape newlines. CSS ignores the space after the hex code of the&lt;br /&gt;
           escaped character */&lt;br /&gt;
        syntaxStyleTextNode.nodeValue = css.substring(2).replace(/\n/g, &amp;quot;\\A &amp;quot;) + &amp;quot;'}&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function syncScrollX()&lt;br /&gt;
    {&lt;br /&gt;
        //console.log(&amp;quot;syncScrollX&amp;quot;);&lt;br /&gt;
        wpTextbox0.scrollLeft = wpTextbox1.scrollLeft;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function syncScrollY()&lt;br /&gt;
    {&lt;br /&gt;
        //console.log(&amp;quot;syncScrollY&amp;quot;);&lt;br /&gt;
        wpTextbox0.scrollTop = wpTextbox1.scrollTop;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function syncTextDirection()&lt;br /&gt;
    {&lt;br /&gt;
        wpTextbox0.dir = wpTextbox1.dir;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function syncParent()&lt;br /&gt;
    {&lt;br /&gt;
        if (wpTextbox1.previousSibling != wpTextbox0)&lt;br /&gt;
        {&lt;br /&gt;
            wpTextbox1.parentNode.insertBefore(wpTextbox0, wpTextbox1);&lt;br /&gt;
            parentObserver.disconnect();&lt;br /&gt;
            parentObserver.observe(wpTextbox1.parentNode, {childList: true});&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    //this function runs once every 500ms to detect changes to wpTextbox1's text that the input event does not catch&lt;br /&gt;
    //this happens when another script changes the text without knowing that the syntax highlighter needs to be informed&lt;br /&gt;
    function highlightSyntaxIfNeeded()&lt;br /&gt;
    {&lt;br /&gt;
        if (wpTextbox1.value != lastText)&lt;br /&gt;
        {&lt;br /&gt;
            highlightSyntax();&lt;br /&gt;
        }&lt;br /&gt;
        if (wpTextbox1.scrollLeft != wpTextbox0.scrollLeft)&lt;br /&gt;
        {&lt;br /&gt;
        //console.log(&amp;quot;Box1syncScrollX&amp;quot;);&lt;br /&gt;
            syncScrollX();&lt;br /&gt;
        }&lt;br /&gt;
        if (wpTextbox1.scrollTop != wpTextbox0.scrollTop)&lt;br /&gt;
        {&lt;br /&gt;
        //console.log(&amp;quot;Box1syncScrollY&amp;quot;);&lt;br /&gt;
            syncScrollY();&lt;br /&gt;
        }&lt;br /&gt;
        if (wpTextbox1.offsetHeight != wpTextbox0.offsetHeight)&lt;br /&gt;
        {&lt;br /&gt;
            var height = wpTextbox1.offsetHeight + &amp;quot;px&amp;quot;;&lt;br /&gt;
            wpTextbox0.style.height = height;&lt;br /&gt;
            wpTextbox1.style.marginTop = &amp;quot;-&amp;quot; + height;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function setup()&lt;br /&gt;
    {&lt;br /&gt;
        function configureColor(parameterName, hardcodedFallback, defaultOk)&lt;br /&gt;
        {&lt;br /&gt;
            if (typeof(syntaxHighlighterConfig[parameterName]) == &amp;quot;undefined&amp;quot;)&lt;br /&gt;
            {&lt;br /&gt;
                syntaxHighlighterConfig[parameterName] = syntaxHighlighterSiteConfig[parameterName];&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            if (syntaxHighlighterConfig[parameterName] == &amp;quot;normal&amp;quot;)&lt;br /&gt;
            {&lt;br /&gt;
                syntaxHighlighterConfig[parameterName] = hardcodedFallback;&lt;br /&gt;
            }&lt;br /&gt;
            else if (typeof(syntaxHighlighterConfig[parameterName]) != &amp;quot;undefined&amp;quot;)&lt;br /&gt;
            {&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
            else if (typeof(syntaxHighlighterConfig.defaultColor) != &amp;quot;undefined&amp;quot; &amp;amp;&amp;amp; defaultOk)&lt;br /&gt;
            {&lt;br /&gt;
                syntaxHighlighterConfig[parameterName] = syntaxHighlighterConfig.defaultColor;&lt;br /&gt;
            }&lt;br /&gt;
            else&lt;br /&gt;
            {&lt;br /&gt;
                syntaxHighlighterConfig[parameterName] = hardcodedFallback;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        window.syntaxHighlighterSiteConfig = window.syntaxHighlighterSiteConfig || {};&lt;br /&gt;
        window.syntaxHighlighterConfig = window.syntaxHighlighterConfig || {};&lt;br /&gt;
&lt;br /&gt;
        //use 3-digit colors instead of 6-digit colors for performance&lt;br /&gt;
        // See for example http://maettig.com/?page=PHP/CSS_Color_Converter&lt;br /&gt;
        configureColor(&amp;quot;backgroundColor&amp;quot;,    &amp;quot;#FFF&amp;quot;,  false); //white&lt;br /&gt;
        configureColor(&amp;quot;foregroundColor&amp;quot;,    &amp;quot;#000&amp;quot;,  false); //black&lt;br /&gt;
        configureColor(&amp;quot;boldOrItalicColor&amp;quot;,  &amp;quot;#EEE&amp;quot;,  true);  //gray&lt;br /&gt;
        configureColor(&amp;quot;commentColor&amp;quot;,       &amp;quot;#EFE&amp;quot;,  true);  //green&lt;br /&gt;
        configureColor(&amp;quot;entityColor&amp;quot;,        &amp;quot;#DFD&amp;quot;,  true);  //green&lt;br /&gt;
        configureColor(&amp;quot;externalLinkColor&amp;quot;,  &amp;quot;#EFF&amp;quot;,  true);  //cyan&lt;br /&gt;
        configureColor(&amp;quot;headingColor&amp;quot;,       &amp;quot;#EEE&amp;quot;,  true);  //gray&lt;br /&gt;
        configureColor(&amp;quot;hrColor&amp;quot;,            &amp;quot;#EEE&amp;quot;,  true);  //gray&lt;br /&gt;
        configureColor(&amp;quot;listOrIndentColor&amp;quot;,  &amp;quot;#EFE&amp;quot;,  true);  //green&lt;br /&gt;
        configureColor(&amp;quot;parameterColor&amp;quot;,     &amp;quot;#FC6&amp;quot;,  true);  //orange&lt;br /&gt;
        configureColor(&amp;quot;signatureColor&amp;quot;,     &amp;quot;#FC6&amp;quot;,  true);  //orange&lt;br /&gt;
        configureColor(&amp;quot;tagColor&amp;quot;,           &amp;quot;#FEF&amp;quot;,  true);  //pink&lt;br /&gt;
        configureColor(&amp;quot;tableColor&amp;quot;,         &amp;quot;#FFC&amp;quot;,  true);  //yellow&lt;br /&gt;
        configureColor(&amp;quot;templateColor&amp;quot;,      &amp;quot;#FFC&amp;quot;,  true);  //gray &lt;br /&gt;
        configureColor(&amp;quot;templTextTermColor&amp;quot;,      &amp;quot;#888&amp;quot;,  true);  //gray&lt;br /&gt;
        configureColor(&amp;quot;templTypeTextTermColor&amp;quot;,      &amp;quot;#888&amp;quot;,  true);  //gray&lt;br /&gt;
        configureColor(&amp;quot;templNewTextTermColor&amp;quot;,      &amp;quot;#BBB&amp;quot;,  true);  //gray light&lt;br /&gt;
        configureColor(&amp;quot;templTypeNewTextTermColor&amp;quot;,      &amp;quot;#BBB&amp;quot;,  true);  //gray light&lt;br /&gt;
        configureColor(&amp;quot;templNonRefTermColor&amp;quot;,      &amp;quot;#FEF&amp;quot;,  true);  //pink&lt;br /&gt;
        configureColor(&amp;quot;templRefNumberColor&amp;quot;,      &amp;quot;#E9E&amp;quot;,  true);  //pink&lt;br /&gt;
        configureColor(&amp;quot;templNoteColor&amp;quot;,      &amp;quot;#EFE&amp;quot;,  true);  //green&lt;br /&gt;
        configureColor(&amp;quot;templNoteTermColor&amp;quot;,      &amp;quot;#484&amp;quot;,  true);  //green&lt;br /&gt;
        configureColor(&amp;quot;templTypeNoteColor&amp;quot;,      &amp;quot;#7C7&amp;quot;,  true);  //green&lt;br /&gt;
        configureColor(&amp;quot;wikilinkColor&amp;quot;,      &amp;quot;#EEF&amp;quot;,  true);  //blue&lt;br /&gt;
&lt;br /&gt;
        //tag lists are ordered from most common to least common&lt;br /&gt;
        syntaxHighlighterConfig.nowikiTags = syntaxHighlighterConfig.nowikiTags || syntaxHighlighterSiteConfig.nowikiTags || [&amp;quot;nowiki&amp;quot;, &amp;quot;pre&amp;quot;];&lt;br /&gt;
        syntaxHighlighterConfig.sourceTags = syntaxHighlighterConfig.sourceTags || syntaxHighlighterSiteConfig.sourceTags || [&amp;quot;math&amp;quot;, &amp;quot;syntaxhighlight&amp;quot;, &amp;quot;source&amp;quot;, &amp;quot;timeline&amp;quot;, &amp;quot;hiero&amp;quot;];&lt;br /&gt;
        syntaxHighlighterConfig.timeout = syntaxHighlighterConfig.timeout || syntaxHighlighterSiteConfig.timeout || 50;&lt;br /&gt;
&lt;br /&gt;
        syntaxHighlighterConfig.nowikiTags.forEach(function(tagName) {&lt;br /&gt;
            nowikiTagBreakerRegexCache[tagName] = nowikiTagBreakerRegex(tagName);&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        wpTextbox0 = document.createElement(&amp;quot;div&amp;quot;);&lt;br /&gt;
        wpTextbox1 = document.getElementById(&amp;quot;wpTextbox1&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
        var syntaxStyleElement = document.createElement(&amp;quot;style&amp;quot;);&lt;br /&gt;
        syntaxStyleTextNode = syntaxStyleElement.appendChild(document.createTextNode(&amp;quot;&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
        //the styling of the textbox and the background div must be kept very similar&lt;br /&gt;
        var wpTextbox1Style = window.getComputedStyle(wpTextbox1);&lt;br /&gt;
&lt;br /&gt;
        //horizontal resize would look horribly choppy, better to make the user resize the browser window instead&lt;br /&gt;
        var resize = (wpTextbox1Style.resize == &amp;quot;vertical&amp;quot; || wpTextbox1Style.resize == &amp;quot;both&amp;quot; ? &amp;quot;vertical&amp;quot; : &amp;quot;none&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
        wpTextbox0.dir                   = wpTextbox1.dir;&lt;br /&gt;
        wpTextbox0.id                    = &amp;quot;wpTextbox0&amp;quot;;&lt;br /&gt;
        wpTextbox0.lang                  = wpTextbox1.lang; //lang determines which font &amp;quot;monospace&amp;quot; is&lt;br /&gt;
        wpTextbox0.style.backgroundColor = syntaxHighlighterConfig.backgroundColor;&lt;br /&gt;
        wpTextbox0.style.border          = &amp;quot;1px solid transparent&amp;quot;;&lt;br /&gt;
        wpTextbox0.style.boxSizing       = &amp;quot;border-box&amp;quot;;&lt;br /&gt;
        wpTextbox0.style.clear           = wpTextbox1Style.clear;&lt;br /&gt;
        wpTextbox0.style.color           = &amp;quot;transparent&amp;quot;; //makes it look just a little bit smoother&lt;br /&gt;
        wpTextbox0.style.fontFamily      = wpTextbox1Style.fontFamily;&lt;br /&gt;
        wpTextbox0.style.fontSize        = wpTextbox1Style.fontSize;&lt;br /&gt;
        wpTextbox0.style.lineHeight      = &amp;quot;normal&amp;quot;;&lt;br /&gt;
        wpTextbox0.style.marginBottom    = &amp;quot;0&amp;quot;;&lt;br /&gt;
        wpTextbox0.style.marginLeft      = &amp;quot;0&amp;quot;;&lt;br /&gt;
        wpTextbox0.style.marginRight     = &amp;quot;0&amp;quot;;&lt;br /&gt;
        wpTextbox0.style.marginTop       = wpTextbox1Style.marginTop;&lt;br /&gt;
        wpTextbox0.style.overflowX       = &amp;quot;auto&amp;quot;;&lt;br /&gt;
        wpTextbox0.style.overflowY       = &amp;quot;scroll&amp;quot;;&lt;br /&gt;
        wpTextbox0.style.resize          = resize;&lt;br /&gt;
        wpTextbox0.style.tabSize         = wpTextbox1Style.tabSize;&lt;br /&gt;
        wpTextbox0.style.whiteSpace      = &amp;quot;pre-wrap&amp;quot;;&lt;br /&gt;
        wpTextbox0.style.width           = &amp;quot;100%&amp;quot;;&lt;br /&gt;
        wpTextbox0.style.wordWrap        = &amp;quot;normal&amp;quot;; //see below&lt;br /&gt;
&lt;br /&gt;
        wpTextbox1.style.backgroundColor = &amp;quot;transparent&amp;quot;;&lt;br /&gt;
        wpTextbox1.style.border          = &amp;quot;1px inset gray&amp;quot;;&lt;br /&gt;
        wpTextbox1.style.boxSizing       = &amp;quot;border-box&amp;quot;;&lt;br /&gt;
        wpTextbox1.style.color           = syntaxHighlighterConfig.foregroundColor;&lt;br /&gt;
        wpTextbox1.style.fontSize        = wpTextbox1Style.fontSize; //resolves alignment problems on mobile chrome&lt;br /&gt;
        wpTextbox1.style.lineHeight      = &amp;quot;normal&amp;quot;;&lt;br /&gt;
        wpTextbox1.style.marginBottom    = wpTextbox1Style.marginBottom; //lock to pixel value because the top margin was also locked to a pixel value when it was moved to wpTextbox0&lt;br /&gt;
        wpTextbox1.style.marginLeft      = &amp;quot;0&amp;quot;;&lt;br /&gt;
        wpTextbox1.style.marginRight     = &amp;quot;0&amp;quot;;&lt;br /&gt;
        wpTextbox1.style.overflowX       = &amp;quot;auto&amp;quot;;&lt;br /&gt;
        wpTextbox1.style.overflowY       = &amp;quot;scroll&amp;quot;;&lt;br /&gt;
        wpTextbox1.style.padding         = &amp;quot;0&amp;quot;;&lt;br /&gt;
        wpTextbox1.style.resize          = resize;&lt;br /&gt;
        wpTextbox1.style.width           = &amp;quot;100%&amp;quot;;&lt;br /&gt;
        wpTextbox1.style.wordWrap        = &amp;quot;normal&amp;quot;; //overall more visually appealing&lt;br /&gt;
&lt;br /&gt;
        // https://bugzilla.mozilla.org/show_bug.cgi?id=1301290&lt;br /&gt;
        if (layoutEngine == &amp;quot;gecko&amp;quot;)&lt;br /&gt;
        {&lt;br /&gt;
            wpTextbox0.style.isolation = &amp;quot;isolate&amp;quot;;&lt;br /&gt;
            wpTextbox1.style.isolation = &amp;quot;isolate&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        //lock both heights to pixel values so that the browser zoom feature works better&lt;br /&gt;
        wpTextbox1.style.height = wpTextbox0.style.height = wpTextbox1.offsetHeight + &amp;quot;px&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        //insert wpTextbox0 underneath wpTextbox1&lt;br /&gt;
        wpTextbox1.style.marginTop       = -wpTextbox1.offsetHeight + &amp;quot;px&amp;quot;;&lt;br /&gt;
        wpTextbox1.parentNode.insertBefore(wpTextbox0, wpTextbox1);&lt;br /&gt;
&lt;br /&gt;
        document.head.appendChild(syntaxStyleElement);&lt;br /&gt;
&lt;br /&gt;
        wpTextbox1.addEventListener(&amp;quot;input&amp;quot;, highlightSyntax);&lt;br /&gt;
        //console.log(&amp;quot;Box1ListenersyncScroll&amp;quot;);&lt;br /&gt;
        wpTextbox1.addEventListener(&amp;quot;scroll&amp;quot;, syncScrollX);&lt;br /&gt;
        wpTextbox1.addEventListener(&amp;quot;scroll&amp;quot;, syncScrollY);&lt;br /&gt;
        attributeObserver = new MutationObserver(syncTextDirection);&lt;br /&gt;
        attributeObserver.observe(wpTextbox1, {attributes: true});&lt;br /&gt;
        parentObserver = new MutationObserver(syncParent);&lt;br /&gt;
        parentObserver.observe(wpTextbox1.parentNode, {childList: true});&lt;br /&gt;
        highlightSyntaxIfNeededIntervalID = setInterval(highlightSyntaxIfNeeded, 500);&lt;br /&gt;
        highlightSyntax();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    //enable the highlighter only when editing wikitext pages&lt;br /&gt;
    //in the future a separate parser could be added for CSS and JS pages&lt;br /&gt;
    //blacklist Internet Explorer and Edge, they're just too broken&lt;br /&gt;
    var wgAction = mw.config.get(&amp;quot;wgAction&amp;quot;);&lt;br /&gt;
    var layoutEngine = $.client.profile().layout;&lt;br /&gt;
    if ((wgAction == &amp;quot;edit&amp;quot; || wgAction == &amp;quot;submit&amp;quot;) &amp;amp;&amp;amp; mw.config.get(&amp;quot;wgPageContentModel&amp;quot;) == &amp;quot;wikitext&amp;quot; &amp;amp;&amp;amp; layoutEngine != &amp;quot;trident&amp;quot; &amp;amp;&amp;amp; layoutEngine != &amp;quot;edge&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
        //give other scripts an opportunity to set syntaxHighlighterConfig&lt;br /&gt;
        if (document.readyState == &amp;quot;complete&amp;quot;)&lt;br /&gt;
        {&lt;br /&gt;
            setup();&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
            $(window).load(setup);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
})();&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=MediaWiki:RefToolbarNoDialogsTextTerm.js&amp;diff=9838</id>
		<title>MediaWiki:RefToolbarNoDialogsTextTerm.js</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=MediaWiki:RefToolbarNoDialogsTextTerm.js&amp;diff=9838"/>
				<updated>2017-06-25T19:43:40Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;var numforms = 0;&lt;br /&gt;
var wikEdAutoUpdateUrl;&lt;br /&gt;
function refbuttons() {&lt;br /&gt;
  if (mw.toolbar &amp;amp;&amp;amp; (document.getElementById('toolbar') || document.getElementById('wikiEditor-section-main'))/* &amp;amp;&amp;amp; wikEdAutoUpdateUrl == null*/) {&lt;br /&gt;
    if (document.getElementById('toolbar')) {&lt;br /&gt;
      button = document.createElement('a');&lt;br /&gt;
      button.href = &amp;quot;javascript:easyCiteMain()&amp;quot;;&lt;br /&gt;
      button.title = &amp;quot;Insert citation&amp;quot;;&lt;br /&gt;
      buttonimage = document.createElement('img');&lt;br /&gt;
      buttonimage.src = &amp;quot;//upload.wikimedia.org/wikipedia/commons/0/00/Button_easy_cite_%281%29.png&amp;quot;;&lt;br /&gt;
      buttonimage.alt = &amp;quot;Insert footnote&amp;quot;;&lt;br /&gt;
      button.appendChild(buttonimage);&lt;br /&gt;
      document.getElementById('toolbar').appendChild(button);&lt;br /&gt;
    } else {&lt;br /&gt;
      button = document.createElement('a');&lt;br /&gt;
      button.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
      button.title = &amp;quot;Insert citation&amp;quot;;&lt;br /&gt;
      button.id = 'reftoolbar-button';&lt;br /&gt;
      buttonimage = document.createElement('img');&lt;br /&gt;
      buttonimage.src = &amp;quot;//upload.wikimedia.org/wikipedia/commons/thumb/9/9a/Curly_Brackets.svg/22px-Curly_Brackets.svg.png&amp;quot;;&lt;br /&gt;
      buttonimage.alt = &amp;quot;Insert citation&amp;quot;;&lt;br /&gt;
      button.classname = &amp;quot;tool tool-button&amp;quot;;&lt;br /&gt;
      buttonimage.style.width = &amp;quot;22px&amp;quot;;&lt;br /&gt;
      buttonimage.style.height = &amp;quot;17px&amp;quot;;&lt;br /&gt;
      buttonimage.style.paddingTop = &amp;quot;5px&amp;quot;;&lt;br /&gt;
      buttonimage.style.paddingLeft = &amp;quot;3px&amp;quot;;&lt;br /&gt;
      button.appendChild(buttonimage);&lt;br /&gt;
      //document.getElementById('wikiEditor-ui-toolbar').childNodes[0].childNodes[1].appendChild(button);&lt;br /&gt;
      ////document.getElementById('reftoolbar-button').onclick = easyCiteMain;&lt;br /&gt;
      //$j('#reftoolbar-button').live('click', function() { easyCiteMain(); });&lt;br /&gt;
      $('#wikiEditor-section-main .group-insert').append( button );&lt;br /&gt;
      $(button).click( function() { easyCiteMain(); });&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
    if (navigator.userAgent.indexOf('MSIE') == -1) {&lt;br /&gt;
      //alert(&amp;quot;NO MSIE&amp;quot;);&lt;br /&gt;
      citemain = document.createElement('div');&lt;br /&gt;
      citemain.style.display = 'none';&lt;br /&gt;
      citemain.setAttribute('Id', 'citeselect');&lt;br /&gt;
      citemain.appendChild( addOption(&amp;quot;citeWeb()&amp;quot;, &amp;quot;Cite web&amp;quot;) );&lt;br /&gt;
      citemain.appendChild( addOption(&amp;quot;citeBook()&amp;quot;, &amp;quot;Cite book&amp;quot;) );&lt;br /&gt;
      citemain.appendChild( addOption(&amp;quot;citeJournal()&amp;quot;, &amp;quot;Cite journal&amp;quot;) );&lt;br /&gt;
      citemain.appendChild( addOption(&amp;quot;citeNews()&amp;quot;, &amp;quot;Cite news&amp;quot;) );&lt;br /&gt;
      citemain.appendChild( addOption(&amp;quot;citeNamedRef()&amp;quot;, &amp;quot;Named ref&amp;quot;) );&lt;br /&gt;
      citemain.appendChild( addOption(&amp;quot;dispErrors()&amp;quot;, &amp;quot;Error check&amp;quot;) );&lt;br /&gt;
      citemain.appendChild( addOption(&amp;quot;hideInitial()&amp;quot;, &amp;quot;Cancel&amp;quot;) );&lt;br /&gt;
      citemain.appendChild( addOption(&amp;quot;textTerm()&amp;quot;, &amp;quot;TextTerm&amp;quot;) );&lt;br /&gt;
      document.getElementById('wpTextbox1').parentNode.insertBefore(citemain, document.getElementById('wpTextbox1'));&lt;br /&gt;
    }&lt;br /&gt;
    else {&lt;br /&gt;
      selection = '&amp;lt;div id=&amp;quot;citeselect&amp;quot; style=&amp;quot;display:none&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;Cite web&amp;quot; onclick=&amp;quot;citeWeb()&amp;quot; /&amp;gt;'+&lt;br /&gt;
	'&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;Cite book&amp;quot; onclick=&amp;quot;citeBook()&amp;quot; /&amp;gt;'+&lt;br /&gt;
	'&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;Cite journal&amp;quot; onclick=&amp;quot;citeJournal()&amp;quot; /&amp;gt;'+&lt;br /&gt;
	'&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;Cite news&amp;quot; onclick=&amp;quot;citeNews()&amp;quot; /&amp;gt;'+&lt;br /&gt;
	'&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;Named ref&amp;quot; onclick=&amp;quot;citeNamedRef()&amp;quot; /&amp;gt;'+&lt;br /&gt;
	'&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;Error check&amp;quot; onclick=&amp;quot;dispErrors()&amp;quot; /&amp;gt;'+&lt;br /&gt;
	'&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;Cancel&amp;quot; onclick=&amp;quot;hideInitial()&amp;quot; /&amp;gt;'+&lt;br /&gt;
	'&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;TextTerm&amp;quot; onclick=&amp;quot;textTerm()&amp;quot; /&amp;gt;&amp;lt;/div&amp;gt;';&lt;br /&gt;
      document.getElementById('editform').innerHTML = selection + document.getElementById('editform').innerHTML;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addOption(script, text) {&lt;br /&gt;
  option = document.createElement('input');&lt;br /&gt;
  option.setAttribute('type', 'button');&lt;br /&gt;
  option.setAttribute('onclick', script);&lt;br /&gt;
  option.setAttribute(&amp;quot;value&amp;quot;, text);&lt;br /&gt;
  return option;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function hideInitial() {&lt;br /&gt;
  document.getElementById('citeselect').style.display = 'none';&lt;br /&gt;
  oldFormHide();&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function oldFormHide() {&lt;br /&gt;
  if (numforms != 0) {&lt;br /&gt;
    document.getElementById('citediv'+numforms).style.display = 'none';&lt;br /&gt;
  }&lt;br /&gt;
  if (document.getElementById('errorform') != null) {&lt;br /&gt;
    document.getElementById('citeselect').removeChild(document.getElementById('errorform'));&lt;br /&gt;
  }&lt;br /&gt;
} &lt;br /&gt;
 &lt;br /&gt;
function easyCiteMain() {&lt;br /&gt;
  document.getElementById('citeselect').style.display = '';&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
var months = ['January', 'February', 'March', 'April', 'May', 'June',&lt;br /&gt;
  'July', 'August', 'September', 'October', 'November', 'December'];&lt;br /&gt;
var citeGlobalDateFormat = &amp;quot;&amp;lt;date&amp;gt; &amp;lt;monthname&amp;gt; &amp;lt;year&amp;gt;&amp;quot;;&lt;br /&gt;
function getTime() {&lt;br /&gt;
  var datestr = '';&lt;br /&gt;
  if (typeof citeUserDateFormat != 'undefined') {&lt;br /&gt;
    datestr = citeUserDateFormat;&lt;br /&gt;
  } else {&lt;br /&gt;
    datestr = citeGlobalDateFormat;&lt;br /&gt;
  }&lt;br /&gt;
  var DT = new Date();&lt;br /&gt;
  var zmonth = '';&lt;br /&gt;
  var month = DT.getUTCMonth()+1;&lt;br /&gt;
  if (month &amp;lt; 10) {&lt;br /&gt;
    zmonth = &amp;quot;0&amp;quot;+month.toString();&lt;br /&gt;
  } else {&lt;br /&gt;
    zmonth = month.toString();&lt;br /&gt;
  }&lt;br /&gt;
  month = month.toString();&lt;br /&gt;
  var zdate = '';&lt;br /&gt;
  var date = DT.getUTCDate()&lt;br /&gt;
  if (date &amp;lt; 10) {&lt;br /&gt;
    zdate = &amp;quot;0&amp;quot;+date.toString();&lt;br /&gt;
  } else {&lt;br /&gt;
    zdate = date.toString();&lt;br /&gt;
  }&lt;br /&gt;
  date = date.toString()&lt;br /&gt;
  datestr = datestr.replace('&amp;lt;date&amp;gt;', date);&lt;br /&gt;
  datestr = datestr.replace('&amp;lt;month&amp;gt;', month);&lt;br /&gt;
  datestr = datestr.replace('&amp;lt;zdate&amp;gt;', zdate);&lt;br /&gt;
  datestr = datestr.replace('&amp;lt;zmonth&amp;gt;', zmonth);&lt;br /&gt;
  datestr = datestr.replace('&amp;lt;monthname&amp;gt;', months[DT.getUTCMonth()]);&lt;br /&gt;
  datestr = datestr.replace('&amp;lt;year&amp;gt;', DT.getUTCFullYear().toString());&lt;br /&gt;
  return (datestr);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function citeWeb() {&lt;br /&gt;
  citeNewsWeb(&amp;quot;cite web&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
function citeNews() {&lt;br /&gt;
  citeNewsWeb(&amp;quot;cite news&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function textTerm() {&lt;br /&gt;
  textTermf();&lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
var texttermall = new Array();&lt;br /&gt;
var texttermcur = new Array();&lt;br /&gt;
var textterminput = new Array();&lt;br /&gt;
var poffset=null, prange=null, noffset=null, nrange=null;&lt;br /&gt;
var section = '';&lt;br /&gt;
var subnote = '';&lt;br /&gt;
&lt;br /&gt;
function textTermf() {&lt;br /&gt;
  textTermform(null,null);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function nexttextterm() {&lt;br /&gt;
  //console.log(&amp;quot;nexttexterm before noffset :&amp;quot; + noffset + &amp;quot; nrange=&amp;quot; + nrange);&lt;br /&gt;
  savetextterms(); // Save if changed&lt;br /&gt;
  if(noffset){ // If there is a next&lt;br /&gt;
    textTermform(noffset, nrange); // Call with offset !{{TextTerm    }}&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
function previoustextterm() {&lt;br /&gt;
  //console.log(&amp;quot;previoustexterm before poffset :&amp;quot; + poffset + &amp;quot; prange=&amp;quot; + prange);&lt;br /&gt;
  savetextterms();&lt;br /&gt;
  if(poffset){ // If there is a next&lt;br /&gt;
    textTermform(poffset, prange); // Call with offset !{{TextTerm    }}&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function texttermfill(subtext) {&lt;br /&gt;
  var ref = new Array();&lt;br /&gt;
  this.term = '';&lt;br /&gt;
  this.note= '';&lt;br /&gt;
  this.section= '';&lt;br /&gt;
  if(section != '')&lt;br /&gt;
    this.section = section;&lt;br /&gt;
  this.subnote = '';&lt;br /&gt;
  if(subnote != '')&lt;br /&gt;
    this.subnote = subnote;&lt;br /&gt;
  this.englishentry= '';&lt;br /&gt;
  this.indexentry= '';&lt;br /&gt;
  this.otherindexentry = '';&lt;br /&gt;
  this.otherindexentrytwo = '';&lt;br /&gt;
  this.otherindexentrythree = '';&lt;br /&gt;
  this.otherindexentryfour = '';&lt;br /&gt;
  this.otherindexentryfive = '';&lt;br /&gt;
&lt;br /&gt;
  var j=0;&lt;br /&gt;
  var nr=true;&lt;br /&gt;
  regexbar= /\|([^|]*)/gm &lt;br /&gt;
  //regexbar =/\|((.)*?)(?=[\||\n])/gm //&amp;quot;|programmes de population|1|933|IndexEntry=programme de population|OtherIndexEntry=population, programme de&amp;quot;&lt;br /&gt;
  do {&lt;br /&gt;
    ref = regexbar.exec(subtext);&lt;br /&gt;
    //console.log(&amp;quot; subtext=&amp;quot; + subtext);&lt;br /&gt;
    //console.log(&amp;quot; ref=&amp;quot; + ref);&lt;br /&gt;
    if(ref != null){&lt;br /&gt;
      switch (j)&lt;br /&gt;
      {&lt;br /&gt;
      case 0 : this.term = ref[1]; break;&lt;br /&gt;
      case 1 : this.note = ref[1]; break;&lt;br /&gt;
      case 2 : this.section = ref[1]; break;&lt;br /&gt;
      default :&lt;br /&gt;
	if(ref[1].match(/^ *?EnglishEntry *?= *?(.*) *?$/))&lt;br /&gt;
	  this.englishentry = ref[1].replace(/^ *?EnglishEntry *?= *?(.*) *?$/,&amp;quot;$1&amp;quot;);&lt;br /&gt;
	else if(ref[1].match(/^ *?IndexEntry *?= *?(.*) *?$/))&lt;br /&gt;
	  this.indexentry = ref[1].replace(/^ *?IndexEntry *?= *?(.*) *?$/,&amp;quot;$1&amp;quot;);&lt;br /&gt;
	else if(ref[1].match(/^ *?OtherIndexEntry *?= *?(.*) *?$/))&lt;br /&gt;
	  this.otherindexentry = ref[1].replace(/^ *?OtherIndexEntry *?= *?(.*) *?$/,&amp;quot;$1&amp;quot;);&lt;br /&gt;
	else if(ref[1].match(/^ *?OtherIndexEntryTwo *?= *?(.*) *?$/))&lt;br /&gt;
	  this.otherindexentrytwo = ref[1].replace(/^ *?OtherIndexEntryTwo *?= *?(.*) *?$/,&amp;quot;$1&amp;quot;);&lt;br /&gt;
	else if(ref[1].match(/^ *?OtherIndexEntryThree *?= *?(.*) *?$/))&lt;br /&gt;
	  this.otherindexentrythree = ref[1].replace(/^ *?OtherIndexEntryThree *?= *?(.*) *?$/,&amp;quot;$1&amp;quot;);&lt;br /&gt;
	else if(ref[1].match(/^ *?OtherIndexEntryFour *?= *?(.*) *?$/))&lt;br /&gt;
	  this.otherindexentryfour = ref[1].replace(/^ *?OtherIndexEntryFour *?= *?(.*) *?$/,&amp;quot;$1&amp;quot;);&lt;br /&gt;
	else if(ref[1].match(/^ *?OtherIndexEntryFive *?= *?(.*) *?$/))&lt;br /&gt;
	  this.otherindexentryfive = ref[1].replace(/^ *?OtherIndexEntryFive *?= *?(.*) *?$/,&amp;quot;$1&amp;quot;);&lt;br /&gt;
	else if(ref[1].match(/^ *?EnglishEntry *?= *?(.*) *?$/))&lt;br /&gt;
	  this.englishentry = ref[1].replace(/^ *?EnglishEntry *?= *?(.*) *?$/,&amp;quot;$1&amp;quot;);&lt;br /&gt;
	else if(j==3){&lt;br /&gt;
	    this.subnote = ref[1];&lt;br /&gt;
	}else{&lt;br /&gt;
	  alert(&amp;quot;texttermfill error j=&amp;quot; + j + &amp;quot; ref1= &amp;quot; +ref[1]);&lt;br /&gt;
	  //console.log(&amp;quot;texttermfill error j=&amp;quot; + j + &amp;quot; ref1= &amp;quot; +ref[1]);&lt;br /&gt;
	}&lt;br /&gt;
      }&lt;br /&gt;
      j++;&lt;br /&gt;
    } else {&lt;br /&gt;
      nr=false;&lt;br /&gt;
    }&lt;br /&gt;
  } while (nr==true);&lt;br /&gt;
  //console.log(&amp;quot;j=&amp;quot; + j + &amp;quot; term=&amp;quot; + this.term + &amp;quot; note=&amp;quot; + this.note + &amp;quot; section=&amp;quot; + this.section +&amp;quot; subnote=&amp;quot; + this.subnote +&amp;quot; indexentry=&amp;quot; + this.indexentry + &amp;quot; otherindexentry=&amp;quot; + this.otherindexentry);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function textTermform(offset,range){&lt;br /&gt;
&lt;br /&gt;
  // We search for TextTerm in wptexbox1 from cursor position (offset) and if selected (range)&lt;br /&gt;
  // If called by a previous or next, they are not null {{TextTerm&amp;lt;-......&amp;gt;}}&lt;br /&gt;
  // if outside of a TextTerm template, we will fill with the term with the selection&lt;br /&gt;
  // in any case we compute the previous nextstart and previus end and next offset not real.&lt;br /&gt;
  // if inside a TextTerm we fill the form&lt;br /&gt;
  // if saveterm is necessary, we save and exit.&lt;br /&gt;
  // if previous or next, we save if necessary and we call textTermform with a new offset &amp;gt;0 (next) or &amp;lt;0 (previous) and range&lt;br /&gt;
  // &lt;br /&gt;
  var textarea= document.getElementById('wpTextbox1');&lt;br /&gt;
  if ('selectionStart' in textarea) {&lt;br /&gt;
    if (offset == null){ // range should be null too&lt;br /&gt;
      offset = textarea.selectionStart;&lt;br /&gt;
      range = textarea.selectionEnd - textarea.selectionStart;&lt;br /&gt;
&lt;br /&gt;
      var lstxtterm = textarea.value.substring(0,textarea.selectionEnd). lastIndexOf(&amp;quot;{{TextTerm&amp;quot;) ; // Just before the string. No regex&lt;br /&gt;
      var lstcltxtterm = textarea.value.substring(0,textarea.selectionStart). lastIndexOf(&amp;quot;}}&amp;quot;) ; //might be for another purpose than TextTerm&lt;br /&gt;
      // Looking for the section&lt;br /&gt;
      section = '';&lt;br /&gt;
      var psectione = textarea.value.substring(0,textarea.selectionEnd). lastIndexOf(&amp;quot;===&amp;quot;) ; // Just before the string. No regex&lt;br /&gt;
      if(psectione != -1){&lt;br /&gt;
	var psections = textarea.value.substring(0,psectione). lastIndexOf(&amp;quot;===&amp;quot;) ; // Just before the string. No regex&lt;br /&gt;
	if(psections != -1){&lt;br /&gt;
	  section =  textarea.value.substring(psections,psectione+3).match(/^=== *?(\d{3}) *?===$/)[1];&lt;br /&gt;
	}&lt;br /&gt;
      }&lt;br /&gt;
      //console.log(&amp;quot; section |&amp;quot; + section);&lt;br /&gt;
      //textarea.value.substring(0,textarea.selectionStart). search(new RegExp(&amp;quot;((({{TextTerm[^}]+)[^{]+)+)&amp;quot;);&lt;br /&gt;
      &lt;br /&gt;
      if ( (-1 == lstxtterm) || ((-1 &amp;lt; lstxtterm) &amp;amp;&amp;amp; (lstxtterm &amp;lt; lstcltxtterm)) ) { // @{{TextTerm ...@}}...(...).. &lt;br /&gt;
	// {{Refnumber }} ....! &lt;br /&gt;
	// alert(&amp;quot;We are after outside a previous TextTerm or no TextTerm before:&amp;quot; + textarea.value.substring(0,textarea.selectionStart ));&lt;br /&gt;
	texttermcur = new texttermfill(&amp;quot;|&amp;quot; + textarea.value.substring(textarea.selectionStart,textarea.selectionEnd));&lt;br /&gt;
	//console.log(&amp;quot; We want to fill with the selection=&amp;quot; + textarea.value.substring(textarea.selectionStart,textarea.selectionEnd));&lt;br /&gt;
	// On se retrouve avec du texte à ajouter et le curseur inchangé à textarea.selectionStart   &lt;br /&gt;
      } else if ( (lstxtterm &amp;gt; lstcltxtterm) &amp;amp;&amp;amp; (lstcltxtterm &amp;gt; -1) ) { // @}}... @{{TextTerm ... (...).. &lt;br /&gt;
	//alert(&amp;quot;We are within a TextTerm or no closing }}:&amp;quot; + textarea.value.substring(lstcltxtterm, lstxtterm));&lt;br /&gt;
	&lt;br /&gt;
	// ( textarea.value.substring(lstxtterm, textarea.selectionStart). search(new RegExp(&amp;quot;}}&amp;quot;)) == -1) {&lt;br /&gt;
	var endtxterm= textarea.value.substring(textarea.selectionStart, textarea.length). search(&amp;quot;}}&amp;quot;);&lt;br /&gt;
	if( endtxterm == -1)&lt;br /&gt;
	  error(&amp;quot; Error no closing TextTerm; should be fixed:&amp;quot; + textarea.value.substring(textarea.selectionStart, textarea.length));&lt;br /&gt;
	else{&lt;br /&gt;
	  endtxterm = endtxterm + textarea.selectionStart +2 ; // }} included&lt;br /&gt;
	  // Looking for @{{TextTerm....}}@&lt;br /&gt;
	  // alert(&amp;quot;We are within textterm  &amp;quot; + lstxtterm + &amp;quot; to &amp;quot; + endtxterm + &amp;quot; soit:&amp;quot; + textarea.value.substring(lstxtterm,endtxterm) );&lt;br /&gt;
	  //console.log(&amp;quot; Replacing with form result:&amp;quot; + textarea.value.substring(lstxtterm+&amp;quot;{{TextTerm&amp;quot;.length,endtxterm-&amp;quot;}}&amp;quot;.length));&lt;br /&gt;
	  texttermcur = new texttermfill(textarea.value.substring(lstxtterm+&amp;quot;{{TextTerm&amp;quot;.length,endtxterm-&amp;quot;}}&amp;quot;.length) );&lt;br /&gt;
	  // On devrait remplacer {{TextTerm ...}} par la forme, soit de lstxtterm endtxtterm&lt;br /&gt;
	  // On se fout de la sélection originale et la repositionne sur toute l'étendue du textterm.&lt;br /&gt;
	  // alert(&amp;quot;After null before textarea.selectionStart is&amp;quot; + textarea.selectionStart + &amp;quot; end=&amp;quot; +  textarea.selectionEnd);&lt;br /&gt;
	  // alert(&amp;quot; selection is:&amp;quot; + textarea.value.substring(textarea.selectionStart,textarea.selectionEnd));&lt;br /&gt;
	  textarea.selectionStart = lstxtterm;&lt;br /&gt;
	  textarea.selectionEnd = endtxterm;&lt;br /&gt;
	  // alert(&amp;quot;After null textarea.selectionStart is&amp;quot; + textarea.selectionStart + &amp;quot; end=&amp;quot; +  textarea.selectionEnd);&lt;br /&gt;
	  // alert(&amp;quot; selection is now:&amp;quot; + textarea.value.substring(textarea.selectionStart,textarea.selectionEnd));&lt;br /&gt;
	} //en endtxtterm&lt;br /&gt;
      } // end  @}}... @{{TextTerm ... (...).. &lt;br /&gt;
    }else{ // coming from a previous or next&lt;br /&gt;
      // alert(&amp;quot;After Next textarea.selectionStart is&amp;quot; + textarea.selectionStart + &amp;quot; end=&amp;quot; +  textarea.selectionEnd);&lt;br /&gt;
      // alert(&amp;quot; After next selection is:&amp;quot; + textarea.value.substring(textarea.selectionStart,textarea.selectionEnd));&lt;br /&gt;
      // alert(&amp;quot;Coming from a previous or next modifing selectionStart start is an offsetstart =&amp;quot; + offset + &amp;quot; and range=&amp;quot; + range)&lt;br /&gt;
  // Previous&lt;br /&gt;
  //                                selectionStart selectionEnd&lt;br /&gt;
  //                                         &amp;gt;                &amp;lt;&lt;br /&gt;
  // ^....@{{TextTerm....#}}.................@{{TextTerm ...}}!&lt;br /&gt;
  //       !&amp;lt;-range--------&amp;gt;! &lt;br /&gt;
  //                       #&amp;lt;-offset---------&amp;gt;! &lt;br /&gt;
  // Next&lt;br /&gt;
  //  selectionStart selectionEnd&lt;br /&gt;
  //      &amp;gt;                 &amp;lt;&lt;br /&gt;
  // ^....@{{TextTerm....#}}.................@{{TextTerm ...}}!&lt;br /&gt;
  //                                         !&amp;lt;--range-------&amp;gt;! &lt;br /&gt;
  //                       #&amp;lt;-offset---------&amp;gt;! &lt;br /&gt;
      // alert(&amp;quot; Before textarea.selectionStart=&amp;quot; + textarea.selectionStart + &amp;quot; textarea.selectionEnd=&amp;quot; + textarea.selectionEnd);&lt;br /&gt;
      //alert(&amp;quot; Before is:&amp;quot; + textarea.value.substring(textarea.selectionStart,textarea.selectionEnd));&lt;br /&gt;
      textarea.selectionStart = (offset &amp;gt; 0 ? textarea.selectionEnd + offset : textarea.selectionStart + offset -range);&lt;br /&gt;
      textarea.selectionEnd = textarea.selectionStart + range;&lt;br /&gt;
        // Looking for the section&lt;br /&gt;
      section = '';&lt;br /&gt;
      var psectione = textarea.value.substring(0,textarea.selectionEnd). lastIndexOf(&amp;quot;===&amp;quot;) ; // Just before the string. No regex&lt;br /&gt;
      if(psectione != -1){&lt;br /&gt;
	var psections = textarea.value.substring(0,psectione). lastIndexOf(&amp;quot;===&amp;quot;) ; // Just before the string. No regex&lt;br /&gt;
	if(psections != -1){&lt;br /&gt;
	  section =  textarea.value.substring(psections,psectione+3).match(/^=== *?(\d{3}) *?===$/)[1];&lt;br /&gt;
	}&lt;br /&gt;
      }&lt;br /&gt;
      //console.log(&amp;quot; section Other |&amp;quot; + section);&lt;br /&gt;
&lt;br /&gt;
      // alert(&amp;quot; After is:&amp;quot; + textarea.value.substring(textarea.selectionStart,textarea.selectionEnd));&lt;br /&gt;
      // alert(&amp;quot; After textarea.selectionStart=&amp;quot; + textarea.selectionStart + &amp;quot; textarea.selectionEnd=&amp;quot; + textarea.selectionEnd);&lt;br /&gt;
      //console.log(&amp;quot;textterm cur is:&amp;quot; + textarea.value.substring(textarea.selectionStart+&amp;quot;{{TextTerm&amp;quot;.length,textarea.selectionEnd-&amp;quot;}}&amp;quot;.length));&lt;br /&gt;
      texttermcur = new texttermfill(textarea.value.substring(textarea.selectionStart+&amp;quot;{{TextTerm&amp;quot;.length,textarea.selectionEnd-&amp;quot;}}&amp;quot;.length) );&lt;br /&gt;
    }&lt;br /&gt;
  }else{&lt;br /&gt;
    alert(&amp;quot;No selectionStart Internet Explorer &amp;lt; 9?&amp;quot;);&lt;br /&gt;
  }  &lt;br /&gt;
  // Looking for previous and next&lt;br /&gt;
  // Previous&lt;br /&gt;
  // ^....@{{TextTerm....#}}.................@{{TextTerm ...}}!&lt;br /&gt;
  //                        poffset&lt;br /&gt;
  //       &amp;lt;   prange      &amp;gt;&amp;lt;&lt;br /&gt;
  //       &amp;gt;&amp;lt;              &amp;gt;&amp;lt;&lt;br /&gt;
  //     pstart          pend&lt;br /&gt;
  //       !&amp;lt;--------offsetpstart------------&amp;gt;! &lt;br /&gt;
  //                       #&amp;lt;-offsetpsend----&amp;gt;! &lt;br /&gt;
&lt;br /&gt;
  var pstart = textarea.value.substring(0,textarea.selectionStart). lastIndexOf(&amp;quot;{{TextTerm&amp;quot;); &lt;br /&gt;
  if ( pstart == -1) { // No previous&lt;br /&gt;
    // alert( &amp;quot;NO previous : &amp;quot; + textarea.value.substring(0,textarea.selectionStart));&lt;br /&gt;
    poffset = null;&lt;br /&gt;
    prange = null;&lt;br /&gt;
  }else{&lt;br /&gt;
    // alert( &amp;quot;Previous pstart=&amp;quot; + pstart + &amp;quot; selectionStart=&amp;quot; + textarea.selectionStart + &amp;quot; pstart:selectionStart=&amp;quot; + textarea.value.substring(pstart,textarea.selectionStart));&lt;br /&gt;
    var pend = textarea.value.substring(pstart,textarea.selectionStart). search(&amp;quot;}}&amp;quot;) ; // Regex ?&lt;br /&gt;
    // alert( &amp;quot;Previous pstart=&amp;quot; + pstart + &amp;quot; pend= &amp;quot; + pend + &amp;quot; selectionStart=&amp;quot; + textarea.selectionStart + &amp;quot; pstart:selectionStart=&amp;quot; + textarea.value.substring(pstart,textarea.selectionStart));&lt;br /&gt;
    if ( pend == -1) { // Strange no ending&lt;br /&gt;
      stop( &amp;quot;NO ending }} in previous : &amp;quot; + textarea.value.substring(0,textarea.selectionStart));&lt;br /&gt;
    }else{&lt;br /&gt;
      prange = pend + 2; // }} included&lt;br /&gt;
      poffset = pstart + prange - textarea.selectionStart;  // should be negative&lt;br /&gt;
      // alert( &amp;quot; prange =&amp;quot; + prange + &amp;quot; poffset=&amp;quot; + poffset);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  // Next&lt;br /&gt;
  // ^....@{{TextTerm....#}}.................@{{TextTerm ...}}!&lt;br /&gt;
  //                       !&amp;lt;--------offsetnend--------------&amp;gt;! &lt;br /&gt;
  //                       #&amp;lt;-offsetnstart---&amp;gt;! &lt;br /&gt;
  //                                      noffset&lt;br /&gt;
  //                                         &amp;gt;&amp;lt;   nrange     &amp;gt;&lt;br /&gt;
  //                       #&amp;lt;-offsetnstart---&amp;gt;! &lt;br /&gt;
  var nstart = textarea.value.substring(textarea.selectionEnd,textarea.length). search(&amp;quot;{{TextTerm&amp;quot;) &lt;br /&gt;
  if ( nstart == -1) { // No next&lt;br /&gt;
    // alert( &amp;quot;NO next TextTerm : &amp;quot; +  textarea.value.substring(textarea.selectionEnd,textarea.length));&lt;br /&gt;
    noffset = null;&lt;br /&gt;
    nrange = null;&lt;br /&gt;
  }else{&lt;br /&gt;
    var nend = textarea.value.substring(textarea.selectionEnd + nstart,textarea.length). search(&amp;quot;}}&amp;quot;) ;&lt;br /&gt;
    if ( nend == -1) { // Strange no ending&lt;br /&gt;
      stop( &amp;quot;NO ending }} in previous : &amp;quot; + textarea.value.substring(textarea.selectionEnd,textarea.length)) ;&lt;br /&gt;
    }else{&lt;br /&gt;
      noffset = nstart ;&lt;br /&gt;
      nrange = nend +2 ;// }}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  // We do have offset or null, as well formfilled with a selection.&lt;br /&gt;
&lt;br /&gt;
  oldFormHide();&lt;br /&gt;
  template = &amp;quot;TextTerm&amp;quot;;&lt;br /&gt;
  var legend;&lt;br /&gt;
  if (template == &amp;quot;TextTerm&amp;quot;) {&lt;br /&gt;
    legend = &amp;quot;TextTerm source&amp;quot;;&lt;br /&gt;
  } else {&lt;br /&gt;
    legend = &amp;quot;Cite news source&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  newtime = getTime();&lt;br /&gt;
&lt;br /&gt;
  numforms++;&lt;br /&gt;
  form = '&amp;lt;div id=&amp;quot;citediv'+numforms+'&amp;quot;&amp;gt;'+&lt;br /&gt;
    '&amp;lt;fieldset&amp;gt;&amp;lt;legend&amp;gt;'+legend+'&amp;lt;/legend&amp;gt;'+&lt;br /&gt;
    '&amp;lt;table cellspacing=&amp;quot;5&amp;quot;&amp;gt;'+&lt;br /&gt;
    '&amp;lt;input type=&amp;quot;hidden&amp;quot; value=&amp;quot;'+template+'&amp;quot; id=&amp;quot;template&amp;quot;&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;label for=&amp;quot;term&amp;quot;&amp;gt;&amp;amp;nbsp;*Term or expression: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td colspan=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;term&amp;quot; value= &amp;quot;' +&lt;br /&gt;
    texttermcur.term + '&amp;quot;&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;100&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;note&amp;quot;&amp;gt;&amp;amp;nbsp;*Note number (1, 2 etc .): &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:10%&amp;quot; id=&amp;quot;note&amp;quot; value= &amp;quot;' +&lt;br /&gt;
    texttermcur.note + '&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;100&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;subnote&amp;quot;&amp;gt;&amp;amp;nbsp;Subnote (2): &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:10%&amp;quot; id=&amp;quot;subnote&amp;quot; value= &amp;quot;' +&lt;br /&gt;
    texttermcur.subnote + '&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;300&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;section&amp;quot;&amp;gt;&amp;amp;nbsp;Section (102, 933 etc.): &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:10%&amp;quot; id=&amp;quot;section&amp;quot; value= &amp;quot;' +&lt;br /&gt;
    texttermcur.section + '&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;indexentry&amp;quot;&amp;gt;&amp;amp;nbsp;IndexEntry: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;indexentry&amp;quot; value= &amp;quot;' +&lt;br /&gt;
    texttermcur.indexentry + '&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;otherindexentry&amp;quot;&amp;gt;&amp;amp;nbsp;OtherIndexEntry: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;otherindexentry&amp;quot; value= &amp;quot;' +&lt;br /&gt;
    texttermcur.otherindexentry + '&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;otherindexentrytwo&amp;quot;&amp;gt;&amp;amp;nbsp;OtherIndexEntryTwo: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;otherindexentrytwo&amp;quot; value= &amp;quot;' +&lt;br /&gt;
    texttermcur.otherindexentrytwo + '&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;otherindexentrythree&amp;quot;&amp;gt;&amp;amp;nbsp;OtherIndexEntryThree: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;otherindexentrythree&amp;quot; value= &amp;quot;' +&lt;br /&gt;
    texttermcur.otherindexentrythree + '&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;otherindexentryfour&amp;quot;&amp;gt;&amp;amp;nbsp;OtherIndexEntryFour: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;otherindexentryfour&amp;quot; value= &amp;quot;' +&lt;br /&gt;
    texttermcur.otherindexentryfour + '&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;otherindexentryfive&amp;quot;&amp;gt;&amp;amp;nbsp;OtherIndexEntryFive: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;otherindexentryfive&amp;quot; value= &amp;quot;' +&lt;br /&gt;
    texttermcur.otherindexentryfive + '&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;englishentry&amp;quot;&amp;gt;&amp;amp;nbsp;EnglishEntry (for Chinese and Japanese): &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;englishentry&amp;quot; value= &amp;quot;' +&lt;br /&gt;
    texttermcur.englishentry + '&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;/table&amp;gt;'+&lt;br /&gt;
    '&amp;lt;input type=&amp;quot;button&amp;quot; id=&amp;quot;previous&amp;quot; value=&amp;quot;(save &amp;amp;) previous TextTerm&amp;quot; onClick=&amp;quot;previoustextterm()&amp;quot;&amp;gt;'+&lt;br /&gt;
    '&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;(save &amp;amp;) exit&amp;quot; onClick=&amp;quot;savetextterms()&amp;quot;&amp;gt;'+&lt;br /&gt;
    '&amp;lt;input type=&amp;quot;button&amp;quot; id=&amp;quot;next&amp;quot; value=&amp;quot;(save &amp;amp;) next TextTerm&amp;quot; onClick=&amp;quot;nexttextterm()&amp;quot;&amp;gt;'+&lt;br /&gt;
    '&amp;lt;/fieldset&amp;gt;&amp;lt;/div&amp;gt;';&lt;br /&gt;
  document.getElementById('citeselect').innerHTML += form;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function citeNewsWeb(templatename) {&lt;br /&gt;
  oldFormHide();&lt;br /&gt;
  template = templatename;&lt;br /&gt;
  var legend;&lt;br /&gt;
  if (template == &amp;quot;cite web&amp;quot;) {&lt;br /&gt;
    legend = &amp;quot;Cite web source&amp;quot;;&lt;br /&gt;
  } else {&lt;br /&gt;
    legend = &amp;quot;Cite news source&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  newtime = getTime();&lt;br /&gt;
  numforms++;&lt;br /&gt;
  form = '&amp;lt;div id=&amp;quot;citediv'+numforms+'&amp;quot;&amp;gt;'+&lt;br /&gt;
    '&amp;lt;fieldset&amp;gt;&amp;lt;legend&amp;gt;'+legend+'&amp;lt;/legend&amp;gt;'+&lt;br /&gt;
    '&amp;lt;table cellspacing=&amp;quot;5&amp;quot;&amp;gt;'+&lt;br /&gt;
    '&amp;lt;input type=&amp;quot;hidden&amp;quot; value=&amp;quot;'+template+'&amp;quot; id=&amp;quot;template&amp;quot;&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;url&amp;quot;&amp;gt;&amp;amp;nbsp;URL: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;url&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;title&amp;quot;&amp;gt;&amp;amp;nbsp;Title: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;title&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;last&amp;quot;&amp;gt;&amp;amp;nbsp;Last name: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;last&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;first&amp;quot;&amp;gt;&amp;amp;nbsp;First name: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;first&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;coauthors&amp;quot;&amp;gt;&amp;amp;nbsp;Coauthors: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;coauthors&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;date&amp;quot;&amp;gt;&amp;amp;nbsp;Publication date: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;date&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;work&amp;quot;&amp;gt;&amp;amp;nbsp;Work: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;work&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;publisher&amp;quot;&amp;gt;&amp;amp;nbsp;Publisher: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;publisher&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;pages&amp;quot;&amp;gt;&amp;amp;nbsp;Pages: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;pages&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;language&amp;quot;&amp;gt;&amp;amp;nbsp;Language: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;language&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;accessdate&amp;quot;&amp;gt;&amp;amp;nbsp;Access date: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;accessdate&amp;quot; value=&amp;quot;'+ newtime +'&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;location&amp;quot;&amp;gt;&amp;amp;nbsp;Location: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;location&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;refname&amp;quot;&amp;gt;&amp;amp;nbsp;Reference name: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;refname&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;/table&amp;gt;'+&lt;br /&gt;
    '&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;Add citation&amp;quot; onClick=&amp;quot;addcites()&amp;quot;&amp;gt;'+&lt;br /&gt;
 '&amp;lt;/fieldset&amp;gt;&amp;lt;/div&amp;gt;';&lt;br /&gt;
   document.getElementById('citeselect').innerHTML += form;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function citeBook() {&lt;br /&gt;
  oldFormHide();&lt;br /&gt;
  template = &amp;quot;cite book&amp;quot;;&lt;br /&gt;
  numforms++;&lt;br /&gt;
  form = '&amp;lt;div id=&amp;quot;citediv'+numforms+'&amp;quot;&amp;gt;'+&lt;br /&gt;
    '&amp;lt;fieldset&amp;gt;&amp;lt;legend&amp;gt;Cite book source&amp;lt;/legend&amp;gt;'+&lt;br /&gt;
    '&amp;lt;table cellspacing=&amp;quot;5&amp;quot;&amp;gt;'+&lt;br /&gt;
    '&amp;lt;input type=&amp;quot;hidden&amp;quot; value=&amp;quot;'+template+'&amp;quot; id=&amp;quot;template&amp;quot;&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;last&amp;quot;&amp;gt;&amp;amp;nbsp;Last name: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;last&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;first&amp;quot;&amp;gt;&amp;amp;nbsp;First name: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;first&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;coauthors&amp;quot;&amp;gt;&amp;amp;nbsp;Coauthors: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;coauthors&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;others&amp;quot;&amp;gt;&amp;amp;nbsp;Others: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;others&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;title&amp;quot;&amp;gt;&amp;amp;nbsp;Title: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;title&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;editor&amp;quot;&amp;gt;&amp;amp;nbsp;Editor: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;editor&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;publisher&amp;quot;&amp;gt;&amp;amp;nbsp;Publisher: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;publisher&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;location&amp;quot;&amp;gt;&amp;amp;nbsp;Location: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;location&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;date&amp;quot;&amp;gt;&amp;amp;nbsp;Publication date: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;date&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;edition&amp;quot;&amp;gt;&amp;amp;nbsp;Edition: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;edition&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;series&amp;quot;&amp;gt;&amp;amp;nbsp;Series: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;series&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;volume&amp;quot;&amp;gt;&amp;amp;nbsp;Volume: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;volume&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;pages&amp;quot;&amp;gt;&amp;amp;nbsp;Pages: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;pages&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;chapter&amp;quot;&amp;gt;&amp;amp;nbsp;Chapter: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;chapter&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;isbn&amp;quot;&amp;gt;&amp;amp;nbsp;ISBN: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;isbn&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;oclc&amp;quot;&amp;gt;&amp;amp;nbsp;OCLC: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;oclc&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;url&amp;quot;&amp;gt;&amp;amp;nbsp;URL: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;url&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;accessdate&amp;quot;&amp;gt;&amp;amp;nbsp;Access date: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;accessdate&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;language&amp;quot;&amp;gt;&amp;amp;nbsp;Language: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;language&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;refname&amp;quot;&amp;gt;&amp;amp;nbsp;Reference name: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;refname&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;/table&amp;gt;'+&lt;br /&gt;
    '&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;Add citation&amp;quot; onClick=&amp;quot;addcites()&amp;quot;&amp;gt;'+&lt;br /&gt;
 '&amp;lt;/fieldset&amp;gt;&amp;lt;/div&amp;gt;';&lt;br /&gt;
   document.getElementById('citeselect').innerHTML += form;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function citeJournal() {&lt;br /&gt;
  oldFormHide();&lt;br /&gt;
  template = &amp;quot;cite journal&amp;quot;;&lt;br /&gt;
  numforms++;&lt;br /&gt;
  form = '&amp;lt;div id=&amp;quot;citediv'+numforms+'&amp;quot;&amp;gt;'+&lt;br /&gt;
    '&amp;lt;fieldset&amp;gt;&amp;lt;legend&amp;gt;Cite journal source&amp;lt;/legend&amp;gt;'+&lt;br /&gt;
    '&amp;lt;table cellspacing=&amp;quot;5&amp;quot;&amp;gt;'+&lt;br /&gt;
    '&amp;lt;input type=&amp;quot;hidden&amp;quot; value=&amp;quot;'+template+'&amp;quot; id=&amp;quot;template&amp;quot;&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;last&amp;quot;&amp;gt;&amp;amp;nbsp;Last name: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;last&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;first&amp;quot;&amp;gt;&amp;amp;nbsp;First name: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;first&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;coauthors&amp;quot;&amp;gt;&amp;amp;nbsp;Coauthors: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;coauthors&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;date&amp;quot;&amp;gt;&amp;amp;nbsp;Publication date: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;date&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;title&amp;quot;&amp;gt;&amp;amp;nbsp;Title: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;title&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;journal&amp;quot;&amp;gt;&amp;amp;nbsp;Journal: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;journal&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;publisher&amp;quot;&amp;gt;&amp;amp;nbsp;Publisher: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;publisher&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;location&amp;quot;&amp;gt;&amp;amp;nbsp;Location: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;location&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;volume&amp;quot;&amp;gt;&amp;amp;nbsp;Volume: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;volume&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;issue&amp;quot;&amp;gt;&amp;amp;nbsp;Issue: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;issue&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;pages&amp;quot;&amp;gt;&amp;amp;nbsp;Pages: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;pages&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;issn&amp;quot;&amp;gt;&amp;amp;nbsp;ISSN: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;issn&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;oclc&amp;quot;&amp;gt;&amp;amp;nbsp;OCLC: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;oclc&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;language&amp;quot;&amp;gt;&amp;amp;nbsp;Language: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;language&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;url&amp;quot;&amp;gt;&amp;amp;nbsp;URL: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;url&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;accessdate&amp;quot;&amp;gt;&amp;amp;nbsp;Access date: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;accessdate&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;refname&amp;quot;&amp;gt;&amp;amp;nbsp;Reference name: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;refname&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;/table&amp;gt;'+&lt;br /&gt;
    '&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;Add citation&amp;quot; onClick=&amp;quot;addcites()&amp;quot;&amp;gt;'+&lt;br /&gt;
    '&amp;lt;/fieldset&amp;gt;&amp;lt;/div&amp;gt;';&lt;br /&gt;
  document.getElementById('citeselect').innerHTML += form;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function saveinput(terminput) {&lt;br /&gt;
  //  terminput = document.getElementById('citediv'+numforms).getElementsByTagName('input');&lt;br /&gt;
  this.term = '';&lt;br /&gt;
  this.note= '';&lt;br /&gt;
  this.section = '';&lt;br /&gt;
  this.indexentry= '';&lt;br /&gt;
  this.otherindexentry = '';&lt;br /&gt;
  this.otherindexentrytwo = '';&lt;br /&gt;
  this.otherindexentrythree = '';&lt;br /&gt;
  this.otherindexentryfour = '';&lt;br /&gt;
  this.otherindexentryfive = '';&lt;br /&gt;
  this.englishentry = '';&lt;br /&gt;
&lt;br /&gt;
  for (var i=0; i&amp;lt;terminput.length-1; i++) {&lt;br /&gt;
    if (terminput[i].id == &amp;quot;template&amp;quot; ){&lt;br /&gt;
      ;&lt;br /&gt;
    }else if (terminput[i].id == &amp;quot;term&amp;quot; ){&lt;br /&gt;
      this.term = terminput[i].value;&lt;br /&gt;
    }else if(terminput[i].id == &amp;quot;note&amp;quot;){&lt;br /&gt;
      this.note = terminput[i].value;&lt;br /&gt;
    }else if(terminput[i].id == &amp;quot;section&amp;quot;){&lt;br /&gt;
      this.section = terminput[i].value;&lt;br /&gt;
    }else if(terminput[i].id == &amp;quot;subnote&amp;quot;){&lt;br /&gt;
      this.subnote = terminput[i].value;&lt;br /&gt;
    }else if(terminput[i].id == &amp;quot;indexentry&amp;quot;){&lt;br /&gt;
      this.indexentry = terminput[i].value;&lt;br /&gt;
    }else if(terminput[i].id == &amp;quot;otherindexentry&amp;quot;){&lt;br /&gt;
      this.otherindexentry = terminput[i].value;&lt;br /&gt;
    }else if(terminput[i].id == &amp;quot;otherindexentrytwo&amp;quot;){&lt;br /&gt;
      this.otherindexentrytwo = terminput[i].value;&lt;br /&gt;
    }else if(terminput[i].id == &amp;quot;otherindexentrythree&amp;quot;){&lt;br /&gt;
      this.otherindexentrythree = terminput[i].value;&lt;br /&gt;
    }else if(terminput[i].id == &amp;quot;otherindexentryfour&amp;quot;){&lt;br /&gt;
      this.otherindexentryfour = terminput[i].value;&lt;br /&gt;
    }else if(terminput[i].id == &amp;quot;otherindexentryfive&amp;quot;){&lt;br /&gt;
      this.otherindexentryfive = terminput[i].value;&lt;br /&gt;
    }else if(terminput[i].id == &amp;quot;englishentry&amp;quot;){&lt;br /&gt;
      this.englishentry = terminput[i].value;&lt;br /&gt;
    }else{&lt;br /&gt;
      ;;//alert(&amp;quot; SaveInput terminput[i].id = &amp;quot; + terminput[i].id + &amp;quot; terminput[i].value =&amp;quot; + terminput[i].value);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function savetextterms(template) {&lt;br /&gt;
  var txtterminput = document.getElementById('citediv'+numforms).getElementsByTagName('input');&lt;br /&gt;
  textterminput = new saveinput(txtterminput);&lt;br /&gt;
  //alert(&amp;quot;texttermcur=&amp;quot; + texttermcur);&lt;br /&gt;
  //alert(&amp;quot;textterminput=&amp;quot; + textterminput);&lt;br /&gt;
  // Testing&lt;br /&gt;
  var different = false;&lt;br /&gt;
  if((textterminput.term != texttermcur.term) || (textterminput.note != texttermcur.note) ||&lt;br /&gt;
     (textterminput.section != texttermcur.section) ||&lt;br /&gt;
     (textterminput.subnote != texttermcur.subnote) ||&lt;br /&gt;
     (textterminput.indexentry != texttermcur.indexentry) ||&lt;br /&gt;
     (textterminput.otherindexentry != texttermcur.otherindexentry) || &lt;br /&gt;
     (textterminput.otherindexentrytwo != texttermcur.otherindexentrytwo) ||&lt;br /&gt;
     (textterminput.otherindexentrythree != texttermcur.otherindexentrythree) ||&lt;br /&gt;
     (textterminput.otherindexentryfour != texttermcur.otherindexentryfour) ||&lt;br /&gt;
     (textterminput.otherindexentryfive != texttermcur.otherindexentryfive) ||&lt;br /&gt;
     (textterminput.englishentry != texttermcur.englishentry) )&lt;br /&gt;
    different = true;&lt;br /&gt;
&lt;br /&gt;
  if (different){&lt;br /&gt;
    // alert(&amp;quot; They are different, have to save&amp;quot; );&lt;br /&gt;
    var texttermchain=&amp;quot;{{TextTerm&amp;quot;;&lt;br /&gt;
    texttermchain += '|' + (textterminput.term ? textterminput.term : '');&lt;br /&gt;
    texttermchain += '|' + (textterminput.note ? textterminput.note : '');&lt;br /&gt;
    texttermchain += (textterminput.section ? '|' + textterminput.section : '');&lt;br /&gt;
    texttermchain += (textterminput.subnote ? '|' + textterminput.subnote : '');&lt;br /&gt;
    texttermchain += (textterminput.indexentry ? '|IndexEntry='+ textterminput.indexentry : '');&lt;br /&gt;
    texttermchain += (textterminput.otherindexentry ? '|OtherIndexEntry='+ textterminput.otherindexentry : '');&lt;br /&gt;
    texttermchain += (textterminput.otherindexentrytwo ? '|OtherIndexEntryTwo='+ textterminput.otherindexentrytwo : '');&lt;br /&gt;
    texttermchain += (textterminput.otherindexentrythree ? '|OtherIndexEntryThree='+ textterminput.otherindexentrythree : '');&lt;br /&gt;
    texttermchain += (textterminput.otherindexentryfour ? '|OtherIndexEntryFour='+ textterminput.otherindexentryfour : '');&lt;br /&gt;
    texttermchain += (textterminput.otherindexentryfive ? '|OtherIndexEntryFive='+ textterminput.otherindexentryfive : '');&lt;br /&gt;
    texttermchain += (textterminput.englishentry ? '|EnglishEntry='+ textterminput.englishentry : '');&lt;br /&gt;
    texttermchain += &amp;quot;}}&amp;quot;;&lt;br /&gt;
    &lt;br /&gt;
    var textarea= document.getElementById('wpTextbox1');&lt;br /&gt;
    var savepos= textarea.selectionStart;&lt;br /&gt;
    if ('selectionStart' in textarea) {&lt;br /&gt;
      textarea.value=textarea.value.substring(0,textarea.selectionStart) + texttermchain + textarea.value.substring(textarea.selectionEnd, textarea.length); &lt;br /&gt;
      //insertTags(texttermchain, '', '');&lt;br /&gt;
      textarea.selectionStart = savepos;&lt;br /&gt;
      textarea.selectionEnd = savepos + texttermchain.length;&lt;br /&gt;
    }&lt;br /&gt;
    else{&lt;br /&gt;
      alert(&amp;quot;No selectionStart firefox&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    ;//alert(&amp;quot; They are similar, don't save&amp;quot; );&lt;br /&gt;
  }&lt;br /&gt;
  document.getElementById('citediv'+numforms).style.display = 'none';&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addcites(template) {&lt;br /&gt;
  cites = document.getElementById('citediv'+numforms).getElementsByTagName('input');&lt;br /&gt;
  var citebegin = '&amp;lt;ref';&lt;br /&gt;
  var citename = '';&lt;br /&gt;
  var citeinner = '';&lt;br /&gt;
  for (var i=0; i&amp;lt;cites.length-1; i++) {&lt;br /&gt;
    if (cites[i].value != '' &amp;amp;&amp;amp; cites[i].id != &amp;quot;refname&amp;quot; &amp;amp;&amp;amp; cites[i].id != &amp;quot;template&amp;quot;) {&lt;br /&gt;
      citeinner += &amp;quot;|&amp;quot; + cites[i].id + &amp;quot;=&amp;quot; + cites[i].value;&lt;br /&gt;
    }&lt;br /&gt;
    else if (cites[i].value != '' &amp;amp;&amp;amp; cites[i].id == &amp;quot;refname&amp;quot; &amp;amp;&amp;amp; cites[i].id != &amp;quot;template&amp;quot;) {&lt;br /&gt;
      citebegin += ' name=&amp;quot;' + cites[i].value + '&amp;quot;';&lt;br /&gt;
    }&lt;br /&gt;
    else if (cites[i].value != '' &amp;amp;&amp;amp; cites[i].id != &amp;quot;refname&amp;quot; &amp;amp;&amp;amp; cites[i].id == &amp;quot;template&amp;quot;) {&lt;br /&gt;
      citename = '&amp;gt;{{' + cites[i].value;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  cite = citebegin + citename + citeinner + &amp;quot;}}&amp;lt;/ref&amp;gt;&amp;quot;;&lt;br /&gt;
  $(&amp;quot;#wpTextbox1&amp;quot;).focus();&lt;br /&gt;
  insertTags(cite, '', '');&lt;br /&gt;
  document.getElementById('citediv'+numforms).style.display = 'none';&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function getNamedRefs(calls) {&lt;br /&gt;
  if (typeof(wikEdUseWikEd) != 'undefined') {&lt;br /&gt;
    if (wikEdUseWikEd == true) {&lt;br /&gt;
      WikEdUpdateTextarea();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  text = document.getElementById('wpTextbox1').value;&lt;br /&gt;
  var regex;&lt;br /&gt;
  if (calls) {&lt;br /&gt;
    regex = /&amp;lt; *?ref +?name *?= *?(('([^']*?)')|(&amp;quot;([^&amp;quot;]*?)&amp;quot;)|([^'&amp;quot;\s]*?[^\/]\b)) *?\/ *?&amp;gt;/gi //'&lt;br /&gt;
  } else {&lt;br /&gt;
    regex = /&amp;lt; *?ref +?name *?= *?(('([^']*?)')|(&amp;quot;([^&amp;quot;]*?)&amp;quot;)|([^'&amp;quot;\s]*?[^\/]\b)) *?&amp;gt;/gi //'&lt;br /&gt;
  }&lt;br /&gt;
  var namedrefs = [];&lt;br /&gt;
  var i=0;&lt;br /&gt;
  var nr=true;&lt;br /&gt;
  do {&lt;br /&gt;
    ref = regex.exec(text);&lt;br /&gt;
    if(ref != null){&lt;br /&gt;
      if (ref[5]) {&lt;br /&gt;
        namedrefs[i] = ref[5];&lt;br /&gt;
      } else if (ref[3]) {&lt;br /&gt;
        namedrefs[i] = ref[3];&lt;br /&gt;
      } else {&lt;br /&gt;
        namedrefs[i] = ref[6];&lt;br /&gt;
      }&lt;br /&gt;
      i++;&lt;br /&gt;
    } else {&lt;br /&gt;
      nr=false;&lt;br /&gt;
    }&lt;br /&gt;
  } while (nr==true);&lt;br /&gt;
  return namedrefs;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function citeNamedRef() {&lt;br /&gt;
  namedrefs = getNamedRefs(false);&lt;br /&gt;
  if (namedrefs == '') {&lt;br /&gt;
    oldFormHide();&lt;br /&gt;
    numforms++;&lt;br /&gt;
    out = '&amp;lt;div id=&amp;quot;citediv'+numforms+'&amp;quot;&amp;gt;&amp;lt;fieldset&amp;gt;'+&lt;br /&gt;
      '&amp;lt;legend&amp;gt;References in text&amp;lt;/legend&amp;gt;There are no named refs (&amp;lt;tt&amp;gt;&amp;amp;lt;ref name=&amp;quot;Name&amp;quot;&amp;amp;gt;&amp;lt;/tt&amp;gt;) in the text&amp;lt;/fieldset&amp;gt;&amp;lt;/div&amp;gt;';&lt;br /&gt;
    document.getElementById('citeselect').innerHTML += out;&lt;br /&gt;
  }&lt;br /&gt;
  else {&lt;br /&gt;
    oldFormHide();&lt;br /&gt;
    numforms++;&lt;br /&gt;
    form = '&amp;lt;div id=&amp;quot;citediv'+numforms+'&amp;quot;&amp;gt;'+&lt;br /&gt;
      '&amp;lt;fieldset&amp;gt;&amp;lt;legend&amp;gt;References in article&amp;lt;/legend&amp;gt;'+&lt;br /&gt;
      '&amp;lt;table cellspacing=&amp;quot;5&amp;quot;&amp;gt;'+&lt;br /&gt;
      '&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;label for=&amp;quot;namedrefs&amp;quot;&amp;gt;&amp;amp;nbsp;Named references in text&amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
            '&amp;lt;td&amp;gt;&amp;lt;select name=&amp;quot;namedrefs&amp;quot; id=&amp;quot;namedrefs&amp;quot;&amp;gt;';&lt;br /&gt;
    for (var i=0;i&amp;lt;namedrefs.length;i++) {&lt;br /&gt;
      form+= '&amp;lt;option value=&amp;quot;'+namedrefs[i]+'&amp;quot;&amp;gt;'+namedrefs[i]+'&amp;lt;/option&amp;gt;';&lt;br /&gt;
    }&lt;br /&gt;
    form+= '&amp;lt;/select&amp;gt;'+&lt;br /&gt;
      '&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;'+&lt;br /&gt;
      '&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;Add citation&amp;quot; onClick=&amp;quot;addnamedcite()&amp;quot;&amp;gt;'+&lt;br /&gt;
      '&amp;lt;/fieldset&amp;gt;&amp;lt;/div&amp;gt;';&lt;br /&gt;
     document.getElementById('citeselect').innerHTML += form;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addnamedcite() {&lt;br /&gt;
  name = document.getElementById('citediv'+numforms).getElementsByTagName('select')[0].value;&lt;br /&gt;
  ref = '&amp;lt;ref name=&amp;quot;'+name+'&amp;quot; /&amp;gt;';&lt;br /&gt;
  $(&amp;quot;#wpTextbox1&amp;quot;).focus();&lt;br /&gt;
  insertTags(ref, '', '');&lt;br /&gt;
  document.getElementById('citediv'+numforms).style.display = 'none';&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function getAllRefs() {&lt;br /&gt;
  if (typeof(wikEdUseWikEd) != 'undefined') {&lt;br /&gt;
    if (wikEdUseWikEd == true) {&lt;br /&gt;
      WikEdUpdateTextarea();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  text = document.getElementById('wpTextbox1').value;&lt;br /&gt;
  regex = /&amp;lt; *?ref( +?name *?= *?(('([^']*?)')|(&amp;quot;([^&amp;quot;]*?)&amp;quot;)|([^'&amp;quot;\s]*?[^\/]\b)))? *?&amp;gt;((.|\n)*?)&amp;lt; *?\/? *?ref *?&amp;gt;/gim //&amp;quot;&lt;br /&gt;
  var allrefs = [];&lt;br /&gt;
  var i=0;&lt;br /&gt;
  var nr=true;&lt;br /&gt;
  do {&lt;br /&gt;
    ref = regex.exec(text);&lt;br /&gt;
    if(ref != null){&lt;br /&gt;
      if (ref[0].search(/[^\s]{150}/) != -1) {&lt;br /&gt;
        ref[0] = ref[0].replace(/\|([^\s])/g, &amp;quot;| $1&amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
      ref[0] = ref[0].replace(/&amp;lt;/g, &amp;quot;&amp;amp;lt;&amp;quot;);&lt;br /&gt;
      ref[0] = ref[0].replace(/&amp;gt;/g, &amp;quot;&amp;amp;gt;&amp;quot;);&lt;br /&gt;
      allrefs[i] = ref[0];&lt;br /&gt;
      i++;&lt;br /&gt;
    } else {&lt;br /&gt;
      nr=false;&lt;br /&gt;
    }&lt;br /&gt;
  } while (nr==true);&lt;br /&gt;
  return allrefs;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function NRcallError(namedrefs, refname) {&lt;br /&gt;
  for (var i=0; i&amp;lt;namedrefs.length; i++) {&lt;br /&gt;
    if (namedrefs[i] == refname) {&lt;br /&gt;
      return true;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function errorCheck() {&lt;br /&gt;
  var allrefs = getAllRefs();&lt;br /&gt;
  var allrefscontent = [];&lt;br /&gt;
  var samecontentexclude = [];&lt;br /&gt;
  var sx=0;&lt;br /&gt;
  var templateexclude = [];&lt;br /&gt;
  var tx=0;&lt;br /&gt;
  var skipcheck = false;&lt;br /&gt;
  var namedrefcalls = getNamedRefs(true);&lt;br /&gt;
  for (var i=0; i&amp;lt;allrefs.length; i++) {&lt;br /&gt;
    allrefscontent[i] = allrefs[i].replace(/&amp;amp;lt; *?ref( +?name *?= *?(('([^']*?)')|(&amp;quot;([^&amp;quot;]*?)&amp;quot;)|([^'&amp;quot;\s]*?[^\/]\b)))? *?&amp;amp;gt;((.|\n)*?)&amp;amp;lt; *?\/? *?ref *?&amp;amp;gt;/gim, &amp;quot;$8&amp;quot;);  //&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  var namedrefs = getNamedRefs(false);&lt;br /&gt;
  var errorlist = [];&lt;br /&gt;
  var q=0;&lt;br /&gt;
  unclosed = document.getElementById('unclosed').checked;&lt;br /&gt;
  samecontent = document.getElementById('samecontent').checked;&lt;br /&gt;
  templates = document.getElementById('templates').checked;&lt;br /&gt;
  repeated = document.getElementById('repeated').checked;&lt;br /&gt;
  undef = document.getElementById('undef').checked;&lt;br /&gt;
  for (var i=0; i&amp;lt;allrefs.length; i++) {&lt;br /&gt;
    if (allrefs[i].search(/&amp;amp;lt; *?\/ *?ref *?&amp;amp;gt;/) == -1 &amp;amp;&amp;amp; unclosed) {&lt;br /&gt;
      errorlist[q] = '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;75%&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;'+allrefs[i]+'&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;';&lt;br /&gt;
      errorlist[q] += '&amp;lt;td width=&amp;quot;25%&amp;quot;&amp;gt;Unclosed &amp;lt;tt&amp;gt;&amp;amp;lt;ref&amp;amp;gt;&amp;lt;/tt&amp;gt; tag&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;';&lt;br /&gt;
      q++;&lt;br /&gt;
    }&lt;br /&gt;
    if (samecontent) {&lt;br /&gt;
      for (var d=0; d&amp;lt;samecontentexclude.length; d++) {&lt;br /&gt;
        if (allrefscontent[i] == samecontentexclude[d]) {&lt;br /&gt;
          skipcheck = true;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      var p=0;&lt;br /&gt;
      while (p&amp;lt;allrefs.length &amp;amp;&amp;amp; !skipcheck) {&lt;br /&gt;
        if (allrefscontent[i] == allrefscontent[p] &amp;amp;&amp;amp; i != p) {&lt;br /&gt;
          errorlist[q] = '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;75%&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;'+allrefscontent[i]+'&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;';&lt;br /&gt;
          errorlist[q] += '&amp;lt;td width=&amp;quot;25%&amp;quot;&amp;gt;Multiple refs contain this content, a &amp;lt;a href=&amp;quot;//en.wikipedia.org/wiki/Wikipedia:Footnotes#Naming_a_ref_tag_so_it_can_be_used_more_than_once&amp;quot;&amp;gt;named reference&amp;lt;/a&amp;gt; should be used instead&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;';&lt;br /&gt;
          q++;&lt;br /&gt;
          samecontentexclude[sx] = allrefscontent[i]&lt;br /&gt;
          sx++;&lt;br /&gt;
          break;&lt;br /&gt;
        }&lt;br /&gt;
        p++;&lt;br /&gt;
      }&lt;br /&gt;
     skipcheck=false;&lt;br /&gt;
    }&lt;br /&gt;
    if (templates) {&lt;br /&gt;
      if (allrefscontent[i].search(/\{\{cite/i) == -1 &amp;amp;&amp;amp; allrefscontent[i].search(/\{\{citation/i) == -1 &amp;amp;&amp;amp; allrefscontent[i].search(/\{\{Comic (book|strip) reference/i) == -1 &amp;amp;&amp;amp; allrefscontent[i].search(/\{\{Editorial cartoon reference/i) == -1 &amp;amp;&amp;amp; allrefscontent[i].search(/\{\{harv/i) == -1) {&lt;br /&gt;
        for (var x=0; x&amp;lt;templateexclude.length; x++) {&lt;br /&gt;
          if (allrefscontent[i] == templateexclude[x]) {&lt;br /&gt;
            skipcheck = true;&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
        if (!skipcheck) {&lt;br /&gt;
          errorlist[q] = '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;75%&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;'+allrefs[i]+'&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;';&lt;br /&gt;
          errorlist[q] += '&amp;lt;td width=&amp;quot;25%&amp;quot;&amp;gt;Does not use a &amp;lt;a href=&amp;quot;//en.wikipedia.org/wiki/Wikipedia:Citation_templates&amp;quot;&amp;gt;citation template&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;';&lt;br /&gt;
          q++;&lt;br /&gt;
          templateexclude[tx] = allrefscontent[i];&lt;br /&gt;
          tx++;&lt;br /&gt;
        }&lt;br /&gt;
        skipcheck = false;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  if (repeated) {&lt;br /&gt;
    var repeatnameexclude = [];&lt;br /&gt;
    var rx=0;&lt;br /&gt;
    for (var k=0; k&amp;lt;namedrefs.length; k++) {&lt;br /&gt;
      for (var d=0; d&amp;lt;repeatnameexclude.length; d++) {&lt;br /&gt;
        if (namedrefs[k] == repeatnameexclude[d]) {&lt;br /&gt;
          skipcheck = true;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      var z=0;&lt;br /&gt;
      while (z&amp;lt;namedrefs.length &amp;amp;&amp;amp; !skipcheck) {&lt;br /&gt;
        if (namedrefs[k] == namedrefs[z] &amp;amp;&amp;amp; k != z) {&lt;br /&gt;
          errorlist[q] = '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;75%&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;'+namedrefs[k]+'&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;';&lt;br /&gt;
          errorlist[q] += '&amp;lt;td width=&amp;quot;25%&amp;quot;&amp;gt;Multiple references are given the same &amp;lt;a href=&amp;quot;//en.wikipedia.org/wiki/Wikipedia:Footnotes#Naming_a_ref_tag_so_it_can_be_used_more_than_once&amp;quot;&amp;gt;name&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;';&lt;br /&gt;
          q++;&lt;br /&gt;
          repeatnameexclude[rx] = namedrefs[z];&lt;br /&gt;
          rx++;&lt;br /&gt;
          break;&lt;br /&gt;
        }&lt;br /&gt;
        z++;&lt;br /&gt;
      }&lt;br /&gt;
     skipcheck = false;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  if (undef) {&lt;br /&gt;
    var undefexclude = [];&lt;br /&gt;
    var ux=0;&lt;br /&gt;
    for (var p=0; p&amp;lt;namedrefcalls.length; p++) {&lt;br /&gt;
      for (var d=0; d&amp;lt;undefexclude.length; d++) {&lt;br /&gt;
        if (allrefscontent[i] == undefexclude[d]) {&lt;br /&gt;
          skipcheck = true;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      if (!skipcheck) {&lt;br /&gt;
        if (!NRcallError(namedrefs, namedrefcalls[p])) {&lt;br /&gt;
          errorlist[q] = '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;75%&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;'+namedrefcalls[p]+'&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;';&lt;br /&gt;
          errorlist[q] += '&amp;lt;td width=&amp;quot;25%&amp;quot;&amp;gt;A &amp;lt;a href=&amp;quot;//en.wikipedia.org/wiki/Wikipedia:Footnotes#Naming_a_ref_tag_so_it_can_be_used_more_than_once&amp;quot;&amp;gt;named reference&amp;lt;/a&amp;gt; is used but not defined&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;';&lt;br /&gt;
          q++;&lt;br /&gt;
          undefexclude[ux] = namedrefs[p];&lt;br /&gt;
          ux++;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      skipcheck = false;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
  if (q &amp;gt; 0) {&lt;br /&gt;
    return errorlist;&lt;br /&gt;
  } else {&lt;br /&gt;
    return 0;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function dispErrors() {&lt;br /&gt;
  oldFormHide();&lt;br /&gt;
  form = '&amp;lt;div id=&amp;quot;errorform&amp;quot;&amp;gt;&amp;lt;fieldset&amp;gt;'+&lt;br /&gt;
    '&amp;lt;legend&amp;gt;Error checking&amp;lt;/legend&amp;gt;'+&lt;br /&gt;
    '&amp;lt;b&amp;gt;Check for:&amp;lt;/b&amp;gt;&amp;lt;br/&amp;gt;'+&lt;br /&gt;
    '&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;unclosed&amp;quot; /&amp;gt; Unclosed &amp;lt;tt&amp;gt;&amp;amp;lt;ref&amp;amp;gt;&amp;lt;/tt&amp;gt; tags&amp;lt;br/&amp;gt;'+&lt;br /&gt;
    '&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;samecontent&amp;quot; /&amp;gt; References with the same content&amp;lt;br/&amp;gt;'+&lt;br /&gt;
    '&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;templates&amp;quot; /&amp;gt; References not using a &amp;lt;a href=&amp;quot;//en.wikipedia.org/wiki/Wikipedia:Citation_templates&amp;quot;&amp;gt;citation template&amp;lt;/a&amp;gt;&amp;lt;br/&amp;gt;'+&lt;br /&gt;
    '&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;repeated&amp;quot; /&amp;gt; Multiple references with the same name&amp;lt;br/&amp;gt;'+&lt;br /&gt;
    '&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;undef&amp;quot; /&amp;gt; Usage of undefined named references&amp;lt;br/&amp;gt;'+&lt;br /&gt;
    '&amp;lt;input type=&amp;quot;button&amp;quot; id=&amp;quot;errorchecksubmit&amp;quot; value=&amp;quot;Check for selected errors&amp;quot; onclick=&amp;quot;doErrorCheck()&amp;quot;/&amp;gt;'+&lt;br /&gt;
    '&amp;lt;/fieldset&amp;gt;&amp;lt;/div&amp;gt;';&lt;br /&gt;
  document.getElementById('citeselect').innerHTML += form;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function doErrorCheck() {&lt;br /&gt;
  var errors = errorCheck();&lt;br /&gt;
  document.getElementById('citeselect').removeChild(document.getElementById('errorform'));&lt;br /&gt;
  if (errors == 0) {&lt;br /&gt;
    if (numforms != 0) {&lt;br /&gt;
      document.getElementById('citediv'+numforms).style.display = 'none';&lt;br /&gt;
    }&lt;br /&gt;
    numforms++;&lt;br /&gt;
    out = '&amp;lt;div id=&amp;quot;citediv'+numforms+'&amp;quot;&amp;gt;&amp;lt;fieldset&amp;gt;'+&lt;br /&gt;
      '&amp;lt;legend&amp;gt;Error checking&amp;lt;/legend&amp;gt;No errors found.&amp;lt;/fieldset&amp;gt;&amp;lt;/div&amp;gt;';&lt;br /&gt;
    document.getElementById('citeselect').innerHTML += out;&lt;br /&gt;
  }&lt;br /&gt;
  else {&lt;br /&gt;
    if (numforms != 0) {&lt;br /&gt;
      document.getElementById('citediv'+numforms).style.display = 'none';&lt;br /&gt;
    }&lt;br /&gt;
    numforms++;&lt;br /&gt;
    form = '&amp;lt;div id=&amp;quot;citediv'+numforms+'&amp;quot;&amp;gt;'+&lt;br /&gt;
      '&amp;lt;fieldset&amp;gt;&amp;lt;legend&amp;gt;Error checking&amp;lt;/legend&amp;gt;'+&lt;br /&gt;
      '&amp;lt;table border=&amp;quot;1px&amp;quot;&amp;gt;';&lt;br /&gt;
    for (var i=0; i&amp;lt;errors.length; i++) {&lt;br /&gt;
      form+=errors[i];&lt;br /&gt;
    }&lt;br /&gt;
    form+= '&amp;lt;/table&amp;gt;'+&lt;br /&gt;
      '&amp;lt;/fieldset&amp;gt;&amp;lt;/div&amp;gt;';&lt;br /&gt;
     document.getElementById('citeselect').innerHTML += form;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
$( refbuttons );&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Gadget-refToolbar.js&amp;diff=9840</id>
		<title>MediaWiki:Gadget-refToolbar.js</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Gadget-refToolbar.js&amp;diff=9840"/>
				<updated>2017-06-25T19:43:40Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/**&lt;br /&gt;
 * RefToolbar&lt;br /&gt;
 *&lt;br /&gt;
 * Adds tools for citing references to the edit toolbar.&lt;br /&gt;
 * See [[Wikipedia:RefToolbar]] for further documentation. One of&lt;br /&gt;
 * three possible versions will load (Reftoolbar 2.0b, Reftoolbar 2.0a,&lt;br /&gt;
 * or Reftoolbar 1.0) depending on the user preferences (the&lt;br /&gt;
 * usebetatoolbar and usebetatoolbar-cgd parameters).&lt;br /&gt;
 *&lt;br /&gt;
 * @see: [[Wikipedia:RefToolbar]]&lt;br /&gt;
 * @see: [[MediaWiki:RefToolbar.js]]&lt;br /&gt;
 * @see: [[MediaWiki:RefToolbarConfig.js]]&lt;br /&gt;
 * @see: [[MediaWiki:RefToolbarLegacy.js]]&lt;br /&gt;
 * @see: [[MediaWiki:RefToolbarMessages-en.js]]&lt;br /&gt;
 * @see: [[MediaWiki:RefToolbarMessages-de.js]]&lt;br /&gt;
 * @see: [[MediaWiki:RefToolbarNoDialogs.js]]&lt;br /&gt;
 * @see: [[MediaWiki:Gadget-refToolbarBase.js]]&lt;br /&gt;
 * @author: [[User:Mr.Z-man]]&lt;br /&gt;
 * @author: [[User:Kaldari]]&lt;br /&gt;
 */&lt;br /&gt;
/*jshint browser: true, camelcase: true, curly: true, eqeqeq: true */&lt;br /&gt;
/*global jQuery, mediaWiki, importScript */&lt;br /&gt;
( function ( mw, $ ) {&lt;br /&gt;
'use strict';&lt;br /&gt;
function initializeRefTools() {&lt;br /&gt;
	if ( window.refToolbarInstalled || $( '#wpTextbox1[readonly]' ).length ){&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
        // using weak comparison because (&amp;quot;0&amp;quot;) is true, but (&amp;quot;0&amp;quot; == true) is false &lt;br /&gt;
	if ( mw.user.options.get( 'usebetatoolbar' ) == true ) {&lt;br /&gt;
		// Enhanced editing toolbar is on. Going to load RefToolbar 2.0a or 2.0b.&lt;br /&gt;
		if ( mw.user.options.get( 'usebetatoolbar-cgd' ) == true ) {&lt;br /&gt;
			// Dialogs are on. Loading 2.0b. (standard)&lt;br /&gt;
			// TODO:&lt;br /&gt;
			// * Explicitly declare global variables from [[MediaWiki:RefToolbar.js]] using window.*&lt;br /&gt;
			// * Move [[MediaWiki:RefToolbar.js]] to [[MediaWiki:Gadget-refToolbarDialogs.js]]&lt;br /&gt;
			// * Create the module 'ext.gadget.refToolbarDialogs' depending on 'ext.gadget.refToolbarBase' and 'ext.wikiEditor.toolbar'&lt;br /&gt;
			// * Replace the code below by mw.loader.load( 'ext.gadget.refToolbarDialogs' );&lt;br /&gt;
			mw.loader.using( [ 'ext.gadget.refToolbarBase', 'ext.wikiEditor.toolbar' ], function () {&lt;br /&gt;
				importScript( 'MediaWiki:RefToolbar.js' );&lt;br /&gt;
			} );&lt;br /&gt;
		} else {&lt;br /&gt;
			// Dialogs are off. Loading 2.0a.&lt;br /&gt;
			mw.loader.using( 'ext.wikiEditor.toolbar', function () {&lt;br /&gt;
				importScript( 'MediaWiki:RefToolbarNoDialogsTextTerm.js' );&lt;br /&gt;
			} );&lt;br /&gt;
		}&lt;br /&gt;
	} else if ( mw.user.options.get( 'showtoolbar' ) ) {&lt;br /&gt;
		// Enhanced editing toolbar is off. Loading RefToolbar 1.0. (legacy)&lt;br /&gt;
		importScript( 'MediaWiki:RefToolbarLegacy.js' );&lt;br /&gt;
	} else {&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
	window.refToolbarInstalled = true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if ( $.inArray( mw.config.get( 'wgAction' ), [ 'edit', 'submit' ] ) !== -1 ) {&lt;br /&gt;
	// Double check if user.options is loaded, to prevent errors when copy pasted accross installations&lt;br /&gt;
	$.when( mw.loader.using( ['user.options'] ), $.ready ).done( initializeRefTools );&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}( mediaWiki, jQuery ) );&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Gadget-refToolbar&amp;diff=9842</id>
		<title>MediaWiki:Gadget-refToolbar</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Gadget-refToolbar&amp;diff=9842"/>
				<updated>2017-06-25T19:43:40Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[:en:Wikipedia:RefToolbar|refTools]], adds a &amp;quot;cite&amp;quot; button to the editing toolbar for quick and easy addition of commonly used citation templates. It also adds a TextTerm icon&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Common.js&amp;diff=9847</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Common.js&amp;diff=9847"/>
				<updated>2017-06-25T15:00:10Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: Back to minimum&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/**&lt;br /&gt;
 * Keep code in MediaWiki:Common.js to a minimum as it is unconditionally&lt;br /&gt;
 * loaded for all users on every wiki page. If possible create a gadget that is&lt;br /&gt;
 * enabled by default instead of adding it here (since gadgets are fully&lt;br /&gt;
 * optimized ResourceLoader modules with possibility to add dependencies etc.)&lt;br /&gt;
 *&lt;br /&gt;
 * Since Common.js isn't a gadget, there is no place to declare its&lt;br /&gt;
 * dependencies, so we have to lazy load them with mw.loader.using on demand and&lt;br /&gt;
 * then execute the rest in the callback. In most cases these dependencies will&lt;br /&gt;
 * be loaded (or loading) already and the callback will not be delayed. In case a&lt;br /&gt;
 * dependency hasn't arrived yet it'll make sure those are loaded before this.&lt;br /&gt;
 */&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Gadget-DotsSyntaxHighlighter.js&amp;diff=9835</id>
		<title>MediaWiki:Gadget-DotsSyntaxHighlighter.js</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Gadget-DotsSyntaxHighlighter.js&amp;diff=9835"/>
				<updated>2017-06-20T10:18:31Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: modified&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//Syntax highlighter with various advantages See [[User:Remember the&lt;br /&gt;
//dot/Syntax highlighter]] for more information&lt;br /&gt;
/*&lt;br /&gt;
MediaWiki:Gadget-DotsSyntaxHighlighter&lt;br /&gt;
[https://www.mediawiki.org/wiki/User:Remember_the_dot/Syntax_highlighter Adapted from Syntax highlighter]: Make syntax stand out colourfully in the edit box and especially with Demopaedia TextTerm etc.&lt;br /&gt;
&lt;br /&gt;
MediaWiki:Gadget-DotsSyntaxHighlighter.js&lt;br /&gt;
&lt;br /&gt;
*/&lt;br /&gt;
//in the edit box and especially with Demopaedia TextTerm etc.&lt;br /&gt;
/* This file may be used under the terms of any of the following&lt;br /&gt;
   licenses, as well as any later version of the same licenses:&lt;br /&gt;
&lt;br /&gt;
   GNU General Public License 2.0&lt;br /&gt;
   &amp;lt;https://www.gnu.org/licenses/old-licenses/gpl-2.0.html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   Creative Commons Attribution-ShareAlike 3.0 Unported License&lt;br /&gt;
   &amp;lt;https://creativecommons.org/licenses/by-sa/3.0/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   GNU Free Documentation License 1.2&lt;br /&gt;
   &amp;lt;https://www.gnu.org/licenses/old-licenses/fdl-1.2.html&amp;gt;&lt;br /&gt;
   Modified by Nicolas Brouard for Demopaedia.org 12 June 2017&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
(function () {&lt;br /&gt;
    &amp;quot;use strict&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    //variables that are preserved between function calls&lt;br /&gt;
    var wpTextbox0;&lt;br /&gt;
    var wpTextbox1;&lt;br /&gt;
    var syntaxStyleTextNode;&lt;br /&gt;
    var lastText;&lt;br /&gt;
    var maxSpanNumber = -1; //the number of the last span available, used to tell if creating additional spans is necessary&lt;br /&gt;
    var highlightSyntaxIfNeededIntervalID;&lt;br /&gt;
    var attributeObserver;&lt;br /&gt;
    var parentObserver;&lt;br /&gt;
&lt;br /&gt;
    /* Define context-specific regexes, one for every common token that ends the&lt;br /&gt;
       current context.&lt;br /&gt;
&lt;br /&gt;
       An attempt has been made to search for the most common syntaxes first,&lt;br /&gt;
       thus maximizing performance. Syntaxes that begin with the same character&lt;br /&gt;
       are searched for at the same time.&lt;br /&gt;
&lt;br /&gt;
       Supported wiki syntaxes from most common to least common:&lt;br /&gt;
           [[internal link]] [http:// named external link]&lt;br /&gt;
           {{template}} {{{template parameter}}} {| table |}&lt;br /&gt;
           &amp;lt;tag&amp;gt; &amp;lt;!-- comment --&amp;gt;&lt;br /&gt;
           http:// bare external link&lt;br /&gt;
           =Heading= * unordered list # ordered list : indent ; small heading ---- horizontal line&lt;br /&gt;
           ''italic'' '''bold'''&lt;br /&gt;
           three tildes username four tildes signature five tildes timestamp&lt;br /&gt;
           &amp;amp;entity;&lt;br /&gt;
&lt;br /&gt;
       The tag-matching regex follows the XML standard closely so that users&lt;br /&gt;
       won't feel like they have to escape sequences that MediaWiki will never&lt;br /&gt;
       consider to be tags.&lt;br /&gt;
&lt;br /&gt;
       Only entities for characters which need to be escaped or cannot be&lt;br /&gt;
       unambiguously represented in a monospace font are highlighted, such as&lt;br /&gt;
       Greek letters that strongly resemble Latin letters. Use of other entities&lt;br /&gt;
       is discouraged as a matter of style. For the same reasons, numeric&lt;br /&gt;
       entities should be in hexadecimal (giving character codes in decimal only&lt;br /&gt;
       adds confusion).&lt;br /&gt;
&lt;br /&gt;
       Newlines are sucked up into ending tokens (including comments, bare&lt;br /&gt;
       external links, lists, horizontal lines, signatures, entities, etc.) to&lt;br /&gt;
       avoid creating spans with nothing but newlines in them.&lt;br /&gt;
&lt;br /&gt;
       Flags: g for global search, m for make ^ match the beginning of each line&lt;br /&gt;
       and $ the end of each line&lt;br /&gt;
    */&lt;br /&gt;
    var wgUrlProtocols = mw.config.get(&amp;quot;wgUrlProtocols&amp;quot;);&lt;br /&gt;
    var entityRegexBase = &amp;quot;&amp;amp;(?:(?:n(?:bsp|dash)|m(?:dash|inus)|lt|e[mn]sp|thinsp|amp|quot|gt|shy|zwn?j|lrm|rlm|Alpha|Beta|Epsilon|Zeta|Eta|Iota|Kappa|[Mm]u|micro|Nu|[Oo]micron|[Rr]ho|Tau|Upsilon|Chi)|#x[0-9a-fA-F]+);\n*&amp;quot;;&lt;br /&gt;
    var breakerRegexBase = &amp;quot;\\[(?:\\[|(?:&amp;quot; + wgUrlProtocols + &amp;quot;))|\\{(?:\\{\\{?|\\|)|&amp;lt;(?:[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:\\w\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD-\\.\u00B7\u0300-\u036F\u203F-\u203F-\u2040]*(?=/?&amp;gt;| |\n)|!--[^]*?--&amp;gt;\n*)|(?:&amp;quot; + wgUrlProtocols.replace(&amp;quot;|\\/\\/&amp;quot;, &amp;quot;&amp;quot;) + &amp;quot;)[^\\s\&amp;quot;&amp;lt;&amp;gt;[\\]{-}]*[^\\s\&amp;quot;,\\.:;&amp;lt;&amp;gt;[\\]{-}]\n*|^(?:=|[*#:;]+\n*|-{4,}\n*)|\\\\'\\\\'(?:\\\\')?|~{3,5}\n*|&amp;quot; + entityRegexBase;&lt;br /&gt;
    function breakerRegexWithPrefix(prefix)&lt;br /&gt;
    {&lt;br /&gt;
        //the stop token has to be at the beginning of the regex so that it takes precedence over substrings of itself.&lt;br /&gt;
        return new RegExp(&amp;quot;(&amp;quot; + prefix + &amp;quot;)\n*|&amp;quot; + breakerRegexBase, &amp;quot;gm&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    function nowikiTagBreakerRegex(tagName)&lt;br /&gt;
    {&lt;br /&gt;
        return new RegExp(&amp;quot;(&amp;lt;/&amp;quot; + tagName + &amp;quot;&amp;gt;)\n*|&amp;quot; + entityRegexBase, &amp;quot;gm&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    var defaultBreakerRegex           = new RegExp(breakerRegexBase, &amp;quot;gm&amp;quot;);&lt;br /&gt;
    var wikilinkBreakerRegex          = breakerRegexWithPrefix(&amp;quot;]][a-zA-Z]*&amp;quot;);&lt;br /&gt;
    var namedExternalLinkBreakerRegex = breakerRegexWithPrefix(&amp;quot;]&amp;quot;);&lt;br /&gt;
    var parameterBreakerRegex         = breakerRegexWithPrefix(&amp;quot;}}}&amp;quot;);&lt;br /&gt;
    var templateBreakerRegex          = breakerRegexWithPrefix(&amp;quot;}}&amp;quot;);&lt;br /&gt;
    var templateArgBreakerRegex          = breakerRegexWithPrefix(&amp;quot;[\\|}]&amp;quot;);&lt;br /&gt;
    var tableBreakerRegex             = breakerRegexWithPrefix(&amp;quot;\\|}&amp;quot;);&lt;br /&gt;
    var headingBreakerRegex           = breakerRegexWithPrefix(&amp;quot;\n&amp;quot;);&lt;br /&gt;
    var tagBreakerRegexCache          = {};&lt;br /&gt;
    var nowikiTagBreakerRegexCache    = {};&lt;br /&gt;
&lt;br /&gt;
    function highlightSyntax()&lt;br /&gt;
    {&lt;br /&gt;
        lastText = wpTextbox1.value;&lt;br /&gt;
        /* Backslashes and apostrophes are CSS-escaped at the beginning and all&lt;br /&gt;
           parsing regexes and functions are designed to match. On the other hand,&lt;br /&gt;
           newlines are not escaped until written so that in the regexes ^ and $&lt;br /&gt;
           work for both newlines and the beginning or end of the string. */&lt;br /&gt;
        var text = lastText.replace(/['\\]/g, &amp;quot;\\$&amp;amp;&amp;quot;) + &amp;quot;\n&amp;quot;; //add a newline to fix scrolling and parsing issues&lt;br /&gt;
        var i = 0; //the location of the parser as it goes through var text&lt;br /&gt;
&lt;br /&gt;
        var css = &amp;quot;&amp;quot;;&lt;br /&gt;
        var spanNumber = 0;&lt;br /&gt;
        var lastColor;&lt;br /&gt;
        var before = true;&lt;br /&gt;
&lt;br /&gt;
        //writes text into to-be-created span elements of wpTextbox0 using :before and :after pseudo-elements&lt;br /&gt;
        //both :before and :after are used because using two pseudo-elements per span is significantly faster than doubling the number of spans required&lt;br /&gt;
        function writeText(text, color)&lt;br /&gt;
        {&lt;br /&gt;
            //no need to use another span if using the same color&lt;br /&gt;
            if (color != lastColor)&lt;br /&gt;
            {&lt;br /&gt;
                //whitespace is omitted in the hope of increasing performance&lt;br /&gt;
                css += &amp;quot;'}#s&amp;quot; + spanNumber; //spans will be created with IDs s0 through sN&lt;br /&gt;
                if (before)&lt;br /&gt;
                {&lt;br /&gt;
                    css += &amp;quot;:before{&amp;quot;;&lt;br /&gt;
                    before = false;&lt;br /&gt;
                }&lt;br /&gt;
                else&lt;br /&gt;
                {&lt;br /&gt;
                    css += &amp;quot;:after{&amp;quot;;&lt;br /&gt;
                    before = true;&lt;br /&gt;
                    ++spanNumber;&lt;br /&gt;
                }&lt;br /&gt;
                if (color)&lt;br /&gt;
                {&lt;br /&gt;
                    //&amp;quot;background-color&amp;quot; is 6 characters longer than &amp;quot;background&amp;quot; but the browser processes it faster&lt;br /&gt;
                    css += &amp;quot;background-color:&amp;quot; + color + &amp;quot;;&amp;quot;;&lt;br /&gt;
                }&lt;br /&gt;
                css += &amp;quot;content:'&amp;quot;;&lt;br /&gt;
                lastColor = color;&lt;br /&gt;
            }&lt;br /&gt;
            css += text;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        /* About assumedBold and assumedItalic:&lt;br /&gt;
&lt;br /&gt;
           Highlighting bold or italic markup presents a special challenge&lt;br /&gt;
           because the actual MediaWiki parser uses multiple passes to determine&lt;br /&gt;
           which ticks represent start tags and which represent end tags.&lt;br /&gt;
           Because that would be too slow for us here, we instead keep track of&lt;br /&gt;
           what kinds of unclosed opening ticks have been encountered and use&lt;br /&gt;
           that to make a good guess as to whether the next ticks encountered&lt;br /&gt;
           are an opening tag or a closing tag.&lt;br /&gt;
&lt;br /&gt;
           The major downsides to this method are that '''apostrophe italic''&lt;br /&gt;
           and ''italic apostrophe''' are not highlighted correctly, and bold&lt;br /&gt;
           and italic are both highlighted in the same color.&lt;br /&gt;
&lt;br /&gt;
           To permit ''The best&amp;lt;ref&amp;gt;''Reference Title''&amp;lt;/ref&amp;gt; book ever'',&lt;br /&gt;
           assumedBold and assumedItalic are saved on the stack and reset to&lt;br /&gt;
           undefined (essentially, false) when recursing into a new block. */&lt;br /&gt;
&lt;br /&gt;
        function highlightBlock(color, breakerRegex, assumedBold, assumedItalic)&lt;br /&gt;
        {&lt;br /&gt;
            var match;&lt;br /&gt;
&lt;br /&gt;
            for (breakerRegex.lastIndex = i; match = breakerRegex.exec(text); breakerRegex.lastIndex = i)&lt;br /&gt;
            {&lt;br /&gt;
                // console.log(&amp;quot; breakerRegex.lastIndex=&amp;quot;+breakerRegex.lastIndex);&lt;br /&gt;
                // console.log(&amp;quot; breakerRegex.source=&amp;quot;+breakerRegex.source);&lt;br /&gt;
                //console.log(&amp;quot; match.input=&amp;quot;+match.input);&lt;br /&gt;
                // if (match[1])&lt;br /&gt;
                //     //console.log(&amp;quot; match1=&amp;quot; + match[1]+ &amp;quot; match0=&amp;quot; +match[0]);&lt;br /&gt;
                // else&lt;br /&gt;
                //     //console.log(&amp;quot; unmatch1=&amp;quot; + match[1]+ &amp;quot; match0=&amp;quot; +match[0]);&lt;br /&gt;
                if (match[1])&lt;br /&gt;
                {&lt;br /&gt;
                    //end token found, we are within a coloured zone &lt;br /&gt;
                    writeText(text.substring(i, breakerRegex.lastIndex), color);&lt;br /&gt;
                    //console.log(&amp;quot; breaker Regex i=&amp;quot;+ i + &amp;quot; breakerRegex.lastIndex=&amp;quot; +breakerRegex.lastIndex + &amp;quot; t=&amp;quot;+text.substring(i, breakerRegex.lastIndex) + &amp;quot; return highlight&amp;quot; );&lt;br /&gt;
                    i = breakerRegex.lastIndex; /* end of zone */&lt;br /&gt;
&lt;br /&gt;
                    return; /* returns after the break ie for with a defautregex in order to search again */&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                var endIndexOfLastColor = breakerRegex.lastIndex - match[0].length; /* Not including the match? */&lt;br /&gt;
                if (i &amp;lt; endIndexOfLastColor) //avoid calling writeText with text == &amp;quot;&amp;quot; to improve performance&lt;br /&gt;
                {&lt;br /&gt;
                    writeText(text.substring(i, endIndexOfLastColor), color); /* Includes i (from 0), excludes endIndexOfLastColor */&lt;br /&gt;
                    //console.log(&amp;quot; substring i=&amp;quot;+ i + &amp;quot; endIndexOfLastColor=&amp;quot; + endIndexOfLastColor );&lt;br /&gt;
&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                i = breakerRegex.lastIndex; /* Out  of coloured zone */ /* Dot is first position after the search &amp;quot;{{.&amp;quot; */&lt;br /&gt;
&lt;br /&gt;
                switch (match[0].charAt(0)) //cases in this switch should be arranged from most common to least common&lt;br /&gt;
                {&lt;br /&gt;
                    case &amp;quot;[&amp;quot;:&lt;br /&gt;
                        if (match[0].charAt(1) == &amp;quot;[&amp;quot;)&lt;br /&gt;
                        {&lt;br /&gt;
                            //wikilink&lt;br /&gt;
                            writeText(&amp;quot;[[&amp;quot;, syntaxHighlighterConfig.wikilinkColor || color);&lt;br /&gt;
                            highlightBlock(syntaxHighlighterConfig.wikilinkColor || color, wikilinkBreakerRegex);&lt;br /&gt;
                        }&lt;br /&gt;
                        else&lt;br /&gt;
                        {&lt;br /&gt;
                            //named external link&lt;br /&gt;
                            writeText(match[0], syntaxHighlighterConfig.externalLinkColor || color);&lt;br /&gt;
                            highlightBlock(syntaxHighlighterConfig.externalLinkColor || color, namedExternalLinkBreakerRegex);&lt;br /&gt;
                        }&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &amp;quot;{&amp;quot;:&lt;br /&gt;
                        if (match[0].charAt(1) == &amp;quot;{&amp;quot;)&lt;br /&gt;
                        {&lt;br /&gt;
                            if (match[0].length == 3)&lt;br /&gt;
                            {&lt;br /&gt;
                                //parameter&lt;br /&gt;
                                writeText(&amp;quot;{{{&amp;quot;, syntaxHighlighterConfig.parameterColor || color);&lt;br /&gt;
                                highlightBlock(syntaxHighlighterConfig.parameterColor || color, parameterBreakerRegex);&lt;br /&gt;
                            }&lt;br /&gt;
                            else&lt;br /&gt;
                            {&lt;br /&gt;
                                //template&lt;br /&gt;
                                //some other kind of template, search for its end&lt;br /&gt;
                                //writeText(&amp;quot;{{&amp;quot;, syntaxHighlighterConfig.templateColor || color);&lt;br /&gt;
                                //{{Note|6| {{NoteTerm|Biométrie}}, s.f. - {{NoteTerm|biométrique}}, adj. - {{NoteTerm|biométricien}}, s.m. : spécialiste de la biométrie.}}&lt;br /&gt;
                                //var templEnd = text.indexOf(&amp;quot;}&amp;quot;, i) + 1; /* Just before first } +1*/&lt;br /&gt;
                                var templTextTermEnd = text.indexOf(&amp;quot;|&amp;quot;, i); /* char from 0 to index &amp;quot;{{Note|&amp;quot; is position 6 (7th char); just after first | if any*/&lt;br /&gt;
                                var iv=text.indexOf(&amp;quot;|&amp;quot;, i);//&amp;quot;{{Note|1|&amp;quot; termEnd is position 7 (starting at &amp;quot;1&amp;quot;), result is 8&lt;br /&gt;
                                var ib=text.indexOf(&amp;quot;}&amp;quot;, i);//&amp;quot;{{RefTerm|Love}}&amp;quot; termEnd is position 9 (starting at &amp;quot;L&amp;quot;), result is 13&lt;br /&gt;
                                var nbarg=0;&lt;br /&gt;
                                var templTextTermEnd ;&lt;br /&gt;
                                var templTextTermEndClose;&lt;br /&gt;
                                if( (ib &amp;lt; iv) || (iv == -1) ){&lt;br /&gt;
                                    nbarg=0;&lt;br /&gt;
                                    templTextTermEndClose=templTextTermEnd = ib ;/* Just at } if any */ /* no argument */&lt;br /&gt;
                                }else{&lt;br /&gt;
                                    nbarg=1;&lt;br /&gt;
                                    templTextTermEnd = iv ; /* Just at second | if any */&lt;br /&gt;
                                }&lt;br /&gt;
                                //{{Current status}}&lt;br /&gt;
                                if(nbarg==1){&lt;br /&gt;
                                    iv=text.indexOf(&amp;quot;|&amp;quot;, templTextTermEnd+1);//&amp;quot;{{Note|1|&amp;quot; termEnd is position 7 (starting at &amp;quot;1&amp;quot;), result is 8&lt;br /&gt;
                                    ib=text.indexOf(&amp;quot;}&amp;quot;, templTextTermEnd+1);//&amp;quot;{{RefTerm|Love}}&amp;quot; termEnd is position 9 (starting at &amp;quot;L&amp;quot;), result is 13&lt;br /&gt;
                                    if( (ib &amp;lt; iv) || (iv == -1) ){&lt;br /&gt;
                                        templTextTermEndClose= ib ;/* Just at } if any */&lt;br /&gt;
                                    }else{&lt;br /&gt;
                                        nbarg=2;&lt;br /&gt;
                                        templTextTermEndClose = iv ; /* Just at second | if any {{Note|1| */&lt;br /&gt;
                                    }&lt;br /&gt;
                                }&lt;br /&gt;
                                //console.log(&amp;quot;templ1 TextTermEndClose  :&amp;quot; + templTextTermEndClose); // Ok before |&lt;br /&gt;
                                // Be careful with scrolling and asynchronous generated by console.log see&lt;br /&gt;
                                // https://developer.mozilla.org/en-US/docs/Mozilla/Performance/Scroll-linked_effects&lt;br /&gt;
                                //console.log(&amp;quot;templ End  :&amp;quot; + templEnd + &amp;quot; noarg=&amp;quot;, noarg); // Ok before }}&lt;br /&gt;
                                // console.log(&amp;quot;templ TextTermEnd  :&amp;quot; + templTextTermEnd); // Ok before |&lt;br /&gt;
                                //console.log(&amp;quot;templ TextTermEndClose  :&amp;quot; + templTextTermEndClose); // Ok before |&lt;br /&gt;
                                // La {{TextTerm|démographie historique|1|102|OtherIndexEntry=historique. démographie ...}} s’occupe&lt;br /&gt;
                                //de la {{NonRefTerm|structure}} &lt;br /&gt;
                                //{{Note|6| {{NoteTerm|Biométrie}}, s.f. - {{NoteTerm|biométrique}}, adj. - {{NoteTerm|biométricien}}, s.m. : spécialiste de la biométrie.}}&lt;br /&gt;
                                //var templText = text.substring(i+2 - match[0].length, templEnd-1);&lt;br /&gt;
                                //TextTerm|démographie historique|1|102|OtherIndexEntry=historique. démographie ..&lt;br /&gt;
                                //NonRefTerm|structure&lt;br /&gt;
                                var templTextType = text.substring(i+2 - match[0].length, templTextTermEnd); /* Excluding char at TermEnd | or } */&lt;br /&gt;
                                //TextTerm&lt;br /&gt;
                                //NonRefTerm&lt;br /&gt;
                                //var templTextTermall = text.substring(templTextTermEnd, templEnd); /* Just after termination | or }*/&lt;br /&gt;
                                //démographie historique|1|102|OtherIndexEntry=historique. démographie ...&lt;br /&gt;
                                //NonRefTerm|structure&lt;br /&gt;
                                var templTextTerm;&lt;br /&gt;
                                if(nbarg &amp;gt;0)&lt;br /&gt;
                                    templTextTerm = text.substring(templTextTermEnd+1,templTextTermEndClose); //excluding terminaison | or }&lt;br /&gt;
                                else&lt;br /&gt;
                                    templTextTerm=&amp;quot;&amp;quot;;&lt;br /&gt;
                                //templTextTermall.substring(0, templTextTermall.indexOf(&amp;quot;|&amp;quot;));&lt;br /&gt;
                                //démographie historique&lt;br /&gt;
                                //structure&lt;br /&gt;
                                var TypeTemplateColor=syntaxHighlighterConfig.templateColor;&lt;br /&gt;
                                var TemplateColor=syntaxHighlighterConfig.templateColor;&lt;br /&gt;
                                var Text1TemplateColor=syntaxHighlighterConfig.templateColor;&lt;br /&gt;
                                var Text2TemplateColor=syntaxHighlighterConfig.templateColor;&lt;br /&gt;
                                if((templTextType==&amp;quot;TextTerm&amp;quot;) ){&lt;br /&gt;
                                    TypeTemplateColor= syntaxHighlighterConfig.templTextTermColor;&lt;br /&gt;
                                    TemplateColor= syntaxHighlighterConfig.templTypeTextTermColor;&lt;br /&gt;
                                    Text1TemplateColor= syntaxHighlighterConfig.backgroundColor;&lt;br /&gt;
                                    Text2TemplateColor=TemplateColor ;&lt;br /&gt;
                                }else if ( (templTextType==&amp;quot;Note&amp;quot;) ){&lt;br /&gt;
                                    TypeTemplateColor= syntaxHighlighterConfig.templTypeNoteColor;&lt;br /&gt;
                                    TemplateColor= syntaxHighlighterConfig.templNoteColor;&lt;br /&gt;
                                    Text1TemplateColor= syntaxHighlighterConfig.backgroundColor;&lt;br /&gt;
                                    Text2TemplateColor= syntaxHighlighterConfig.templNoteColor;&lt;br /&gt;
                                }else if ( (templTextType==&amp;quot;NoteTerm&amp;quot;) ){&lt;br /&gt;
                                    TypeTemplateColor= syntaxHighlighterConfig.templNoteTermColor;&lt;br /&gt;
                                    TemplateColor= syntaxHighlighterConfig.templNoteTermColor;&lt;br /&gt;
                                    Text1TemplateColor= syntaxHighlighterConfig.backgroundColor;&lt;br /&gt;
                                    Text2TemplateColor= syntaxHighlighterConfig.templNoteTermColor;&lt;br /&gt;
                                }else if (templTextType==&amp;quot;NewTextTerm&amp;quot; ){&lt;br /&gt;
                                    TypeTemplateColor= syntaxHighlighterConfig.templTextTermColor;&lt;br /&gt;
                                    TemplateColor= syntaxHighlighterConfig.templTypeNewTextTermColor;&lt;br /&gt;
                                    Text1TemplateColor= syntaxHighlighterConfig.backgroundColor;&lt;br /&gt;
                                    Text2TemplateColor= TemplateColor;&lt;br /&gt;
                                }else if ( templTextType==&amp;quot;RefNumber&amp;quot; ){&lt;br /&gt;
                                    TypeTemplateColor= syntaxHighlighterConfig.templRefNumberColor;&lt;br /&gt;
                                    TemplateColor= syntaxHighlighterConfig.templRefNumberColor;&lt;br /&gt;
                                    Text1TemplateColor= syntaxHighlighterConfig.backgroundColor;&lt;br /&gt;
                                    Text2TemplateColor= TemplateColor;&lt;br /&gt;
                                }else if ((templTextType==&amp;quot;NonRefTerm&amp;quot;) ){&lt;br /&gt;
                                    TypeTemplateColor= syntaxHighlighterConfig.templNonRefTermColor;&lt;br /&gt;
                                    TemplateColor= syntaxHighlighterConfig.templNonRefTermColor;&lt;br /&gt;
                                    Text1TemplateColor= syntaxHighlighterConfig.backgroundColor;&lt;br /&gt;
                                    Text2TemplateColor= syntaxHighlighterConfig.backgroundColor;&lt;br /&gt;
                                }&lt;br /&gt;
                                //writeText(&amp;quot;{{&amp;quot;, TemplateColor || color);&lt;br /&gt;
                                writeText(&amp;quot;{{&amp;quot;, TemplateColor || color); //NonRefTerm| or TextTerm|&lt;br /&gt;
                                writeText(templTextType, TypeTemplateColor || color); //NonRefTerm| or TextTerm|&lt;br /&gt;
                                i=templTextTermEnd;&lt;br /&gt;
                                if(nbarg&amp;gt;=1){&lt;br /&gt;
                                    writeText( &amp;quot;|&amp;quot;, TemplateColor || color); //NonRefTerm| or TextTerm|&lt;br /&gt;
                                    //writeText(templTextType+&amp;quot;|&amp;quot;, syntaxHighlighterConfig.templateColor || color); //NonRefTerm| or TextTerm|&lt;br /&gt;
                                    i=templTextTermEnd+1;&lt;br /&gt;
                                    //writeText(templTextTerm, syntaxHighlighterConfig.tagColor || color); //struture&lt;br /&gt;
                                    writeText(templTextTerm, Text1TemplateColor || color); //struture&lt;br /&gt;
                                    i=templTextTermEndClose; //-noarg;  démographie historique| or 1|, at the terminaison (| or }.&lt;br /&gt;
                                }&lt;br /&gt;
                                if(nbarg==2){&lt;br /&gt;
                                    writeText(&amp;quot;|&amp;quot;,Text2TemplateColor || color);&lt;br /&gt;
                                    i=templTextTermEndClose+1; //-noarg;  démographie historique| or 1|, at the terminaison (| or }.&lt;br /&gt;
                                }&lt;br /&gt;
                                //console.log(&amp;quot; i=&amp;quot;+ i );&lt;br /&gt;
                                //highlightBlock(syntaxHighlighterConfig.templateColor || color, templateBreakerRegex);&lt;br /&gt;
                                highlightBlock(TemplateColor || color, templateBreakerRegex);&lt;br /&gt;
                            }&lt;br /&gt;
                        }&lt;br /&gt;
                        else //|&lt;br /&gt;
                        {&lt;br /&gt;
                            //table&lt;br /&gt;
                            writeText(&amp;quot;{|&amp;quot;, syntaxHighlighterConfig.tableColor || color);&lt;br /&gt;
                            highlightBlock(syntaxHighlighterConfig.tableColor || color, tableBreakerRegex);&lt;br /&gt;
                        }&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &amp;quot;&amp;lt;&amp;quot;:&lt;br /&gt;
                        if (match[0].charAt(1) == &amp;quot;!&amp;quot;)&lt;br /&gt;
                        {&lt;br /&gt;
                            //comment tag&lt;br /&gt;
                            writeText(match[0], syntaxHighlighterConfig.commentColor || color);&lt;br /&gt;
                            break;&lt;br /&gt;
                        }&lt;br /&gt;
                        else&lt;br /&gt;
                        {&lt;br /&gt;
                            //some other kind of tag, search for its end&lt;br /&gt;
                            //the search is made easier because XML attributes may not contain the character &amp;quot;&amp;gt;&amp;quot;&lt;br /&gt;
                            var tagEnd = text.indexOf(&amp;quot;&amp;gt;&amp;quot;, i) + 1;&lt;br /&gt;
                            if (tagEnd == 0)&lt;br /&gt;
                            {&lt;br /&gt;
                                //not a tag, just a &amp;quot;&amp;lt;&amp;quot; with some text after it&lt;br /&gt;
                                writeText(&amp;quot;&amp;lt;&amp;quot;, color);&lt;br /&gt;
                                i = i - match[0].length + 1;&lt;br /&gt;
                                break;&lt;br /&gt;
                            }&lt;br /&gt;
&lt;br /&gt;
                            if (text.charAt(tagEnd - 2) == &amp;quot;/&amp;quot;)&lt;br /&gt;
                            {&lt;br /&gt;
                                //empty tag&lt;br /&gt;
                                writeText(text.substring(i - match[0].length, tagEnd), syntaxHighlighterConfig.tagColor || color);&lt;br /&gt;
                                i = tagEnd;&lt;br /&gt;
                            }&lt;br /&gt;
                            else&lt;br /&gt;
                            {&lt;br /&gt;
                                var tagName = match[0].substring(1);&lt;br /&gt;
&lt;br /&gt;
                                if (syntaxHighlighterConfig.sourceTags.indexOf(tagName) != -1)&lt;br /&gt;
                                {&lt;br /&gt;
                                    //tag that contains text in a different programming language&lt;br /&gt;
                                    var stopAfter = &amp;quot;&amp;lt;/&amp;quot; + tagName + &amp;quot;&amp;gt;&amp;quot;;&lt;br /&gt;
                                    var endIndex = text.indexOf(stopAfter, i);&lt;br /&gt;
                                    if (endIndex == -1)&lt;br /&gt;
                                    {&lt;br /&gt;
                                        endIndex = text.length;&lt;br /&gt;
                                    }&lt;br /&gt;
                                    else&lt;br /&gt;
                                    {&lt;br /&gt;
                                        endIndex += stopAfter.length;&lt;br /&gt;
                                    }&lt;br /&gt;
                                    writeText(text.substring(i - match[0].length, endIndex), syntaxHighlighterConfig.tagColor || color);&lt;br /&gt;
                                    i = endIndex;&lt;br /&gt;
                                }&lt;br /&gt;
                                else if (syntaxHighlighterConfig.nowikiTags.indexOf(tagName) != -1)&lt;br /&gt;
                                {&lt;br /&gt;
                                    //tag that can contain only HTML entities&lt;br /&gt;
                                    writeText(text.substring(i - match[0].length, tagEnd), syntaxHighlighterConfig.tagColor || color);&lt;br /&gt;
                                    i = tagEnd;&lt;br /&gt;
                                    highlightBlock(syntaxHighlighterConfig.tagColor || color, nowikiTagBreakerRegexCache[tagName]);&lt;br /&gt;
                                }&lt;br /&gt;
                                else&lt;br /&gt;
                                {&lt;br /&gt;
                                    //ordinary tag&lt;br /&gt;
                                    writeText(text.substring(i - match[0].length, tagEnd), syntaxHighlighterConfig.tagColor || color);&lt;br /&gt;
                                    i = tagEnd;&lt;br /&gt;
                                    if (!tagBreakerRegexCache[tagName])&lt;br /&gt;
                                    {&lt;br /&gt;
                                        tagBreakerRegexCache[tagName] = breakerRegexWithPrefix(&amp;quot;&amp;lt;/&amp;quot; + tagName + &amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
                                    }&lt;br /&gt;
                                    highlightBlock(syntaxHighlighterConfig.tagColor || color, tagBreakerRegexCache[tagName]);&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                        }&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &amp;quot;=&amp;quot;:&lt;br /&gt;
                        if (/[^=]=+$/.test(text.substring(i, text.indexOf(&amp;quot;\n&amp;quot;, i)))) //the line begins and ends with an equals sign and has something else in the middle&lt;br /&gt;
                        {&lt;br /&gt;
                            //heading&lt;br /&gt;
                            writeText(&amp;quot;=&amp;quot;, syntaxHighlighterConfig.headingColor || color);&lt;br /&gt;
                            highlightBlock(syntaxHighlighterConfig.headingColor || color, headingBreakerRegex);&lt;br /&gt;
                        }&lt;br /&gt;
                        else&lt;br /&gt;
                        {&lt;br /&gt;
                            writeText(&amp;quot;=&amp;quot;, color); //move on, process this line as regular wikitext&lt;br /&gt;
                        }&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &amp;quot;*&amp;quot;:&lt;br /&gt;
                    case &amp;quot;#&amp;quot;:&lt;br /&gt;
                    case &amp;quot;:&amp;quot;:&lt;br /&gt;
                        //unordered list, ordered list, indent, small heading&lt;br /&gt;
                        //just highlight the marker&lt;br /&gt;
                        writeText(match[0], syntaxHighlighterConfig.listOrIndentColor || color);&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &amp;quot;;&amp;quot;:&lt;br /&gt;
                        //small heading&lt;br /&gt;
                        writeText(&amp;quot;;&amp;quot;, syntaxHighlighterConfig.headingColor || color);&lt;br /&gt;
                        highlightBlock(syntaxHighlighterConfig.headingColor || color, headingBreakerRegex);&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &amp;quot;-&amp;quot;:&lt;br /&gt;
                        //horizontal line&lt;br /&gt;
                        writeText(match[0], syntaxHighlighterConfig.hrColor || color);&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &amp;quot;\\&amp;quot;:&lt;br /&gt;
                        writeText(match[0], syntaxHighlighterConfig.boldOrItalicColor || color);&lt;br /&gt;
                        if (match[0].length == 6)&lt;br /&gt;
                        {&lt;br /&gt;
                            //bold&lt;br /&gt;
                            if (assumedBold)&lt;br /&gt;
                            {&lt;br /&gt;
                                //end tag&lt;br /&gt;
                                if (assumedItalic)&lt;br /&gt;
                                {&lt;br /&gt;
                                    //end of bold part of bold-italic block&lt;br /&gt;
                                    //block is now italic-only&lt;br /&gt;
                                    assumedBold = false;&lt;br /&gt;
                                }&lt;br /&gt;
                                else&lt;br /&gt;
                                {&lt;br /&gt;
                                    //end of bold block&lt;br /&gt;
                                    return;&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                            else&lt;br /&gt;
                            {&lt;br /&gt;
                                //start tag&lt;br /&gt;
                                if (assumedItalic)&lt;br /&gt;
                                {&lt;br /&gt;
                                    //start of bold part of previously italic-only block&lt;br /&gt;
                                    //block is now bold-italic&lt;br /&gt;
                                    assumedBold = true;&lt;br /&gt;
                                }&lt;br /&gt;
                                else&lt;br /&gt;
                                {&lt;br /&gt;
                                    //start of bold block&lt;br /&gt;
                                    highlightBlock(syntaxHighlighterConfig.boldOrItalicColor || color, defaultBreakerRegex, true, false);&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                        }&lt;br /&gt;
                        else&lt;br /&gt;
                        {&lt;br /&gt;
                            //italic&lt;br /&gt;
                            if (assumedItalic)&lt;br /&gt;
                            {&lt;br /&gt;
                                //end tag&lt;br /&gt;
                                if (assumedBold)&lt;br /&gt;
                                {&lt;br /&gt;
                                    //end of italic part of bold-italic block&lt;br /&gt;
                                    //block is now bold-only&lt;br /&gt;
                                    assumedItalic = false;&lt;br /&gt;
                                }&lt;br /&gt;
                                else&lt;br /&gt;
                                {&lt;br /&gt;
                                    //end of italic block&lt;br /&gt;
                                    return;&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                            else&lt;br /&gt;
                            {&lt;br /&gt;
                                //start tag&lt;br /&gt;
                                if (assumedBold)&lt;br /&gt;
                                {&lt;br /&gt;
                                    //start of italic part of previously bold-only block&lt;br /&gt;
                                    //block is now bold-italic&lt;br /&gt;
                                    assumedItalic = true;&lt;br /&gt;
                                }&lt;br /&gt;
                                else&lt;br /&gt;
                                {&lt;br /&gt;
                                    //start of italic block&lt;br /&gt;
                                    highlightBlock(syntaxHighlighterConfig.boldOrItalicColor || color, defaultBreakerRegex, false, true);&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                        }&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &amp;quot;&amp;amp;&amp;quot;:&lt;br /&gt;
                        //entity&lt;br /&gt;
                        writeText(match[0], syntaxHighlighterConfig.entityColor || color);&lt;br /&gt;
                        break;&lt;br /&gt;
                    case &amp;quot;~&amp;quot;:&lt;br /&gt;
                        //username, signature, timestamp&lt;br /&gt;
                        writeText(match[0], syntaxHighlighterConfig.signatureColor || color);&lt;br /&gt;
                        break;&lt;br /&gt;
                    default:&lt;br /&gt;
                        //bare external link&lt;br /&gt;
                        writeText(match[0], syntaxHighlighterConfig.externalLinkColor || color);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        //start!&lt;br /&gt;
        var startTime = Date.now();&lt;br /&gt;
        highlightBlock(&amp;quot;&amp;quot;, defaultBreakerRegex);&lt;br /&gt;
&lt;br /&gt;
        //output the leftovers (if any) to make sure whitespace etc. matches&lt;br /&gt;
        if (i &amp;lt; text.length)&lt;br /&gt;
        {&lt;br /&gt;
            writeText(text.substring(i), &amp;quot;&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        //if highlighting took too long, disable it.&lt;br /&gt;
        var endTime = Date.now();&lt;br /&gt;
        /*if (typeof(bestTime) == &amp;quot;undefined&amp;quot;)&lt;br /&gt;
        {&lt;br /&gt;
            window.bestTime = endTime - startTime;&lt;br /&gt;
            document.title = bestTime;&lt;br /&gt;
            highlightSyntaxIfNeededIntervalID = setInterval(highlightSyntax, 250);&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
            if (endTime - startTime &amp;lt; bestTime)&lt;br /&gt;
            {&lt;br /&gt;
                bestTime = endTime - startTime;&lt;br /&gt;
                document.title = bestTime;&lt;br /&gt;
            }&lt;br /&gt;
        }//*/&lt;br /&gt;
        if (endTime - startTime &amp;gt; syntaxHighlighterConfig.timeout)&lt;br /&gt;
        {&lt;br /&gt;
            clearInterval(highlightSyntaxIfNeededIntervalID);&lt;br /&gt;
            wpTextbox1.removeEventListener(&amp;quot;input&amp;quot;, highlightSyntax);&lt;br /&gt;
            wpTextbox1.removeEventListener(&amp;quot;scroll&amp;quot;, syncScrollX);&lt;br /&gt;
            wpTextbox1.removeEventListener(&amp;quot;scroll&amp;quot;, syncScrollY);&lt;br /&gt;
            attributeObserver.disconnect();&lt;br /&gt;
            parentObserver.disconnect();&lt;br /&gt;
            syntaxStyleTextNode.nodeValue = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
            var errorMessage = {&lt;br /&gt;
                ca: &amp;quot;S'ha desactivat el remarcar de sintaxi en aquesta pàgina perquè ha trigat massa temps. El temps màxim permès per a remarcar és $1ms, i el vostre ordinador ha trigat $2ms. Proveu tancar algunes pestanyes i programes i fer clic en \&amp;quot;Mostra la previsualització\&amp;quot; o \&amp;quot;Mostra els canvis\&amp;quot;. Si no funciona això, proveu un altre navegador web, i si això no funciona, proveu un ordinador més ràpid.&amp;quot;,&lt;br /&gt;
                de: &amp;quot;Die Syntaxhervorhebung wurde auf dieser Seite deaktiviert, da diese zu lange gedauert hat. Die maximal erlaubte Zeit zur Hervorhebung beträgt $1ms und dein Computer benötigte $2ms. Versuche einige Tabs und Programme zu schließen und klicke \&amp;quot;Vorschau zeigen\&amp;quot; oder \&amp;quot;Änderungen zeigen\&amp;quot;. Wenn das nicht funktioniert, probiere einen anderen Webbrowser und wenn immer noch nicht, probiere einen schnelleren Computer.&amp;quot;,&lt;br /&gt;
                el: &amp;quot;Η έμφαση σύνταξης έχει απενεργοποιηθεί σε αυτήν τη σελίδα γιατί αργούσε πολύ. Ο μέγιστος επιτρεπτός χρόνος για την έμφαση σύνταξης είναι $1ms και ο υπολογιστής σας έκανε $2ms. Δοκιμάστε να κλείσετε μερικές καρτέλες και προγράμματα και να κάνετε κλικ στην «Εμφάνιση προεπισκόπησης» ή στην «Εμφάνιση αλλαγών». Αν αυτό δεν δουλέψει, δοκιμάστε έναν διαφορετικό περιηγητή και αν ούτε αυτό δουλέψει, δοκιμάστε έναν ταχύτερο υπολογιστή.&amp;quot;,&lt;br /&gt;
                en: &amp;quot;Syntax highlighting on this page was disabled because it took too long. The maximum allowed highlighting time is $1ms, and your computer took $2ms. Try closing some tabs and programs and clicking \&amp;quot;Show preview\&amp;quot; or \&amp;quot;Show changes\&amp;quot;. If that doesn't work, try a different web browser, and if that doesn't work, try a faster computer.&amp;quot;,&lt;br /&gt;
                es: &amp;quot;Se desactivó el resaltar de sintaxis en esta página porque tardó demasiado. El tiempo máximo permitido para resaltar es $1ms, y tu ordenador tardó $2ms. Prueba cerrar algunas pestañas y programas y hacer clic en \&amp;quot;Mostrar previsualización\&amp;quot; o \&amp;quot;Mostrar cambios\&amp;quot;. Si no funciona esto, prueba otro navegador web, y si eso no funciona, prueba un ordenador más rápido.&amp;quot;,&lt;br /&gt;
                fa: &amp;quot;از آنجایی که زمان زیادی صرف آن می‌شد، برجسته‌سازی نحو در این صفحه غیرفعال شده است. بیشینهٔ زمان برجسته‌سازی برای ابزار $1ms تعریف شده در حالی که رایانهٔ شما $2ms زمان نیاز داشت. می‌توانید بستن برخی سربرگ‌ها و برنامه‌ها و سپس کلیک‌کردن دکمهٔ «پیش‌نمایش» یا «نمایش تغییرات» را بیازمایید. اگر جواب نداد مرورگر دیگری را امتحان کنید؛ و اگر باز هم جواب نداد، رایانهٔ سریع‌تری را بیازمایید.&amp;quot;,&lt;br /&gt;
                fr: &amp;quot;La coloration syntaxique a été désactivée sur cette page en raison d'un temps de chargement trop important ($2ms). Le temps maximum autorisé est $1ms. Vous pouvez essayer de fermer certains onglets et programmes et cliquez sur \&amp;quot;Prévisualisation\&amp;quot; ou \&amp;quot;Voir mes modifications\&amp;quot;. Si cela ne fonctionne pas, essayez un autre navigateur web, et si cela ne fonctionne toujours pas, essayez un ordinateur plus rapide.&amp;quot;,&lt;br /&gt;
                hy: &amp;quot;Շարադասության ընդգծումը այս էջում անջատվել է, քանի որ այն չափից շատ է տևել։ Ընդգծման թույլատրելի առավելագույն ժամանակը $1 միլիվայրկյան է, բայց այս էջում տևել է $2 միլիվայրկյան։ Փորձեք անջատել որոշ ներդիրներ կամ ծրագրեր և սեղմել «Նախադիտել» կամ «Կատարված փոփոխությունները»։ Կրկին չաշխատելու դեպքում փորձեք այլ վեբ դիտարկիչ, եթե կրկին չաշխատի, փորձեք ավելի արագ համակարգիչ։&amp;quot;,&lt;br /&gt;
                io: &amp;quot;Sintaxo-hailaitar en ca pagino esis nekapabligata pro ke konsumis tro multa tempo. La maxima permisata hailaitala tempo es $1ms, e tua ordinatro konsumis $2ms. Probez klozar kelka tabi e programi e kliktar \&amp;quot;Previdar\&amp;quot; o \&amp;quot;Montrez chanji\&amp;quot;. Se to ne funcionas, probez altra brauzero, e se to ne funcionas, probez plu rapida ordinatro.&amp;quot;,&lt;br /&gt;
                it: &amp;quot;L'evidenziazione delle sintassi su questa pagina è stata disabilitata perché ha richiesto troppo tempo. Il tempo massimo per l'evidenziazione è di $1ms e al tuo computer sono serviti $2ms. Prova a chiudere alcune schede e programmi e ricarica la pagina cliccando su \&amp;quot;Visualizza anteprima\&amp;quot; o \&amp;quot;Mostra modifiche\&amp;quot;. Se non funziona ancora, prova con un web browser differente e, in ultima alternativa, prova ad utilizzare un computer più veloce.&amp;quot;,&lt;br /&gt;
                ko: &amp;quot;이 문서에서의 문법 강조가 너무 오래 걸러서 해제되었습니다. 최대로 할당된 강조 시간은 $1ms인데, 당신의 컴퓨터는 $2ms이나 걸렸습니다. 탭과 프로그램을 일부 닫으신 후에 \&amp;quot;미리 보기\&amp;quot;나 \&amp;quot;차이 보기\&amp;quot;를 클릭하시기 바랍니다. 만약 작동하지 않으면 다른 웹 브라우저로 시도해보시고, 그래도 안되면 더 빠른 컴퓨터를 이용하십시오&amp;quot;,&lt;br /&gt;
                pt: &amp;quot;O marcador de sintaxe foi desativado nesta página porque demorou demais. O tempo máximo permitido para marcar é de $1ms, e seu computador demorou $2ms. Tente fechar algumas abas e programas e clique em \&amp;quot;Mostrar previsão\&amp;quot; ou \&amp;quot;Mostrar alterações\&amp;quot;. Se isso não funcionar, tente usar um outro navegador web, e se ainda não funcionar, tente em um computador mais rápido.&amp;quot;,&lt;br /&gt;
                ru: &amp;quot;Подсветка синтаксиса на странице была отключена, так как заняла слишком долго. Максимальное допустимое время операции - $1мс, сейчас на вашем компьютере она заняла $2мс. Попробуйте закрыть несколько вкладок и программ, затем нажать «Предварительный просмотр» или «Внесённые изменения». Если это не поможет, попробуйте другой браузер; если и это не поможет, используйте более быстрый компьютер.&amp;quot;,&lt;br /&gt;
                sr: &amp;quot;Истицање синтаксе на овој страници је онемогућено јер се одвија предуго. Максимално дозвољено време истицања је $1ms, а на Вашем рачунару траје $2ms. Покушајте затворити неке картице и програме или кликните на „Прикажи претпреглед” или „Прикажи измене”. Ако то не ради, покушајте са другим веб-прегледачем, а ако и тада не ради, покушајте са бржим рачунаром.&amp;quot;,&lt;br /&gt;
            };&lt;br /&gt;
            var wgUserLanguage = mw.config.get(&amp;quot;wgUserLanguage&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
            errorMessage = errorMessage[wgUserLanguage] || errorMessage[wgUserLanguage.substring(0, wgUserLanguage.indexOf(&amp;quot;-&amp;quot;))] || errorMessage.en;&lt;br /&gt;
&lt;br /&gt;
            wpTextbox1.style.backgroundColor = &amp;quot;&amp;quot;;&lt;br /&gt;
            wpTextbox1.style.marginTop = wpTextbox0.style.marginTop;&lt;br /&gt;
            wpTextbox0.removeAttribute(&amp;quot;dir&amp;quot;);&lt;br /&gt;
            wpTextbox0.removeAttribute(&amp;quot;lang&amp;quot;);&lt;br /&gt;
            wpTextbox0.setAttribute(&amp;quot;style&amp;quot;, &amp;quot;color:red; font-size:small&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
            wpTextbox0.textContent = errorMessage.replace(&amp;quot;$1&amp;quot;, syntaxHighlighterConfig.timeout).replace(&amp;quot;$2&amp;quot;, endTime - startTime);&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        //do we have enough span elements to match the generated CSS?&lt;br /&gt;
        //this step isn't included in the above benchmark because it takes a highly variable amount of time&lt;br /&gt;
        if (maxSpanNumber &amp;lt; spanNumber)&lt;br /&gt;
        {&lt;br /&gt;
            var fragment = document.createDocumentFragment();&lt;br /&gt;
            do&lt;br /&gt;
            {&lt;br /&gt;
                fragment.appendChild(document.createElement(&amp;quot;span&amp;quot;)).id = &amp;quot;s&amp;quot; + ++maxSpanNumber;&lt;br /&gt;
            }&lt;br /&gt;
            while (maxSpanNumber &amp;lt; spanNumber);&lt;br /&gt;
            wpTextbox0.appendChild(fragment);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        /* finish CSS: move the extra '} from the beginning to the end and CSS-&lt;br /&gt;
           escape newlines. CSS ignores the space after the hex code of the&lt;br /&gt;
           escaped character */&lt;br /&gt;
        syntaxStyleTextNode.nodeValue = css.substring(2).replace(/\n/g, &amp;quot;\\A &amp;quot;) + &amp;quot;'}&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function syncScrollX()&lt;br /&gt;
    {&lt;br /&gt;
        //console.log(&amp;quot;syncScrollX&amp;quot;);&lt;br /&gt;
        wpTextbox0.scrollLeft = wpTextbox1.scrollLeft;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function syncScrollY()&lt;br /&gt;
    {&lt;br /&gt;
        //console.log(&amp;quot;syncScrollY&amp;quot;);&lt;br /&gt;
        wpTextbox0.scrollTop = wpTextbox1.scrollTop;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function syncTextDirection()&lt;br /&gt;
    {&lt;br /&gt;
        wpTextbox0.dir = wpTextbox1.dir;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function syncParent()&lt;br /&gt;
    {&lt;br /&gt;
        if (wpTextbox1.previousSibling != wpTextbox0)&lt;br /&gt;
        {&lt;br /&gt;
            wpTextbox1.parentNode.insertBefore(wpTextbox0, wpTextbox1);&lt;br /&gt;
            parentObserver.disconnect();&lt;br /&gt;
            parentObserver.observe(wpTextbox1.parentNode, {childList: true});&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    //this function runs once every 500ms to detect changes to wpTextbox1's text that the input event does not catch&lt;br /&gt;
    //this happens when another script changes the text without knowing that the syntax highlighter needs to be informed&lt;br /&gt;
    function highlightSyntaxIfNeeded()&lt;br /&gt;
    {&lt;br /&gt;
        if (wpTextbox1.value != lastText)&lt;br /&gt;
        {&lt;br /&gt;
            highlightSyntax();&lt;br /&gt;
        }&lt;br /&gt;
        if (wpTextbox1.scrollLeft != wpTextbox0.scrollLeft)&lt;br /&gt;
        {&lt;br /&gt;
        //console.log(&amp;quot;Box1syncScrollX&amp;quot;);&lt;br /&gt;
            syncScrollX();&lt;br /&gt;
        }&lt;br /&gt;
        if (wpTextbox1.scrollTop != wpTextbox0.scrollTop)&lt;br /&gt;
        {&lt;br /&gt;
        //console.log(&amp;quot;Box1syncScrollY&amp;quot;);&lt;br /&gt;
            syncScrollY();&lt;br /&gt;
        }&lt;br /&gt;
        if (wpTextbox1.offsetHeight != wpTextbox0.offsetHeight)&lt;br /&gt;
        {&lt;br /&gt;
            var height = wpTextbox1.offsetHeight + &amp;quot;px&amp;quot;;&lt;br /&gt;
            wpTextbox0.style.height = height;&lt;br /&gt;
            wpTextbox1.style.marginTop = &amp;quot;-&amp;quot; + height;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function setup()&lt;br /&gt;
    {&lt;br /&gt;
        function configureColor(parameterName, hardcodedFallback, defaultOk)&lt;br /&gt;
        {&lt;br /&gt;
            if (typeof(syntaxHighlighterConfig[parameterName]) == &amp;quot;undefined&amp;quot;)&lt;br /&gt;
            {&lt;br /&gt;
                syntaxHighlighterConfig[parameterName] = syntaxHighlighterSiteConfig[parameterName];&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            if (syntaxHighlighterConfig[parameterName] == &amp;quot;normal&amp;quot;)&lt;br /&gt;
            {&lt;br /&gt;
                syntaxHighlighterConfig[parameterName] = hardcodedFallback;&lt;br /&gt;
            }&lt;br /&gt;
            else if (typeof(syntaxHighlighterConfig[parameterName]) != &amp;quot;undefined&amp;quot;)&lt;br /&gt;
            {&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
            else if (typeof(syntaxHighlighterConfig.defaultColor) != &amp;quot;undefined&amp;quot; &amp;amp;&amp;amp; defaultOk)&lt;br /&gt;
            {&lt;br /&gt;
                syntaxHighlighterConfig[parameterName] = syntaxHighlighterConfig.defaultColor;&lt;br /&gt;
            }&lt;br /&gt;
            else&lt;br /&gt;
            {&lt;br /&gt;
                syntaxHighlighterConfig[parameterName] = hardcodedFallback;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        window.syntaxHighlighterSiteConfig = window.syntaxHighlighterSiteConfig || {};&lt;br /&gt;
        window.syntaxHighlighterConfig = window.syntaxHighlighterConfig || {};&lt;br /&gt;
&lt;br /&gt;
        //use 3-digit colors instead of 6-digit colors for performance&lt;br /&gt;
        // See for example http://maettig.com/?page=PHP/CSS_Color_Converter&lt;br /&gt;
        configureColor(&amp;quot;backgroundColor&amp;quot;,    &amp;quot;#FFF&amp;quot;,  false); //white&lt;br /&gt;
        configureColor(&amp;quot;foregroundColor&amp;quot;,    &amp;quot;#000&amp;quot;,  false); //black&lt;br /&gt;
        configureColor(&amp;quot;boldOrItalicColor&amp;quot;,  &amp;quot;#EEE&amp;quot;,  true);  //gray&lt;br /&gt;
        configureColor(&amp;quot;commentColor&amp;quot;,       &amp;quot;#EFE&amp;quot;,  true);  //green&lt;br /&gt;
        configureColor(&amp;quot;entityColor&amp;quot;,        &amp;quot;#DFD&amp;quot;,  true);  //green&lt;br /&gt;
        configureColor(&amp;quot;externalLinkColor&amp;quot;,  &amp;quot;#EFF&amp;quot;,  true);  //cyan&lt;br /&gt;
        configureColor(&amp;quot;headingColor&amp;quot;,       &amp;quot;#EEE&amp;quot;,  true);  //gray&lt;br /&gt;
        configureColor(&amp;quot;hrColor&amp;quot;,            &amp;quot;#EEE&amp;quot;,  true);  //gray&lt;br /&gt;
        configureColor(&amp;quot;listOrIndentColor&amp;quot;,  &amp;quot;#EFE&amp;quot;,  true);  //green&lt;br /&gt;
        configureColor(&amp;quot;parameterColor&amp;quot;,     &amp;quot;#FC6&amp;quot;,  true);  //orange&lt;br /&gt;
        configureColor(&amp;quot;signatureColor&amp;quot;,     &amp;quot;#FC6&amp;quot;,  true);  //orange&lt;br /&gt;
        configureColor(&amp;quot;tagColor&amp;quot;,           &amp;quot;#FEF&amp;quot;,  true);  //pink&lt;br /&gt;
        configureColor(&amp;quot;tableColor&amp;quot;,         &amp;quot;#FFC&amp;quot;,  true);  //yellow&lt;br /&gt;
        configureColor(&amp;quot;templateColor&amp;quot;,      &amp;quot;#FFC&amp;quot;,  true);  //gray &lt;br /&gt;
        configureColor(&amp;quot;templTextTermColor&amp;quot;,      &amp;quot;#888&amp;quot;,  true);  //gray&lt;br /&gt;
        configureColor(&amp;quot;templTypeTextTermColor&amp;quot;,      &amp;quot;#888&amp;quot;,  true);  //gray&lt;br /&gt;
        configureColor(&amp;quot;templNewTextTermColor&amp;quot;,      &amp;quot;#BBB&amp;quot;,  true);  //gray light&lt;br /&gt;
        configureColor(&amp;quot;templTypeNewTextTermColor&amp;quot;,      &amp;quot;#BBB&amp;quot;,  true);  //gray light&lt;br /&gt;
        configureColor(&amp;quot;templNonRefTermColor&amp;quot;,      &amp;quot;#FEF&amp;quot;,  true);  //pink&lt;br /&gt;
        configureColor(&amp;quot;templRefNumberColor&amp;quot;,      &amp;quot;#E9E&amp;quot;,  true);  //pink&lt;br /&gt;
        configureColor(&amp;quot;templNoteColor&amp;quot;,      &amp;quot;#EFE&amp;quot;,  true);  //green&lt;br /&gt;
        configureColor(&amp;quot;templNoteTermColor&amp;quot;,      &amp;quot;#484&amp;quot;,  true);  //green&lt;br /&gt;
        configureColor(&amp;quot;templTypeNoteColor&amp;quot;,      &amp;quot;#7C7&amp;quot;,  true);  //green&lt;br /&gt;
        configureColor(&amp;quot;wikilinkColor&amp;quot;,      &amp;quot;#EEF&amp;quot;,  true);  //blue&lt;br /&gt;
&lt;br /&gt;
        //tag lists are ordered from most common to least common&lt;br /&gt;
        syntaxHighlighterConfig.nowikiTags = syntaxHighlighterConfig.nowikiTags || syntaxHighlighterSiteConfig.nowikiTags || [&amp;quot;nowiki&amp;quot;, &amp;quot;pre&amp;quot;];&lt;br /&gt;
        syntaxHighlighterConfig.sourceTags = syntaxHighlighterConfig.sourceTags || syntaxHighlighterSiteConfig.sourceTags || [&amp;quot;math&amp;quot;, &amp;quot;syntaxhighlight&amp;quot;, &amp;quot;source&amp;quot;, &amp;quot;timeline&amp;quot;, &amp;quot;hiero&amp;quot;];&lt;br /&gt;
        syntaxHighlighterConfig.timeout = syntaxHighlighterConfig.timeout || syntaxHighlighterSiteConfig.timeout || 50;&lt;br /&gt;
&lt;br /&gt;
        syntaxHighlighterConfig.nowikiTags.forEach(function(tagName) {&lt;br /&gt;
            nowikiTagBreakerRegexCache[tagName] = nowikiTagBreakerRegex(tagName);&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        wpTextbox0 = document.createElement(&amp;quot;div&amp;quot;);&lt;br /&gt;
        wpTextbox1 = document.getElementById(&amp;quot;wpTextbox1&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
        var syntaxStyleElement = document.createElement(&amp;quot;style&amp;quot;);&lt;br /&gt;
        syntaxStyleTextNode = syntaxStyleElement.appendChild(document.createTextNode(&amp;quot;&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
        //the styling of the textbox and the background div must be kept very similar&lt;br /&gt;
        var wpTextbox1Style = window.getComputedStyle(wpTextbox1);&lt;br /&gt;
&lt;br /&gt;
        //horizontal resize would look horribly choppy, better to make the user resize the browser window instead&lt;br /&gt;
        var resize = (wpTextbox1Style.resize == &amp;quot;vertical&amp;quot; || wpTextbox1Style.resize == &amp;quot;both&amp;quot; ? &amp;quot;vertical&amp;quot; : &amp;quot;none&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
        wpTextbox0.dir                   = wpTextbox1.dir;&lt;br /&gt;
        wpTextbox0.id                    = &amp;quot;wpTextbox0&amp;quot;;&lt;br /&gt;
        wpTextbox0.lang                  = wpTextbox1.lang; //lang determines which font &amp;quot;monospace&amp;quot; is&lt;br /&gt;
        wpTextbox0.style.backgroundColor = syntaxHighlighterConfig.backgroundColor;&lt;br /&gt;
        wpTextbox0.style.border          = &amp;quot;1px solid transparent&amp;quot;;&lt;br /&gt;
        wpTextbox0.style.boxSizing       = &amp;quot;border-box&amp;quot;;&lt;br /&gt;
        wpTextbox0.style.clear           = wpTextbox1Style.clear;&lt;br /&gt;
        wpTextbox0.style.color           = &amp;quot;transparent&amp;quot;; //makes it look just a little bit smoother&lt;br /&gt;
        wpTextbox0.style.fontFamily      = wpTextbox1Style.fontFamily;&lt;br /&gt;
        wpTextbox0.style.fontSize        = wpTextbox1Style.fontSize;&lt;br /&gt;
        wpTextbox0.style.lineHeight      = &amp;quot;normal&amp;quot;;&lt;br /&gt;
        wpTextbox0.style.marginBottom    = &amp;quot;0&amp;quot;;&lt;br /&gt;
        wpTextbox0.style.marginLeft      = &amp;quot;0&amp;quot;;&lt;br /&gt;
        wpTextbox0.style.marginRight     = &amp;quot;0&amp;quot;;&lt;br /&gt;
        wpTextbox0.style.marginTop       = wpTextbox1Style.marginTop;&lt;br /&gt;
        wpTextbox0.style.overflowX       = &amp;quot;auto&amp;quot;;&lt;br /&gt;
        wpTextbox0.style.overflowY       = &amp;quot;scroll&amp;quot;;&lt;br /&gt;
        wpTextbox0.style.resize          = resize;&lt;br /&gt;
        wpTextbox0.style.tabSize         = wpTextbox1Style.tabSize;&lt;br /&gt;
        wpTextbox0.style.whiteSpace      = &amp;quot;pre-wrap&amp;quot;;&lt;br /&gt;
        wpTextbox0.style.width           = &amp;quot;100%&amp;quot;;&lt;br /&gt;
        wpTextbox0.style.wordWrap        = &amp;quot;normal&amp;quot;; //see below&lt;br /&gt;
&lt;br /&gt;
        wpTextbox1.style.backgroundColor = &amp;quot;transparent&amp;quot;;&lt;br /&gt;
        wpTextbox1.style.border          = &amp;quot;1px inset gray&amp;quot;;&lt;br /&gt;
        wpTextbox1.style.boxSizing       = &amp;quot;border-box&amp;quot;;&lt;br /&gt;
        wpTextbox1.style.color           = syntaxHighlighterConfig.foregroundColor;&lt;br /&gt;
        wpTextbox1.style.fontSize        = wpTextbox1Style.fontSize; //resolves alignment problems on mobile chrome&lt;br /&gt;
        wpTextbox1.style.lineHeight      = &amp;quot;normal&amp;quot;;&lt;br /&gt;
        wpTextbox1.style.marginBottom    = wpTextbox1Style.marginBottom; //lock to pixel value because the top margin was also locked to a pixel value when it was moved to wpTextbox0&lt;br /&gt;
        wpTextbox1.style.marginLeft      = &amp;quot;0&amp;quot;;&lt;br /&gt;
        wpTextbox1.style.marginRight     = &amp;quot;0&amp;quot;;&lt;br /&gt;
        wpTextbox1.style.overflowX       = &amp;quot;auto&amp;quot;;&lt;br /&gt;
        wpTextbox1.style.overflowY       = &amp;quot;scroll&amp;quot;;&lt;br /&gt;
        wpTextbox1.style.padding         = &amp;quot;0&amp;quot;;&lt;br /&gt;
        wpTextbox1.style.resize          = resize;&lt;br /&gt;
        wpTextbox1.style.width           = &amp;quot;100%&amp;quot;;&lt;br /&gt;
        wpTextbox1.style.wordWrap        = &amp;quot;normal&amp;quot;; //overall more visually appealing&lt;br /&gt;
&lt;br /&gt;
        // https://bugzilla.mozilla.org/show_bug.cgi?id=1301290&lt;br /&gt;
        if (layoutEngine == &amp;quot;gecko&amp;quot;)&lt;br /&gt;
        {&lt;br /&gt;
            wpTextbox0.style.isolation = &amp;quot;isolate&amp;quot;;&lt;br /&gt;
            wpTextbox1.style.isolation = &amp;quot;isolate&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        //lock both heights to pixel values so that the browser zoom feature works better&lt;br /&gt;
        wpTextbox1.style.height = wpTextbox0.style.height = wpTextbox1.offsetHeight + &amp;quot;px&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        //insert wpTextbox0 underneath wpTextbox1&lt;br /&gt;
        wpTextbox1.style.marginTop       = -wpTextbox1.offsetHeight + &amp;quot;px&amp;quot;;&lt;br /&gt;
        wpTextbox1.parentNode.insertBefore(wpTextbox0, wpTextbox1);&lt;br /&gt;
&lt;br /&gt;
        document.head.appendChild(syntaxStyleElement);&lt;br /&gt;
&lt;br /&gt;
        wpTextbox1.addEventListener(&amp;quot;input&amp;quot;, highlightSyntax);&lt;br /&gt;
        //console.log(&amp;quot;Box1ListenersyncScroll&amp;quot;);&lt;br /&gt;
        wpTextbox1.addEventListener(&amp;quot;scroll&amp;quot;, syncScrollX);&lt;br /&gt;
        wpTextbox1.addEventListener(&amp;quot;scroll&amp;quot;, syncScrollY);&lt;br /&gt;
        attributeObserver = new MutationObserver(syncTextDirection);&lt;br /&gt;
        attributeObserver.observe(wpTextbox1, {attributes: true});&lt;br /&gt;
        parentObserver = new MutationObserver(syncParent);&lt;br /&gt;
        parentObserver.observe(wpTextbox1.parentNode, {childList: true});&lt;br /&gt;
        highlightSyntaxIfNeededIntervalID = setInterval(highlightSyntaxIfNeeded, 500);&lt;br /&gt;
        highlightSyntax();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    //enable the highlighter only when editing wikitext pages&lt;br /&gt;
    //in the future a separate parser could be added for CSS and JS pages&lt;br /&gt;
    //blacklist Internet Explorer and Edge, they're just too broken&lt;br /&gt;
    var wgAction = mw.config.get(&amp;quot;wgAction&amp;quot;);&lt;br /&gt;
    var layoutEngine = $.client.profile().layout;&lt;br /&gt;
    if ((wgAction == &amp;quot;edit&amp;quot; || wgAction == &amp;quot;submit&amp;quot;) &amp;amp;&amp;amp; mw.config.get(&amp;quot;wgPageContentModel&amp;quot;) == &amp;quot;wikitext&amp;quot; &amp;amp;&amp;amp; layoutEngine != &amp;quot;trident&amp;quot; &amp;amp;&amp;amp; layoutEngine != &amp;quot;edge&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
        //give other scripts an opportunity to set syntaxHighlighterConfig&lt;br /&gt;
        if (document.readyState == &amp;quot;complete&amp;quot;)&lt;br /&gt;
        {&lt;br /&gt;
            setup();&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
            $(window).load(setup);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
})();&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Vector.css&amp;diff=9834</id>
		<title>MediaWiki:Vector.css</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Vector.css&amp;diff=9834"/>
				<updated>2017-06-15T18:10:57Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: Created page with &amp;quot;/* CSS placed here will affect users of the Vector skin */ /* CSS placed here will affect users of the Vector skin */ /* Le CSS placé ici affectera les utilisateurs de l’ha...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will affect users of the Vector skin */&lt;br /&gt;
/* CSS placed here will affect users of the Vector skin */&lt;br /&gt;
/* Le CSS placé ici affectera les utilisateurs de l’habillage Vector. */&lt;br /&gt;
/* Framework */&lt;br /&gt;
html,&lt;br /&gt;
body {&lt;br /&gt;
	height: 100%;&lt;br /&gt;
	margin: 0;&lt;br /&gt;
	padding: 0;&lt;br /&gt;
	font-family: sans-serif;&lt;br /&gt;
	font-size: 1em;&lt;br /&gt;
	background-color: #ecfeeb; /*f8f7bb; /*#00bf6a; /*#00844a; /*#ecfeeb; /* line added NB green II #f8f7bb; yellow I */&lt;br /&gt;
}&lt;br /&gt;
body {&lt;br /&gt;
	background-color: #ecfeeb; /*#f8f7bb;/*#00844a/*#ecfeeb; /* line changed NB green II #f8f7bb; yellow I */&lt;br /&gt;
	/*background-color: #f3f3f3; */&lt;br /&gt;
	background-image: url(/Demopaedia_files/page-base-demopaediai.png); /*background-image: url(images/page-base.png);*/&lt;br /&gt;
}&lt;br /&gt;
/* Content */&lt;br /&gt;
#content {&lt;br /&gt;
	margin-left: 10em;&lt;br /&gt;
	padding: 1em;&lt;br /&gt;
	/* @embed */&lt;br /&gt;
	background-image: url(images/border.png);&lt;br /&gt;
	background-position: top left;&lt;br /&gt;
	background-repeat: repeat-y;&lt;br /&gt;
	background-color: white;&lt;br /&gt;
	color: black;&lt;br /&gt;
	direction: ltr;&lt;br /&gt;
}&lt;br /&gt;
/* Head */&lt;br /&gt;
#p-logobannerleft {&lt;br /&gt;
	position: absolute;&lt;br /&gt;
	top: 0;&lt;br /&gt;
	width: 108px;&lt;br /&gt;
	background: left;&lt;br /&gt;
}&lt;br /&gt;
#p-logobannertextleft {&lt;br /&gt;
	position: absolute;&lt;br /&gt;
	top: 0;&lt;br /&gt;
	height: 86px;&lt;br /&gt;
	width: 100%;&lt;br /&gt;
	background-color: #b5d5e4; /*#b5e5e4; marine blue */&lt;br /&gt;
	/*font-family:&amp;quot;Times New Roman&amp;quot;, Times, serif;*/&lt;br /&gt;
	font-family:&amp;quot;Arial&amp;quot;, Sans-serif;&lt;br /&gt;
	font-size: 0.875em;&lt;br /&gt;
	border-bottom-color: #6799cc;&lt;br /&gt;
	border-bottom-width: 3px;&lt;br /&gt;
	border-bottom-style: solid;&lt;br /&gt;
}&lt;br /&gt;
#p-logobannertextleft p {&lt;br /&gt;
	position: absolute;&lt;br /&gt;
	left: 100px;&lt;br /&gt;
	line-height: 100%;&lt;br /&gt;
}&lt;br /&gt;
#p-logobannertextright {&lt;br /&gt;
	position: absolute;&lt;br /&gt;
	top: 0;&lt;br /&gt;
	right: 75px; /*-350px;*/&lt;br /&gt;
	width: 150px;&lt;br /&gt;
	height: 85px;&lt;br /&gt;
	/*background-color: #b5e5e4; *//*fdfeab; /* line added NB green II #f8f7bb; yellow I */&lt;br /&gt;
	/*font-family:&amp;quot;Times New Roman&amp;quot;, Times, serif;*/&lt;br /&gt;
	font-family:&amp;quot;Arial&amp;quot;, Sans-serif;&lt;br /&gt;
	font-size: 0.875em;&lt;br /&gt;
}&lt;br /&gt;
#p-logobannertextright p {&lt;br /&gt;
	position: absolute;&lt;br /&gt;
	text-align: right;&lt;br /&gt;
	line-height: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#p-logobannerright {&lt;br /&gt;
	position: absolute;&lt;br /&gt;
	top: 0;&lt;br /&gt;
	right: 0;&lt;br /&gt;
	/*width: 100px;*/ /* For background only */&lt;br /&gt;
	background: right;&lt;br /&gt;
	/*background-color: #b5e5e4 ;*//*fdfeab; /* line added NB green II #f8f7bb; yellow I */&lt;br /&gt;
}&lt;br /&gt;
#mw-page-base {&lt;br /&gt;
	height: 5em ; /*5em;*/&lt;br /&gt;
	background-color: white;&lt;br /&gt;
	/* @embed */&lt;br /&gt;
	background-image: url(images/page-fade.png);&lt;br /&gt;
	background-position: bottom left;&lt;br /&gt;
	background-repeat: repeat-x;&lt;br /&gt;
}&lt;br /&gt;
#mw-head-base {&lt;br /&gt;
	margin-top: 0em; /*0em; /*NB was -5em ; */&lt;br /&gt;
	margin-left: 10em;&lt;br /&gt;
	height: 6em; /*5em;*/&lt;br /&gt;
	/* @embed */&lt;br /&gt;
	/* background-image: url(images/border.png);*/&lt;br /&gt;
	background-position: bottom left;&lt;br /&gt;
	background-repeat: repeat-x;&lt;br /&gt;
}&lt;br /&gt;
#mw-head {&lt;br /&gt;
	position: absolute;/* can't be relative or no top banner*/&lt;br /&gt;
	margin-top: 0em; /*0em; /*NB was -5em ; */&lt;br /&gt;
	top: 0; /*0;*/&lt;br /&gt;
	right: 0;&lt;br /&gt;
	width: 100%;&lt;br /&gt;
	/*background-color: none;*//*#ecfeeb; /* line added NB green II #f8f7bb; yellow I */&lt;br /&gt;
}&lt;br /&gt;
#mw-head h5 {&lt;br /&gt;
	margin: 0;&lt;br /&gt;
	padding: 0;&lt;br /&gt;
}&lt;br /&gt;
	/* Hide empty portlets */&lt;br /&gt;
	.emptyPortlet {&lt;br /&gt;
		display: none;&lt;br /&gt;
	}&lt;br /&gt;
	/* Personal */&lt;br /&gt;
	#p-personal {&lt;br /&gt;
		position: absolute;&lt;br /&gt;
		top: 5.5em; /* instead of 5em Demopaedia */&lt;br /&gt;
 		margin-left: 10em; /* added to demopaedia */&lt;br /&gt;
		right: 0.75em;&lt;br /&gt;
	}&lt;br /&gt;
	/*#p-personal h5 {&lt;br /&gt;
		display: none;&lt;br /&gt;
	}*/&lt;br /&gt;
	#p-personal ul {&lt;br /&gt;
		list-style: none;&lt;br /&gt;
		margin: 0;&lt;br /&gt;
		padding-left: 10em; /* Keep from overlapping logo */&lt;br /&gt;
	}&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	#p-personal li {&lt;br /&gt;
		line-height: 1.125em;&lt;br /&gt;
		float: left;&lt;br /&gt;
	}&lt;br /&gt;
	/* This one flips! */&lt;br /&gt;
	#p-personal li {&lt;br /&gt;
		margin-left: 0.75em;&lt;br /&gt;
		margin-top: 0.5em;&lt;br /&gt;
		font-size: 0.75em;&lt;br /&gt;
		white-space: nowrap;&lt;br /&gt;
	}&lt;br /&gt;
	/* Navigation Containers */&lt;br /&gt;
	#left-navigation {&lt;br /&gt;
		position: absolute;&lt;br /&gt;
		left: 10em;&lt;br /&gt;
		top: 7.0em;  /* instead of 2.5em Demopaedia */&lt;br /&gt;
	}&lt;br /&gt;
	#right-navigation {&lt;br /&gt;
		float: right;&lt;br /&gt;
		margin-top: 7.0em; /* instead of 6.5 Demopaedia */&lt;br /&gt;
	}&lt;br /&gt;
	/* Navigation Labels */&lt;br /&gt;
	/*div.vectorTabs h5,&lt;br /&gt;
	div.vectorMenu h5 span {&lt;br /&gt;
		display: none;&lt;br /&gt;
	}*/&lt;br /&gt;
	/* Namespaces and Views */&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	div.vectorTabs {&lt;br /&gt;
		float: left;&lt;br /&gt;
		height: 2.5em;&lt;br /&gt;
	}&lt;br /&gt;
	div.vectorTabs {&lt;br /&gt;
		/* @embed */&lt;br /&gt;
		background-image: url(images/tab-break.png);&lt;br /&gt;
		background-position: bottom left;&lt;br /&gt;
		background-repeat: no-repeat;&lt;br /&gt;
		padding-left: 1px;&lt;br /&gt;
	}&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	div.vectorTabs ul {&lt;br /&gt;
		float: left;&lt;br /&gt;
	}&lt;br /&gt;
	div.vectorTabs ul {&lt;br /&gt;
		height: 100%;&lt;br /&gt;
		list-style: none;&lt;br /&gt;
		margin: 0;&lt;br /&gt;
		padding: 0;&lt;br /&gt;
	}&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	div.vectorTabs ul li {&lt;br /&gt;
		float: left;&lt;br /&gt;
	}&lt;br /&gt;
	/* OVERRIDDEN BY COMPLIANT BROWSERS */&lt;br /&gt;
	div.vectorTabs ul li {&lt;br /&gt;
		line-height: 1.125em;&lt;br /&gt;
		display: inline-block;&lt;br /&gt;
		height: 100%;&lt;br /&gt;
		margin: 0;&lt;br /&gt;
		padding: 0;&lt;br /&gt;
		background-color: #f3f3f3;&lt;br /&gt;
		/* @embed */&lt;br /&gt;
		background-image: url(images/tab-normal-fade.png);&lt;br /&gt;
		background-position: bottom left;&lt;br /&gt;
		background-repeat: repeat-x;&lt;br /&gt;
		white-space:nowrap;&lt;br /&gt;
	}&lt;br /&gt;
	/* IGNORED BY IE6 */&lt;br /&gt;
	div.vectorTabs ul &amp;gt; li {&lt;br /&gt;
		display: block;&lt;br /&gt;
	}&lt;br /&gt;
	div.vectorTabs li.selected {&lt;br /&gt;
		/* @embed */&lt;br /&gt;
		background-image: url(images/tab-current-fade.png);&lt;br /&gt;
	}&lt;br /&gt;
	/* OVERRIDDEN BY COMPLIANT BROWSERS */&lt;br /&gt;
	div.vectorTabs li a {&lt;br /&gt;
		display: inline-block;&lt;br /&gt;
		height: 1.9em;&lt;br /&gt;
		padding-left: 0.5em;&lt;br /&gt;
		padding-right: 0.5em;&lt;br /&gt;
		/* @embed */&lt;br /&gt;
		/*background-image: url(images/tab-break.png);*/&lt;br /&gt;
		background-position: bottom right;&lt;br /&gt;
		background-repeat: no-repeat;&lt;br /&gt;
		color: #0645ad;&lt;br /&gt;
		cursor: pointer;&lt;br /&gt;
		font-size: 0.8em;&lt;br /&gt;
	}&lt;br /&gt;
	/* IGNORED BY IE6 */&lt;br /&gt;
	div.vectorTabs li &amp;gt; a {&lt;br /&gt;
		display: block;&lt;br /&gt;
	}&lt;br /&gt;
	/* OVERRIDDEN BY COMPLIANT BROWSERS */&lt;br /&gt;
	div.vectorTabs span a  {&lt;br /&gt;
		display: inline-block;&lt;br /&gt;
		padding-top: 1.25em /*0.75em;*/ /*1.25em;*/&lt;br /&gt;
	}&lt;br /&gt;
	/* IGNORED BY IE6 */&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	div.vectorTabs span &amp;gt; a {&lt;br /&gt;
		float: left;&lt;br /&gt;
		display: block;&lt;br /&gt;
	}&lt;br /&gt;
	div.vectorTabs li.selected a,&lt;br /&gt;
	div.vectorTabs li.selected a:visited{&lt;br /&gt;
		color: #333333;&lt;br /&gt;
		text-decoration: none;&lt;br /&gt;
	}&lt;br /&gt;
	div.vectorTabs li.new a,&lt;br /&gt;
	div.vectorTabs li.new a:visited{&lt;br /&gt;
		color: #a55858;&lt;br /&gt;
	}&lt;br /&gt;
	/* Variants and Actions */&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	div.vectorMenu {&lt;br /&gt;
		direction: ltr;&lt;br /&gt;
		float: left;&lt;br /&gt;
		/* @embed */&lt;br /&gt;
		background-image: url(images/arrow-down-icon.png);&lt;br /&gt;
		background-position: 100% 60%;&lt;br /&gt;
		background-repeat: no-repeat;&lt;br /&gt;
		cursor: pointer;&lt;br /&gt;
	}&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	body.rtl div.vectorMenu {&lt;br /&gt;
		direction: rtl;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	/* OVERRIDDEN BY COMPLIANT BROWSERS */&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	div.vectorMenu h5 a {&lt;br /&gt;
		display: inline-block;&lt;br /&gt;
		width: 24px;&lt;br /&gt;
		height: 2.5em;&lt;br /&gt;
		text-decoration: none;&lt;br /&gt;
		/* @embed */&lt;br /&gt;
		/*background-image: url(images/tab-break.png);*/&lt;br /&gt;
		background-repeat: no-repeat;&lt;br /&gt;
	}&lt;br /&gt;
	/* This will be flipped - unlike the one above it */&lt;br /&gt;
	div.vectorMenu h5 a {&lt;br /&gt;
		background-position: bottom right;&lt;br /&gt;
	}&lt;br /&gt;
	/* IGNORED BY IE6 */&lt;br /&gt;
	div.vectorMenu h5 &amp;gt; a {&lt;br /&gt;
		display: block;&lt;br /&gt;
	}&lt;br /&gt;
	div.vectorMenu div.menu {&lt;br /&gt;
		position: relative;&lt;br /&gt;
		display: none;&lt;br /&gt;
		clear: both;&lt;br /&gt;
		text-align: left;&lt;br /&gt;
	}&lt;br /&gt;
	/* OVERRIDDEN BY COMPLIANT BROWSERS */&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	body.rtl div.vectorMenu div.menu {&lt;br /&gt;
		margin-left: 24px;&lt;br /&gt;
	}&lt;br /&gt;
	/* IGNORED BY IE6 */&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	body.rtl div.vectorMenu &amp;gt; div.menu {&lt;br /&gt;
		margin-left: auto;&lt;br /&gt;
	}&lt;br /&gt;
	/* IGNORED BY IE6 */&lt;br /&gt;
	/* Also fixes old versions of FireFox */&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	body.rtl div.vectorMenu &amp;gt; div.menu,&lt;br /&gt;
	x:-moz-any-link {&lt;br /&gt;
		margin-left: 23px;&lt;br /&gt;
	}&lt;br /&gt;
	div.vectorMenu:hover div.menu {&lt;br /&gt;
		display: block;&lt;br /&gt;
	}&lt;br /&gt;
	div.vectorMenu ul {&lt;br /&gt;
		position: absolute;&lt;br /&gt;
		background-color: white;&lt;br /&gt;
		border: solid 1px silver;&lt;br /&gt;
		border-top-width: 0;&lt;br /&gt;
		list-style: none;&lt;br /&gt;
		list-style-image: none;&lt;br /&gt;
		list-style-type: none;&lt;br /&gt;
		padding: 0;&lt;br /&gt;
		margin: 0;&lt;br /&gt;
		margin-left: -1px;&lt;br /&gt;
		text-align: left;&lt;br /&gt;
	}&lt;br /&gt;
	/* Fixes old versions of FireFox */&lt;br /&gt;
	div.vectorMenu ul,&lt;br /&gt;
	x:-moz-any-link {&lt;br /&gt;
		min-width: 5em;&lt;br /&gt;
	}&lt;br /&gt;
	/* Returns things back to normal in modern versions of FireFox */&lt;br /&gt;
	div.vectorMenu ul,&lt;br /&gt;
	x:-moz-any-link,&lt;br /&gt;
	x:default {&lt;br /&gt;
		min-width: 0;&lt;br /&gt;
	}&lt;br /&gt;
	div.vectorMenu li {&lt;br /&gt;
		padding: 0;&lt;br /&gt;
		margin: 0;&lt;br /&gt;
		text-align: left;&lt;br /&gt;
		line-height: 1em;&lt;br /&gt;
	}&lt;br /&gt;
	/* OVERRIDDEN BY COMPLIANT BROWSERS */&lt;br /&gt;
	div.vectorMenu li a {&lt;br /&gt;
		display: inline-block;&lt;br /&gt;
		padding: 0.5em;&lt;br /&gt;
		white-space: nowrap;&lt;br /&gt;
		color: #0645ad;&lt;br /&gt;
		cursor: pointer;&lt;br /&gt;
		font-size: 0.8em;&lt;br /&gt;
	}&lt;br /&gt;
	/* IGNORED BY IE6 */&lt;br /&gt;
	div.vectorMenu li &amp;gt; a {&lt;br /&gt;
		display: block;&lt;br /&gt;
	}&lt;br /&gt;
	div.vectorMenu li.selected a,&lt;br /&gt;
	div.vectorMenu li.selected a:visited {&lt;br /&gt;
		color: #333333;&lt;br /&gt;
		text-decoration: none;&lt;br /&gt;
	}&lt;br /&gt;
	/* Search */&lt;br /&gt;
	#p-search h5 {&lt;br /&gt;
		display: none;&lt;br /&gt;
	}&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	#p-search {&lt;br /&gt;
		float: left;&lt;br /&gt;
	}&lt;br /&gt;
	#p-search {&lt;br /&gt;
		margin-right: 0.5em;&lt;br /&gt;
		margin-left: 0.5em;&lt;br /&gt;
	}&lt;br /&gt;
	#p-search form,&lt;br /&gt;
	#p-search input {&lt;br /&gt;
		margin: 0;&lt;br /&gt;
		margin-top: 0.4em;&lt;br /&gt;
	}&lt;br /&gt;
	div#simpleSearch {&lt;br /&gt;
		display: block;&lt;br /&gt;
		width: 14em;&lt;br /&gt;
		height: 1.4em;&lt;br /&gt;
		margin-top: 0.65em;&lt;br /&gt;
		position: relative;&lt;br /&gt;
		min-height: 1px; /* Gotta trigger hasLayout for IE7 */&lt;br /&gt;
		border: solid 1px #AAAAAA;&lt;br /&gt;
		color: black;&lt;br /&gt;
		background-color: white;&lt;br /&gt;
		/* @embed */&lt;br /&gt;
		background-image: url(images/search-fade.png);&lt;br /&gt;
		background-position: top left;&lt;br /&gt;
		background-repeat: repeat-x;&lt;br /&gt;
	}&lt;br /&gt;
	div#simpleSearch label {&lt;br /&gt;
		/*&lt;br /&gt;
		 * DON'T PANIC! Browsers that won't scale this properly are the same browsers that have JS issues that prevent&lt;br /&gt;
		 * this from ever being shown anyways.&lt;br /&gt;
		*/&lt;br /&gt;
		font-size: 13px;&lt;br /&gt;
		top: 0.25em;&lt;br /&gt;
		direction: ltr;&lt;br /&gt;
	}&lt;br /&gt;
	div#simpleSearch input {&lt;br /&gt;
		color: black;&lt;br /&gt;
		direction: ltr;&lt;br /&gt;
	}&lt;br /&gt;
	div#simpleSearch input:focus {&lt;br /&gt;
		outline: none;&lt;br /&gt;
	}&lt;br /&gt;
	div#simpleSearch input.placeholder {&lt;br /&gt;
		color: #999999;&lt;br /&gt;
	}&lt;br /&gt;
	div#simpleSearch input::-webkit-input-placeholder { &lt;br /&gt;
		color: #999999;&lt;br /&gt;
	}&lt;br /&gt;
	div#simpleSearch input#searchInput {&lt;br /&gt;
		position: absolute;&lt;br /&gt;
		top: 0;&lt;br /&gt;
		left: 0;&lt;br /&gt;
		width: 90%;&lt;br /&gt;
		margin: 0;&lt;br /&gt;
		padding: 0;&lt;br /&gt;
		padding-left: 0.2em;&lt;br /&gt;
		padding-top: 0.2em;&lt;br /&gt;
		padding-bottom: 0.2em;&lt;br /&gt;
		outline: none;&lt;br /&gt;
		border: none;&lt;br /&gt;
		/*&lt;br /&gt;
		 * DON'T PANIC! Browsers that won't scale this properly are the same browsers that have JS issues that prevent&lt;br /&gt;
		 * this from ever being shown anyways.&lt;br /&gt;
		*/&lt;br /&gt;
		font-size: 13px;&lt;br /&gt;
		background-color: transparent;&lt;br /&gt;
		direction: ltr;&lt;br /&gt;
	}&lt;br /&gt;
	div#simpleSearch button#searchButton {&lt;br /&gt;
		position: absolute;&lt;br /&gt;
		width: 10%;&lt;br /&gt;
		right: 0;&lt;br /&gt;
		top: 0;&lt;br /&gt;
		padding: 0;&lt;br /&gt;
		padding-top: 0.2em;&lt;br /&gt;
		padding-bottom: 0.2em;&lt;br /&gt;
		padding-right: 0.4em;&lt;br /&gt;
		margin: 0;&lt;br /&gt;
		border: none;&lt;br /&gt;
		cursor: pointer;&lt;br /&gt;
		background-color: transparent;&lt;br /&gt;
	}&lt;br /&gt;
	/* OVERRIDDEN BY COMPLIANT BROWSERS */&lt;br /&gt;
	div#simpleSearch button#searchButton img {&lt;br /&gt;
		border: none;&lt;br /&gt;
		margin: 0;&lt;br /&gt;
		margin-top: -3px;&lt;br /&gt;
		padding: 0;&lt;br /&gt;
	}&lt;br /&gt;
	/* IGNORED BY IE6 */&lt;br /&gt;
	div#simpleSearch button#searchButton &amp;gt; img {&lt;br /&gt;
		margin: 0;&lt;br /&gt;
	}&lt;br /&gt;
/* Panel */&lt;br /&gt;
div#mw-panel {&lt;br /&gt;
	position: absolute;&lt;br /&gt;
	top: 89px; /* or 89px and p-log top 0; /* Don't touch linked 260px  with p-logo -170px top  */&lt;br /&gt;
	padding-top: 0em; /* 0em if 90px; was 2em, linked with 260px*/&lt;br /&gt;
	width: 10em;&lt;br /&gt;
	left: 0;&lt;br /&gt;
	background-color: #ecfeeb; /* #f8f7bb;/*#00bf6a;/*#ecfeeb; /* line added NB green II #f8f7bb; yellow I */&lt;br /&gt;
}&lt;br /&gt;
	div#mw-panel div.portal {&lt;br /&gt;
	   position: relative;  /* Added by Demopaedia */&lt;br /&gt;
		padding-bottom: 1.5em;&lt;br /&gt;
		direction: ltr;&lt;br /&gt;
	}&lt;br /&gt;
	div#mw-panel div.portal h5 {&lt;br /&gt;
		font-weight: normal;&lt;br /&gt;
		color: #444444;&lt;br /&gt;
		padding: 0.25em;&lt;br /&gt;
		padding-top: 0;&lt;br /&gt;
		padding-left: 1.75em;&lt;br /&gt;
		cursor: default;&lt;br /&gt;
		border: none;&lt;br /&gt;
		font-size: 0.75em;&lt;br /&gt;
	}&lt;br /&gt;
	div#mw-panel div.portal div.body {&lt;br /&gt;
		margin: 0;&lt;br /&gt;
		background-color: white; /* added Demopaedia */&lt;br /&gt;
		padding-top: 0.5em;&lt;br /&gt;
		padding-left: 0.5em; /* Added by Demopaedia */&lt;br /&gt;
		margin-left: 1.0em; /* was 1.25em; modified by Demopaedia */&lt;br /&gt;
		margin-right: 1.0em; /*added by Demopaedia */&lt;br /&gt;
		/* @embed */&lt;br /&gt;
		background-image: url(images/portal-break.png);&lt;br /&gt;
		background-repeat: no-repeat;&lt;br /&gt;
		background-position: center center; /* was top left; */&lt;br /&gt;
	}&lt;br /&gt;
	div#mw-panel div.portal div.body ul {&lt;br /&gt;
		list-style: none;&lt;br /&gt;
		list-style-image: none;&lt;br /&gt;
		list-style-type: none;&lt;br /&gt;
		padding: 0;&lt;br /&gt;
		margin: 0;&lt;br /&gt;
	}&lt;br /&gt;
	div#mw-panel div.portal div.body ul li {&lt;br /&gt;
		line-height: 1.125em;&lt;br /&gt;
		padding: 0;&lt;br /&gt;
		padding-bottom: 0.5em;&lt;br /&gt;
		margin: 0;&lt;br /&gt;
		overflow: hidden;&lt;br /&gt;
		font-size: 0.75em;&lt;br /&gt;
	}&lt;br /&gt;
	div#mw-panel div.portal div.body ul li a {&lt;br /&gt;
	color: #8e8f00;/* #8e8f00 for I; was #0645ad; for vector*/&lt;br /&gt;
	}&lt;br /&gt;
	div#mw-panel div.portal div.body ul li a:visited {&lt;br /&gt;
		color: #0b0080;&lt;br /&gt;
	}&lt;br /&gt;
/* Footer */&lt;br /&gt;
div#footer {&lt;br /&gt;
	margin-left: 10em;&lt;br /&gt;
	margin-top: 0;&lt;br /&gt;
	padding: 0.75em;&lt;br /&gt;
	/* @embed */&lt;br /&gt;
	background-image: url(images/border.png);&lt;br /&gt;
	background-position: top left;&lt;br /&gt;
	background-repeat: repeat-x;&lt;br /&gt;
	direction: ltr;&lt;br /&gt;
}&lt;br /&gt;
div#footer ul {&lt;br /&gt;
	list-style: none;&lt;br /&gt;
	list-style-image: none;&lt;br /&gt;
	list-style-type: none;&lt;br /&gt;
	margin: 0;&lt;br /&gt;
	padding: 0;&lt;br /&gt;
}&lt;br /&gt;
div#footer ul li {&lt;br /&gt;
	margin: 0;&lt;br /&gt;
	padding: 0;&lt;br /&gt;
	padding-top: 0.5em;&lt;br /&gt;
	padding-bottom: 0.5em;&lt;br /&gt;
	color: #333333;&lt;br /&gt;
	font-size: 0.7em;&lt;br /&gt;
}&lt;br /&gt;
div#footer #footer-icons {&lt;br /&gt;
	float: right;&lt;br /&gt;
}&lt;br /&gt;
/* @noflip */&lt;br /&gt;
body.ltr div#footer #footer-places {&lt;br /&gt;
	float: left;&lt;br /&gt;
}&lt;br /&gt;
div#footer #footer-info li {&lt;br /&gt;
	line-height: 1.4em;&lt;br /&gt;
}&lt;br /&gt;
div#footer #footer-icons li {&lt;br /&gt;
	float: left;&lt;br /&gt;
	margin-left: 0.5em;&lt;br /&gt;
	line-height: 2em;&lt;br /&gt;
}&lt;br /&gt;
div#footer #footer-places li {&lt;br /&gt;
	float: left;&lt;br /&gt;
	margin-right: 1em;&lt;br /&gt;
	line-height: 2em;&lt;br /&gt;
}&lt;br /&gt;
/* Logo */&lt;br /&gt;
#p-logo {&lt;br /&gt;
	position: relative; /*absolute;*/&lt;br /&gt;
	top: 0px; /* Don't touch linked -170 with mw-panel top 260px */&lt;br /&gt;
	margin-top: 0em;&lt;br /&gt;
	left: 0;&lt;br /&gt;
	width: 10em;&lt;br /&gt;
	/*height: 190px;*/ /*- auto;  /* was 190 px */&lt;br /&gt;
}&lt;br /&gt;
#p-logo a {&lt;br /&gt;
	display: block; /*can't be changed;*/&lt;br /&gt;
	width: 10em;&lt;br /&gt;
	min-height: 100px; /* was 180px; */  &lt;br /&gt;
        /* was height:220 px */&lt;br /&gt;
	background-repeat: no-repeat;&lt;br /&gt;
	background-position: top center;&lt;br /&gt;
	background-color: #ecfeeb; /*#00df7c;/*#00bf6a; /*#ecfeeb; /* line added NB green II #f8f7bb; yellow I */&lt;br /&gt;
	text-decoration: none;&lt;br /&gt;
}&lt;br /&gt;
#p-logoimg { /* Used with img instead of background-image for different height of logos */&lt;br /&gt;
	position: relative; /*absolute;*/&lt;br /&gt;
	top: 0px; /* Don't touch linked -170 with mw-panel top 260px */&lt;br /&gt;
	margin-top: 0em;&lt;br /&gt;
	margin-left: 0.8em;&lt;br /&gt;
	/*left: 0;*/&lt;br /&gt;
	width: 9em;&lt;br /&gt;
	/*height: 190px;*/ /*- auto;  /* was 190 px */&lt;br /&gt;
}&lt;br /&gt;
#p-logoimg a img{&lt;br /&gt;
	display: block; /*can't be changed;*/&lt;br /&gt;
	text-decoration: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * &lt;br /&gt;
 * The following code is highly modified from monobook. It would be nice if the&lt;br /&gt;
 * preftoc id was more human readable like preferences-toc for instance,&lt;br /&gt;
 * howerver this would require backporting the other skins.&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
/* Preferences */&lt;br /&gt;
#preftoc {&lt;br /&gt;
	/* Tabs */&lt;br /&gt;
	width: 100%;&lt;br /&gt;
	float: left;&lt;br /&gt;
	clear: both;&lt;br /&gt;
	margin: 0 !important;&lt;br /&gt;
	padding: 0 !important;&lt;br /&gt;
	/* @embed */&lt;br /&gt;
	background-image: url(images/preferences-break.png);&lt;br /&gt;
	background-position: bottom left;&lt;br /&gt;
	background-repeat: no-repeat;&lt;br /&gt;
}&lt;br /&gt;
	#preftoc li {&lt;br /&gt;
		/* Tab */&lt;br /&gt;
		float: left;&lt;br /&gt;
		margin: 0;&lt;br /&gt;
		padding: 0;&lt;br /&gt;
		padding-right: 1px;&lt;br /&gt;
		height: 2.25em;&lt;br /&gt;
		white-space: nowrap;&lt;br /&gt;
		list-style-type: none;&lt;br /&gt;
		list-style-image: none;&lt;br /&gt;
		/* @embed */&lt;br /&gt;
		background-image: url(images/preferences-break.png);&lt;br /&gt;
		background-position: bottom right;&lt;br /&gt;
		background-repeat: no-repeat;&lt;br /&gt;
	}&lt;br /&gt;
	/* Sadly, IE6 won't understand this */&lt;br /&gt;
	#preftoc li:first-child {&lt;br /&gt;
		margin-left: 1px;&lt;br /&gt;
	}&lt;br /&gt;
	#preftoc a,&lt;br /&gt;
	#preftoc a:active {&lt;br /&gt;
		display: inline-block;&lt;br /&gt;
		position: relative;&lt;br /&gt;
		color: #0645ad;&lt;br /&gt;
		padding: 0.5em;&lt;br /&gt;
		text-decoration: none;&lt;br /&gt;
		background-image: none;&lt;br /&gt;
		font-size: 0.9em;&lt;br /&gt;
	}&lt;br /&gt;
	#preftoc a:hover,&lt;br /&gt;
	#preftoc a:focus {&lt;br /&gt;
		text-decoration: underline;&lt;br /&gt;
	}&lt;br /&gt;
	#preftoc li.selected a {&lt;br /&gt;
		/* @embed */&lt;br /&gt;
		background-image: url(images/preferences-fade.png);&lt;br /&gt;
		background-position: bottom;&lt;br /&gt;
		background-repeat: repeat-x;&lt;br /&gt;
		color: #333333;&lt;br /&gt;
		text-decoration: none;&lt;br /&gt;
	}&lt;br /&gt;
#preferences {&lt;br /&gt;
	float: left;&lt;br /&gt;
	width: 100%;&lt;br /&gt;
	margin: 0;&lt;br /&gt;
	margin-top: -2px;&lt;br /&gt;
	clear: both;&lt;br /&gt;
	border: solid 1px #cccccc;&lt;br /&gt;
	background-color: #f9f9f9;&lt;br /&gt;
	/* @embed */&lt;br /&gt;
	background-image: url(images/preferences-base.png);&lt;br /&gt;
}&lt;br /&gt;
#preferences fieldset.prefsection {&lt;br /&gt;
	border: none;&lt;br /&gt;
	padding: 0;&lt;br /&gt;
	margin: 1em;&lt;br /&gt;
}&lt;br /&gt;
#preferences fieldset.prefsection fieldset {&lt;br /&gt;
	border: none;&lt;br /&gt;
	border-top: solid 1px #cccccc;&lt;br /&gt;
}&lt;br /&gt;
#preferences legend {&lt;br /&gt;
	color: #666666;&lt;br /&gt;
}&lt;br /&gt;
#preferences fieldset.prefsection legend.mainLegend {&lt;br /&gt;
	display: none;&lt;br /&gt;
}&lt;br /&gt;
#preferences td {&lt;br /&gt;
	padding-left: 0.5em;&lt;br /&gt;
	padding-right: 0.5em;&lt;br /&gt;
}&lt;br /&gt;
#preferences td.htmlform-tip {&lt;br /&gt;
	font-size: x-small;&lt;br /&gt;
	padding: .2em 2em;&lt;br /&gt;
	color: #666666;&lt;br /&gt;
}&lt;br /&gt;
#preferences div.mw-prefs-buttons {&lt;br /&gt;
	padding: 1em;&lt;br /&gt;
}&lt;br /&gt;
#preferences div.mw-prefs-buttons input {&lt;br /&gt;
	margin-right: 0.25em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* &lt;br /&gt;
 * Styles for the user login and create account forms&lt;br /&gt;
 */&lt;br /&gt;
#userlogin, #userloginForm {&lt;br /&gt;
	border: solid 1px #cccccc;&lt;br /&gt;
	padding: 1.2em;&lt;br /&gt;
	margin: .5em;&lt;br /&gt;
	float: left;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#userlogin {&lt;br /&gt;
	min-width: 20em;&lt;br /&gt;
	max-width: 90%;&lt;br /&gt;
	width: 40em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * &lt;br /&gt;
 * The following code is slightly modified from monobook&lt;br /&gt;
 * &lt;br /&gt;
 */&lt;br /&gt;
div#content {&lt;br /&gt;
	line-height: 1.5em;&lt;br /&gt;
}&lt;br /&gt;
#bodyContent {&lt;br /&gt;
	font-size: 0.8em;&lt;br /&gt;
}&lt;br /&gt;
/* Links */&lt;br /&gt;
a {&lt;br /&gt;
	text-decoration: none;&lt;br /&gt;
	color: #0645ad;&lt;br /&gt;
	background: none;&lt;br /&gt;
}&lt;br /&gt;
a:visited {&lt;br /&gt;
	color: #0b0080;&lt;br /&gt;
}&lt;br /&gt;
a:active {&lt;br /&gt;
	color: #faa700;&lt;br /&gt;
}&lt;br /&gt;
a:hover, a:focus {&lt;br /&gt;
	text-decoration: underline;&lt;br /&gt;
}&lt;br /&gt;
a.stub {&lt;br /&gt;
	color: #772233;&lt;br /&gt;
}&lt;br /&gt;
a.new, #p-personal a.new {&lt;br /&gt;
	color: #ba0000;&lt;br /&gt;
}&lt;br /&gt;
a.new:visited, #p-personal a.new:visited {&lt;br /&gt;
	color: #a55858;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Inline Elements */&lt;br /&gt;
img {&lt;br /&gt;
	border: none;&lt;br /&gt;
	vertical-align: middle;&lt;br /&gt;
}&lt;br /&gt;
hr {&lt;br /&gt;
	height: 1px;&lt;br /&gt;
	color: #aaa;&lt;br /&gt;
	background-color: #aaa;&lt;br /&gt;
	border: 0;&lt;br /&gt;
	margin: .2em 0 .2em 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Structural Elements */&lt;br /&gt;
h1,&lt;br /&gt;
h2,&lt;br /&gt;
h3,&lt;br /&gt;
h4,&lt;br /&gt;
h5,&lt;br /&gt;
h6 {&lt;br /&gt;
	color: black;&lt;br /&gt;
	background: none;&lt;br /&gt;
	font-weight: normal;&lt;br /&gt;
	margin: 0;&lt;br /&gt;
	overflow: hidden;&lt;br /&gt;
	padding-top: .5em;&lt;br /&gt;
	padding-bottom: .17em;&lt;br /&gt;
	border-bottom: 1px solid #aaa;&lt;br /&gt;
	width: auto;&lt;br /&gt;
}&lt;br /&gt;
h1 { font-size: 188%; }&lt;br /&gt;
h1 .editsection { font-size: 53%; }&lt;br /&gt;
h2 { font-size: 150%; }&lt;br /&gt;
h2 .editsection { font-size: 67%; }&lt;br /&gt;
h3,&lt;br /&gt;
h4,&lt;br /&gt;
h5,&lt;br /&gt;
h6 {&lt;br /&gt;
	border-bottom: none;&lt;br /&gt;
	font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
h3 { font-size: 132%; }&lt;br /&gt;
h3 .editsection { font-size: 76%; font-weight: normal; }&lt;br /&gt;
h4 { font-size: 116%; }&lt;br /&gt;
h4 .editsection { font-size: 86%; font-weight: normal; }&lt;br /&gt;
h5 { font-size: 100%; }&lt;br /&gt;
h5 .editsection { font-weight: normal; }&lt;br /&gt;
h6 { font-size: 80%;  }&lt;br /&gt;
h6 .editsection { font-size: 125%; font-weight: normal; }&lt;br /&gt;
.editsection { float: right; }&lt;br /&gt;
p {&lt;br /&gt;
	margin: .4em 0 .5em 0;&lt;br /&gt;
	line-height: 1.5em;&lt;br /&gt;
}&lt;br /&gt;
p img {&lt;br /&gt;
	margin: 0;&lt;br /&gt;
}&lt;br /&gt;
q {&lt;br /&gt;
	font-family: Times, &amp;quot;Times New Roman&amp;quot;, serif;&lt;br /&gt;
	font-style: italic;&lt;br /&gt;
}&lt;br /&gt;
/* Disabled for now&lt;br /&gt;
blockquote {&lt;br /&gt;
	font-family: Times, &amp;quot;Times New Roman&amp;quot;, serif;&lt;br /&gt;
	font-style: italic;&lt;br /&gt;
}*/&lt;br /&gt;
pre, code, tt, kbd, samp {&lt;br /&gt;
	/*&lt;br /&gt;
	 * It's important for this rule to first reference an actual font name, some browsers will render the monospace text&lt;br /&gt;
	 * too small otherwise, namely Firefox, Chrome and Safari&lt;br /&gt;
	 */&lt;br /&gt;
	font-family: monospace, &amp;quot;Courier New&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
code {&lt;br /&gt;
	background-color: #f9f9f9;&lt;br /&gt;
}&lt;br /&gt;
pre {&lt;br /&gt;
	padding: 1em;&lt;br /&gt;
	border: 1px dashed #2f6fab;&lt;br /&gt;
	color: black;&lt;br /&gt;
	background-color: #f9f9f9;&lt;br /&gt;
	line-height: 1.1em;&lt;br /&gt;
}&lt;br /&gt;
ul {&lt;br /&gt;
	line-height: 1.5em;&lt;br /&gt;
	list-style-type: square;&lt;br /&gt;
	margin: .3em 0 0 1.5em;&lt;br /&gt;
	padding: 0;&lt;br /&gt;
	/* @embed */&lt;br /&gt;
	list-style-image: url(images/bullet-icon.png);&lt;br /&gt;
}&lt;br /&gt;
ol {&lt;br /&gt;
	line-height: 1.5em;&lt;br /&gt;
	margin: .3em 0 0 3.2em;&lt;br /&gt;
	padding: 0;&lt;br /&gt;
	list-style-image: none;&lt;br /&gt;
}&lt;br /&gt;
li {&lt;br /&gt;
	margin-bottom: .1em;&lt;br /&gt;
}&lt;br /&gt;
dt {&lt;br /&gt;
	font-weight: bold;&lt;br /&gt;
	margin-bottom: .1em;&lt;br /&gt;
}&lt;br /&gt;
dl {&lt;br /&gt;
	margin-top: .2em;&lt;br /&gt;
	margin-bottom: .5em;&lt;br /&gt;
}&lt;br /&gt;
dd {&lt;br /&gt;
	line-height: 1.5em;&lt;br /&gt;
	margin-left: 2em;&lt;br /&gt;
	margin-bottom: .1em;&lt;br /&gt;
}&lt;br /&gt;
/* Tables */&lt;br /&gt;
table {&lt;br /&gt;
	font-size: 100%;&lt;br /&gt;
}&lt;br /&gt;
/* Forms */&lt;br /&gt;
fieldset {&lt;br /&gt;
	border: 1px solid #2f6fab;&lt;br /&gt;
	margin: 1em 0 1em 0;&lt;br /&gt;
	padding: 0 1em 1em;&lt;br /&gt;
	line-height: 1.5em;&lt;br /&gt;
}&lt;br /&gt;
	fieldset.nested {&lt;br /&gt;
		margin: 0 0 0.5em 0;&lt;br /&gt;
		padding: 0 0.5em 0.5em;&lt;br /&gt;
	}&lt;br /&gt;
legend {&lt;br /&gt;
	padding: .5em;&lt;br /&gt;
	font-size: 95%;&lt;br /&gt;
}&lt;br /&gt;
form {&lt;br /&gt;
	border: none;&lt;br /&gt;
	margin: 0;&lt;br /&gt;
}&lt;br /&gt;
textarea {&lt;br /&gt;
	width: 100%;&lt;br /&gt;
	padding: .1em;&lt;br /&gt;
}&lt;br /&gt;
select {&lt;br /&gt;
	vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
/* Table of Contents */&lt;br /&gt;
#toc,&lt;br /&gt;
.toc,&lt;br /&gt;
.mw-warning {&lt;br /&gt;
	border: 1px solid #aaa;&lt;br /&gt;
	background-color: #f9f9f9;&lt;br /&gt;
	padding: 5px;&lt;br /&gt;
	font-size: 95%;&lt;br /&gt;
}&lt;br /&gt;
#toc h2,&lt;br /&gt;
.toc h2 {&lt;br /&gt;
	display: inline;&lt;br /&gt;
	border: none;&lt;br /&gt;
	padding: 0;&lt;br /&gt;
	font-size: 100%;&lt;br /&gt;
	font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
#toc #toctitle,&lt;br /&gt;
.toc #toctitle,&lt;br /&gt;
#toc .toctitle,&lt;br /&gt;
.toc .toctitle {&lt;br /&gt;
	text-align: center;&lt;br /&gt;
}&lt;br /&gt;
#toc ul,&lt;br /&gt;
.toc ul {&lt;br /&gt;
	list-style-type: none;&lt;br /&gt;
	list-style-image: none;&lt;br /&gt;
	margin-left: 0;&lt;br /&gt;
	padding-left: 0;&lt;br /&gt;
	text-align: left;&lt;br /&gt;
}&lt;br /&gt;
#toc ul ul,&lt;br /&gt;
.toc ul ul {&lt;br /&gt;
	margin: 0 0 0 2em;&lt;br /&gt;
}&lt;br /&gt;
#toc .toctoggle,&lt;br /&gt;
.toc .toctoggle {&lt;br /&gt;
	font-size: 94%;&lt;br /&gt;
}&lt;br /&gt;
/* Images */&lt;br /&gt;
div.floatright, table.floatright {&lt;br /&gt;
	clear: right;&lt;br /&gt;
	float: right;&lt;br /&gt;
	position: relative;&lt;br /&gt;
	margin: 0 0 .5em .5em;&lt;br /&gt;
	border: 0;&lt;br /&gt;
}&lt;br /&gt;
div.floatright p { font-style: italic; }&lt;br /&gt;
div.floatleft, table.floatleft {&lt;br /&gt;
	float: left;&lt;br /&gt;
	clear: left;&lt;br /&gt;
	position: relative;&lt;br /&gt;
	margin: 0 .5em .5em 0;&lt;br /&gt;
	border: 0;&lt;br /&gt;
}&lt;br /&gt;
div.floatleft p { font-style: italic; }&lt;br /&gt;
/* Thumbnails */&lt;br /&gt;
div.thumb {&lt;br /&gt;
	margin-bottom: .5em;&lt;br /&gt;
	width: auto;&lt;br /&gt;
	background-color: transparent;&lt;br /&gt;
}&lt;br /&gt;
div.thumbinner {&lt;br /&gt;
	border: 1px solid #ccc;&lt;br /&gt;
	padding: 3px !important;&lt;br /&gt;
	background-color: #f9f9f9;&lt;br /&gt;
	font-size: 94%;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
	overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
html .thumbimage {&lt;br /&gt;
	border: 1px solid #ccc;&lt;br /&gt;
}&lt;br /&gt;
html .thumbcaption {&lt;br /&gt;
	border: none;&lt;br /&gt;
	text-align: left;&lt;br /&gt;
	line-height: 1.4em;&lt;br /&gt;
	padding: 3px !important;&lt;br /&gt;
	font-size: 94%;&lt;br /&gt;
}&lt;br /&gt;
div.magnify {&lt;br /&gt;
	float: right;&lt;br /&gt;
	border: none !important;&lt;br /&gt;
	background: none !important;&lt;br /&gt;
}&lt;br /&gt;
div.magnify a, div.magnify img {&lt;br /&gt;
	display: block;&lt;br /&gt;
	border: none !important;&lt;br /&gt;
	background: none !important;&lt;br /&gt;
}&lt;br /&gt;
/* @noflip */&lt;br /&gt;
div.tright {&lt;br /&gt;
	clear: right;&lt;br /&gt;
	float: right;&lt;br /&gt;
	margin: .5em 0 1.3em 1.4em;&lt;br /&gt;
}&lt;br /&gt;
/* @noflip */&lt;br /&gt;
div.tleft {&lt;br /&gt;
	float: left;&lt;br /&gt;
	clear: left;&lt;br /&gt;
	margin: .5em 1.4em 1.3em 0;&lt;br /&gt;
}&lt;br /&gt;
img.thumbborder {&lt;br /&gt;
	border: 1px solid #dddddd;&lt;br /&gt;
}&lt;br /&gt;
.hiddenStructure {&lt;br /&gt;
	display: none;&lt;br /&gt;
}&lt;br /&gt;
/* Warning */&lt;br /&gt;
.mw-warning {&lt;br /&gt;
	margin-left: 50px;&lt;br /&gt;
	margin-right: 50px;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
}&lt;br /&gt;
/* User Message */&lt;br /&gt;
.usermessage {&lt;br /&gt;
	background-color: #ffce7b;&lt;br /&gt;
	border: 1px solid #ffa500;&lt;br /&gt;
	color: black;&lt;br /&gt;
	font-weight: bold;&lt;br /&gt;
	margin: 2em 0 1em;&lt;br /&gt;
	padding: .5em 1em;&lt;br /&gt;
	vertical-align: middle;&lt;br /&gt;
}&lt;br /&gt;
/* Site Notice (includes notices from CentralNotice extension) */&lt;br /&gt;
#siteNotice {&lt;br /&gt;
	position: relative;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
	font-size: 0.8em;&lt;br /&gt;
	margin: 0;&lt;br /&gt;
}&lt;br /&gt;
#localNotice {&lt;br /&gt;
	margin-bottom: 0.9em;&lt;br /&gt;
}&lt;br /&gt;
/* Categories */&lt;br /&gt;
.catlinks {&lt;br /&gt;
	border: 1px solid #aaa;&lt;br /&gt;
	background-color: #f9f9f9;&lt;br /&gt;
	padding: 5px;&lt;br /&gt;
	margin-top: 1em;&lt;br /&gt;
	clear: both;&lt;br /&gt;
}&lt;br /&gt;
/* Sub-navigation */&lt;br /&gt;
#siteSub {&lt;br /&gt;
	display: none;&lt;br /&gt;
}&lt;br /&gt;
#jump-to-nav {&lt;br /&gt;
	display: none;&lt;br /&gt;
}&lt;br /&gt;
#contentSub, #contentSub2 {&lt;br /&gt;
	font-size: 84%;&lt;br /&gt;
	line-height: 1.2em;&lt;br /&gt;
	margin: 0 0 1.4em 1em;&lt;br /&gt;
	color: #7d7d7d;&lt;br /&gt;
	width: auto;&lt;br /&gt;
}&lt;br /&gt;
span.subpages {&lt;br /&gt;
	display: block;&lt;br /&gt;
}&lt;br /&gt;
/* Emulate Center */&lt;br /&gt;
.center {&lt;br /&gt;
	width: 100%;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
}&lt;br /&gt;
*.center * {&lt;br /&gt;
	margin-left: auto;&lt;br /&gt;
	margin-right: auto;&lt;br /&gt;
}&lt;br /&gt;
/* Small for tables and similar */&lt;br /&gt;
.small, .small * {&lt;br /&gt;
	font-size: 94%;&lt;br /&gt;
}&lt;br /&gt;
table.small {&lt;br /&gt;
	font-size: 100%;&lt;br /&gt;
}&lt;br /&gt;
/* Edge Cases for Content */&lt;br /&gt;
h1, h2 {&lt;br /&gt;
	margin-bottom: .6em;&lt;br /&gt;
}&lt;br /&gt;
h3, h4, h5 {&lt;br /&gt;
	margin-bottom: .3em;&lt;br /&gt;
}&lt;br /&gt;
#firstHeading {&lt;br /&gt;
	padding-top: 0;&lt;br /&gt;
	margin-top: 0;&lt;br /&gt;
	padding-top: 0;&lt;br /&gt;
	margin-bottom: 0.1em;&lt;br /&gt;
	line-height: 1.2em;&lt;br /&gt;
	font-size: 1.6em;&lt;br /&gt;
	padding-bottom: 0;&lt;br /&gt;
}&lt;br /&gt;
div#content a.external,&lt;br /&gt;
div#content a[href ^=&amp;quot;gopher://&amp;quot;] {&lt;br /&gt;
	/* @embed */&lt;br /&gt;
	background: url(images/external-link-ltr-icon.png) center right no-repeat;&lt;br /&gt;
	padding-right: 13px;&lt;br /&gt;
}&lt;br /&gt;
div#content a[href ^=&amp;quot;https://&amp;quot;],&lt;br /&gt;
.link-https {&lt;br /&gt;
	/* @embed */&lt;br /&gt;
	background: url(images/lock-icon.png) center right no-repeat;&lt;br /&gt;
	padding-right: 13px;&lt;br /&gt;
}&lt;br /&gt;
div#content a[href ^=&amp;quot;mailto:&amp;quot;],&lt;br /&gt;
.link-mailto {&lt;br /&gt;
	/* @embed */&lt;br /&gt;
	background: url(images/mail-icon.png) center right no-repeat;&lt;br /&gt;
	padding-right: 13px;&lt;br /&gt;
}&lt;br /&gt;
div#content a[href ^=&amp;quot;news://&amp;quot;] {&lt;br /&gt;
	/* @embed */&lt;br /&gt;
	background: url(images/news-icon.png) center right no-repeat;&lt;br /&gt;
	padding-right: 13px;&lt;br /&gt;
}&lt;br /&gt;
div#content a[href ^=&amp;quot;ftp://&amp;quot;],&lt;br /&gt;
.link-ftp {&lt;br /&gt;
	/* @embed */&lt;br /&gt;
	background: url(images/file-icon.png) center right no-repeat;&lt;br /&gt;
	padding-right: 13px;&lt;br /&gt;
}&lt;br /&gt;
div#content a[href ^=&amp;quot;irc://&amp;quot;],&lt;br /&gt;
div#content a.extiw[href ^=&amp;quot;irc://&amp;quot;],&lt;br /&gt;
.link-irc {&lt;br /&gt;
	/* @embed */&lt;br /&gt;
	background: url(images/talk-icon.png) center right no-repeat;&lt;br /&gt;
	padding-right: 13px;&lt;br /&gt;
}&lt;br /&gt;
div#content a.external[href $=&amp;quot;.ogg&amp;quot;], div#content a.external[href $=&amp;quot;.OGG&amp;quot;],&lt;br /&gt;
div#content a.external[href $=&amp;quot;.mid&amp;quot;], div#content a.external[href $=&amp;quot;.MID&amp;quot;],&lt;br /&gt;
div#content a.external[href $=&amp;quot;.midi&amp;quot;], div#content a.external[href $=&amp;quot;.MIDI&amp;quot;],&lt;br /&gt;
div#content a.external[href $=&amp;quot;.mp3&amp;quot;], div#content a.external[href $=&amp;quot;.MP3&amp;quot;],&lt;br /&gt;
div#content a.external[href $=&amp;quot;.wav&amp;quot;], div#content a.external[href $=&amp;quot;.WAV&amp;quot;],&lt;br /&gt;
div#content a.external[href $=&amp;quot;.wma&amp;quot;], div#content a.external[href $=&amp;quot;.WMA&amp;quot;],&lt;br /&gt;
.link-audio {&lt;br /&gt;
	/* @embed */&lt;br /&gt;
	background: url(&amp;quot;images/audio-icon.png?2&amp;quot;) center right no-repeat;&lt;br /&gt;
	padding-right: 13px;&lt;br /&gt;
}&lt;br /&gt;
div#content a.external[href $=&amp;quot;.ogm&amp;quot;], div#content a.external[href $=&amp;quot;.OGM&amp;quot;],&lt;br /&gt;
div#content a.external[href $=&amp;quot;.avi&amp;quot;], div#content a.external[href $=&amp;quot;.AVI&amp;quot;],&lt;br /&gt;
div#content a.external[href $=&amp;quot;.mpeg&amp;quot;], div#content a.external[href $=&amp;quot;.MPEG&amp;quot;],&lt;br /&gt;
div#content a.external[href $=&amp;quot;.mpg&amp;quot;], div#content a.external[href $=&amp;quot;.MPG&amp;quot;],&lt;br /&gt;
.link-video {&lt;br /&gt;
	/* @embed */&lt;br /&gt;
	background: url(&amp;quot;images/video-icon.png?2&amp;quot;) center right no-repeat;&lt;br /&gt;
	padding-right: 13px;&lt;br /&gt;
}&lt;br /&gt;
div#content a.external[href $=&amp;quot;.pdf&amp;quot;], div#content a.external[href $=&amp;quot;.PDF&amp;quot;],&lt;br /&gt;
div#content a.external[href *=&amp;quot;.pdf#&amp;quot;], div#content a.external[href *=&amp;quot;.PDF#&amp;quot;],&lt;br /&gt;
div#content a.external[href *=&amp;quot;.pdf?&amp;quot;], div#content a.external[href *=&amp;quot;.PDF?&amp;quot;],&lt;br /&gt;
.link-document {&lt;br /&gt;
	/* @embed */&lt;br /&gt;
	background: url(&amp;quot;images/document-icon.png?2&amp;quot;) center right no-repeat;&lt;br /&gt;
	padding-right: 13px;&lt;br /&gt;
}&lt;br /&gt;
/* Interwiki Styling  (Disabled) */&lt;br /&gt;
div#content a.extiw,&lt;br /&gt;
div#content a.extiw:active {&lt;br /&gt;
	color: #36b;&lt;br /&gt;
	background: none;&lt;br /&gt;
	padding: 0;&lt;br /&gt;
}&lt;br /&gt;
div#content a.external {&lt;br /&gt;
	color: #36b;&lt;br /&gt;
}&lt;br /&gt;
div#content .printfooter {&lt;br /&gt;
	display: none;&lt;br /&gt;
}&lt;br /&gt;
/* Icon for Usernames */&lt;br /&gt;
#pt-userpage,&lt;br /&gt;
#pt-anonuserpage,&lt;br /&gt;
#pt-login {&lt;br /&gt;
	/* @embed */&lt;br /&gt;
	background: url(images/user-icon.png) left top no-repeat;&lt;br /&gt;
	padding-left: 15px !important;&lt;br /&gt;
	text-transform: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.toccolours {&lt;br /&gt;
	border: 1px solid #aaa;&lt;br /&gt;
	background-color: #f9f9f9;&lt;br /&gt;
	padding: 5px;&lt;br /&gt;
	font-size: 95%;&lt;br /&gt;
}&lt;br /&gt;
#bodyContent {&lt;br /&gt;
	position: relative;&lt;br /&gt;
	width: 100%;&lt;br /&gt;
}&lt;br /&gt;
#mw-js-message {&lt;br /&gt;
	font-size: 0.8em;&lt;br /&gt;
}&lt;br /&gt;
div#bodyContent {&lt;br /&gt;
	line-height: 1.5em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Watch/Unwatch Icon Styling */&lt;br /&gt;
#ca-unwatch.icon,&lt;br /&gt;
#ca-watch.icon {&lt;br /&gt;
	margin-right:1px;&lt;br /&gt;
}&lt;br /&gt;
#ca-unwatch.icon a,&lt;br /&gt;
#ca-watch.icon a {&lt;br /&gt;
	margin: 0;&lt;br /&gt;
	padding: 0;&lt;br /&gt;
	outline: none;&lt;br /&gt;
	display: block;&lt;br /&gt;
	width: 26px;&lt;br /&gt;
	/* This hides the text but shows the background image */&lt;br /&gt;
	padding-top: 3.1em;&lt;br /&gt;
	margin-top: 0;&lt;br /&gt;
	/* Only applied in IE6 */&lt;br /&gt;
	margin-top: -0.8em !ie;&lt;br /&gt;
	height: 0;&lt;br /&gt;
	overflow: hidden;&lt;br /&gt;
	/* @embed */&lt;br /&gt;
	background-image: url(images/watch-icons.png);&lt;br /&gt;
}&lt;br /&gt;
#ca-unwatch.icon a {&lt;br /&gt;
	background-position: -43px 60%;&lt;br /&gt;
}&lt;br /&gt;
#ca-watch.icon a {&lt;br /&gt;
	background-position: 5px 60%;&lt;br /&gt;
}&lt;br /&gt;
#ca-unwatch.icon a:hover,&lt;br /&gt;
#ca-unwatch.icon a:focus {&lt;br /&gt;
	background-position: -67px 60%;&lt;br /&gt;
}&lt;br /&gt;
#ca-watch.icon a:hover,&lt;br /&gt;
#ca-watch.icon a:focus {&lt;br /&gt;
	background-position: -19px 60%;&lt;br /&gt;
}&lt;br /&gt;
#ca-unwatch.icon a.loading,&lt;br /&gt;
#ca-watch.icon a.loading {&lt;br /&gt;
	/* @embed */&lt;br /&gt;
	background-image: url(images/watch-icon-loading.gif);&lt;br /&gt;
	background-position: 5px 60%;&lt;br /&gt;
}&lt;br /&gt;
#ca-unwatch.icon a span,&lt;br /&gt;
#ca-watch.icon a span {&lt;br /&gt;
	display: none;&lt;br /&gt;
}&lt;br /&gt;
div.vectorTabs ul {&lt;br /&gt;
	/* @embed */&lt;br /&gt;
	background-image:url(images/tab-break.png);&lt;br /&gt;
	background-position:right bottom;&lt;br /&gt;
	background-repeat:no-repeat;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Convenience links to edit block, delete and protect reasons */&lt;br /&gt;
p.mw-ipb-conveniencelinks, p.mw-protect-editreasons,&lt;br /&gt;
p.mw-filedelete-editreasons, p.mw-delete-editreasons {&lt;br /&gt;
	float: right;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Tooltips are outside of the normal body code, so this helps make the size of the text sensible */&lt;br /&gt;
.tipsy {&lt;br /&gt;
	font-size: 0.8em;&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Gadgets-definition&amp;diff=9845</id>
		<title>MediaWiki:Gadgets-definition</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Gadgets-definition&amp;diff=9845"/>
				<updated>2017-06-15T13:25:34Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#Editing&lt;br /&gt;
* wikEd[ResourceLoader]|wikEd.js&lt;br /&gt;
* refToolbar[ResourceLoader|dependencies=user.options,mediawiki.legacy.wikibits]|refToolbar.js&lt;br /&gt;
* refToolbarBase[ResourceLoader|hidden]|refToolbarBase.js&lt;br /&gt;
* DotsSyntaxHighlighter[ResourceLoader|default|dependencies=jquery.client]|DotsSyntaxHighlighter.js&lt;br /&gt;
&lt;br /&gt;
#Interface&lt;br /&gt;
* exlinks[ResourceLoader]|exlinks.js&lt;br /&gt;
* purgeTab[ResourceLoader]|purgeTab.js&lt;br /&gt;
* citations[ResourceLoader]|citations.js&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Gadget-refToolbar.js&amp;diff=9839</id>
		<title>MediaWiki:Gadget-refToolbar.js</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Gadget-refToolbar.js&amp;diff=9839"/>
				<updated>2017-06-09T09:42:02Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: Adding TextTerm&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/**&lt;br /&gt;
 * RefToolbar&lt;br /&gt;
 *&lt;br /&gt;
 * Adds tools for citing references to the edit toolbar.&lt;br /&gt;
 * See [[Wikipedia:RefToolbar]] for further documentation. One of&lt;br /&gt;
 * three possible versions will load (Reftoolbar 2.0b, Reftoolbar 2.0a,&lt;br /&gt;
 * or Reftoolbar 1.0) depending on the user preferences (the&lt;br /&gt;
 * usebetatoolbar and usebetatoolbar-cgd parameters).&lt;br /&gt;
 *&lt;br /&gt;
 * @see: [[Wikipedia:RefToolbar]]&lt;br /&gt;
 * @see: [[MediaWiki:RefToolbar.js]]&lt;br /&gt;
 * @see: [[MediaWiki:RefToolbarConfig.js]]&lt;br /&gt;
 * @see: [[MediaWiki:RefToolbarLegacy.js]]&lt;br /&gt;
 * @see: [[MediaWiki:RefToolbarMessages-en.js]]&lt;br /&gt;
 * @see: [[MediaWiki:RefToolbarMessages-de.js]]&lt;br /&gt;
 * @see: [[MediaWiki:RefToolbarNoDialogs.js]]&lt;br /&gt;
 * @see: [[MediaWiki:Gadget-refToolbarBase.js]]&lt;br /&gt;
 * @author: [[User:Mr.Z-man]]&lt;br /&gt;
 * @author: [[User:Kaldari]]&lt;br /&gt;
 */&lt;br /&gt;
/*jshint browser: true, camelcase: true, curly: true, eqeqeq: true */&lt;br /&gt;
/*global jQuery, mediaWiki, importScript */&lt;br /&gt;
( function ( mw, $ ) {&lt;br /&gt;
'use strict';&lt;br /&gt;
function initializeRefTools() {&lt;br /&gt;
	if ( window.refToolbarInstalled || $( '#wpTextbox1[readonly]' ).length ){&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
        // using weak comparison because (&amp;quot;0&amp;quot;) is true, but (&amp;quot;0&amp;quot; == true) is false &lt;br /&gt;
	if ( mw.user.options.get( 'usebetatoolbar' ) == true ) {&lt;br /&gt;
		// Enhanced editing toolbar is on. Going to load RefToolbar 2.0a or 2.0b.&lt;br /&gt;
		if ( mw.user.options.get( 'usebetatoolbar-cgd' ) == true ) {&lt;br /&gt;
			// Dialogs are on. Loading 2.0b. (standard)&lt;br /&gt;
			// TODO:&lt;br /&gt;
			// * Explicitly declare global variables from [[MediaWiki:RefToolbar.js]] using window.*&lt;br /&gt;
			// * Move [[MediaWiki:RefToolbar.js]] to [[MediaWiki:Gadget-refToolbarDialogs.js]]&lt;br /&gt;
			// * Create the module 'ext.gadget.refToolbarDialogs' depending on 'ext.gadget.refToolbarBase' and 'ext.wikiEditor.toolbar'&lt;br /&gt;
			// * Replace the code below by mw.loader.load( 'ext.gadget.refToolbarDialogs' );&lt;br /&gt;
			mw.loader.using( [ 'ext.gadget.refToolbarBase', 'ext.wikiEditor.toolbar' ], function () {&lt;br /&gt;
				importScript( 'MediaWiki:RefToolbar.js' );&lt;br /&gt;
			} );&lt;br /&gt;
		} else {&lt;br /&gt;
			// Dialogs are off. Loading 2.0a.&lt;br /&gt;
			mw.loader.using( 'ext.wikiEditor.toolbar', function () {&lt;br /&gt;
				importScript( 'MediaWiki:RefToolbarNoDialogsTextTerm.js' );&lt;br /&gt;
			} );&lt;br /&gt;
		}&lt;br /&gt;
	} else if ( mw.user.options.get( 'showtoolbar' ) ) {&lt;br /&gt;
		// Enhanced editing toolbar is off. Loading RefToolbar 1.0. (legacy)&lt;br /&gt;
		importScript( 'MediaWiki:RefToolbarLegacy.js' );&lt;br /&gt;
	} else {&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
	window.refToolbarInstalled = true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if ( $.inArray( mw.config.get( 'wgAction' ), [ 'edit', 'submit' ] ) !== -1 ) {&lt;br /&gt;
	// Double check if user.options is loaded, to prevent errors when copy pasted accross installations&lt;br /&gt;
	$.when( mw.loader.using( ['user.options'] ), $.ready ).done( initializeRefTools );&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}( mediaWiki, jQuery ) );&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=MediaWiki:RefToolbarTextTerm.js&amp;diff=9857</id>
		<title>MediaWiki:RefToolbarTextTerm.js</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=MediaWiki:RefToolbarTextTerm.js&amp;diff=9857"/>
				<updated>2017-06-09T09:41:07Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: Identical to new RefToolbar.js&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*jshint smarttabs:true, loopfunc:true,forin:false*/&lt;br /&gt;
/*global mw, $, importScript */&lt;br /&gt;
// TODO: make autodate an option in the CiteTemplate object, not a preference&lt;br /&gt;
&lt;br /&gt;
// Global object&lt;br /&gt;
// TODO:&lt;br /&gt;
// * Remove this once the page is moved to a module 'ext.gadget.refToolbarDialogs' depending on 'ext.gadget.refToolbarBase'&lt;br /&gt;
if (typeof CiteTB === 'undefined') {&lt;br /&gt;
  var CiteTB = {&lt;br /&gt;
    &amp;quot;Templates&amp;quot; : {}, // All templates&lt;br /&gt;
    &amp;quot;Options&amp;quot; : {}, // Global options&lt;br /&gt;
    &amp;quot;UserOptions&amp;quot; : {}, // User options&lt;br /&gt;
    &amp;quot;DefaultOptions&amp;quot; : {}, // Script defaults&lt;br /&gt;
    &amp;quot;ErrorChecks&amp;quot; : {} // Error check functions&lt;br /&gt;
  };&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Only execute on edit, unless it is a user JS/CSS page&lt;br /&gt;
// TODO: Remove tests already done by [[MediaWiki:Gadget-refToolbar.js]]&lt;br /&gt;
if (&lt;br /&gt;
	( mw.config.get('wgAction') === 'edit' || mw.config.get('wgAction') === 'submit' ) &amp;amp;&amp;amp;&lt;br /&gt;
	( ( mw.config.get('wgNamespaceNumber') !== 2 &amp;amp;&amp;amp; mw.config.get('wgNamespaceNumber') !== 4 ) ||&lt;br /&gt;
	( mw.config.get('wgPageName').indexOf('.js') === -1 &amp;amp;&amp;amp; mw.config.get('wgPageName').indexOf('.css') === -1 ) )&lt;br /&gt;
) {&lt;br /&gt;
&lt;br /&gt;
// TODO: Move this to [[MediaWiki:Gadget-refToolbarDialogs.css]] and add it to the definition of module 'ext.gadget.refToolbarDialogs'&lt;br /&gt;
mw.util.addCSS(&amp;quot;.cite-form-td {&amp;quot;+&lt;br /&gt;
&amp;quot;height: 0 !important;&amp;quot;+&lt;br /&gt;
&amp;quot;padding: 0.1em !important;&amp;quot;+&lt;br /&gt;
&amp;quot;}&amp;quot;);  &lt;br /&gt;
&lt;br /&gt;
// Default options, these mainly exist so the script won't break if a new option is added&lt;br /&gt;
CiteTB.DefaultOptions = {&lt;br /&gt;
  &amp;quot;date format&amp;quot; : &amp;quot;&amp;lt;year&amp;gt;-&amp;lt;zmonth&amp;gt;-&amp;lt;zdate&amp;gt;&amp;quot;,&lt;br /&gt;
  &amp;quot;autodate fields&amp;quot; : [],&lt;br /&gt;
  &amp;quot;months&amp;quot; : ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],&lt;br /&gt;
  &amp;quot;modal&amp;quot; : true,&lt;br /&gt;
  &amp;quot;autoparse&amp;quot; : false,&lt;br /&gt;
  &amp;quot;expandtemplates&amp;quot;: false&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Get an option - user settings override global which override defaults&lt;br /&gt;
CiteTB.getOption = function(opt) {&lt;br /&gt;
  if (CiteTB.UserOptions[opt] !== undefined) {&lt;br /&gt;
    return CiteTB.UserOptions[opt];&lt;br /&gt;
  } else if (CiteTB.Options[opt] !== undefined) {&lt;br /&gt;
    return CiteTB.Options[opt];&lt;br /&gt;
  }&lt;br /&gt;
  return CiteTB.DefaultOptions[opt];&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
CiteTB.init = function() {&lt;br /&gt;
  /* Main stuff, build the actual toolbar structure&lt;br /&gt;
   * 1. get the template list, make the dropdown list and set up the template dialog boxes&lt;br /&gt;
   * 2. actually build the toolbar:&lt;br /&gt;
   *    * A section for cites&lt;br /&gt;
   *    ** dropdown for the templates (previously defined)&lt;br /&gt;
   *    ** button for named refs with a dialog box&lt;br /&gt;
   *    ** button for errorcheck&lt;br /&gt;
   * 3. add the whole thing to the main toolbar&lt;br /&gt;
  */&lt;br /&gt;
&lt;br /&gt;
  if (typeof $('div[rel=cites]')[0] !== 'undefined') { // Mystery IE bug workaround&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
  $('head').trigger('reftoolbarbase');&lt;br /&gt;
  var $target = $('#wpTextbox1');&lt;br /&gt;
  var temlist = {};&lt;br /&gt;
  for (var t in CiteTB.Templates) {&lt;br /&gt;
    var tem = CiteTB.Templates[t];&lt;br /&gt;
    var sform = CiteTB.escStr(tem.shortform);&lt;br /&gt;
    var actionobj = { &lt;br /&gt;
      type: 'dialog',&lt;br /&gt;
      module: 'cite-dialog-'+sform&lt;br /&gt;
    };&lt;br /&gt;
    var dialogobj = {};&lt;br /&gt;
    dialogobj['cite-dialog-'+sform] = {&lt;br /&gt;
      resizeme: false,&lt;br /&gt;
      titleMsg: 'cite-dialog-'+sform, &lt;br /&gt;
      id: 'citetoolbar-'+sform,&lt;br /&gt;
      init: function() {}, &lt;br /&gt;
      html: tem.getInitial(), &lt;br /&gt;
      dialog: {&lt;br /&gt;
        width:675,&lt;br /&gt;
        open: function() { &lt;br /&gt;
          $(this).html(CiteTB.getOpenTemplate().getForm());&lt;br /&gt;
          /** @param {jQuery.Event} e */&lt;br /&gt;
          $('.cite-prev-parse').bind( 'click', function ( e ) {&lt;br /&gt;
            e.preventDefault();&lt;br /&gt;
            CiteTB.prevParseClick();&lt;br /&gt;
          });&lt;br /&gt;
        },&lt;br /&gt;
        buttons: {&lt;br /&gt;
          'cite-form-submit': function() {&lt;br /&gt;
            var ref = CiteTB.getRef(false, true);&lt;br /&gt;
            $(this).dialog( 'close' );&lt;br /&gt;
            $.wikiEditor.modules.toolbar.fn.doAction( $(this).data( 'context' ), {&lt;br /&gt;
              type: 'encapsulate',&lt;br /&gt;
              options: {&lt;br /&gt;
                post: ref&lt;br /&gt;
              }&lt;br /&gt;
            }, $(this) );&lt;br /&gt;
          },&lt;br /&gt;
          'cite-form-showhide': CiteTB.showHideExtra,&lt;br /&gt;
          'cite-refpreview': function() {   &lt;br /&gt;
            var ref = CiteTB.getRef(false, false);&lt;br /&gt;
            var template = CiteTB.getOpenTemplate();&lt;br /&gt;
            var div = $(&amp;quot;#citetoolbar-&amp;quot;+CiteTB.escStr(template.shortform));&lt;br /&gt;
            div.find('.cite-preview-label').show();&lt;br /&gt;
            div.find('.cite-ref-preview').text(ref).show();&lt;br /&gt;
            if (CiteTB.getOption('autoparse')) {&lt;br /&gt;
              CiteTB.prevParseClick();&lt;br /&gt;
            } else {&lt;br /&gt;
              div.find('.cite-prev-parse').show();&lt;br /&gt;
              div.find('.cite-prev-parsed-label').hide();&lt;br /&gt;
              div.find('.cite-preview-parsed').html('');&lt;br /&gt;
            }         &lt;br /&gt;
          },&lt;br /&gt;
          'wikieditor-toolbar-tool-link-cancel': function() {&lt;br /&gt;
            $(this).dialog( 'close' );&lt;br /&gt;
          },&lt;br /&gt;
          'cite-form-reset': function() {&lt;br /&gt;
            CiteTB.resetForm();&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
      } &lt;br /&gt;
    };&lt;br /&gt;
    $target.wikiEditor('addDialog', dialogobj);&lt;br /&gt;
    //if (!CiteTB.getOption('modal')) {&lt;br /&gt;
      //$('#citetoolbar-'+sform).dialog('option', 'modal', false);&lt;br /&gt;
    //}&lt;br /&gt;
    temlist[sform] = {label: tem.templatename, action: actionobj };  &lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  var refsection =  {&lt;br /&gt;
    'sections': {&lt;br /&gt;
      'cites': { &lt;br /&gt;
        type: 'toolbar', &lt;br /&gt;
        labelMsg: 'cite-section-label',&lt;br /&gt;
        groups: { &lt;br /&gt;
          'template': {&lt;br /&gt;
            tools: {&lt;br /&gt;
              'template': {&lt;br /&gt;
                type: 'select',&lt;br /&gt;
                labelMsg: 'cite-template-list',&lt;br /&gt;
                list: temlist&lt;br /&gt;
              } &lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          'namedrefs': {&lt;br /&gt;
            labelMsg: 'cite-named-refs-label',&lt;br /&gt;
            tools: {&lt;br /&gt;
              'nrefs': {&lt;br /&gt;
                type: 'button',&lt;br /&gt;
                action: {&lt;br /&gt;
                  type: 'dialog',&lt;br /&gt;
                  module: 'cite-toolbar-namedrefs'&lt;br /&gt;
                },&lt;br /&gt;
                icon: '//upload.wikimedia.org/wikipedia/commons/thumb/b/be/Nuvola_clipboard_lined.svg/22px-Nuvola_clipboard_lined.svg.png',&lt;br /&gt;
                section: 'cites',&lt;br /&gt;
                group: 'namedrefs',&lt;br /&gt;
                labelMsg: 'cite-named-refs-button'&lt;br /&gt;
              }&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          'errorcheck': {&lt;br /&gt;
            labelMsg: 'cite-errorcheck-label',&lt;br /&gt;
            tools: {&lt;br /&gt;
              'echeck': {&lt;br /&gt;
                type: 'button',&lt;br /&gt;
                action: {&lt;br /&gt;
                  type: 'dialog',&lt;br /&gt;
                  module: 'cite-toolbar-errorcheck'           &lt;br /&gt;
                },&lt;br /&gt;
                icon: '//upload.wikimedia.org/wikipedia/commons/thumb/a/a3/Nuvola_apps_korganizer-NO.png/22px-Nuvola_apps_korganizer-NO.png',&lt;br /&gt;
                section: 'cites',&lt;br /&gt;
                group: 'errorcheck',&lt;br /&gt;
                labelMsg: 'cite-errorcheck-button'&lt;br /&gt;
              }&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
        } &lt;br /&gt;
      } &lt;br /&gt;
    } &lt;br /&gt;
  };&lt;br /&gt;
  &lt;br /&gt;
  var defaultdialogs = { &lt;br /&gt;
    'cite-toolbar-errorcheck': {&lt;br /&gt;
      titleMsg: 'cite-errorcheck-label',&lt;br /&gt;
      id: 'citetoolbar-errorcheck',&lt;br /&gt;
      resizeme: false,&lt;br /&gt;
      init: function() {},&lt;br /&gt;
      html: '&amp;lt;div id=&amp;quot;cite-namedref-loading&amp;quot;&amp;gt;'+&lt;br /&gt;
        '&amp;lt;img src=&amp;quot;//upload.wikimedia.org/wikipedia/commons/4/42/Loading.gif&amp;quot; /&amp;gt;'+&lt;br /&gt;
        '&amp;amp;nbsp;'+mw.usability.getMsg('cite-loading')+'&amp;lt;/div&amp;gt;',&lt;br /&gt;
      dialog: {&lt;br /&gt;
        width:550,&lt;br /&gt;
        open: function() { &lt;br /&gt;
          CiteTB.loadRefs();&lt;br /&gt;
        },&lt;br /&gt;
        buttons: {&lt;br /&gt;
          'cite-errorcheck-submit': function() {&lt;br /&gt;
            var errorchecks = $(&amp;quot;input[name='cite-err-test']:checked&amp;quot;);&lt;br /&gt;
            var errors = [];&lt;br /&gt;
            for (var i=0; i&amp;lt;errorchecks.length; i++) {&lt;br /&gt;
              errors = errors.concat(CiteTB.ErrorChecks[$(errorchecks[i]).val()].run());&lt;br /&gt;
            }&lt;br /&gt;
            CiteTB.displayErrors(errors);&lt;br /&gt;
            $(this).dialog( 'close' );                      &lt;br /&gt;
          },&lt;br /&gt;
          'wikieditor-toolbar-tool-link-cancel': function() {&lt;br /&gt;
            $(this).dialog( 'close' );&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    'cite-toolbar-namedrefs': {&lt;br /&gt;
      titleMsg: 'cite-named-refs-title',&lt;br /&gt;
      resizeme: false,&lt;br /&gt;
      id: 'citetoolbar-namedrefs',&lt;br /&gt;
      html: '&amp;lt;div id=&amp;quot;cite-namedref-loading&amp;quot;&amp;gt;'+&lt;br /&gt;
        '&amp;lt;img src=&amp;quot;//upload.wikimedia.org/wikipedia/commons/4/42/Loading.gif&amp;quot; /&amp;gt;'+&lt;br /&gt;
        '&amp;amp;nbsp;'+mw.usability.getMsg('cite-loading')+'&amp;lt;/div&amp;gt;',&lt;br /&gt;
      init: function() {},&lt;br /&gt;
      dialog: {&lt;br /&gt;
        width: 550,&lt;br /&gt;
        open: function() { &lt;br /&gt;
          CiteTB.loadRefs();&lt;br /&gt;
        },&lt;br /&gt;
        buttons: {&lt;br /&gt;
          'cite-form-submit': function() {&lt;br /&gt;
            var refname = $(&amp;quot;#cite-namedref-select&amp;quot;).val();&lt;br /&gt;
            if (refname === '') {&lt;br /&gt;
              return;&lt;br /&gt;
            }&lt;br /&gt;
            $(this).dialog( 'close' );&lt;br /&gt;
            $.wikiEditor.modules.toolbar.fn.doAction( $(this).data( 'context' ), {&lt;br /&gt;
              type: 'encapsulate',&lt;br /&gt;
              options: {&lt;br /&gt;
                post: CiteTB.getNamedRef(refname, true)&lt;br /&gt;
              }&lt;br /&gt;
            }, $(this) );&lt;br /&gt;
          },&lt;br /&gt;
          'wikieditor-toolbar-tool-link-cancel': function() {&lt;br /&gt;
            $(this).dialog( 'close' );&lt;br /&gt;
          }                   &lt;br /&gt;
        }&lt;br /&gt;
      }      &lt;br /&gt;
    }&lt;br /&gt;
  };&lt;br /&gt;
  &lt;br /&gt;
  $target.wikiEditor('addDialog', defaultdialogs);&lt;br /&gt;
  $('#citetoolbar-namedrefs').unbind('dialogopen');&lt;br /&gt;
  if (!CiteTB.getOption('modal')) {&lt;br /&gt;
    //$('#citetoolbar-namedrefs').dialog('option', 'modal', false);&lt;br /&gt;
    //$('#citetoolbar-errorcheck').dialog('option', 'modal', false);&lt;br /&gt;
    mw.util.addCSS(&amp;quot;.ui-widget-overlay {&amp;quot;+&lt;br /&gt;
    &amp;quot;display:none !important;&amp;quot;+&lt;br /&gt;
    &amp;quot;}&amp;quot;);  &lt;br /&gt;
  }&lt;br /&gt;
  $target.wikiEditor('addToToolbar', refsection);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Load local data - messages, cite templates, etc.&lt;br /&gt;
$(document).ready( function() {&lt;br /&gt;
  switch( mw.config.get('wgUserLanguage') ) {&lt;br /&gt;
    case 'de': // German&lt;br /&gt;
      importScript('MediaWiki:RefToolbarMessages-de.js');&lt;br /&gt;
      break;&lt;br /&gt;
    default: // English&lt;br /&gt;
      importScript('MediaWiki:RefToolbarMessages-en.js');&lt;br /&gt;
  }&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// Setup the main object&lt;br /&gt;
CiteTB.mainRefList = [];&lt;br /&gt;
CiteTB.refsLoaded = false;&lt;br /&gt;
&lt;br /&gt;
// REF FUNCTIONS&lt;br /&gt;
// Actually assemble a ref from user input&lt;br /&gt;
CiteTB.getRef = function(inneronly, forinsert) {&lt;br /&gt;
  var i;&lt;br /&gt;
  var template = CiteTB.getOpenTemplate();&lt;br /&gt;
  var templatename = template.templatename;&lt;br /&gt;
  var res = '';&lt;br /&gt;
  var refobj = {'shorttag':false};&lt;br /&gt;
  if (!inneronly) {&lt;br /&gt;
    var group = $('#cite-'+CiteTB.escStr(template.shortform)+'-group').val();&lt;br /&gt;
    var refname = $('#cite-'+CiteTB.escStr(template.shortform)+'-name').val();&lt;br /&gt;
    res += '&amp;lt;ref';&lt;br /&gt;
    if (refname) {&lt;br /&gt;
      refname = $.trim(refname);&lt;br /&gt;
      res+=' name='+CiteTB.getQuotedString(refname);&lt;br /&gt;
      refobj.refname = refname;&lt;br /&gt;
    }&lt;br /&gt;
    if (group) {&lt;br /&gt;
      group = $.trim(group);&lt;br /&gt;
      res+=' group='+CiteTB.getQuotedString(group);&lt;br /&gt;
      refobj.refgroup = group;&lt;br /&gt;
    }&lt;br /&gt;
    res+='&amp;gt;';&lt;br /&gt;
  }&lt;br /&gt;
  var content ='{{'+templatename;&lt;br /&gt;
  for( g in template.incrementables ) {&lt;br /&gt;
  	group = template.incrementables[g];&lt;br /&gt;
  	for (i=1; i&amp;lt;=group.val; i++) {&lt;br /&gt;
		for (j=0; j&amp;lt;group.fields.length; j++) {&lt;br /&gt;
  			var fieldname = group.fields[j].field;&lt;br /&gt;
  			var fieldid = fieldname.replace('&amp;lt;N&amp;gt;', i.toString());&lt;br /&gt;
  			var field = $('#cite-'+CiteTB.escStr(template.shortform)+'-'+fieldid).val();&lt;br /&gt;
  			if (field) {&lt;br /&gt;
  				content+='|'+fieldid+'=';&lt;br /&gt;
  				content+= $.trim(field);&lt;br /&gt;
  			}&lt;br /&gt;
  		}&lt;br /&gt;
  	}&lt;br /&gt;
  }&lt;br /&gt;
  for( i=0; i&amp;lt;template.basic.length; i++ ) {&lt;br /&gt;
  	if (template.basic[i].increment_group) {&lt;br /&gt;
  		continue;&lt;br /&gt;
  	}&lt;br /&gt;
    var fieldname = template.basic[i].field;&lt;br /&gt;
    var field = $('#cite-'+CiteTB.escStr(template.shortform)+'-'+fieldname).val();&lt;br /&gt;
    if (field) {&lt;br /&gt;
      content+='|'+fieldname+'=';&lt;br /&gt;
      content+= $.trim(field);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  if ($('#cite-form-status').val() !== 'closed') {&lt;br /&gt;
    for( i=0; i&amp;lt;template.extra.length; i++ ) {&lt;br /&gt;
      if (template.extra[i].increment_group) {&lt;br /&gt;
        continue;&lt;br /&gt;
      }&lt;br /&gt;
      var fieldname = template.extra[i].field;&lt;br /&gt;
      var field = $('#cite-'+CiteTB.escStr(template.shortform)+'-'+fieldname).val();&lt;br /&gt;
      if (field) {&lt;br /&gt;
        content+='|'+fieldname+'=';&lt;br /&gt;
        content+= $.trim(field);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  content+= '}}';&lt;br /&gt;
  res+=content;&lt;br /&gt;
  refobj.content = content;&lt;br /&gt;
  if (!inneronly) {&lt;br /&gt;
    res+= '&amp;lt;/ref&amp;gt;';&lt;br /&gt;
  }&lt;br /&gt;
  if (forinsert) {&lt;br /&gt;
    CiteTB.mainRefList.push(refobj);&lt;br /&gt;
  }&lt;br /&gt;
  return res;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Make a reference to a named ref&lt;br /&gt;
CiteTB.getNamedRef = function(refname, forinsert) {&lt;br /&gt;
  if (forinsert) {&lt;br /&gt;
    CiteTB.mainRefList.push( {'shorttag':true, 'refname':refname} );&lt;br /&gt;
  }&lt;br /&gt;
  return '&amp;lt;ref name='+CiteTB.getQuotedString(refname)+' /&amp;gt;';  &lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Function to load the ref list&lt;br /&gt;
CiteTB.loadRefs = function() {&lt;br /&gt;
  if (CiteTB.refsLoaded) {&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
  CiteTB.getPageText(CiteTB.loadRefsInternal);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Function that actually loads the list from the page text&lt;br /&gt;
CiteTB.loadRefsInternal = function(text) { &lt;br /&gt;
  // What this does:             extract first name/group                                     extract second name/group                                          shorttag   inner content&lt;br /&gt;
  var refsregex = /&amp;lt; *ref(?: +(name|group) *= *(?:&amp;quot;([^&amp;quot;]*?)&amp;quot;|'([^']*?)'|([^ '&amp;quot;\/\&amp;gt;]*?)) *)? *(?: +(name|group) *= *(?:&amp;quot;([^&amp;quot;]*?)&amp;quot;|'([^']*?)'|([^ '&amp;quot;\/\&amp;gt;]*?)) *)? *(?:\/ *&amp;gt;|&amp;gt;((?:.|\n)*?)&amp;lt; *\/ *ref *&amp;gt;)/gim;&lt;br /&gt;
  // This should work regardless of the quoting used for names/groups and for linebreaks in the inner content  &lt;br /&gt;
  while (true) {&lt;br /&gt;
    var ref = refsregex.exec(text);&lt;br /&gt;
    if (ref === null) {&lt;br /&gt;
      break;&lt;br /&gt;
    }&lt;br /&gt;
    var refobj = {};&lt;br /&gt;
    if (ref[9]) { // Content + short tag check&lt;br /&gt;
      //alert('&amp;quot;'+ref[9]+'&amp;quot;');&lt;br /&gt;
      refobj.content = ref[9]; &lt;br /&gt;
      refobj.shorttag = false;&lt;br /&gt;
    } else {&lt;br /&gt;
      refobj.shorttag = true;&lt;br /&gt;
    }&lt;br /&gt;
    if (ref[1] !== '') { // First name/group&lt;br /&gt;
      if (ref[2]) {&lt;br /&gt;
        refobj['ref'+ref[1]] = ref[2];&lt;br /&gt;
      } else if (ref[3]) {&lt;br /&gt;
        refobj['ref'+ref[1]] = ref[3];&lt;br /&gt;
      } else {&lt;br /&gt;
        refobj['ref'+ref[1]] = ref[4];&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    if (ref[5] !== '') { // Second name/group&lt;br /&gt;
      if (ref[6]) {&lt;br /&gt;
        refobj['ref'+ref[5]] = ref[6];&lt;br /&gt;
      } else if (ref[7]) {&lt;br /&gt;
        refobj['ref'+ref[5]] = ref[7];&lt;br /&gt;
      } else {&lt;br /&gt;
        refobj['ref'+ref[5]] = ref[8];&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    CiteTB.mainRefList.push(refobj);&lt;br /&gt;
  }&lt;br /&gt;
  CiteTB.refsLoaded = true;&lt;br /&gt;
  CiteTB.setupErrorCheck();&lt;br /&gt;
  CiteTB.setupNamedRefs();&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// AJAX FUNCTIONS&lt;br /&gt;
// Parse some wikitext and hand it off to a callback function&lt;br /&gt;
CiteTB.parse = function(text, callback) {&lt;br /&gt;
  $.post( mw.util.wikiScript( 'api' ),&lt;br /&gt;
    {action:'parse', title:mw.config.get('wgPageName'), text:text, prop:'text', format:'json'},&lt;br /&gt;
    function(data) {&lt;br /&gt;
      var html = data.parse.text['*'];&lt;br /&gt;
      callback(html);&lt;br /&gt;
    },&lt;br /&gt;
    'json'&lt;br /&gt;
  );  &lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Use the API to expand templates on some text&lt;br /&gt;
CiteTB.expandtemplates = function(text, callback) {&lt;br /&gt;
  $.post( mw.util.wikiScript( 'api' ),&lt;br /&gt;
    {action:'expandtemplates', title:mw.config.get('wgPageName'), text:text, format:'json'},&lt;br /&gt;
    function(data) {&lt;br /&gt;
      var restext = data.expandtemplates['*'];&lt;br /&gt;
      callback(restext);&lt;br /&gt;
    },&lt;br /&gt;
    'json'&lt;br /&gt;
  );&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Function to get the page text&lt;br /&gt;
CiteTB.getPageText = function(callback) {&lt;br /&gt;
  var section = $(&amp;quot;input[name='wpSection']&amp;quot;).val();&lt;br /&gt;
  if ( section !== '' ) {&lt;br /&gt;
    var postdata = {action:'query', prop:'revisions', rvprop:'content', pageids:mw.config.get('wgArticleId'), format:'json'};&lt;br /&gt;
    if (CiteTB.getOption('expandtemplates')) {&lt;br /&gt;
      postdata.rvexpandtemplates = '1';&lt;br /&gt;
    }&lt;br /&gt;
    $.get( mw.util.wikiScript( 'api' ),&lt;br /&gt;
      postdata,&lt;br /&gt;
      function(data) {&lt;br /&gt;
        var pagetext = data.query.pages[mw.config.get('wgArticleId').toString()].revisions[0]['*'];&lt;br /&gt;
        callback(pagetext);&lt;br /&gt;
      },&lt;br /&gt;
      'json'&lt;br /&gt;
    );&lt;br /&gt;
  } else {&lt;br /&gt;
    if (CiteTB.getOption('expandtemplates')) {&lt;br /&gt;
      CiteTB.expandtemplates($('#wpTextbox1').wikiEditor('getContents').text(), callback);&lt;br /&gt;
    } else {&lt;br /&gt;
      callback($('#wpTextbox1').wikiEditor('getContents').text());&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Autofill a template from an ID (ISBN, DOI, PMID, URL)&lt;br /&gt;
CiteTB.initAutofill = function() {&lt;br /&gt;
  var elemid = $(this).attr('id');&lt;br /&gt;
  var res = /^cite\-auto\-(.*?)\-(.*)\-(.*)$/.exec(elemid);&lt;br /&gt;
  var tem = res[1];&lt;br /&gt;
  var field = res[2];&lt;br /&gt;
  var autotype = res[3];&lt;br /&gt;
  var id = $('#cite-'+tem+'-'+field).val();&lt;br /&gt;
  if (!id) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  var url = '//tools.wmflabs.org/reftoolbar/lookup.php?';&lt;br /&gt;
  url+=autotype+'='+encodeURIComponent(id);&lt;br /&gt;
  url+='&amp;amp;template='+encodeURIComponent(tem);&lt;br /&gt;
  var s = document.createElement('script');&lt;br /&gt;
  s.setAttribute('src', url);&lt;br /&gt;
  s.setAttribute('type', 'text/javascript');&lt;br /&gt;
  document.getElementsByTagName('head')[0].appendChild(s);&lt;br /&gt;
  return false;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Callback for autofill&lt;br /&gt;
//TODO: Autofill the URL, at least for DOI&lt;br /&gt;
CiteTB.autoFill = function(data, template, type) {&lt;br /&gt;
  var cl = 'cite-'+template+'-';&lt;br /&gt;
  var i,j, coauthors;&lt;br /&gt;
  $('.'+cl+'title').val(data.title);&lt;br /&gt;
  // Fill in authors&lt;br /&gt;
  if (data.authors &amp;amp;&amp;amp; data.authors.length &amp;gt; 0) {&lt;br /&gt;
	  if ($('.'+cl+'last-incr-1').length != 0) {&lt;br /&gt;
		var classes = $('.'+cl+'last-incr-1').eq(0).attr('class').split(/\s+/);&lt;br /&gt;
		var group = false;&lt;br /&gt;
		var patt = /cite-[^-]*?-incr-(.*)/&lt;br /&gt;
		for (var c=0; c&amp;lt;classes.length; c++) {&lt;br /&gt;
			if (patt.exec(classes[c])) {&lt;br /&gt;
				group = patt.exec(classes[c])[1];&lt;br /&gt;
				break;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		$('.'+cl+'last-incr-1').val(data.authors[0][0])&lt;br /&gt;
		$('.'+cl+'first-incr-1').val(data.authors[0][1])&lt;br /&gt;
		elemid = '#cite-incr-'+template+'-'+group;&lt;br /&gt;
		for (var i=2; i&amp;lt;data.authors.length+1; i++) {&lt;br /&gt;
			$(elemid).click();&lt;br /&gt;
			$('.'+cl+'last-incr-'+i.toString()).val(data.authors[i-1][0])&lt;br /&gt;
			$('.'+cl+'first-incr-'+i.toString()).val(data.authors[i-1][1])&lt;br /&gt;
		}&lt;br /&gt;
	  } else if ($('.'+cl+'author-incr-1').length != 0) {&lt;br /&gt;
		var classes = $('.'+cl+'author-incr-1').eq(0).attr('class').split(/\s+/);&lt;br /&gt;
		var group = false;&lt;br /&gt;
		var patt = /cite-[^-]*?-incr-(.*)/&lt;br /&gt;
		for (var c=0; c&amp;lt;classes.length; c++) {&lt;br /&gt;
			if (patt.exec(classes[c])) {&lt;br /&gt;
				group = patt.exec(classes[c])[1];&lt;br /&gt;
				break;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		$('.'+cl+'author-incr-1').val(data.authors[0].join(', '))&lt;br /&gt;
		elemid = '#cite-incr-'+template+'-'+group;&lt;br /&gt;
		for (var i=2; i&amp;lt;data.authors.length+1; i++) {&lt;br /&gt;
			$(elemid).click();&lt;br /&gt;
			$('.'+cl+'author-incr-'+i.toString()).val(data.authors[i-1].join(', '))&lt;br /&gt;
		}&lt;br /&gt;
	  } else if ($('.'+cl+'last1').length != 0) {&lt;br /&gt;
		for(i=0; data.authors &amp;amp;&amp;amp; i&amp;lt;data.authors.length; i++) {&lt;br /&gt;
		  if ($('.'+cl+'last'+(i+1)).length) {&lt;br /&gt;
			 $('.'+cl+'last'+(i+1)).val(data.authors[i][0]);&lt;br /&gt;
			 $('.'+cl+'first'+(i+1)).val(data.authors[i][1]);&lt;br /&gt;
		  } else {&lt;br /&gt;
			coauthors = [];&lt;br /&gt;
			for(j=i; j&amp;lt;data.authors.length; j++) {&lt;br /&gt;
			  coauthors.push(data.authors[j].join(', '));&lt;br /&gt;
			}&lt;br /&gt;
			$('.'+cl+'coauthors').val(coauthors.join('; '));&lt;br /&gt;
			break;&lt;br /&gt;
		  }&lt;br /&gt;
		}&lt;br /&gt;
	  } else if($('.'+cl+'author1').length !== 0) {&lt;br /&gt;
		for(i=0; data.authors &amp;amp;&amp;amp; i&amp;lt;data.authors.length; i++) {&lt;br /&gt;
		  if ($('.'+cl+'author'+(i+1)).length) {&lt;br /&gt;
			 $('.'+cl+'author'+(i+1)).val(data.authors[i].join(', '));&lt;br /&gt;
		  } else {&lt;br /&gt;
			coauthors = [];&lt;br /&gt;
			for(j=i; j&amp;lt;data.authors.length; j++) {&lt;br /&gt;
			  coauthors.push(data.authors[j].join(', '));&lt;br /&gt;
			}&lt;br /&gt;
			$('.'+cl+'coauthors').val(coauthors.join('; '));&lt;br /&gt;
			break;&lt;br /&gt;
		  }&lt;br /&gt;
		}&lt;br /&gt;
	  } else {&lt;br /&gt;
		var authors = [];&lt;br /&gt;
		for(i=0; data.authors &amp;amp;&amp;amp; i&amp;lt;data.authors.length; i++) {&lt;br /&gt;
		  authors.push(data.authors[i].join(', '));&lt;br /&gt;
		}&lt;br /&gt;
		$('.'+cl+'authors').val(authors.join('; '));&lt;br /&gt;
	  }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (type === 'pmid' || type === 'doi') {&lt;br /&gt;
    if (data.date &amp;amp;&amp;amp; (data.fulldate || !$('.'+cl+'month').length)) {&lt;br /&gt;
      var DT = new Date(data.date);&lt;br /&gt;
      var useday = /\d{4}-\d{2}-\d{2}/.test(data.date);&lt;br /&gt;
      var usemonth = /\d{4}-\d{2}/.test(data.date);&lt;br /&gt;
      $('.'+cl+'date').val(CiteTB.formatDate(DT, useday, usemonth));&lt;br /&gt;
    } else if (!data.fulldate &amp;amp;&amp;amp; $('.'+cl+'month').length &amp;amp;&amp;amp; $('.'+cl+'year').length) {&lt;br /&gt;
      if (data.month) { // lookup.php sets month to false if it isn't provided&lt;br /&gt;
        $('.'+cl+'month').val( CiteTB.getOption('months')[parseInt(data.month)-1] );&lt;br /&gt;
      }&lt;br /&gt;
      $('.'+cl+'year').val(data.year);&lt;br /&gt;
    } else {&lt;br /&gt;
      $('.'+cl+'date').val(data.date);&lt;br /&gt;
    }&lt;br /&gt;
    $('.'+cl+'journal').val(data.journal);&lt;br /&gt;
    $('.'+cl+'volume').val(data.volume);&lt;br /&gt;
    $('.'+cl+'issue').val(data.issue);&lt;br /&gt;
    $('.'+cl+'pages').val(data.pages);&lt;br /&gt;
  } else if (type === 'isbn') {&lt;br /&gt;
    $('.'+cl+'publisher').val(data.publisher);&lt;br /&gt;
    $('.'+cl+'location').val(data.location);&lt;br /&gt;
    $('.'+cl+'year').val(data.year);&lt;br /&gt;
    $('.'+cl+'edition').val(data.edition);&lt;br /&gt;
  } else if (type === 'url') {&lt;br /&gt;
    if (data.date) {&lt;br /&gt;
  	  var DT = new Date(data.date);&lt;br /&gt;
      var useday = /\d{4}-\d{2}-\d{2}/.test(data.date) &amp;amp;&amp;amp; template !== 'book';&lt;br /&gt;
      var usemonth = /\d{4}-\d{2}/.test(data.date) &amp;amp;&amp;amp; template !== 'book';&lt;br /&gt;
      var yearOrDate = (template === 'book') ? 'year' : 'date';&lt;br /&gt;
      $('.'+cl+yearOrDate).val(CiteTB.formatDate(DT, useday, usemonth));&lt;br /&gt;
    }&lt;br /&gt;
    $('.'+cl+'journal').val(data.journal);&lt;br /&gt;
    $('.'+cl+'volume').val(data.volume);&lt;br /&gt;
    $('.'+cl+'issue').val(data.issue);&lt;br /&gt;
    $('.'+cl+'pages').val(data.pages);&lt;br /&gt;
    $('.'+cl+'publisher').val(data.publisher);&lt;br /&gt;
    $('.'+cl+'edition').val(data.edition);&lt;br /&gt;
    $('.'+cl+'isbn').val(data.isbn);&lt;br /&gt;
    $('.'+cl+'issn').val(data.issn);&lt;br /&gt;
    $('.'+cl+'doi').val(data.doi);&lt;br /&gt;
    // &amp;quot;en-US&amp;quot; isn't a valid value for the language parameter&lt;br /&gt;
    if (data.language &amp;amp;&amp;amp; data.language !== 'en-US' &amp;amp;&amp;amp; data.language !== 'en-GB') {&lt;br /&gt;
    	$('.'+cl+'language').val(data.language);&lt;br /&gt;
    }&lt;br /&gt;
    $('.'+cl+'chapter').val(data.chapter);&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// FORM DIALOG FUNCTIONS&lt;br /&gt;
// Add new incrementable fields&lt;br /&gt;
CiteTB.incrementFields = function() {&lt;br /&gt;
	template = CiteTB.getOpenTemplate();&lt;br /&gt;
	var currentrow = $(this).parents('tr')[0];&lt;br /&gt;
	$(this).prev().css('width', '100%')&lt;br /&gt;
	$(this).detach();&lt;br /&gt;
	var elemid = $(this).attr('id');&lt;br /&gt;
	var res = /^cite\-incr\-(.*?)\-(.*)$/.exec(elemid);&lt;br /&gt;
	group = res[2];&lt;br /&gt;
	increments = template.incrementables[group];&lt;br /&gt;
	fields = increments.fields;&lt;br /&gt;
	incrval = increments.val+1;&lt;br /&gt;
	template.incrementables[group].val += 1;&lt;br /&gt;
	trs = template.makeFormInner(fields, false);&lt;br /&gt;
	trs.reverse();&lt;br /&gt;
	for (var i=0; i&amp;lt;trs.length; i++) {&lt;br /&gt;
		$(currentrow).after(trs[i]);&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// fill the accessdate param with the current date&lt;br /&gt;
CiteTB.fillAccessdate = function() {&lt;br /&gt;
  var elemid = $(this).attr('id');&lt;br /&gt;
  var res = /^cite\-date\-(.*?)\-(.*)$/.exec(elemid);&lt;br /&gt;
  var id = res[1];&lt;br /&gt;
  var field = res[2];&lt;br /&gt;
  var DT = new Date();&lt;br /&gt;
  var datestr = CiteTB.formatDate(DT);&lt;br /&gt;
  $('#cite-'+id+'-'+field).val(datestr);&lt;br /&gt;
  return false;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
CiteTB.formatDate = function(DT, useday, usemonth) {&lt;br /&gt;
  if (typeof useday == &amp;quot;undefined&amp;quot;) {&lt;br /&gt;
    useday = true;	&lt;br /&gt;
  }&lt;br /&gt;
  if (typeof usemonth == &amp;quot;undefined&amp;quot;) {&lt;br /&gt;
    usemonth = true;	&lt;br /&gt;
  }&lt;br /&gt;
  var datestr = CiteTB.getOption('date format');&lt;br /&gt;
  var zmonth = '';&lt;br /&gt;
  var month = DT.getUTCMonth()+1;&lt;br /&gt;
  if (month &amp;lt; 10) {&lt;br /&gt;
    zmonth = &amp;quot;0&amp;quot;+month.toString();&lt;br /&gt;
  } else {&lt;br /&gt;
    zmonth = month.toString();&lt;br /&gt;
  }&lt;br /&gt;
  month = month.toString();&lt;br /&gt;
  var zdate = '';&lt;br /&gt;
  var date = DT.getUTCDate();&lt;br /&gt;
  if (date &amp;lt; 10) {&lt;br /&gt;
    zdate = &amp;quot;0&amp;quot;+date.toString();&lt;br /&gt;
  } else {&lt;br /&gt;
    zdate = date.toString();&lt;br /&gt;
  }&lt;br /&gt;
  date = date.toString();&lt;br /&gt;
  if (useday) {&lt;br /&gt;
    datestr = datestr.replace('&amp;lt;date&amp;gt;', date);&lt;br /&gt;
    datestr = datestr.replace('&amp;lt;zdate&amp;gt;', zdate);&lt;br /&gt;
  } else {&lt;br /&gt;
    datestr = datestr.replace('&amp;lt;date&amp;gt;', '');&lt;br /&gt;
    datestr = datestr.replace('&amp;lt;zdate&amp;gt;', '');&lt;br /&gt;
  }&lt;br /&gt;
  if (usemonth) {&lt;br /&gt;
    datestr = datestr.replace('&amp;lt;month&amp;gt;', month);&lt;br /&gt;
    datestr = datestr.replace('&amp;lt;zmonth&amp;gt;', zmonth);&lt;br /&gt;
    datestr = datestr.replace('&amp;lt;monthname&amp;gt;', CiteTB.getOption('months')[DT.getUTCMonth()]);&lt;br /&gt;
  } else {&lt;br /&gt;
    datestr = datestr.replace('&amp;lt;month&amp;gt;', '');&lt;br /&gt;
    datestr = datestr.replace('&amp;lt;zmonth&amp;gt;', '');&lt;br /&gt;
    datestr = datestr.replace('&amp;lt;monthname&amp;gt;', '');&lt;br /&gt;
  }  &lt;br /&gt;
  datestr = datestr.replace('&amp;lt;year&amp;gt;', DT.getUTCFullYear().toString());&lt;br /&gt;
  return datestr.replace(/^[ \/\-\,\.]*(.*?)[ \/\-\,\.]*$/g, &amp;quot;$1&amp;quot;); // Cleanup any dangling spaces or connectors that might result from omitting date/month&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Function called after the ref list is loaded, to actually set the contents of the named ref dialog&lt;br /&gt;
// Until the list is loaded, its just a &amp;quot;Loading&amp;quot; placeholder&lt;br /&gt;
CiteTB.setupNamedRefs = function() {&lt;br /&gt;
  var names = [], i;&lt;br /&gt;
  for( i=0; i&amp;lt;CiteTB.mainRefList.length; i++) {&lt;br /&gt;
    if (!CiteTB.mainRefList[i].shorttag &amp;amp;&amp;amp; CiteTB.mainRefList[i].refname) {&lt;br /&gt;
      names.push(CiteTB.mainRefList[i]);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  var stuff = $('&amp;lt;div&amp;gt;');&lt;br /&gt;
  $('#citetoolbar-namedrefs').html( stuff );&lt;br /&gt;
  if (names.length === 0) {&lt;br /&gt;
    stuff.html(mw.usability.getMsg('cite-no-namedrefs'));&lt;br /&gt;
  } else {&lt;br /&gt;
    stuff.html(mw.usability.getMsg('cite-namedrefs-intro'));&lt;br /&gt;
    var select = $('&amp;lt;select id=&amp;quot;cite-namedref-select&amp;quot;&amp;gt;');&lt;br /&gt;
    select.append($('&amp;lt;option value=&amp;quot;&amp;quot; /&amp;gt;').text(mw.usability.getMsg('cite-named-refs-dropdown')));&lt;br /&gt;
    for(i=0; i&amp;lt;names.length; i++) {&lt;br /&gt;
      select.append($('&amp;lt;option /&amp;gt;').text(names[i].refname));&lt;br /&gt;
    }&lt;br /&gt;
    stuff.after(select);&lt;br /&gt;
    select.before('&amp;lt;br /&amp;gt;');      &lt;br /&gt;
    var prevlabel = $('&amp;lt;div id=&amp;quot;cite-nref-preview-label&amp;quot; style=&amp;quot;display:none;&amp;quot; /&amp;gt;').html(mw.usability.getMsg('cite-raw-preview'));&lt;br /&gt;
    select.after(prevlabel);&lt;br /&gt;
    prevlabel.before(&amp;quot;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;quot;);&lt;br /&gt;
    prevlabel.after('&amp;lt;div id=&amp;quot;cite-namedref-preview&amp;quot; style=&amp;quot;padding:0.5em; font-size:110%&amp;quot; /&amp;gt;');&lt;br /&gt;
    var parselabel = $('&amp;lt;span id=&amp;quot;cite-parsed-label&amp;quot; style=&amp;quot;display:none;&amp;quot; /&amp;gt;').html(mw.usability.getMsg('cite-parsed-label'));&lt;br /&gt;
    $('#cite-namedref-preview').after(parselabel);&lt;br /&gt;
    parselabel.after('&amp;lt;div id=&amp;quot;cite-namedref-parsed&amp;quot; style=&amp;quot;padding-bottom:0.5em; font-size:110%&amp;quot; /&amp;gt;');&lt;br /&gt;
    var link = $('&amp;lt;a href=&amp;quot;#&amp;quot; id=&amp;quot;cite-nref-parse&amp;quot; style=&amp;quot;margin:0 1em 0 1em; display:none; color:darkblue&amp;quot; /&amp;gt;');&lt;br /&gt;
    link.html(mw.usability.getMsg('cite-form-parse'));&lt;br /&gt;
    $('#cite-namedref-parsed').after(link);&lt;br /&gt;
    &lt;br /&gt;
    $(&amp;quot;#cite-namedref-select&amp;quot;).bind( 'change', CiteTB.namedRefSelectClick);&lt;br /&gt;
    $('#cite-nref-parse').bind( 'click', CiteTB.nrefParseClick);&lt;br /&gt;
  }      &lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Function to get the errorcheck form HTML&lt;br /&gt;
CiteTB.setupErrorCheck = function() {&lt;br /&gt;
  var form = $('&amp;lt;div id=&amp;quot;cite-errorcheck-heading&amp;quot; /&amp;gt;').html(mw.usability.getMsg('cite-errorcheck-heading'));&lt;br /&gt;
  var ul = $(&amp;quot;&amp;lt;ul id='cite-errcheck-list' /&amp;gt;&amp;quot;);&lt;br /&gt;
  var test;&lt;br /&gt;
  for (var t in CiteTB.ErrorChecks) {&lt;br /&gt;
    test = CiteTB.ErrorChecks[t];&lt;br /&gt;
    ul.append(test.getRow());&lt;br /&gt;
  }&lt;br /&gt;
  form.append(ul);&lt;br /&gt;
  $('#citetoolbar-errorcheck').html(form);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Callback function for parsed preview&lt;br /&gt;
CiteTB.fillNrefPreview = function(parsed) {&lt;br /&gt;
  $('#cite-parsed-label').show();&lt;br /&gt;
  $('#cite-namedref-parsed').html(parsed);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Click handler for the named-ref parsed preview&lt;br /&gt;
CiteTB.nrefParseClick = function() {&lt;br /&gt;
  var choice = $(&amp;quot;#cite-namedref-select&amp;quot;).val();&lt;br /&gt;
  if (choice === '') {&lt;br /&gt;
    $('#cite-parsed-label').hide();&lt;br /&gt;
    $('#cite-namedref-parsed').text('');&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  $('#cite-nref-parse').hide();&lt;br /&gt;
  for( var i=0; i&amp;lt;CiteTB.mainRefList.length; i++) {&lt;br /&gt;
    if (!CiteTB.mainRefList[i].shorttag &amp;amp;&amp;amp; CiteTB.mainRefList[i].refname == choice) {&lt;br /&gt;
      CiteTB.parse(CiteTB.mainRefList[i].content, CiteTB.fillNrefPreview);&lt;br /&gt;
      return false;&lt;br /&gt;
    }&lt;br /&gt;
  }  &lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Click handler for the named-ref dropdown&lt;br /&gt;
CiteTB.lastnamedrefchoice = '';&lt;br /&gt;
CiteTB.namedRefSelectClick = function() {&lt;br /&gt;
  var choice = $(&amp;quot;#cite-namedref-select&amp;quot;).val();&lt;br /&gt;
  if (CiteTB.lastnamedrefchoice == choice) {&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
  CiteTB.lastnamedrefchoice = choice;&lt;br /&gt;
  $('#cite-parsed-label').hide();&lt;br /&gt;
  $('#cite-namedref-parsed').text('');&lt;br /&gt;
  if (choice === '') {&lt;br /&gt;
    $('#cite-nref-preview-label').hide();&lt;br /&gt;
    $('#cite-namedref-preview').text('');&lt;br /&gt;
    $('#cite-nref-parse').hide();&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
  for( var i=0; i&amp;lt;CiteTB.mainRefList.length; i++) {&lt;br /&gt;
    if (!CiteTB.mainRefList[i].shorttag &amp;amp;&amp;amp; CiteTB.mainRefList[i].refname == choice) {&lt;br /&gt;
      $('#cite-nref-preview-label').show();&lt;br /&gt;
      $('#cite-namedref-preview').text(CiteTB.mainRefList[i].content);&lt;br /&gt;
      if (CiteTB.getOption('autoparse')) {&lt;br /&gt;
        CiteTB.nrefParseClick();&lt;br /&gt;
      } else {&lt;br /&gt;
        $('#cite-nref-parse').show();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// callback function for parsed preview&lt;br /&gt;
CiteTB.fillTemplatePreview = function(text) {&lt;br /&gt;
  var template = CiteTB.getOpenTemplate();&lt;br /&gt;
  var div = $(&amp;quot;#citetoolbar-&amp;quot;+CiteTB.escStr(template.shortform));&lt;br /&gt;
  div.find('.cite-prev-parsed-label').show();&lt;br /&gt;
  div.find('.cite-preview-parsed').html(text);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Click handler for template parsed preview&lt;br /&gt;
CiteTB.prevParseClick = function() {&lt;br /&gt;
  var ref = CiteTB.getRef(true, false);&lt;br /&gt;
  var template = CiteTB.getOpenTemplate();&lt;br /&gt;
  var div = $(&amp;quot;#citetoolbar-&amp;quot;+CiteTB.escStr(template.shortform));&lt;br /&gt;
  div.find('.cite-prev-parse').hide();&lt;br /&gt;
  CiteTB.parse(ref, CiteTB.fillTemplatePreview);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Show/hide the extra fields in the dialog box&lt;br /&gt;
CiteTB.showHideExtra = function() {&lt;br /&gt;
  var template = CiteTB.getOpenTemplate();&lt;br /&gt;
  var div = $(&amp;quot;#citetoolbar-&amp;quot;+CiteTB.escStr(template.shortform));&lt;br /&gt;
  var setting = div.find(&amp;quot;.cite-form-status&amp;quot;).val();&lt;br /&gt;
  if ( setting === 'closed' ) {&lt;br /&gt;
    div.find(&amp;quot;.cite-form-status&amp;quot;).val('open');&lt;br /&gt;
    div.find('.cite-extra-fields').show(1, function() {&lt;br /&gt;
      // jQuery adds &amp;quot;display:block&amp;quot;, which screws things up&lt;br /&gt;
      div.find('.cite-extra-fields').attr('style', 'width:100%; background-color:transparent;'); &lt;br /&gt;
    });&lt;br /&gt;
  } else {&lt;br /&gt;
    div.find(&amp;quot;.cite-form-status&amp;quot;).val('closed');&lt;br /&gt;
    div.find('.cite-extra-fields').hide();&lt;br /&gt;
  } &lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Resets form fields and previews&lt;br /&gt;
// Resets form fields and previews&lt;br /&gt;
CiteTB.resetForm = function() {&lt;br /&gt;
  var template = CiteTB.getOpenTemplate();&lt;br /&gt;
  var div = $(&amp;quot;#citetoolbar-&amp;quot;+CiteTB.escStr(template.shortform));&lt;br /&gt;
  div.html(template.getForm());&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// STRING UTILITY FUNCTIONS&lt;br /&gt;
// Returns a string quoted as necessary for name/group attributes&lt;br /&gt;
CiteTB.getQuotedString = function(s) {&lt;br /&gt;
  var sq = /\'/.test(s); // single quotes&lt;br /&gt;
  var dq = /\&amp;quot;/.test(s); // double quotes&lt;br /&gt;
  if (!sq &amp;amp;&amp;amp; !dq) { // Always quotes for non-latin alphabet&lt;br /&gt;
    return '&amp;quot;'+s+'&amp;quot;';&lt;br /&gt;
  } else if (!dq) { // Can use double quotes&lt;br /&gt;
    return '&amp;quot;'+s+'&amp;quot;';&lt;br /&gt;
  } else if (!sq) { // Can use single quotes&lt;br /&gt;
    return &amp;quot;'&amp;quot;+s+&amp;quot;'&amp;quot;;&lt;br /&gt;
  } else { // Has double and single quotes&lt;br /&gt;
    s = s.replace(/\&amp;quot;/g, '\'');&lt;br /&gt;
    return '&amp;quot;'+s+'&amp;quot;';&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Fix up strings for output - capitalize first char, replace underscores with spaces&lt;br /&gt;
CiteTB.fixStr = function(s) {&lt;br /&gt;
  s = s.slice(0,1).toUpperCase() + s.slice(1);&lt;br /&gt;
  s = s.replace('_',' ');&lt;br /&gt;
  return s;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Escape spaces and quotes for use in HTML classes/ids&lt;br /&gt;
CiteTB.escStr = function(s) {&lt;br /&gt;
  return s.replace(' ', '-').replace(&amp;quot;'&amp;quot;, &amp;quot;\'&amp;quot;).replace('&amp;quot;', '\&amp;quot;');&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// MISC FUNCTIONS&lt;br /&gt;
// Determine which template form is open, and get the template object for it&lt;br /&gt;
CiteTB.getOpenTemplate = function() {&lt;br /&gt;
  var dialogs = $(&amp;quot;.ui-dialog-content.ui-widget-content:visible&amp;quot;);&lt;br /&gt;
  var templatename = $(dialogs[0]).find(&amp;quot;.cite-template&amp;quot;).val();&lt;br /&gt;
  return CiteTB.Templates[templatename];&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Display the report for the error checks&lt;br /&gt;
CiteTB.displayErrors = function(errors) {&lt;br /&gt;
  $('#cite-err-report').remove();&lt;br /&gt;
  var table = $('&amp;lt;table id=&amp;quot;cite-err-report&amp;quot; style=&amp;quot;width:100%; border:1px solid #A9A9A9; background-color:#FFEFD5; padding:0.25em; margin-top:0.5em&amp;quot; /&amp;gt;');&lt;br /&gt;
  $('#editpage-copywarn').before(table);&lt;br /&gt;
  var tr;&lt;br /&gt;
  var tr1 = $('&amp;lt;tr style=&amp;quot;width:100%&amp;quot; /&amp;gt;');&lt;br /&gt;
  var th1 = $('&amp;lt;th style=&amp;quot;width:60%; font-size:110%&amp;quot; /&amp;gt;').html(mw.usability.getMsg('cite-err-report-heading'));&lt;br /&gt;
  var th2 = $('&amp;lt;th style=&amp;quot;text-align:right; width:40%&amp;quot; /&amp;gt;');&lt;br /&gt;
  var im = $('&amp;lt;img /&amp;gt;').attr('src', '//upload.wikimedia.org/wikipedia/commons/thumb/5/55/Gtk-stop.svg/20px-Gtk-stop.svg.png');&lt;br /&gt;
  im.attr('alt', mw.usability.getMsg('cite-err-report-close')).attr('title', mw.usability.getMsg('cite-err-report-close'));&lt;br /&gt;
  var ad = $('&amp;lt;a id=&amp;quot;cite-err-check-close&amp;quot; /&amp;gt;').attr('href', '#');&lt;br /&gt;
  ad.append(im);&lt;br /&gt;
  th2.append(ad);&lt;br /&gt;
  tr1.append(th1).append(th2);&lt;br /&gt;
  table.append(tr1);&lt;br /&gt;
  $('#cite-err-check-close').bind('click', function() {  $('#cite-err-report').remove(); });&lt;br /&gt;
  if (errors.length === 0) {&lt;br /&gt;
    tr = $('&amp;lt;tr style=&amp;quot;width:100%;&amp;quot; /&amp;gt;');&lt;br /&gt;
    var td = $('&amp;lt;td style=&amp;quot;text-align:center; margin:1.5px;&amp;quot; /&amp;gt;').html(mw.usability.getMsg('cite-err-report-empty'));&lt;br /&gt;
    tr.append(td);&lt;br /&gt;
    table.append(tr);&lt;br /&gt;
    &lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
  for(var e in errors) {&lt;br /&gt;
    var err = errors[e];&lt;br /&gt;
    tr = $('&amp;lt;tr style=&amp;quot;width:100%;&amp;quot; /&amp;gt;');&lt;br /&gt;
    var td1 = $('&amp;lt;td style=&amp;quot;border: 1px solid black; margin:1.5px; width:60%&amp;quot; /&amp;gt;').html(err.err);&lt;br /&gt;
    var td2 = $('&amp;lt;td style=&amp;quot;border: 1px solid black; margin:1.5px; width:40%&amp;quot; /&amp;gt;').html(mw.usability.getMsg(err.msg));&lt;br /&gt;
    tr.append(td1).append(td2);&lt;br /&gt;
    table.append(tr);&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
   &lt;br /&gt;
} // End of code loaded only on edit&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=MediaWiki:RefToolbarNoDialogsTextTerm.js&amp;diff=9837</id>
		<title>MediaWiki:RefToolbarNoDialogsTextTerm.js</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=MediaWiki:RefToolbarNoDialogsTextTerm.js&amp;diff=9837"/>
				<updated>2017-06-09T09:28:43Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: New mw28 version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;var numforms = 0;&lt;br /&gt;
var wikEdAutoUpdateUrl;&lt;br /&gt;
function refbuttons() {&lt;br /&gt;
  if (mw.toolbar &amp;amp;&amp;amp; (document.getElementById('toolbar') || document.getElementById('wikiEditor-section-main'))/* &amp;amp;&amp;amp; wikEdAutoUpdateUrl == null*/) {&lt;br /&gt;
    if (document.getElementById('toolbar')) {&lt;br /&gt;
      button = document.createElement('a');&lt;br /&gt;
      button.href = &amp;quot;javascript:easyCiteMain()&amp;quot;;&lt;br /&gt;
      button.title = &amp;quot;Insert citation&amp;quot;;&lt;br /&gt;
      buttonimage = document.createElement('img');&lt;br /&gt;
      buttonimage.src = &amp;quot;//upload.wikimedia.org/wikipedia/commons/0/00/Button_easy_cite_%281%29.png&amp;quot;;&lt;br /&gt;
      buttonimage.alt = &amp;quot;Insert footnote&amp;quot;;&lt;br /&gt;
      button.appendChild(buttonimage);&lt;br /&gt;
      document.getElementById('toolbar').appendChild(button);&lt;br /&gt;
    } else {&lt;br /&gt;
      button = document.createElement('a');&lt;br /&gt;
      button.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
      button.title = &amp;quot;Insert citation&amp;quot;;&lt;br /&gt;
      button.id = 'reftoolbar-button';&lt;br /&gt;
      buttonimage = document.createElement('img');&lt;br /&gt;
      buttonimage.src = &amp;quot;//upload.wikimedia.org/wikipedia/commons/thumb/9/9a/Curly_Brackets.svg/22px-Curly_Brackets.svg.png&amp;quot;;&lt;br /&gt;
      buttonimage.alt = &amp;quot;Insert citation&amp;quot;;&lt;br /&gt;
      button.classname = &amp;quot;tool tool-button&amp;quot;;&lt;br /&gt;
      buttonimage.style.width = &amp;quot;22px&amp;quot;;&lt;br /&gt;
      buttonimage.style.height = &amp;quot;17px&amp;quot;;&lt;br /&gt;
      buttonimage.style.paddingTop = &amp;quot;5px&amp;quot;;&lt;br /&gt;
      buttonimage.style.paddingLeft = &amp;quot;3px&amp;quot;;&lt;br /&gt;
      button.appendChild(buttonimage);&lt;br /&gt;
      //document.getElementById('wikiEditor-ui-toolbar').childNodes[0].childNodes[1].appendChild(button);&lt;br /&gt;
      ////document.getElementById('reftoolbar-button').onclick = easyCiteMain;&lt;br /&gt;
      //$j('#reftoolbar-button').live('click', function() { easyCiteMain(); });&lt;br /&gt;
      $('#wikiEditor-section-main .group-insert').append( button );&lt;br /&gt;
      $(button).click( function() { easyCiteMain(); });&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
    if (navigator.userAgent.indexOf('MSIE') == -1) {&lt;br /&gt;
      //alert(&amp;quot;NO MSIE&amp;quot;);&lt;br /&gt;
      citemain = document.createElement('div');&lt;br /&gt;
      citemain.style.display = 'none';&lt;br /&gt;
      citemain.setAttribute('Id', 'citeselect');&lt;br /&gt;
      citemain.appendChild( addOption(&amp;quot;citeWeb()&amp;quot;, &amp;quot;Cite web&amp;quot;) );&lt;br /&gt;
      citemain.appendChild( addOption(&amp;quot;citeBook()&amp;quot;, &amp;quot;Cite book&amp;quot;) );&lt;br /&gt;
      citemain.appendChild( addOption(&amp;quot;citeJournal()&amp;quot;, &amp;quot;Cite journal&amp;quot;) );&lt;br /&gt;
      citemain.appendChild( addOption(&amp;quot;citeNews()&amp;quot;, &amp;quot;Cite news&amp;quot;) );&lt;br /&gt;
      citemain.appendChild( addOption(&amp;quot;citeNamedRef()&amp;quot;, &amp;quot;Named ref&amp;quot;) );&lt;br /&gt;
      citemain.appendChild( addOption(&amp;quot;dispErrors()&amp;quot;, &amp;quot;Error check&amp;quot;) );&lt;br /&gt;
      citemain.appendChild( addOption(&amp;quot;hideInitial()&amp;quot;, &amp;quot;Cancel&amp;quot;) );&lt;br /&gt;
      citemain.appendChild( addOption(&amp;quot;textTerm()&amp;quot;, &amp;quot;TextTerm&amp;quot;) );&lt;br /&gt;
      document.getElementById('wpTextbox1').parentNode.insertBefore(citemain, document.getElementById('wpTextbox1'));&lt;br /&gt;
    }&lt;br /&gt;
    else {&lt;br /&gt;
      selection = '&amp;lt;div id=&amp;quot;citeselect&amp;quot; style=&amp;quot;display:none&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;Cite web&amp;quot; onclick=&amp;quot;citeWeb()&amp;quot; /&amp;gt;'+&lt;br /&gt;
	'&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;Cite book&amp;quot; onclick=&amp;quot;citeBook()&amp;quot; /&amp;gt;'+&lt;br /&gt;
	'&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;Cite journal&amp;quot; onclick=&amp;quot;citeJournal()&amp;quot; /&amp;gt;'+&lt;br /&gt;
	'&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;Cite news&amp;quot; onclick=&amp;quot;citeNews()&amp;quot; /&amp;gt;'+&lt;br /&gt;
	'&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;Named ref&amp;quot; onclick=&amp;quot;citeNamedRef()&amp;quot; /&amp;gt;'+&lt;br /&gt;
	'&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;Error check&amp;quot; onclick=&amp;quot;dispErrors()&amp;quot; /&amp;gt;'+&lt;br /&gt;
	'&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;Cancel&amp;quot; onclick=&amp;quot;hideInitial()&amp;quot; /&amp;gt;'+&lt;br /&gt;
	'&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;TextTerm&amp;quot; onclick=&amp;quot;textTerm()&amp;quot; /&amp;gt;&amp;lt;/div&amp;gt;';&lt;br /&gt;
      document.getElementById('editform').innerHTML = selection + document.getElementById('editform').innerHTML;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addOption(script, text) {&lt;br /&gt;
  option = document.createElement('input');&lt;br /&gt;
  option.setAttribute('type', 'button');&lt;br /&gt;
  option.setAttribute('onclick', script);&lt;br /&gt;
  option.setAttribute(&amp;quot;value&amp;quot;, text);&lt;br /&gt;
  return option;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function hideInitial() {&lt;br /&gt;
  document.getElementById('citeselect').style.display = 'none';&lt;br /&gt;
  oldFormHide();&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function oldFormHide() {&lt;br /&gt;
  if (numforms != 0) {&lt;br /&gt;
    document.getElementById('citediv'+numforms).style.display = 'none';&lt;br /&gt;
  }&lt;br /&gt;
  if (document.getElementById('errorform') != null) {&lt;br /&gt;
    document.getElementById('citeselect').removeChild(document.getElementById('errorform'));&lt;br /&gt;
  }&lt;br /&gt;
} &lt;br /&gt;
 &lt;br /&gt;
function easyCiteMain() {&lt;br /&gt;
  document.getElementById('citeselect').style.display = '';&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
var months = ['January', 'February', 'March', 'April', 'May', 'June',&lt;br /&gt;
  'July', 'August', 'September', 'October', 'November', 'December'];&lt;br /&gt;
var citeGlobalDateFormat = &amp;quot;&amp;lt;date&amp;gt; &amp;lt;monthname&amp;gt; &amp;lt;year&amp;gt;&amp;quot;;&lt;br /&gt;
function getTime() {&lt;br /&gt;
  var datestr = '';&lt;br /&gt;
  if (typeof citeUserDateFormat != 'undefined') {&lt;br /&gt;
    datestr = citeUserDateFormat;&lt;br /&gt;
  } else {&lt;br /&gt;
    datestr = citeGlobalDateFormat;&lt;br /&gt;
  }&lt;br /&gt;
  var DT = new Date();&lt;br /&gt;
  var zmonth = '';&lt;br /&gt;
  var month = DT.getUTCMonth()+1;&lt;br /&gt;
  if (month &amp;lt; 10) {&lt;br /&gt;
    zmonth = &amp;quot;0&amp;quot;+month.toString();&lt;br /&gt;
  } else {&lt;br /&gt;
    zmonth = month.toString();&lt;br /&gt;
  }&lt;br /&gt;
  month = month.toString();&lt;br /&gt;
  var zdate = '';&lt;br /&gt;
  var date = DT.getUTCDate()&lt;br /&gt;
  if (date &amp;lt; 10) {&lt;br /&gt;
    zdate = &amp;quot;0&amp;quot;+date.toString();&lt;br /&gt;
  } else {&lt;br /&gt;
    zdate = date.toString();&lt;br /&gt;
  }&lt;br /&gt;
  date = date.toString()&lt;br /&gt;
  datestr = datestr.replace('&amp;lt;date&amp;gt;', date);&lt;br /&gt;
  datestr = datestr.replace('&amp;lt;month&amp;gt;', month);&lt;br /&gt;
  datestr = datestr.replace('&amp;lt;zdate&amp;gt;', zdate);&lt;br /&gt;
  datestr = datestr.replace('&amp;lt;zmonth&amp;gt;', zmonth);&lt;br /&gt;
  datestr = datestr.replace('&amp;lt;monthname&amp;gt;', months[DT.getUTCMonth()]);&lt;br /&gt;
  datestr = datestr.replace('&amp;lt;year&amp;gt;', DT.getUTCFullYear().toString());&lt;br /&gt;
  return (datestr);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function citeWeb() {&lt;br /&gt;
  citeNewsWeb(&amp;quot;cite web&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
function citeNews() {&lt;br /&gt;
  citeNewsWeb(&amp;quot;cite news&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function textTerm() {&lt;br /&gt;
  textTermf();&lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
var texttermall = new Array();&lt;br /&gt;
var texttermcur = new Array();&lt;br /&gt;
var textterminput = new Array();&lt;br /&gt;
var poffset=null, prange=null, noffset=null, nrange=null;&lt;br /&gt;
var section = '';&lt;br /&gt;
var subnote = '';&lt;br /&gt;
&lt;br /&gt;
function textTermf() {&lt;br /&gt;
  textTermform(null,null);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function nexttextterm() {&lt;br /&gt;
  //console.log(&amp;quot;nexttexterm before noffset :&amp;quot; + noffset + &amp;quot; nrange=&amp;quot; + nrange);&lt;br /&gt;
  savetextterms(); // Save if changed&lt;br /&gt;
  if(noffset){ // If there is a next&lt;br /&gt;
    textTermform(noffset, nrange); // Call with offset !{{TextTerm    }}&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
function previoustextterm() {&lt;br /&gt;
  //console.log(&amp;quot;previoustexterm before poffset :&amp;quot; + poffset + &amp;quot; prange=&amp;quot; + prange);&lt;br /&gt;
  savetextterms();&lt;br /&gt;
  if(poffset){ // If there is a next&lt;br /&gt;
    textTermform(poffset, prange); // Call with offset !{{TextTerm    }}&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function texttermfill(subtext) {&lt;br /&gt;
  var ref = new Array();&lt;br /&gt;
  this.term = '';&lt;br /&gt;
  this.note= '';&lt;br /&gt;
  this.section= '';&lt;br /&gt;
  if(section != '')&lt;br /&gt;
    this.section = section;&lt;br /&gt;
  this.subnote = '';&lt;br /&gt;
  if(subnote != '')&lt;br /&gt;
    this.subnote = subnote;&lt;br /&gt;
  this.englishentry= '';&lt;br /&gt;
  this.indexentry= '';&lt;br /&gt;
  this.otherindexentry = '';&lt;br /&gt;
  this.otherindexentrytwo = '';&lt;br /&gt;
  this.otherindexentrythree = '';&lt;br /&gt;
  this.otherindexentryfour = '';&lt;br /&gt;
  this.otherindexentryfive = '';&lt;br /&gt;
&lt;br /&gt;
  var j=0;&lt;br /&gt;
  var nr=true;&lt;br /&gt;
  regexbar= /\|([^|]*)/gm &lt;br /&gt;
  //regexbar =/\|((.)*?)(?=[\||\n])/gm //&amp;quot;|programmes de population|1|933|IndexEntry=programme de population|OtherIndexEntry=population, programme de&amp;quot;&lt;br /&gt;
  do {&lt;br /&gt;
    ref = regexbar.exec(subtext);&lt;br /&gt;
    //console.log(&amp;quot; subtext=&amp;quot; + subtext);&lt;br /&gt;
    //console.log(&amp;quot; ref=&amp;quot; + ref);&lt;br /&gt;
    if(ref != null){&lt;br /&gt;
      switch (j)&lt;br /&gt;
      {&lt;br /&gt;
      case 0 : this.term = ref[1]; break;&lt;br /&gt;
      case 1 : this.note = ref[1]; break;&lt;br /&gt;
      case 2 : this.section = ref[1]; break;&lt;br /&gt;
      default :&lt;br /&gt;
	if(ref[1].match(/^ *?EnglishEntry *?= *?(.*) *?$/))&lt;br /&gt;
	  this.englishentry = ref[1].replace(/^ *?EnglishEntry *?= *?(.*) *?$/,&amp;quot;$1&amp;quot;);&lt;br /&gt;
	else if(ref[1].match(/^ *?IndexEntry *?= *?(.*) *?$/))&lt;br /&gt;
	  this.indexentry = ref[1].replace(/^ *?IndexEntry *?= *?(.*) *?$/,&amp;quot;$1&amp;quot;);&lt;br /&gt;
	else if(ref[1].match(/^ *?OtherIndexEntry *?= *?(.*) *?$/))&lt;br /&gt;
	  this.otherindexentry = ref[1].replace(/^ *?OtherIndexEntry *?= *?(.*) *?$/,&amp;quot;$1&amp;quot;);&lt;br /&gt;
	else if(ref[1].match(/^ *?OtherIndexEntryTwo *?= *?(.*) *?$/))&lt;br /&gt;
	  this.otherindexentrytwo = ref[1].replace(/^ *?OtherIndexEntryTwo *?= *?(.*) *?$/,&amp;quot;$1&amp;quot;);&lt;br /&gt;
	else if(ref[1].match(/^ *?OtherIndexEntryThree *?= *?(.*) *?$/))&lt;br /&gt;
	  this.otherindexentrythree = ref[1].replace(/^ *?OtherIndexEntryThree *?= *?(.*) *?$/,&amp;quot;$1&amp;quot;);&lt;br /&gt;
	else if(ref[1].match(/^ *?OtherIndexEntryFour *?= *?(.*) *?$/))&lt;br /&gt;
	  this.otherindexentryfour = ref[1].replace(/^ *?OtherIndexEntryFour *?= *?(.*) *?$/,&amp;quot;$1&amp;quot;);&lt;br /&gt;
	else if(ref[1].match(/^ *?OtherIndexEntryFive *?= *?(.*) *?$/))&lt;br /&gt;
	  this.otherindexentryfive = ref[1].replace(/^ *?OtherIndexEntryFive *?= *?(.*) *?$/,&amp;quot;$1&amp;quot;);&lt;br /&gt;
	else if(ref[1].match(/^ *?EnglishEntry *?= *?(.*) *?$/))&lt;br /&gt;
	  this.englishentry = ref[1].replace(/^ *?EnglishEntry *?= *?(.*) *?$/,&amp;quot;$1&amp;quot;);&lt;br /&gt;
	else if(j==3){&lt;br /&gt;
	    this.subnote = ref[1];&lt;br /&gt;
	}else{&lt;br /&gt;
	  alert(&amp;quot;texttermfill error j=&amp;quot; + j + &amp;quot; ref1= &amp;quot; +ref[1]);&lt;br /&gt;
	  //console.log(&amp;quot;texttermfill error j=&amp;quot; + j + &amp;quot; ref1= &amp;quot; +ref[1]);&lt;br /&gt;
	}&lt;br /&gt;
      }&lt;br /&gt;
      j++;&lt;br /&gt;
    } else {&lt;br /&gt;
      nr=false;&lt;br /&gt;
    }&lt;br /&gt;
  } while (nr==true);&lt;br /&gt;
  //console.log(&amp;quot;j=&amp;quot; + j + &amp;quot; term=&amp;quot; + this.term + &amp;quot; note=&amp;quot; + this.note + &amp;quot; section=&amp;quot; + this.section +&amp;quot; subnote=&amp;quot; + this.subnote +&amp;quot; indexentry=&amp;quot; + this.indexentry + &amp;quot; otherindexentry=&amp;quot; + this.otherindexentry);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function textTermform(offset,range){&lt;br /&gt;
&lt;br /&gt;
  // We search for TextTerm in wptexbox1 from cursor position (offset) and if selected (range)&lt;br /&gt;
  // If called by a previous or next, they are not null {{TextTerm&amp;lt;-......&amp;gt;}}&lt;br /&gt;
  // if outside of a TextTerm template, we will fill with the term with the selection&lt;br /&gt;
  // in any case we compute the previous nextstart and previus end and next offset not real.&lt;br /&gt;
  // if inside a TextTerm we fill the form&lt;br /&gt;
  // if saveterm is necessary, we save and exit.&lt;br /&gt;
  // if previous or next, we save if necessary and we call textTermform with a new offset &amp;gt;0 (next) or &amp;lt;0 (previous) and range&lt;br /&gt;
  // &lt;br /&gt;
  var textarea= document.getElementById('wpTextbox1');&lt;br /&gt;
  if ('selectionStart' in textarea) {&lt;br /&gt;
    if (offset == null){ // range should be null too&lt;br /&gt;
      offset = textarea.selectionStart;&lt;br /&gt;
      range = textarea.selectionEnd - textarea.selectionStart;&lt;br /&gt;
&lt;br /&gt;
      var lstxtterm = textarea.value.substring(0,textarea.selectionEnd). lastIndexOf(&amp;quot;{{TextTerm&amp;quot;) ; // Just before the string. No regex&lt;br /&gt;
      var lstcltxtterm = textarea.value.substring(0,textarea.selectionStart). lastIndexOf(&amp;quot;}}&amp;quot;) ; //might be for another purpose than TextTerm&lt;br /&gt;
      // Looking for the section&lt;br /&gt;
      section = '';&lt;br /&gt;
      var psectione = textarea.value.substring(0,textarea.selectionEnd). lastIndexOf(&amp;quot;===&amp;quot;) ; // Just before the string. No regex&lt;br /&gt;
      if(psectione != -1){&lt;br /&gt;
	var psections = textarea.value.substring(0,psectione). lastIndexOf(&amp;quot;===&amp;quot;) ; // Just before the string. No regex&lt;br /&gt;
	if(psections != -1){&lt;br /&gt;
	  section =  textarea.value.substring(psections,psectione+3).match(/^=== *?(\d{3}) *?===$/)[1];&lt;br /&gt;
	}&lt;br /&gt;
      }&lt;br /&gt;
      //console.log(&amp;quot; section |&amp;quot; + section);&lt;br /&gt;
      //textarea.value.substring(0,textarea.selectionStart). search(new RegExp(&amp;quot;((({{TextTerm[^}]+)[^{]+)+)&amp;quot;);&lt;br /&gt;
      &lt;br /&gt;
      if ( (-1 == lstxtterm) || ((-1 &amp;lt; lstxtterm) &amp;amp;&amp;amp; (lstxtterm &amp;lt; lstcltxtterm)) ) { // @{{TextTerm ...@}}...(...).. &lt;br /&gt;
	// {{Refnumber }} ....! &lt;br /&gt;
	// alert(&amp;quot;We are after outside a previous TextTerm or no TextTerm before:&amp;quot; + textarea.value.substring(0,textarea.selectionStart ));&lt;br /&gt;
	texttermcur = new texttermfill(&amp;quot;|&amp;quot; + textarea.value.substring(textarea.selectionStart,textarea.selectionEnd));&lt;br /&gt;
	//console.log(&amp;quot; We want to fill with the selection=&amp;quot; + textarea.value.substring(textarea.selectionStart,textarea.selectionEnd));&lt;br /&gt;
	// On se retrouve avec du texte à ajouter et le curseur inchangé à textarea.selectionStart   &lt;br /&gt;
      } else if ( (lstxtterm &amp;gt; lstcltxtterm) &amp;amp;&amp;amp; (lstcltxtterm &amp;gt; -1) ) { // @}}... @{{TextTerm ... (...).. &lt;br /&gt;
	//alert(&amp;quot;We are within a TextTerm or no closing }}:&amp;quot; + textarea.value.substring(lstcltxtterm, lstxtterm));&lt;br /&gt;
	&lt;br /&gt;
	// ( textarea.value.substring(lstxtterm, textarea.selectionStart). search(new RegExp(&amp;quot;}}&amp;quot;)) == -1) {&lt;br /&gt;
	var endtxterm= textarea.value.substring(textarea.selectionStart, textarea.length). search(&amp;quot;}}&amp;quot;);&lt;br /&gt;
	if( endtxterm == -1)&lt;br /&gt;
	  error(&amp;quot; Error no closing TextTerm; should be fixed:&amp;quot; + textarea.value.substring(textarea.selectionStart, textarea.length));&lt;br /&gt;
	else{&lt;br /&gt;
	  endtxterm = endtxterm + textarea.selectionStart +2 ; // }} included&lt;br /&gt;
	  // Looking for @{{TextTerm....}}@&lt;br /&gt;
	  // alert(&amp;quot;We are within textterm  &amp;quot; + lstxtterm + &amp;quot; to &amp;quot; + endtxterm + &amp;quot; soit:&amp;quot; + textarea.value.substring(lstxtterm,endtxterm) );&lt;br /&gt;
	  //console.log(&amp;quot; Replacing with form result:&amp;quot; + textarea.value.substring(lstxtterm+&amp;quot;{{TextTerm&amp;quot;.length,endtxterm-&amp;quot;}}&amp;quot;.length));&lt;br /&gt;
	  texttermcur = new texttermfill(textarea.value.substring(lstxtterm+&amp;quot;{{TextTerm&amp;quot;.length,endtxterm-&amp;quot;}}&amp;quot;.length) );&lt;br /&gt;
	  // On devrait remplacer {{TextTerm ...}} par la forme, soit de lstxtterm endtxtterm&lt;br /&gt;
	  // On se fout de la sélection originale et la repositionne sur toute l'étendue du textterm.&lt;br /&gt;
	  // alert(&amp;quot;After null before textarea.selectionStart is&amp;quot; + textarea.selectionStart + &amp;quot; end=&amp;quot; +  textarea.selectionEnd);&lt;br /&gt;
	  // alert(&amp;quot; selection is:&amp;quot; + textarea.value.substring(textarea.selectionStart,textarea.selectionEnd));&lt;br /&gt;
	  textarea.selectionStart = lstxtterm;&lt;br /&gt;
	  textarea.selectionEnd = endtxterm;&lt;br /&gt;
	  // alert(&amp;quot;After null textarea.selectionStart is&amp;quot; + textarea.selectionStart + &amp;quot; end=&amp;quot; +  textarea.selectionEnd);&lt;br /&gt;
	  // alert(&amp;quot; selection is now:&amp;quot; + textarea.value.substring(textarea.selectionStart,textarea.selectionEnd));&lt;br /&gt;
	} //en endtxtterm&lt;br /&gt;
      } // end  @}}... @{{TextTerm ... (...).. &lt;br /&gt;
    }else{ // coming from a previous or next&lt;br /&gt;
      // alert(&amp;quot;After Next textarea.selectionStart is&amp;quot; + textarea.selectionStart + &amp;quot; end=&amp;quot; +  textarea.selectionEnd);&lt;br /&gt;
      // alert(&amp;quot; After next selection is:&amp;quot; + textarea.value.substring(textarea.selectionStart,textarea.selectionEnd));&lt;br /&gt;
      // alert(&amp;quot;Coming from a previous or next modifing selectionStart start is an offsetstart =&amp;quot; + offset + &amp;quot; and range=&amp;quot; + range)&lt;br /&gt;
  // Previous&lt;br /&gt;
  //                                selectionStart selectionEnd&lt;br /&gt;
  //                                         &amp;gt;                &amp;lt;&lt;br /&gt;
  // ^....@{{TextTerm....#}}.................@{{TextTerm ...}}!&lt;br /&gt;
  //       !&amp;lt;-range--------&amp;gt;! &lt;br /&gt;
  //                       #&amp;lt;-offset---------&amp;gt;! &lt;br /&gt;
  // Next&lt;br /&gt;
  //  selectionStart selectionEnd&lt;br /&gt;
  //      &amp;gt;                 &amp;lt;&lt;br /&gt;
  // ^....@{{TextTerm....#}}.................@{{TextTerm ...}}!&lt;br /&gt;
  //                                         !&amp;lt;--range-------&amp;gt;! &lt;br /&gt;
  //                       #&amp;lt;-offset---------&amp;gt;! &lt;br /&gt;
      // alert(&amp;quot; Before textarea.selectionStart=&amp;quot; + textarea.selectionStart + &amp;quot; textarea.selectionEnd=&amp;quot; + textarea.selectionEnd);&lt;br /&gt;
      //alert(&amp;quot; Before is:&amp;quot; + textarea.value.substring(textarea.selectionStart,textarea.selectionEnd));&lt;br /&gt;
      textarea.selectionStart = (offset &amp;gt; 0 ? textarea.selectionEnd + offset : textarea.selectionStart + offset -range);&lt;br /&gt;
      textarea.selectionEnd = textarea.selectionStart + range;&lt;br /&gt;
        // Looking for the section&lt;br /&gt;
      section = '';&lt;br /&gt;
      var psectione = textarea.value.substring(0,textarea.selectionEnd). lastIndexOf(&amp;quot;===&amp;quot;) ; // Just before the string. No regex&lt;br /&gt;
      if(psectione != -1){&lt;br /&gt;
	var psections = textarea.value.substring(0,psectione). lastIndexOf(&amp;quot;===&amp;quot;) ; // Just before the string. No regex&lt;br /&gt;
	if(psections != -1){&lt;br /&gt;
	  section =  textarea.value.substring(psections,psectione+3).match(/^=== *?(\d{3}) *?===$/)[1];&lt;br /&gt;
	}&lt;br /&gt;
      }&lt;br /&gt;
      //console.log(&amp;quot; section Other |&amp;quot; + section);&lt;br /&gt;
&lt;br /&gt;
      // alert(&amp;quot; After is:&amp;quot; + textarea.value.substring(textarea.selectionStart,textarea.selectionEnd));&lt;br /&gt;
      // alert(&amp;quot; After textarea.selectionStart=&amp;quot; + textarea.selectionStart + &amp;quot; textarea.selectionEnd=&amp;quot; + textarea.selectionEnd);&lt;br /&gt;
      //console.log(&amp;quot;textterm cur is:&amp;quot; + textarea.value.substring(textarea.selectionStart+&amp;quot;{{TextTerm&amp;quot;.length,textarea.selectionEnd-&amp;quot;}}&amp;quot;.length));&lt;br /&gt;
      texttermcur = new texttermfill(textarea.value.substring(textarea.selectionStart+&amp;quot;{{TextTerm&amp;quot;.length,textarea.selectionEnd-&amp;quot;}}&amp;quot;.length) );&lt;br /&gt;
    }&lt;br /&gt;
  }else{&lt;br /&gt;
    alert(&amp;quot;No selectionStart Internet Explorer &amp;lt; 9?&amp;quot;);&lt;br /&gt;
  }  &lt;br /&gt;
  // Looking for previous and next&lt;br /&gt;
  // Previous&lt;br /&gt;
  // ^....@{{TextTerm....#}}.................@{{TextTerm ...}}!&lt;br /&gt;
  //                        poffset&lt;br /&gt;
  //       &amp;lt;   prange      &amp;gt;&amp;lt;&lt;br /&gt;
  //       &amp;gt;&amp;lt;              &amp;gt;&amp;lt;&lt;br /&gt;
  //     pstart          pend&lt;br /&gt;
  //       !&amp;lt;--------offsetpstart------------&amp;gt;! &lt;br /&gt;
  //                       #&amp;lt;-offsetpsend----&amp;gt;! &lt;br /&gt;
&lt;br /&gt;
  var pstart = textarea.value.substring(0,textarea.selectionStart). lastIndexOf(&amp;quot;{{TextTerm&amp;quot;); &lt;br /&gt;
  if ( pstart == -1) { // No previous&lt;br /&gt;
    // alert( &amp;quot;NO previous : &amp;quot; + textarea.value.substring(0,textarea.selectionStart));&lt;br /&gt;
    poffset = null;&lt;br /&gt;
    prange = null;&lt;br /&gt;
  }else{&lt;br /&gt;
    // alert( &amp;quot;Previous pstart=&amp;quot; + pstart + &amp;quot; selectionStart=&amp;quot; + textarea.selectionStart + &amp;quot; pstart:selectionStart=&amp;quot; + textarea.value.substring(pstart,textarea.selectionStart));&lt;br /&gt;
    var pend = textarea.value.substring(pstart,textarea.selectionStart). search(&amp;quot;}}&amp;quot;) ; // Regex ?&lt;br /&gt;
    // alert( &amp;quot;Previous pstart=&amp;quot; + pstart + &amp;quot; pend= &amp;quot; + pend + &amp;quot; selectionStart=&amp;quot; + textarea.selectionStart + &amp;quot; pstart:selectionStart=&amp;quot; + textarea.value.substring(pstart,textarea.selectionStart));&lt;br /&gt;
    if ( pend == -1) { // Strange no ending&lt;br /&gt;
      stop( &amp;quot;NO ending }} in previous : &amp;quot; + textarea.value.substring(0,textarea.selectionStart));&lt;br /&gt;
    }else{&lt;br /&gt;
      prange = pend + 2; // }} included&lt;br /&gt;
      poffset = pstart + prange - textarea.selectionStart;  // should be negative&lt;br /&gt;
      // alert( &amp;quot; prange =&amp;quot; + prange + &amp;quot; poffset=&amp;quot; + poffset);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  // Next&lt;br /&gt;
  // ^....@{{TextTerm....#}}.................@{{TextTerm ...}}!&lt;br /&gt;
  //                       !&amp;lt;--------offsetnend--------------&amp;gt;! &lt;br /&gt;
  //                       #&amp;lt;-offsetnstart---&amp;gt;! &lt;br /&gt;
  //                                      noffset&lt;br /&gt;
  //                                         &amp;gt;&amp;lt;   nrange     &amp;gt;&lt;br /&gt;
  //                       #&amp;lt;-offsetnstart---&amp;gt;! &lt;br /&gt;
  var nstart = textarea.value.substring(textarea.selectionEnd,textarea.length). search(&amp;quot;{{TextTerm&amp;quot;) &lt;br /&gt;
  if ( nstart == -1) { // No next&lt;br /&gt;
    // alert( &amp;quot;NO next TextTerm : &amp;quot; +  textarea.value.substring(textarea.selectionEnd,textarea.length));&lt;br /&gt;
    noffset = null;&lt;br /&gt;
    nrange = null;&lt;br /&gt;
  }else{&lt;br /&gt;
    var nend = textarea.value.substring(textarea.selectionEnd + nstart,textarea.length). search(&amp;quot;}}&amp;quot;) ;&lt;br /&gt;
    if ( nend == -1) { // Strange no ending&lt;br /&gt;
      stop( &amp;quot;NO ending }} in previous : &amp;quot; + textarea.value.substring(textarea.selectionEnd,textarea.length)) ;&lt;br /&gt;
    }else{&lt;br /&gt;
      noffset = nstart ;&lt;br /&gt;
      nrange = nend +2 ;// }}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  // We do have offset or null, as well formfilled with a selection.&lt;br /&gt;
&lt;br /&gt;
  oldFormHide();&lt;br /&gt;
  template = &amp;quot;TextTerm&amp;quot;;&lt;br /&gt;
  var legend;&lt;br /&gt;
  if (template == &amp;quot;TextTerm&amp;quot;) {&lt;br /&gt;
    legend = &amp;quot;TextTerm source&amp;quot;;&lt;br /&gt;
  } else {&lt;br /&gt;
    legend = &amp;quot;Cite news source&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  newtime = getTime();&lt;br /&gt;
&lt;br /&gt;
  numforms++;&lt;br /&gt;
  form = '&amp;lt;div id=&amp;quot;citediv'+numforms+'&amp;quot;&amp;gt;'+&lt;br /&gt;
    '&amp;lt;fieldset&amp;gt;&amp;lt;legend&amp;gt;'+legend+'&amp;lt;/legend&amp;gt;'+&lt;br /&gt;
    '&amp;lt;table cellspacing=&amp;quot;5&amp;quot;&amp;gt;'+&lt;br /&gt;
    '&amp;lt;input type=&amp;quot;hidden&amp;quot; value=&amp;quot;'+template+'&amp;quot; id=&amp;quot;template&amp;quot;&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;label for=&amp;quot;term&amp;quot;&amp;gt;&amp;amp;nbsp;*Term or expression: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td colspan=&amp;quot;3&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;term&amp;quot; value= &amp;quot;' +&lt;br /&gt;
    texttermcur.term + '&amp;quot;&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;100&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;note&amp;quot;&amp;gt;&amp;amp;nbsp;*Note number (1, 2 etc .): &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:10%&amp;quot; id=&amp;quot;note&amp;quot; value= &amp;quot;' +&lt;br /&gt;
    texttermcur.note + '&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;100&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;subnote&amp;quot;&amp;gt;&amp;amp;nbsp;Subnote (2): &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:10%&amp;quot; id=&amp;quot;subnote&amp;quot; value= &amp;quot;' +&lt;br /&gt;
    texttermcur.subnote + '&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;300&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;section&amp;quot;&amp;gt;&amp;amp;nbsp;Section (102, 933 etc.): &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:10%&amp;quot; id=&amp;quot;section&amp;quot; value= &amp;quot;' +&lt;br /&gt;
    texttermcur.section + '&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;indexentry&amp;quot;&amp;gt;&amp;amp;nbsp;IndexEntry: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;indexentry&amp;quot; value= &amp;quot;' +&lt;br /&gt;
    texttermcur.indexentry + '&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;otherindexentry&amp;quot;&amp;gt;&amp;amp;nbsp;OtherIndexEntry: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;otherindexentry&amp;quot; value= &amp;quot;' +&lt;br /&gt;
    texttermcur.otherindexentry + '&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;otherindexentrytwo&amp;quot;&amp;gt;&amp;amp;nbsp;OtherIndexEntryTwo: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;otherindexentrytwo&amp;quot; value= &amp;quot;' +&lt;br /&gt;
    texttermcur.otherindexentrytwo + '&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;otherindexentrythree&amp;quot;&amp;gt;&amp;amp;nbsp;OtherIndexEntryThree: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;otherindexentrythree&amp;quot; value= &amp;quot;' +&lt;br /&gt;
    texttermcur.otherindexentrythree + '&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;otherindexentryfour&amp;quot;&amp;gt;&amp;amp;nbsp;OtherIndexEntryFour: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;otherindexentryfour&amp;quot; value= &amp;quot;' +&lt;br /&gt;
    texttermcur.otherindexentryfour + '&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;otherindexentryfive&amp;quot;&amp;gt;&amp;amp;nbsp;OtherIndexEntryFive: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;otherindexentryfive&amp;quot; value= &amp;quot;' +&lt;br /&gt;
    texttermcur.otherindexentryfive + '&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;englishentry&amp;quot;&amp;gt;&amp;amp;nbsp;EnglishEntry (for Chinese and Japanese): &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;englishentry&amp;quot; value= &amp;quot;' +&lt;br /&gt;
    texttermcur.englishentry + '&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;/table&amp;gt;'+&lt;br /&gt;
    '&amp;lt;input type=&amp;quot;button&amp;quot; id=&amp;quot;previous&amp;quot; value=&amp;quot;(save &amp;amp;) previous TextTerm&amp;quot; onClick=&amp;quot;previoustextterm()&amp;quot;&amp;gt;'+&lt;br /&gt;
    '&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;(save &amp;amp;) exit&amp;quot; onClick=&amp;quot;savetextterms()&amp;quot;&amp;gt;'+&lt;br /&gt;
    '&amp;lt;input type=&amp;quot;button&amp;quot; id=&amp;quot;next&amp;quot; value=&amp;quot;(save &amp;amp;) next TextTerm&amp;quot; onClick=&amp;quot;nexttextterm()&amp;quot;&amp;gt;'+&lt;br /&gt;
    '&amp;lt;/fieldset&amp;gt;&amp;lt;/div&amp;gt;';&lt;br /&gt;
  document.getElementById('citeselect').innerHTML += form;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function citeNewsWeb(templatename) {&lt;br /&gt;
  oldFormHide();&lt;br /&gt;
  template = templatename;&lt;br /&gt;
  var legend;&lt;br /&gt;
  if (template == &amp;quot;cite web&amp;quot;) {&lt;br /&gt;
    legend = &amp;quot;Cite web source&amp;quot;;&lt;br /&gt;
  } else {&lt;br /&gt;
    legend = &amp;quot;Cite news source&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  newtime = getTime();&lt;br /&gt;
  numforms++;&lt;br /&gt;
  form = '&amp;lt;div id=&amp;quot;citediv'+numforms+'&amp;quot;&amp;gt;'+&lt;br /&gt;
    '&amp;lt;fieldset&amp;gt;&amp;lt;legend&amp;gt;'+legend+'&amp;lt;/legend&amp;gt;'+&lt;br /&gt;
    '&amp;lt;table cellspacing=&amp;quot;5&amp;quot;&amp;gt;'+&lt;br /&gt;
    '&amp;lt;input type=&amp;quot;hidden&amp;quot; value=&amp;quot;'+template+'&amp;quot; id=&amp;quot;template&amp;quot;&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;url&amp;quot;&amp;gt;&amp;amp;nbsp;URL: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;url&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;title&amp;quot;&amp;gt;&amp;amp;nbsp;Title: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;title&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;last&amp;quot;&amp;gt;&amp;amp;nbsp;Last name: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;last&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;first&amp;quot;&amp;gt;&amp;amp;nbsp;First name: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;first&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;coauthors&amp;quot;&amp;gt;&amp;amp;nbsp;Coauthors: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;coauthors&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;date&amp;quot;&amp;gt;&amp;amp;nbsp;Publication date: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;date&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;work&amp;quot;&amp;gt;&amp;amp;nbsp;Work: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;work&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;publisher&amp;quot;&amp;gt;&amp;amp;nbsp;Publisher: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;publisher&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;pages&amp;quot;&amp;gt;&amp;amp;nbsp;Pages: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;pages&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;language&amp;quot;&amp;gt;&amp;amp;nbsp;Language: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;language&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;accessdate&amp;quot;&amp;gt;&amp;amp;nbsp;Access date: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;accessdate&amp;quot; value=&amp;quot;'+ newtime +'&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;location&amp;quot;&amp;gt;&amp;amp;nbsp;Location: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;location&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;refname&amp;quot;&amp;gt;&amp;amp;nbsp;Reference name: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;refname&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;/table&amp;gt;'+&lt;br /&gt;
    '&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;Add citation&amp;quot; onClick=&amp;quot;addcites()&amp;quot;&amp;gt;'+&lt;br /&gt;
 '&amp;lt;/fieldset&amp;gt;&amp;lt;/div&amp;gt;';&lt;br /&gt;
   document.getElementById('citeselect').innerHTML += form;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function citeBook() {&lt;br /&gt;
  oldFormHide();&lt;br /&gt;
  template = &amp;quot;cite book&amp;quot;;&lt;br /&gt;
  numforms++;&lt;br /&gt;
  form = '&amp;lt;div id=&amp;quot;citediv'+numforms+'&amp;quot;&amp;gt;'+&lt;br /&gt;
    '&amp;lt;fieldset&amp;gt;&amp;lt;legend&amp;gt;Cite book source&amp;lt;/legend&amp;gt;'+&lt;br /&gt;
    '&amp;lt;table cellspacing=&amp;quot;5&amp;quot;&amp;gt;'+&lt;br /&gt;
    '&amp;lt;input type=&amp;quot;hidden&amp;quot; value=&amp;quot;'+template+'&amp;quot; id=&amp;quot;template&amp;quot;&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;last&amp;quot;&amp;gt;&amp;amp;nbsp;Last name: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;last&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;first&amp;quot;&amp;gt;&amp;amp;nbsp;First name: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;first&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;coauthors&amp;quot;&amp;gt;&amp;amp;nbsp;Coauthors: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;coauthors&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;others&amp;quot;&amp;gt;&amp;amp;nbsp;Others: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;others&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;title&amp;quot;&amp;gt;&amp;amp;nbsp;Title: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;title&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;editor&amp;quot;&amp;gt;&amp;amp;nbsp;Editor: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;editor&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;publisher&amp;quot;&amp;gt;&amp;amp;nbsp;Publisher: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;publisher&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;location&amp;quot;&amp;gt;&amp;amp;nbsp;Location: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;location&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;date&amp;quot;&amp;gt;&amp;amp;nbsp;Publication date: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;date&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;edition&amp;quot;&amp;gt;&amp;amp;nbsp;Edition: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;edition&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;series&amp;quot;&amp;gt;&amp;amp;nbsp;Series: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;series&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;volume&amp;quot;&amp;gt;&amp;amp;nbsp;Volume: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;volume&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;pages&amp;quot;&amp;gt;&amp;amp;nbsp;Pages: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;pages&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;chapter&amp;quot;&amp;gt;&amp;amp;nbsp;Chapter: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;chapter&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;isbn&amp;quot;&amp;gt;&amp;amp;nbsp;ISBN: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;isbn&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;oclc&amp;quot;&amp;gt;&amp;amp;nbsp;OCLC: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;oclc&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;url&amp;quot;&amp;gt;&amp;amp;nbsp;URL: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;url&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;accessdate&amp;quot;&amp;gt;&amp;amp;nbsp;Access date: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;accessdate&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;language&amp;quot;&amp;gt;&amp;amp;nbsp;Language: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;language&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;refname&amp;quot;&amp;gt;&amp;amp;nbsp;Reference name: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;refname&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;/table&amp;gt;'+&lt;br /&gt;
    '&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;Add citation&amp;quot; onClick=&amp;quot;addcites()&amp;quot;&amp;gt;'+&lt;br /&gt;
 '&amp;lt;/fieldset&amp;gt;&amp;lt;/div&amp;gt;';&lt;br /&gt;
   document.getElementById('citeselect').innerHTML += form;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function citeJournal() {&lt;br /&gt;
  oldFormHide();&lt;br /&gt;
  template = &amp;quot;cite journal&amp;quot;;&lt;br /&gt;
  numforms++;&lt;br /&gt;
  form = '&amp;lt;div id=&amp;quot;citediv'+numforms+'&amp;quot;&amp;gt;'+&lt;br /&gt;
    '&amp;lt;fieldset&amp;gt;&amp;lt;legend&amp;gt;Cite journal source&amp;lt;/legend&amp;gt;'+&lt;br /&gt;
    '&amp;lt;table cellspacing=&amp;quot;5&amp;quot;&amp;gt;'+&lt;br /&gt;
    '&amp;lt;input type=&amp;quot;hidden&amp;quot; value=&amp;quot;'+template+'&amp;quot; id=&amp;quot;template&amp;quot;&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;last&amp;quot;&amp;gt;&amp;amp;nbsp;Last name: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;last&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;first&amp;quot;&amp;gt;&amp;amp;nbsp;First name: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;first&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;coauthors&amp;quot;&amp;gt;&amp;amp;nbsp;Coauthors: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;coauthors&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;date&amp;quot;&amp;gt;&amp;amp;nbsp;Publication date: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;date&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;title&amp;quot;&amp;gt;&amp;amp;nbsp;Title: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;title&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;journal&amp;quot;&amp;gt;&amp;amp;nbsp;Journal: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;journal&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;publisher&amp;quot;&amp;gt;&amp;amp;nbsp;Publisher: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;publisher&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;location&amp;quot;&amp;gt;&amp;amp;nbsp;Location: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;location&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;volume&amp;quot;&amp;gt;&amp;amp;nbsp;Volume: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;volume&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;issue&amp;quot;&amp;gt;&amp;amp;nbsp;Issue: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;issue&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;pages&amp;quot;&amp;gt;&amp;amp;nbsp;Pages: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;pages&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;issn&amp;quot;&amp;gt;&amp;amp;nbsp;ISSN: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;issn&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;oclc&amp;quot;&amp;gt;&amp;amp;nbsp;OCLC: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;oclc&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;language&amp;quot;&amp;gt;&amp;amp;nbsp;Language: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;language&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;url&amp;quot;&amp;gt;&amp;amp;nbsp;URL: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;url&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
    '&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;accessdate&amp;quot;&amp;gt;&amp;amp;nbsp;Access date: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;accessdate&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;120&amp;quot;&amp;gt;&amp;lt;label for=&amp;quot;refname&amp;quot;&amp;gt;&amp;amp;nbsp;Reference name: &amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
      '&amp;lt;td width=&amp;quot;400&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; tabindex=1 style=&amp;quot;width:100%&amp;quot; id=&amp;quot;refname&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;'+&lt;br /&gt;
    '&amp;lt;/table&amp;gt;'+&lt;br /&gt;
    '&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;Add citation&amp;quot; onClick=&amp;quot;addcites()&amp;quot;&amp;gt;'+&lt;br /&gt;
    '&amp;lt;/fieldset&amp;gt;&amp;lt;/div&amp;gt;';&lt;br /&gt;
  document.getElementById('citeselect').innerHTML += form;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function saveinput(terminput) {&lt;br /&gt;
  //  terminput = document.getElementById('citediv'+numforms).getElementsByTagName('input');&lt;br /&gt;
  this.term = '';&lt;br /&gt;
  this.note= '';&lt;br /&gt;
  this.section = '';&lt;br /&gt;
  this.indexentry= '';&lt;br /&gt;
  this.otherindexentry = '';&lt;br /&gt;
  this.otherindexentrytwo = '';&lt;br /&gt;
  this.otherindexentrythree = '';&lt;br /&gt;
  this.otherindexentryfour = '';&lt;br /&gt;
  this.otherindexentryfive = '';&lt;br /&gt;
  this.englishentry = '';&lt;br /&gt;
&lt;br /&gt;
  for (var i=0; i&amp;lt;terminput.length-1; i++) {&lt;br /&gt;
    if (terminput[i].id == &amp;quot;template&amp;quot; ){&lt;br /&gt;
      ;&lt;br /&gt;
    }else if (terminput[i].id == &amp;quot;term&amp;quot; ){&lt;br /&gt;
      this.term = terminput[i].value;&lt;br /&gt;
    }else if(terminput[i].id == &amp;quot;note&amp;quot;){&lt;br /&gt;
      this.note = terminput[i].value;&lt;br /&gt;
    }else if(terminput[i].id == &amp;quot;section&amp;quot;){&lt;br /&gt;
      this.section = terminput[i].value;&lt;br /&gt;
    }else if(terminput[i].id == &amp;quot;subnote&amp;quot;){&lt;br /&gt;
      this.subnote = terminput[i].value;&lt;br /&gt;
    }else if(terminput[i].id == &amp;quot;indexentry&amp;quot;){&lt;br /&gt;
      this.indexentry = terminput[i].value;&lt;br /&gt;
    }else if(terminput[i].id == &amp;quot;otherindexentry&amp;quot;){&lt;br /&gt;
      this.otherindexentry = terminput[i].value;&lt;br /&gt;
    }else if(terminput[i].id == &amp;quot;otherindexentrytwo&amp;quot;){&lt;br /&gt;
      this.otherindexentrytwo = terminput[i].value;&lt;br /&gt;
    }else if(terminput[i].id == &amp;quot;otherindexentrythree&amp;quot;){&lt;br /&gt;
      this.otherindexentrythree = terminput[i].value;&lt;br /&gt;
    }else if(terminput[i].id == &amp;quot;otherindexentryfour&amp;quot;){&lt;br /&gt;
      this.otherindexentryfour = terminput[i].value;&lt;br /&gt;
    }else if(terminput[i].id == &amp;quot;otherindexentryfive&amp;quot;){&lt;br /&gt;
      this.otherindexentryfive = terminput[i].value;&lt;br /&gt;
    }else if(terminput[i].id == &amp;quot;englishentry&amp;quot;){&lt;br /&gt;
      this.englishentry = terminput[i].value;&lt;br /&gt;
    }else{&lt;br /&gt;
      ;;//alert(&amp;quot; SaveInput terminput[i].id = &amp;quot; + terminput[i].id + &amp;quot; terminput[i].value =&amp;quot; + terminput[i].value);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function savetextterms(template) {&lt;br /&gt;
  var txtterminput = document.getElementById('citediv'+numforms).getElementsByTagName('input');&lt;br /&gt;
  textterminput = new saveinput(txtterminput);&lt;br /&gt;
  //alert(&amp;quot;texttermcur=&amp;quot; + texttermcur);&lt;br /&gt;
  //alert(&amp;quot;textterminput=&amp;quot; + textterminput);&lt;br /&gt;
  // Testing&lt;br /&gt;
  var different = false;&lt;br /&gt;
  if((textterminput.term != texttermcur.term) || (textterminput.note != texttermcur.note) ||&lt;br /&gt;
     (textterminput.section != texttermcur.section) ||&lt;br /&gt;
     (textterminput.subnote != texttermcur.subnote) ||&lt;br /&gt;
     (textterminput.indexentry != texttermcur.indexentry) ||&lt;br /&gt;
     (textterminput.otherindexentry != texttermcur.otherindexentry) || &lt;br /&gt;
     (textterminput.otherindexentrytwo != texttermcur.otherindexentrytwo) ||&lt;br /&gt;
     (textterminput.otherindexentrythree != texttermcur.otherindexentrythree) ||&lt;br /&gt;
     (textterminput.otherindexentryfour != texttermcur.otherindexentryfour) ||&lt;br /&gt;
     (textterminput.otherindexentryfive != texttermcur.otherindexentryfive) ||&lt;br /&gt;
     (textterminput.englishentry != texttermcur.englishentry) )&lt;br /&gt;
    different = true;&lt;br /&gt;
&lt;br /&gt;
  if (different){&lt;br /&gt;
    // alert(&amp;quot; They are different, have to save&amp;quot; );&lt;br /&gt;
    var texttermchain=&amp;quot;{{TextTerm&amp;quot;;&lt;br /&gt;
    texttermchain += '|' + (textterminput.term ? textterminput.term : '');&lt;br /&gt;
    texttermchain += '|' + (textterminput.note ? textterminput.note : '');&lt;br /&gt;
    texttermchain += (textterminput.section ? '|' + textterminput.section : '');&lt;br /&gt;
    texttermchain += (textterminput.subnote ? '|' + textterminput.subnote : '');&lt;br /&gt;
    texttermchain += (textterminput.indexentry ? '|IndexEntry='+ textterminput.indexentry : '');&lt;br /&gt;
    texttermchain += (textterminput.otherindexentry ? '|OtherIndexEntry='+ textterminput.otherindexentry : '');&lt;br /&gt;
    texttermchain += (textterminput.otherindexentrytwo ? '|OtherIndexEntryTwo='+ textterminput.otherindexentrytwo : '');&lt;br /&gt;
    texttermchain += (textterminput.otherindexentrythree ? '|OtherIndexEntryThree='+ textterminput.otherindexentrythree : '');&lt;br /&gt;
    texttermchain += (textterminput.otherindexentryfour ? '|OtherIndexEntryFour='+ textterminput.otherindexentryfour : '');&lt;br /&gt;
    texttermchain += (textterminput.otherindexentryfive ? '|OtherIndexEntryFive='+ textterminput.otherindexentryfive : '');&lt;br /&gt;
    texttermchain += (textterminput.englishentry ? '|EnglishEntry='+ textterminput.englishentry : '');&lt;br /&gt;
    texttermchain += &amp;quot;}}&amp;quot;;&lt;br /&gt;
    &lt;br /&gt;
    var textarea= document.getElementById('wpTextbox1');&lt;br /&gt;
    var savepos= textarea.selectionStart;&lt;br /&gt;
    if ('selectionStart' in textarea) {&lt;br /&gt;
      textarea.value=textarea.value.substring(0,textarea.selectionStart) + texttermchain + textarea.value.substring(textarea.selectionEnd, textarea.length); &lt;br /&gt;
      //insertTags(texttermchain, '', '');&lt;br /&gt;
      textarea.selectionStart = savepos;&lt;br /&gt;
      textarea.selectionEnd = savepos + texttermchain.length;&lt;br /&gt;
    }&lt;br /&gt;
    else{&lt;br /&gt;
      alert(&amp;quot;No selectionStart firefox&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    ;//alert(&amp;quot; They are similar, don't save&amp;quot; );&lt;br /&gt;
  }&lt;br /&gt;
  document.getElementById('citediv'+numforms).style.display = 'none';&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addcites(template) {&lt;br /&gt;
  cites = document.getElementById('citediv'+numforms).getElementsByTagName('input');&lt;br /&gt;
  var citebegin = '&amp;lt;ref';&lt;br /&gt;
  var citename = '';&lt;br /&gt;
  var citeinner = '';&lt;br /&gt;
  for (var i=0; i&amp;lt;cites.length-1; i++) {&lt;br /&gt;
    if (cites[i].value != '' &amp;amp;&amp;amp; cites[i].id != &amp;quot;refname&amp;quot; &amp;amp;&amp;amp; cites[i].id != &amp;quot;template&amp;quot;) {&lt;br /&gt;
      citeinner += &amp;quot;|&amp;quot; + cites[i].id + &amp;quot;=&amp;quot; + cites[i].value;&lt;br /&gt;
    }&lt;br /&gt;
    else if (cites[i].value != '' &amp;amp;&amp;amp; cites[i].id == &amp;quot;refname&amp;quot; &amp;amp;&amp;amp; cites[i].id != &amp;quot;template&amp;quot;) {&lt;br /&gt;
      citebegin += ' name=&amp;quot;' + cites[i].value + '&amp;quot;';&lt;br /&gt;
    }&lt;br /&gt;
    else if (cites[i].value != '' &amp;amp;&amp;amp; cites[i].id != &amp;quot;refname&amp;quot; &amp;amp;&amp;amp; cites[i].id == &amp;quot;template&amp;quot;) {&lt;br /&gt;
      citename = '&amp;gt;{{' + cites[i].value;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  cite = citebegin + citename + citeinner + &amp;quot;}}&amp;lt;/ref&amp;gt;&amp;quot;;&lt;br /&gt;
  $(&amp;quot;#wpTextbox1&amp;quot;).focus();&lt;br /&gt;
  insertTags(cite, '', '');&lt;br /&gt;
  document.getElementById('citediv'+numforms).style.display = 'none';&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function getNamedRefs(calls) {&lt;br /&gt;
  if (typeof(wikEdUseWikEd) != 'undefined') {&lt;br /&gt;
    if (wikEdUseWikEd == true) {&lt;br /&gt;
      WikEdUpdateTextarea();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  text = document.getElementById('wpTextbox1').value;&lt;br /&gt;
  var regex;&lt;br /&gt;
  if (calls) {&lt;br /&gt;
    regex = /&amp;lt; *?ref +?name *?= *?(('([^']*?)')|(&amp;quot;([^&amp;quot;]*?)&amp;quot;)|([^'&amp;quot;\s]*?[^\/]\b)) *?\/ *?&amp;gt;/gi //'&lt;br /&gt;
  } else {&lt;br /&gt;
    regex = /&amp;lt; *?ref +?name *?= *?(('([^']*?)')|(&amp;quot;([^&amp;quot;]*?)&amp;quot;)|([^'&amp;quot;\s]*?[^\/]\b)) *?&amp;gt;/gi //'&lt;br /&gt;
  }&lt;br /&gt;
  var namedrefs = [];&lt;br /&gt;
  var i=0;&lt;br /&gt;
  var nr=true;&lt;br /&gt;
  do {&lt;br /&gt;
    ref = regex.exec(text);&lt;br /&gt;
    if(ref != null){&lt;br /&gt;
      if (ref[5]) {&lt;br /&gt;
        namedrefs[i] = ref[5];&lt;br /&gt;
      } else if (ref[3]) {&lt;br /&gt;
        namedrefs[i] = ref[3];&lt;br /&gt;
      } else {&lt;br /&gt;
        namedrefs[i] = ref[6];&lt;br /&gt;
      }&lt;br /&gt;
      i++;&lt;br /&gt;
    } else {&lt;br /&gt;
      nr=false;&lt;br /&gt;
    }&lt;br /&gt;
  } while (nr==true);&lt;br /&gt;
  return namedrefs;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function citeNamedRef() {&lt;br /&gt;
  namedrefs = getNamedRefs(false);&lt;br /&gt;
  if (namedrefs == '') {&lt;br /&gt;
    oldFormHide();&lt;br /&gt;
    numforms++;&lt;br /&gt;
    out = '&amp;lt;div id=&amp;quot;citediv'+numforms+'&amp;quot;&amp;gt;&amp;lt;fieldset&amp;gt;'+&lt;br /&gt;
      '&amp;lt;legend&amp;gt;References in text&amp;lt;/legend&amp;gt;There are no named refs (&amp;lt;tt&amp;gt;&amp;amp;lt;ref name=&amp;quot;Name&amp;quot;&amp;amp;gt;&amp;lt;/tt&amp;gt;) in the text&amp;lt;/fieldset&amp;gt;&amp;lt;/div&amp;gt;';&lt;br /&gt;
    document.getElementById('citeselect').innerHTML += out;&lt;br /&gt;
  }&lt;br /&gt;
  else {&lt;br /&gt;
    oldFormHide();&lt;br /&gt;
    numforms++;&lt;br /&gt;
    form = '&amp;lt;div id=&amp;quot;citediv'+numforms+'&amp;quot;&amp;gt;'+&lt;br /&gt;
      '&amp;lt;fieldset&amp;gt;&amp;lt;legend&amp;gt;References in article&amp;lt;/legend&amp;gt;'+&lt;br /&gt;
      '&amp;lt;table cellspacing=&amp;quot;5&amp;quot;&amp;gt;'+&lt;br /&gt;
      '&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;label for=&amp;quot;namedrefs&amp;quot;&amp;gt;&amp;amp;nbsp;Named references in text&amp;lt;/label&amp;gt;&amp;lt;/td&amp;gt;'+&lt;br /&gt;
            '&amp;lt;td&amp;gt;&amp;lt;select name=&amp;quot;namedrefs&amp;quot; id=&amp;quot;namedrefs&amp;quot;&amp;gt;';&lt;br /&gt;
    for (var i=0;i&amp;lt;namedrefs.length;i++) {&lt;br /&gt;
      form+= '&amp;lt;option value=&amp;quot;'+namedrefs[i]+'&amp;quot;&amp;gt;'+namedrefs[i]+'&amp;lt;/option&amp;gt;';&lt;br /&gt;
    }&lt;br /&gt;
    form+= '&amp;lt;/select&amp;gt;'+&lt;br /&gt;
      '&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;'+&lt;br /&gt;
      '&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;Add citation&amp;quot; onClick=&amp;quot;addnamedcite()&amp;quot;&amp;gt;'+&lt;br /&gt;
      '&amp;lt;/fieldset&amp;gt;&amp;lt;/div&amp;gt;';&lt;br /&gt;
     document.getElementById('citeselect').innerHTML += form;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function addnamedcite() {&lt;br /&gt;
  name = document.getElementById('citediv'+numforms).getElementsByTagName('select')[0].value;&lt;br /&gt;
  ref = '&amp;lt;ref name=&amp;quot;'+name+'&amp;quot; /&amp;gt;';&lt;br /&gt;
  $(&amp;quot;#wpTextbox1&amp;quot;).focus();&lt;br /&gt;
  insertTags(ref, '', '');&lt;br /&gt;
  document.getElementById('citediv'+numforms).style.display = 'none';&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function getAllRefs() {&lt;br /&gt;
  if (typeof(wikEdUseWikEd) != 'undefined') {&lt;br /&gt;
    if (wikEdUseWikEd == true) {&lt;br /&gt;
      WikEdUpdateTextarea();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  text = document.getElementById('wpTextbox1').value;&lt;br /&gt;
  regex = /&amp;lt; *?ref( +?name *?= *?(('([^']*?)')|(&amp;quot;([^&amp;quot;]*?)&amp;quot;)|([^'&amp;quot;\s]*?[^\/]\b)))? *?&amp;gt;((.|\n)*?)&amp;lt; *?\/? *?ref *?&amp;gt;/gim //&amp;quot;&lt;br /&gt;
  var allrefs = [];&lt;br /&gt;
  var i=0;&lt;br /&gt;
  var nr=true;&lt;br /&gt;
  do {&lt;br /&gt;
    ref = regex.exec(text);&lt;br /&gt;
    if(ref != null){&lt;br /&gt;
      if (ref[0].search(/[^\s]{150}/) != -1) {&lt;br /&gt;
        ref[0] = ref[0].replace(/\|([^\s])/g, &amp;quot;| $1&amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
      ref[0] = ref[0].replace(/&amp;lt;/g, &amp;quot;&amp;amp;lt;&amp;quot;);&lt;br /&gt;
      ref[0] = ref[0].replace(/&amp;gt;/g, &amp;quot;&amp;amp;gt;&amp;quot;);&lt;br /&gt;
      allrefs[i] = ref[0];&lt;br /&gt;
      i++;&lt;br /&gt;
    } else {&lt;br /&gt;
      nr=false;&lt;br /&gt;
    }&lt;br /&gt;
  } while (nr==true);&lt;br /&gt;
  return allrefs;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function NRcallError(namedrefs, refname) {&lt;br /&gt;
  for (var i=0; i&amp;lt;namedrefs.length; i++) {&lt;br /&gt;
    if (namedrefs[i] == refname) {&lt;br /&gt;
      return true;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function errorCheck() {&lt;br /&gt;
  var allrefs = getAllRefs();&lt;br /&gt;
  var allrefscontent = [];&lt;br /&gt;
  var samecontentexclude = [];&lt;br /&gt;
  var sx=0;&lt;br /&gt;
  var templateexclude = [];&lt;br /&gt;
  var tx=0;&lt;br /&gt;
  var skipcheck = false;&lt;br /&gt;
  var namedrefcalls = getNamedRefs(true);&lt;br /&gt;
  for (var i=0; i&amp;lt;allrefs.length; i++) {&lt;br /&gt;
    allrefscontent[i] = allrefs[i].replace(/&amp;amp;lt; *?ref( +?name *?= *?(('([^']*?)')|(&amp;quot;([^&amp;quot;]*?)&amp;quot;)|([^'&amp;quot;\s]*?[^\/]\b)))? *?&amp;amp;gt;((.|\n)*?)&amp;amp;lt; *?\/? *?ref *?&amp;amp;gt;/gim, &amp;quot;$8&amp;quot;);  //&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  var namedrefs = getNamedRefs(false);&lt;br /&gt;
  var errorlist = [];&lt;br /&gt;
  var q=0;&lt;br /&gt;
  unclosed = document.getElementById('unclosed').checked;&lt;br /&gt;
  samecontent = document.getElementById('samecontent').checked;&lt;br /&gt;
  templates = document.getElementById('templates').checked;&lt;br /&gt;
  repeated = document.getElementById('repeated').checked;&lt;br /&gt;
  undef = document.getElementById('undef').checked;&lt;br /&gt;
  for (var i=0; i&amp;lt;allrefs.length; i++) {&lt;br /&gt;
    if (allrefs[i].search(/&amp;amp;lt; *?\/ *?ref *?&amp;amp;gt;/) == -1 &amp;amp;&amp;amp; unclosed) {&lt;br /&gt;
      errorlist[q] = '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;75%&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;'+allrefs[i]+'&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;';&lt;br /&gt;
      errorlist[q] += '&amp;lt;td width=&amp;quot;25%&amp;quot;&amp;gt;Unclosed &amp;lt;tt&amp;gt;&amp;amp;lt;ref&amp;amp;gt;&amp;lt;/tt&amp;gt; tag&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;';&lt;br /&gt;
      q++;&lt;br /&gt;
    }&lt;br /&gt;
    if (samecontent) {&lt;br /&gt;
      for (var d=0; d&amp;lt;samecontentexclude.length; d++) {&lt;br /&gt;
        if (allrefscontent[i] == samecontentexclude[d]) {&lt;br /&gt;
          skipcheck = true;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      var p=0;&lt;br /&gt;
      while (p&amp;lt;allrefs.length &amp;amp;&amp;amp; !skipcheck) {&lt;br /&gt;
        if (allrefscontent[i] == allrefscontent[p] &amp;amp;&amp;amp; i != p) {&lt;br /&gt;
          errorlist[q] = '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;75%&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;'+allrefscontent[i]+'&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;';&lt;br /&gt;
          errorlist[q] += '&amp;lt;td width=&amp;quot;25%&amp;quot;&amp;gt;Multiple refs contain this content, a &amp;lt;a href=&amp;quot;//en.wikipedia.org/wiki/Wikipedia:Footnotes#Naming_a_ref_tag_so_it_can_be_used_more_than_once&amp;quot;&amp;gt;named reference&amp;lt;/a&amp;gt; should be used instead&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;';&lt;br /&gt;
          q++;&lt;br /&gt;
          samecontentexclude[sx] = allrefscontent[i]&lt;br /&gt;
          sx++;&lt;br /&gt;
          break;&lt;br /&gt;
        }&lt;br /&gt;
        p++;&lt;br /&gt;
      }&lt;br /&gt;
     skipcheck=false;&lt;br /&gt;
    }&lt;br /&gt;
    if (templates) {&lt;br /&gt;
      if (allrefscontent[i].search(/\{\{cite/i) == -1 &amp;amp;&amp;amp; allrefscontent[i].search(/\{\{citation/i) == -1 &amp;amp;&amp;amp; allrefscontent[i].search(/\{\{Comic (book|strip) reference/i) == -1 &amp;amp;&amp;amp; allrefscontent[i].search(/\{\{Editorial cartoon reference/i) == -1 &amp;amp;&amp;amp; allrefscontent[i].search(/\{\{harv/i) == -1) {&lt;br /&gt;
        for (var x=0; x&amp;lt;templateexclude.length; x++) {&lt;br /&gt;
          if (allrefscontent[i] == templateexclude[x]) {&lt;br /&gt;
            skipcheck = true;&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
        if (!skipcheck) {&lt;br /&gt;
          errorlist[q] = '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;75%&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;'+allrefs[i]+'&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;';&lt;br /&gt;
          errorlist[q] += '&amp;lt;td width=&amp;quot;25%&amp;quot;&amp;gt;Does not use a &amp;lt;a href=&amp;quot;//en.wikipedia.org/wiki/Wikipedia:Citation_templates&amp;quot;&amp;gt;citation template&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;';&lt;br /&gt;
          q++;&lt;br /&gt;
          templateexclude[tx] = allrefscontent[i];&lt;br /&gt;
          tx++;&lt;br /&gt;
        }&lt;br /&gt;
        skipcheck = false;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  if (repeated) {&lt;br /&gt;
    var repeatnameexclude = [];&lt;br /&gt;
    var rx=0;&lt;br /&gt;
    for (var k=0; k&amp;lt;namedrefs.length; k++) {&lt;br /&gt;
      for (var d=0; d&amp;lt;repeatnameexclude.length; d++) {&lt;br /&gt;
        if (namedrefs[k] == repeatnameexclude[d]) {&lt;br /&gt;
          skipcheck = true;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      var z=0;&lt;br /&gt;
      while (z&amp;lt;namedrefs.length &amp;amp;&amp;amp; !skipcheck) {&lt;br /&gt;
        if (namedrefs[k] == namedrefs[z] &amp;amp;&amp;amp; k != z) {&lt;br /&gt;
          errorlist[q] = '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;75%&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;'+namedrefs[k]+'&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;';&lt;br /&gt;
          errorlist[q] += '&amp;lt;td width=&amp;quot;25%&amp;quot;&amp;gt;Multiple references are given the same &amp;lt;a href=&amp;quot;//en.wikipedia.org/wiki/Wikipedia:Footnotes#Naming_a_ref_tag_so_it_can_be_used_more_than_once&amp;quot;&amp;gt;name&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;';&lt;br /&gt;
          q++;&lt;br /&gt;
          repeatnameexclude[rx] = namedrefs[z];&lt;br /&gt;
          rx++;&lt;br /&gt;
          break;&lt;br /&gt;
        }&lt;br /&gt;
        z++;&lt;br /&gt;
      }&lt;br /&gt;
     skipcheck = false;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  if (undef) {&lt;br /&gt;
    var undefexclude = [];&lt;br /&gt;
    var ux=0;&lt;br /&gt;
    for (var p=0; p&amp;lt;namedrefcalls.length; p++) {&lt;br /&gt;
      for (var d=0; d&amp;lt;undefexclude.length; d++) {&lt;br /&gt;
        if (allrefscontent[i] == undefexclude[d]) {&lt;br /&gt;
          skipcheck = true;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      if (!skipcheck) {&lt;br /&gt;
        if (!NRcallError(namedrefs, namedrefcalls[p])) {&lt;br /&gt;
          errorlist[q] = '&amp;lt;tr&amp;gt;&amp;lt;td width=&amp;quot;75%&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;'+namedrefcalls[p]+'&amp;lt;/tt&amp;gt;&amp;lt;/td&amp;gt;';&lt;br /&gt;
          errorlist[q] += '&amp;lt;td width=&amp;quot;25%&amp;quot;&amp;gt;A &amp;lt;a href=&amp;quot;//en.wikipedia.org/wiki/Wikipedia:Footnotes#Naming_a_ref_tag_so_it_can_be_used_more_than_once&amp;quot;&amp;gt;named reference&amp;lt;/a&amp;gt; is used but not defined&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;';&lt;br /&gt;
          q++;&lt;br /&gt;
          undefexclude[ux] = namedrefs[p];&lt;br /&gt;
          ux++;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      skipcheck = false;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
  if (q &amp;gt; 0) {&lt;br /&gt;
    return errorlist;&lt;br /&gt;
  } else {&lt;br /&gt;
    return 0;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function dispErrors() {&lt;br /&gt;
  oldFormHide();&lt;br /&gt;
  form = '&amp;lt;div id=&amp;quot;errorform&amp;quot;&amp;gt;&amp;lt;fieldset&amp;gt;'+&lt;br /&gt;
    '&amp;lt;legend&amp;gt;Error checking&amp;lt;/legend&amp;gt;'+&lt;br /&gt;
    '&amp;lt;b&amp;gt;Check for:&amp;lt;/b&amp;gt;&amp;lt;br/&amp;gt;'+&lt;br /&gt;
    '&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;unclosed&amp;quot; /&amp;gt; Unclosed &amp;lt;tt&amp;gt;&amp;amp;lt;ref&amp;amp;gt;&amp;lt;/tt&amp;gt; tags&amp;lt;br/&amp;gt;'+&lt;br /&gt;
    '&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;samecontent&amp;quot; /&amp;gt; References with the same content&amp;lt;br/&amp;gt;'+&lt;br /&gt;
    '&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;templates&amp;quot; /&amp;gt; References not using a &amp;lt;a href=&amp;quot;//en.wikipedia.org/wiki/Wikipedia:Citation_templates&amp;quot;&amp;gt;citation template&amp;lt;/a&amp;gt;&amp;lt;br/&amp;gt;'+&lt;br /&gt;
    '&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;repeated&amp;quot; /&amp;gt; Multiple references with the same name&amp;lt;br/&amp;gt;'+&lt;br /&gt;
    '&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;undef&amp;quot; /&amp;gt; Usage of undefined named references&amp;lt;br/&amp;gt;'+&lt;br /&gt;
    '&amp;lt;input type=&amp;quot;button&amp;quot; id=&amp;quot;errorchecksubmit&amp;quot; value=&amp;quot;Check for selected errors&amp;quot; onclick=&amp;quot;doErrorCheck()&amp;quot;/&amp;gt;'+&lt;br /&gt;
    '&amp;lt;/fieldset&amp;gt;&amp;lt;/div&amp;gt;';&lt;br /&gt;
  document.getElementById('citeselect').innerHTML += form;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
function doErrorCheck() {&lt;br /&gt;
  var errors = errorCheck();&lt;br /&gt;
  document.getElementById('citeselect').removeChild(document.getElementById('errorform'));&lt;br /&gt;
  if (errors == 0) {&lt;br /&gt;
    if (numforms != 0) {&lt;br /&gt;
      document.getElementById('citediv'+numforms).style.display = 'none';&lt;br /&gt;
    }&lt;br /&gt;
    numforms++;&lt;br /&gt;
    out = '&amp;lt;div id=&amp;quot;citediv'+numforms+'&amp;quot;&amp;gt;&amp;lt;fieldset&amp;gt;'+&lt;br /&gt;
      '&amp;lt;legend&amp;gt;Error checking&amp;lt;/legend&amp;gt;No errors found.&amp;lt;/fieldset&amp;gt;&amp;lt;/div&amp;gt;';&lt;br /&gt;
    document.getElementById('citeselect').innerHTML += out;&lt;br /&gt;
  }&lt;br /&gt;
  else {&lt;br /&gt;
    if (numforms != 0) {&lt;br /&gt;
      document.getElementById('citediv'+numforms).style.display = 'none';&lt;br /&gt;
    }&lt;br /&gt;
    numforms++;&lt;br /&gt;
    form = '&amp;lt;div id=&amp;quot;citediv'+numforms+'&amp;quot;&amp;gt;'+&lt;br /&gt;
      '&amp;lt;fieldset&amp;gt;&amp;lt;legend&amp;gt;Error checking&amp;lt;/legend&amp;gt;'+&lt;br /&gt;
      '&amp;lt;table border=&amp;quot;1px&amp;quot;&amp;gt;';&lt;br /&gt;
    for (var i=0; i&amp;lt;errors.length; i++) {&lt;br /&gt;
      form+=errors[i];&lt;br /&gt;
    }&lt;br /&gt;
    form+= '&amp;lt;/table&amp;gt;'+&lt;br /&gt;
      '&amp;lt;/fieldset&amp;gt;&amp;lt;/div&amp;gt;';&lt;br /&gt;
     document.getElementById('citeselect').innerHTML += form;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
$( refbuttons );&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=MediaWiki:RefToolbarConfig.js&amp;diff=9843</id>
		<title>MediaWiki:RefToolbarConfig.js</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=MediaWiki:RefToolbarConfig.js&amp;diff=9843"/>
				<updated>2017-06-09T08:44:56Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: From https://en.wikipedia.org/w/index.php?title=MediaWiki:RefToolbarConfig.js&amp;amp;oldid=695089025&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* Sitewide options for the the Cite toolbar button:&lt;br /&gt;
* All options should be specified&lt;br /&gt;
*&lt;br /&gt;
* &amp;quot;date format&amp;quot; sets the date format used for the function to insert the current date&lt;br /&gt;
* Current available options:&lt;br /&gt;
* date - the day of the month&lt;br /&gt;
* zdate - day of the month, zero padded to 2 digits&lt;br /&gt;
* monthname - The month name&lt;br /&gt;
* month - The numberic month (1-12)&lt;br /&gt;
* zmonth - numeric month, zero padded to 2 digits&lt;br /&gt;
* year - The full year (4 digits)&lt;br /&gt;
*&lt;br /&gt;
* &amp;quot;autodate fields&amp;quot; is a list of template fields that should have a button to insert the current date&lt;br /&gt;
* &lt;br /&gt;
* &amp;quot;months&amp;quot; is a list of localized month names&lt;br /&gt;
*&lt;br /&gt;
* &amp;quot;modal&amp;quot; - if true, the dialogs will be modal windows, blocking access to the rest of the window.&lt;br /&gt;
* See http://en.wikipedia.org/wiki/Modal_window&lt;br /&gt;
* All dialogs in the toolbar are modal by default&lt;br /&gt;
*&lt;br /&gt;
* &amp;quot;autoparse&amp;quot; - if true, previewing a ref will automatically trigger a preview of the parsed wikitext.&lt;br /&gt;
* It is not recommended to set this to true as a global setting as it may slow the script down for&lt;br /&gt;
* people with slow connections.&lt;br /&gt;
*&lt;br /&gt;
* &amp;quot;expandtemplates&amp;quot; - if true, templates and parser functions will be expanded when getting page text&lt;br /&gt;
* (templates inside of ref tags will not be expanded). This will allow references inside of templates or&lt;br /&gt;
* references using {{#tag:ref}} to be listed in the named refs dialog and searched by error checks.&lt;br /&gt;
* This may slow loading the named refs and error check dialogs.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
CiteTB.Options = {&lt;br /&gt;
&amp;quot;date format&amp;quot; : &amp;quot;&amp;lt;date&amp;gt; &amp;lt;monthname&amp;gt; &amp;lt;year&amp;gt;&amp;quot;,&lt;br /&gt;
&amp;quot;autodate fields&amp;quot; : ['accessdate'],&lt;br /&gt;
&amp;quot;months&amp;quot; : ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],&lt;br /&gt;
&amp;quot;modal&amp;quot; : true,&lt;br /&gt;
&amp;quot;autoparse&amp;quot; : true,&lt;br /&gt;
&amp;quot;expandtemplates&amp;quot; : false&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Cite template definitions&lt;br /&gt;
new citeTemplate('cite web', 'web',&lt;br /&gt;
[ // Basic fields&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;last&amp;lt;N&amp;gt;&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;last-incr&amp;quot;, 'increment_group':'author'},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;first&amp;lt;N&amp;gt;&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;first-incr&amp;quot;, 'increment_group':'author', 'increment_button':true}, &lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;title&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;title&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;url&amp;quot;, &amp;quot;autofillid&amp;quot;:&amp;quot;url&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;website&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;journal&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;publisher&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;publisher&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;accessdate&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;ref&amp;quot;, &amp;quot;tooltip&amp;quot;:&amp;quot;cite-ref-tooltip&amp;quot;}&lt;br /&gt;
],&lt;br /&gt;
[ // Expanded fields&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;author&amp;lt;N&amp;gt;&amp;quot;, 'increment_group':'author_alt', 'increment_button':true},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;authorlink&amp;lt;N&amp;gt;&amp;quot;, &amp;quot;tooltip&amp;quot;:&amp;quot;cite-authorlink-tooltip&amp;quot;, 'increment_group':'authorlink', 'increment_button':true},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;archiveurl&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;archivedate&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;location&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;page&amp;quot;, &amp;quot;tooltip&amp;quot;:&amp;quot;cite-page-tooltip&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;pages&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;pages&amp;quot;, &amp;quot;tooltip&amp;quot;:&amp;quot;cite-pages-tooltip&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;language&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;language&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;format&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;doi&amp;quot;, &amp;quot;autofillid&amp;quot;:&amp;quot;doi&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;doi&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;date&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;date&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;quote&amp;quot;}&lt;br /&gt;
]);&lt;br /&gt;
&lt;br /&gt;
new citeTemplate('cite news', 'news',&lt;br /&gt;
[ // Basic fields&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;last&amp;lt;N&amp;gt;&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;last-incr&amp;quot;, 'increment_group':'author'},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;first&amp;lt;N&amp;gt;&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;first-incr&amp;quot;, 'increment_group':'author', 'increment_button':true}, &lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;title&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;title&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;url&amp;quot;, &amp;quot;autofillid&amp;quot;:&amp;quot;url&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;accessdate&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;work&amp;quot;, &amp;quot;tooltip&amp;quot;:&amp;quot;cite-work-tooltip&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;journal&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;agency&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;issue&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;publisher&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;publisher&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;date&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;date&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;ref&amp;quot;, &amp;quot;tooltip&amp;quot;:&amp;quot;cite-ref-tooltip&amp;quot;}&lt;br /&gt;
],&lt;br /&gt;
[ // Expanded fields&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;author&amp;lt;N&amp;gt;&amp;quot;, 'increment_group':'author_alt', 'increment_button':true},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;authorlink&amp;lt;N&amp;gt;&amp;quot;, &amp;quot;tooltip&amp;quot;:&amp;quot;cite-authorlink-tooltip&amp;quot;, 'increment_group':'authorlink', 'increment_button':true},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;archiveurl&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;archivedate&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;location&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;page&amp;quot;, &amp;quot;tooltip&amp;quot;:&amp;quot;cite-page-tooltip&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;pages&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;pages&amp;quot;, &amp;quot;tooltip&amp;quot;:&amp;quot;cite-pages-tooltip&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;language&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;language&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;format&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;doi&amp;quot;, &amp;quot;autofillid&amp;quot;:&amp;quot;doi&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;doi&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;quote&amp;quot;}&lt;br /&gt;
]);&lt;br /&gt;
&lt;br /&gt;
new citeTemplate('cite book', 'book',&lt;br /&gt;
[ // Basic fields&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;last&amp;lt;N&amp;gt;&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;last-incr&amp;quot;, 'increment_group':'author'},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;first&amp;lt;N&amp;gt;&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;first-incr&amp;quot;, 'increment_group':'author', 'increment_button':true}, &lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;title&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;title&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;date&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;year&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;publisher&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;publisher&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;location&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;location&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;isbn&amp;quot;, &amp;quot;autofillid&amp;quot;:&amp;quot;isbn&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;isbn&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;page&amp;quot;, &amp;quot;tooltip&amp;quot;:&amp;quot;cite-page-tooltip&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;pages&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;pages&amp;quot;, &amp;quot;tooltip&amp;quot;:&amp;quot;cite-pages-tooltip&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;edition&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;edition&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;url&amp;quot;, &amp;quot;autofillid&amp;quot;:&amp;quot;url&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;accessdate&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;ref&amp;quot;, &amp;quot;tooltip&amp;quot;:&amp;quot;cite-ref-tooltip&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
],&lt;br /&gt;
[ // Expanded fields&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;author&amp;lt;N&amp;gt;&amp;quot;, 'increment_group':'author_alt', 'increment_button':true},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;authorlink&amp;lt;N&amp;gt;&amp;quot;, &amp;quot;tooltip&amp;quot;:&amp;quot;cite-authorlink-tooltip&amp;quot;, 'increment_group':'authorlink', 'increment_button':true},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;editor&amp;lt;N&amp;gt;-last&amp;quot;, &amp;quot;increment_group&amp;quot;:&amp;quot;editor&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;editor&amp;lt;N&amp;gt;-first&amp;quot;, &amp;quot;increment_group&amp;quot;:&amp;quot;editor&amp;quot;, &amp;quot;increment_button&amp;quot;:true},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;editor&amp;lt;N&amp;gt;-link&amp;quot;, 'increment_group':'editorlink', 'increment_button':true},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;archiveurl&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;archivedate&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;language&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;language&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;format&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;chapter&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;chapter&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;quote&amp;quot;}&lt;br /&gt;
]);&lt;br /&gt;
&lt;br /&gt;
new citeTemplate('cite journal', 'journal',&lt;br /&gt;
[ // Basic fields&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;last&amp;lt;N&amp;gt;&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;last-incr&amp;quot;, 'increment_group':'author'},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;first&amp;lt;N&amp;gt;&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;first-incr&amp;quot;, 'increment_group':'author', 'increment_button':true}, &lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;title&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;title&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;journal&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;journal&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;date&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;date&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;volume&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;volume&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;issue&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;issue&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;page&amp;quot;, &amp;quot;tooltip&amp;quot;:&amp;quot;cite-page-tooltip&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;pages&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;pages&amp;quot;, &amp;quot;tooltip&amp;quot;:&amp;quot;cite-pages-tooltip&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;doi&amp;quot;, &amp;quot;autofillid&amp;quot;:&amp;quot;doi&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;doi&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;pmid&amp;quot;, &amp;quot;autofillid&amp;quot;:&amp;quot;pmid&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;url&amp;quot;, &amp;quot;autofillid&amp;quot;:&amp;quot;url&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;accessdate&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;ref&amp;quot;, &amp;quot;tooltip&amp;quot;:&amp;quot;cite-ref-tooltip&amp;quot;},&lt;br /&gt;
],&lt;br /&gt;
[ // Expanded fields&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;author&amp;lt;N&amp;gt;&amp;quot;, 'increment_group':'author_alt', 'increment_button':true},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;authorlink&amp;lt;N&amp;gt;&amp;quot;, &amp;quot;tooltip&amp;quot;:&amp;quot;cite-authorlink-tooltip&amp;quot;, 'increment_group':'authorlink', 'increment_button':true},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;editor&amp;lt;N&amp;gt;-last&amp;quot;, &amp;quot;increment_group&amp;quot;:&amp;quot;editor&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;editor&amp;lt;N&amp;gt;-first&amp;quot;, &amp;quot;increment_group&amp;quot;:&amp;quot;editor&amp;quot;, &amp;quot;increment_button&amp;quot;:true},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;editor&amp;lt;N&amp;gt;-link&amp;quot;, 'increment_group':'editorlink', 'increment_button':true},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;series&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;at&amp;quot;, &amp;quot;tooltip&amp;quot;:&amp;quot;cite-at-tooltip&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;trans-title&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;publisher&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;publisher&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;location&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;language&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;language&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;format&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;issn&amp;quot;, &amp;quot;autofillprop&amp;quot;:&amp;quot;issn&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;pmc&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;oclc&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;bibcode&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;id&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;quote&amp;quot;},&lt;br /&gt;
{&amp;quot;field&amp;quot;: &amp;quot;postscript&amp;quot;, &amp;quot;tooltip&amp;quot;:&amp;quot;cite-postscript-tooltip&amp;quot;}&lt;br /&gt;
]);&lt;br /&gt;
&lt;br /&gt;
new citeErrorCheck({'type':'reflist', 'testname':'samecontent', 'desc': 'cite-samecontent-desc',&lt;br /&gt;
'func': function(reflist) {&lt;br /&gt;
  var errors = [];&lt;br /&gt;
  var refs2 = [];&lt;br /&gt;
  for(var i=0; i&amp;lt;reflist.length; i++) {&lt;br /&gt;
    if (!reflist[i].shorttag) {&lt;br /&gt;
      if ($.inArray(reflist[i].content, refs2) != -1) {&lt;br /&gt;
        if ($.inArray(reflist[i].content, errors) == -1) {&lt;br /&gt;
          errors.push(reflist[i].content);&lt;br /&gt;
        }&lt;br /&gt;
      } else {&lt;br /&gt;
        refs2.push(reflist[i].content);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  ret = [];&lt;br /&gt;
  for(var j=0; j&amp;lt;errors.length; j++) {&lt;br /&gt;
    ret.push({'msg':'cite-samecontent-error', 'err':errors[j]});&lt;br /&gt;
  }&lt;br /&gt;
  return ret;&lt;br /&gt;
}}&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
new citeErrorCheck({'type':'reflist', 'testname':'repeated', 'desc':'cite-repeated-desc',&lt;br /&gt;
'func': function(reflist) {&lt;br /&gt;
  var errors = [];&lt;br /&gt;
  var refs2 = [];&lt;br /&gt;
  for(var i=0; i&amp;lt;reflist.length; i++) {&lt;br /&gt;
    if (!reflist[i].shorttag &amp;amp;&amp;amp; reflist[i].refname) {&lt;br /&gt;
      if ($.inArray(reflist[i].refname, refs2) != -1) {&lt;br /&gt;
        if ($.inArray(reflist[i].refname, errors) == -1) {&lt;br /&gt;
          errors.push(reflist[i].refname);&lt;br /&gt;
        }&lt;br /&gt;
      } else {&lt;br /&gt;
        refs2.push(reflist[i].refname);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  ret = [];&lt;br /&gt;
  for(var j=0; j&amp;lt;errors.length; j++) {&lt;br /&gt;
    ret.push({'msg':'cite-repeated-error', 'err':errors[j]});&lt;br /&gt;
  }&lt;br /&gt;
  return ret;&lt;br /&gt;
}}&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
new citeErrorCheck({'type':'reflist', 'testname':'undefined', 'desc':'cite-undefined-desc',&lt;br /&gt;
'func': function(reflist) {&lt;br /&gt;
  var errors = [];&lt;br /&gt;
  var longrefs = [];&lt;br /&gt;
  for(var i=0; i&amp;lt;reflist.length; i++) {&lt;br /&gt;
    if (!reflist[i].shorttag &amp;amp;&amp;amp; reflist[i].refname) {&lt;br /&gt;
      longrefs.push(reflist[i].refname);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  for(var j=0; i&amp;lt;reflist.length; j++) {&lt;br /&gt;
    if (reflist[i].shorttag &amp;amp;&amp;amp; $.inArray(reflist[i].refname, errors) == -1 &amp;amp;&amp;amp; $.inArray(reflist[i].refname, longrefs) == -1) {&lt;br /&gt;
      errors.push(reflist[i].refname);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  ret = [];&lt;br /&gt;
  for(var j=0; j&amp;lt;errors.length; j++) {&lt;br /&gt;
    ret.push({'msg':'cite-undefined-error', 'err':errors[j]});&lt;br /&gt;
  }&lt;br /&gt;
  return ret;&lt;br /&gt;
}}&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
CiteTB.init();&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=30&amp;diff=9833</id>
		<title>30</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=30&amp;diff=9833"/>
				<updated>2013-08-02T12:30:14Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: /* 303 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;!--'''30'''--&amp;gt;&lt;br /&gt;
{{CurrentStatus}}&lt;br /&gt;
{{Unmodified edition I}}&lt;br /&gt;
{{Summary}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
= Distribution and classification of the population =&lt;br /&gt;
== 30 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 301 ===&lt;br /&gt;
&lt;br /&gt;
Population statistics are generally presented in terms of the {{TextTerm|geographical distribution of the population|1|301|OtherIndexEntry=population, geographical distribution of the}} or the {{TextTerm|spatial distribution of the population|1|301|2|OtherIndexEntry=population, spatial distribution}}, and also by structure ({{RefNumber|14|4|4}}). Each population lives in a given {{TextTerm|area|2|301}} or {{TextTerm|territory|2|301|2}} ({{RefNumber|30|5|6}}), and the study of the {{TextTerm|geographical distribution|3|301|OtherIndexEntry=distribution, geographical}} or {{TextTerm|spatial distribution|3|301|2|OtherIndexEntry=distribution, spatial}} deals with the way in which they are distributed over the territory.&lt;br /&gt;
{{Note|2| {{NoteTerm|territory}} n. — {{NoteTerm|territorial}} adj.}}&lt;br /&gt;
&lt;br /&gt;
=== 302 ===&lt;br /&gt;
&lt;br /&gt;
The territory ({{RefNumber|30|1|2}}) in which a population lives will generally be divided into {{TextTerm|sub-areas|1|302|IndexEntry=sub-area}}. For administrative purposes it may be divided into {{TextTerm|administrative areas|2|302|IndexEntry=administrative area|OtherIndexEntry=area administrative}}, {{TextTerm|administrative units|2|302|2|IndexEntry=administrative unit|OtherIndexEntry=unit, administrative}} or {{TextTerm|administrative districts|2|302|3|IndexEntry=administrative district|OtherIndexEntry=district, administrative}} sometimes known as {{TextTerm|legal divisions|2|302|4|IndexEntry=legal division|OtherIndexEntry=division, legal}} or {{TextTerm|political divisions|2|302|5|IndexEntry=political division|OtherIndexEntry=division, political}}. Geographers on the other hand, may divide the area into {{TextTerm|regions|3|302|IndexEntry=region}} or {{TextTerm|zones|4|302|IndexEntry=zone}} which may or may not correspond to administrative units. The term &amp;quot;region&amp;quot; or &amp;quot;zone&amp;quot; may be used in a number of different senses and the areas referred to may be of very different sizes. Thus one speaks of the polar regions, of climatic zones or of metropolitan regions. The terms {{TextTerm|natural region|5|302|OtherIndexEntry=region, natural}} and {{TextTerm|economic region|6|302|OtherIndexEntry=region, economic}} are used by geographers. The term {{TextTerm|natural area|7|302|OtherIndexEntry=area, natural}} is used in human ecology ({{RefNumber|10|3|5}}) to define an area occupied by a population with distinct characteristics.&lt;br /&gt;
&lt;br /&gt;
=== 303 ===&lt;br /&gt;
&lt;br /&gt;
A. Administrative units ({{RefNumber|30|2|2}}) differ from country to country. In Great Britain, the main administrative areas for which population statistics are compiled are as follows in ascending order of size. The {{NoteTerm|civil parish}} (abbreviation C.P.), administered by a parish council is the smallest unit in the country. A {{NoteTerm|rural district}} (abbreviation R.D.) is a collection of civil parishes. Smaller towns are {{NoteTerm|urban districts (U.D.)}} or {{NoteTerm|municipal boroughs}} (M.B.), also called {{NoteTerm|burghs}} in Scotland. They are nor further subdivided except for electoral purposes, where sub-divisions are called {{NoteTerm|wards. Administrative counties}} (A.G.) consist of boroughs and urban and rural districts. In the administrative county of London the boroughs are called {{NoteTerm|metropolitan boroughs}}. Large towns, generally with a population of 75,000 and over, are called {{NoteTerm|county boroughs}} (G.B.) and lie completely outside the territory of the administrative county. The term {{NoteTerm|city}} ({{RefNumber|30|6|4}}) is a purely ceremonial and historic title borne by certain towns.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;{{NoteTerm|parish}} n. — {{NoteTerm|parochial}} adj.&lt;br /&gt;
&lt;br /&gt;
=== 303 ===&lt;br /&gt;
&lt;br /&gt;
B. In the United States of America the {{NoteTerm|minor civil division}} is the smallest administrative unit and a variety of terms may be used for it. A {{NoteTerm|county}} (in Louisiana a {{NoteTerm|parish)}} consists of a number of minor civil divisions. The county is the primary sub-division of the {{NoteTerm|state}} ({{RefNumber|30|5|3}}) which is composed of several counties and occasionally of cities which are independent of county organization. With respect to areas classed by density of {{NoteTerm|population}}, population statistics are compiled for {{NoteTerm|unincorporated places}} (usually called {{NoteTerm|villages}} or {{NoteTerm|towns}}) of 1,000 or more population and for every {{NoteTerm|incorporated place}}, called a {{NoteTerm|village}}, {{NoteTerm|town}}, {{NoteTerm|borough}} or {{NoteTerm|city}} ({{RefNumber|30|6|4}}). In New England, New York and Wisconsin, {{NoteTerm|&amp;quot;towns&amp;quot;}} or &amp;quot;townships&amp;quot; are minor civil divisions of counties and are not included with incorporated places. Many of the larger cities are sub-divided into {{NoteTerm|wards}}. Population statistics are also compiled for non-administrative areas defined for purposes of demographic study. The states are sub-divided into non-political and relatively homogeneous sub-divisions called {{NoteTerm|state economic areas}} which consist of single counties or groups of counties with similar economic or social characteristics. A {{NoteTerm|standard metropolitan area}} is a county or group of contiguous counties which contains at least one city of 50,000 inhabitants or more.&lt;br /&gt;
&lt;br /&gt;
=== 304 ===&lt;br /&gt;
&lt;br /&gt;
A population may be {{TextTerm|settled|1|304}}, {{TextTerm|sedentary|1|304|2}}, or {{TextTerm|nomadic|2|304}}, i. e., migrating back and forth within a given area. Nomads who are in the process of becoming settled are called {{TextTerm|semi-nomadic|3|304}}. Occasionally primitive peoples may have a territory allocated exclusively to themselves called a {{TextTerm|native reserve|4|304|OtherIndexEntry=reserve, native}} or {{TextTerm|reservation|4|304|2}}.&lt;br /&gt;
{{Note|2| {{NoteTerm|nomadic}} adj. - {{NoteTerm|nomad}} n.}}&lt;br /&gt;
&lt;br /&gt;
=== 305 ===&lt;br /&gt;
&lt;br /&gt;
A {{TextTerm|country|1|305}} is usually the territory ({{RefNumber|30|1|2}}) of a {{TextTerm|people|2|305}} (cf. {{RefNumber|33|3|3}}) or a {{TextTerm|nation|2|305|2}}. Persons belonging to a nation share, in general, a common culture. A {{TextTerm|state|3|305}} is a political body. The term may be used in two different senses: most commonly a state is a body possessing full sovereignty in its territory and over its inhabitants. However, a number of {{TextTerm|federations|4|305|IndexEntry=federation}} or {{TextTerm|federal states|4|305|2|IndexEntry=federal state|OtherIndexEntry=state, federal}} are divided into smaller units which are also called {{TextTerm|states|5|305|IndexEntry=state}} and whose sovereignty is not absolute (e. g. in the United States of America and Australia). The term {{TextTerm|territory|6|305}} ({{RefNumber|30|1|2}}) is generally used for a geographical area, but it is occasionally used to denote a political unit which has been colonized or settled relatively recently. A distinction is sometimes made between {{TextTerm|self-governing territories|7|305|IndexEntry=self-governing territory|OtherIndexEntry=territory, self-governing}} and {{TextTerm|non-self-governing territories|8|305|IndexEntry=non-self-governing territory|OtherIndexEntry=territory, non-self-governing}}.&lt;br /&gt;
&lt;br /&gt;
=== 306 ===&lt;br /&gt;
&lt;br /&gt;
Within a territory ({{RefNumber|30|1|2}}), certain terms are used for different kinds of {{TextTerm|conglomerations|1|306|IndexEntry=conglomeration}} or {{TextTerm|aggregations|1|306|2|IndexEntry=aggregation|OtherIndexEntry=population, aggregate}} of population, sometimes known as {{TextTerm|population aggregates|1|306|3|IndexEntry=population cluster|OtherIndexEntry=cluster, population}} or {{TextTerm|population clusters|1|306|4|IndexEntry=aggregate population}}. In rural areas, the smallest unit is a {{TextTerm|hamlet|2|306}} which generally consists of a very small collection of houses. A slightly larger conglomeration is the {{TextTerm|village|3|306}}, which is generally a small community and which may have a mainly agricultural population. A {{TextTerm|town|4|306}} or {{TextTerm|city|4|306|2}} (303A and 303B) is a larger conglomeration in which there are in general few people engaged in agriculture, but the point at which the transition from village to town takes place is difficult to specify and varies in different countries. The seat of government of a territory in the sense of {{RefNumber|30|5|1}} is called its {{TextTerm|capital|5|306}}. In a county, the place where the county government is situated is called the {{TextTerm|county town|6|306|OtherIndexEntry=total, county}} (or in the United States of America the {{TextTerm|county seat|6|306|2|OtherIndexEntry=seat, county}}). Towns may be divided into different {{TextTerm|districts|7|306|IndexEntry=district}}or {{TextTerm|quarters|7|306|2|IndexEntry=quarter}} and for electoral purposes into {{TextTerm|wards|7|306|3|IndexEntry=ward}} (303A and 303B).&lt;br /&gt;
{{Note|4| A very large town is sometimes called a {{NoteTerm|metropolis}} — {{NoteTerm|metropolitan}} adj. {{NoteTerm|town}} n. — {{NoteTerm|urban}} adj.}}&lt;br /&gt;
&lt;br /&gt;
=== 307 ===&lt;br /&gt;
&lt;br /&gt;
Continuous built-up areas may arise through the coalescence of neighbouring localities which, whilst retaining their administrative independence, may in fact form one {{TextTerm|agglomeration|1|307}}, containing a {{TextTerm|central city|2|307|OtherIndexEntry=city, central}} and {{TextTerm|suburbs|3|307|IndexEntry=suburb}} with specialized functions. The term {{TextTerm|conurbation|4|307}} is generally employed to designate a number of different agglomerations which, though geographically contiguous, have retained their own individuality. &amp;lt;br /&amp;gt;In many cases, however, the term conurbation is used as a synonym for agglomeration.&lt;br /&gt;
{{Note|3| {{NoteTerm|suburb}} n. — {{NoteTerm|suburban}} adj.&amp;lt;br /&amp;gt;The densely populated area contiguous to a large town is sometimes called the {{NoteTerm|urban fringe}}.}}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;center&amp;gt;&amp;lt;font size=12&amp;gt;* * * &amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;==&lt;br /&gt;
{{SummaryShort}}&lt;br /&gt;
&lt;br /&gt;
{{OtherLanguages|30}}&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=11&amp;diff=9832</id>
		<title>11</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=11&amp;diff=9832"/>
				<updated>2012-09-05T07:09:19Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: /* 116 */ Adding a link to 130-8&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;!--'''11'''--&amp;gt;&lt;br /&gt;
{{CurrentStatus}}&lt;br /&gt;
{{Unmodified edition I}}&lt;br /&gt;
{{Summary}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
== 11 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 110 ===&lt;br /&gt;
&lt;br /&gt;
A fundamental {{TextTerm|statistical unit|1|110|OtherIndexEntry=unit, statistical}} used in demography is the {{TextTerm|individual|2|110}} or {{TextTerm|person|2|110|2}} (the term {{TextTerm|head|2|110|3}} (cf. {{RefNumber|22|1|6}}) has also been employed, but this usage is now largely out of date). The {{TextTerm|household|3|110}} is a socio-economic unit, consisting of individuals who live together. Statistical definitions of the household vary. According to the definition which has been recommended as an international standard a household consists of a group of individuals who share living quarters and their principal meals. The term {{TextTerm|hearth|3|110|2}} has been used in the past, showing that in the past members of the household used to share the same fire. Classifications of households also vary between different countries and different enquiries. In order to facilitate comparative studies the internationally recommended classification involves the distinction of two types: {{TextTerm|private households|4|110|IndexEntry=private household|OtherIndexEntry=household, private}} or {{TextTerm|family households|4|110|2|IndexEntry=family household|OtherIndexEntry=household, family}} and {{TextTerm|institutional households|5|110|IndexEntry=institutional household|OtherIndexEntry=household, institutional}} or {{TextTerm|non-family households|5|110|2|IndexEntry=non-family household|OtherIndexEntry=household, non-family}} which consist of people living in certain institutions. An individual living by himself is considered to be a {{TextTerm|one-person household|6|110|OtherIndexEntry=household, one-person}} for statistical purposes. A {{TextTerm|boarder|7|110}} is a person other than a domestic servant, who is unrelated to other members of the household and who habitually takes his meals with the household. A {{TextTerm|lodger|8|110}}, on the other hand, does not habitually take his meals with the household. These two categories may or may not be included in the household for statistical purposes.&lt;br /&gt;
{{Note|8| {{NoteTerm|lodger}} n. — in the United States of America this term is used to include both boarders and lodgers as defined above.}}&lt;br /&gt;
&lt;br /&gt;
=== 111 ===&lt;br /&gt;
&lt;br /&gt;
When a private household ({{RefNumber|11|0|4}}) contains several persons they are called {{TextTerm|members of the household|1|111|IndexEntry=median of the household|OtherIndexEntry=household, members of the}} and one of them will be the {{TextTerm|head of the household|2|111|OtherIndexEntry=household, head of the}}. There is no universally accepted rule as to who is considered the head of the household —in some cases it may be the {{TextTerm|principal earner|3|111|IndexEntry=primary earner|OtherIndexEntry=earner principal}}. On some census schedules there appears a question dealing with the {{TextTerm|relationship|4|111}} ({{RefNumber|11|4|3}}*) of members of the household to its head; this enables a distinction to be made between different groups in {{TextTerm|composite households|5|111|IndexEntry=composite household|OtherIndexEntry=household, composite}}, which contain members of more than one biological family ({{RefNumber|11|3|1}}).&lt;br /&gt;
{{Note|2| The term householder is sometimes used for the head of the household.}}&lt;br /&gt;
&lt;br /&gt;
=== 112 ===&lt;br /&gt;
&lt;br /&gt;
The {{TextTerm|family|1|112}} (cf. {{RefNumber|11|5|1}}) is a different unit which must be carefully distinguished from the household ({{RefNumber|11|0|3}}). It is defined primarily by reference to relationships which pertain to or arise from reproductive processes and which are regulated by law or by custom. The fundamental relationships are those established between a couple by marriage—and that existing between a couple as {{TextTerm|parents|2|112|IndexEntry=parent}}, i. e., {{TextTerm|father|3|112}} and {{TextTerm|mother|4|112}}, and their {{TextTerm|children|5|112}} i. e., {{TextTerm|sons|6|112|IndexEntry=son}} and {{TextTerm|daughters|7|112|IndexEntry=daughter}}.&lt;br /&gt;
{{Note|2| {{NoteTerm|parent}} n. — {{NoteTerm|parental}} adj. — {{NoteTerm|parenthood}} n., the state of being or becoming a parent. Note that the term &amp;quot;parent&amp;quot;, when used in the singular is not equivalent to the French &amp;quot;{{NonRefTerm|parent}}&amp;quot;.}}&lt;br /&gt;
{{Note|3| {{NoteTerm|father}} n. — {{NoteTerm|paternal}} adj.}}&lt;br /&gt;
{{Note|4| {{NoteTerm|mother}} n. — {{NoteTerm|maternal}} adj.}}&lt;br /&gt;
{{Note|6| {{NoteTerm|son}} n. — {{NoteTerm|filial}} adj.}}&lt;br /&gt;
{{Note|7| {{NoteTerm|daughter}} n. — {{NoteTerm|filial}} adj.}}&lt;br /&gt;
&lt;br /&gt;
=== 113 ===&lt;br /&gt;
&lt;br /&gt;
Parents and their children are sometimes referred to as the {{TextTerm|biological family|1|113|OtherIndexEntry=family, biological}}. {{TextTerm|Brothers|2|113|IndexEntry=brother}} and {{TextTerm|sisters|3|113|IndexEntry=sister}}, without distinction of sex, are called {{TextTerm|sibs|4|113|IndexEntry=sib}} or {{TextTerm|siblings|4|113|2|IndexEntry=sibling}}. Siblings with only one parent in common are called {{TextTerm|half-brothers|5|113|IndexEntry=half-brother}} or {{TextTerm|half-sisters|6|113|IndexEntry=half-sister}}.&lt;br /&gt;
&lt;br /&gt;
=== 114 ===&lt;br /&gt;
&lt;br /&gt;
Persons related through common {{TextTerm|descent|1|114}} from the same {{TextTerm|progenitor|2|114}} or {{TextTerm|ancestor|2|114|2}} are called {{TextTerm|blood relatives|3|114|IndexEntry=blood relative|OtherIndexEntry=relative, blood}} or {{TextTerm|genetic relatives|3|114|2|OtherIndexEntry=relative genetic}}. The term {{TextTerm|kin|3|114|3}} is also used. The {{TextTerm|degree of relationship|4|114|OtherIndexEntry=relationship, degree of}} is generally computed by reference to the number of steps which are necessary before a common ancestor is reached, but there are many different methods of computation. The fundamental relation in each of these steps is the {{TextTerm|filial relation|5|114|OtherIndexEntry=relation, filial}} ({{RefNumber|11|2|6}}* and {{RefNumber|11|2|7}}*) of child to parent, which is the reciprocal of {{TextTerm|parenthood|6|114}}({{RefNumber|11|2|2}}*) i. e., the relation of a couple or of a father or mother to {{TextTerm|offspring|7|114}}or {{TextTerm|progeny|7|114|2}}. Blood relationship must be distinguished from {{TextTerm|affinal relationship|8|114|OtherIndexEntry=relationship, affinal}} or {{TextTerm|relationship by marriage|8|114|2|OtherIndexEntry=marriage, relationship by}}, which marriage establishes between one spouse and the kin of the other.&lt;br /&gt;
{{Note|1| {{NoteTerm|descent}} n. — {{NoteTerm|descendant}} n., one linked through descent.}}&lt;br /&gt;
{{Note|2| {{NoteTerm|ancestor}} n. — {{NoteTerm|ancestral}} adj.}}&lt;br /&gt;
{{Note|3| {{NoteTerm|relative}} n. — {{NoteTerm|related}} adj. — {{NoteTerm|relationship}} n., the state of being related.&amp;lt;br /&amp;gt;The term relative in ordinary language is used for both blood and affinal relatives. {{NoteTerm|kin}} n. and adj. — {{NoteTerm|relative, related}} — sometimes also used for the collection of all kin — {{NoteTerm|kinship}} n., the state of being kin.}}&lt;br /&gt;
{{Note|7| {{NoteTerm|progeny}} n. — this term may also be used for all the descendants of a common ancestor.}}&lt;br /&gt;
&lt;br /&gt;
=== 115 ===&lt;br /&gt;
&lt;br /&gt;
The {{TextTerm|family|1|115}} (cf. {{RefNumber|11|2|1}}) as a unit in demographic studies needs to be specifically defined and definitions for different purposes may vary. A unit so selected may be called a {{TextTerm|census family|1|115|2|IndexEntry=census, family|OtherIndexEntry=family census}} or a {{TextTerm|statistical family|1|115|3|OtherIndexEntry=family, statistical}}. In some countries the definition of a statistical family may approximate to the biological family, in others the definition may be based on the {{TextTerm|nuclear family|2|115|OtherIndexEntry=family, nuclear}} or {{TextTerm|family nucleus|2|115|2|OtherIndexEntry=nucleus, family}} consisting of the head of the household, his spouse and their unmarried children. These may either form the census family itself or be the core of such a family.&lt;br /&gt;
{{Note|1| In the United States of America the {{NoteTerm|primary family}} is that family unit which contains the head of the household; a {{NoteTerm|sub-family}} is a married couple with or without children, or a parent with one or more children under 18 years of age, living in a household and related to, but not including the head of the household and his wife. In Great Britain the {{NoteTerm|primary family unit}} consists of parents and their children, the parents’ sibs and ancestors. A {{NoteTerm|broken family}} is one in which one of the parents has been lost by death, divorce or desertion; and there is also the {{NoteTerm|abnormal family}}, such as an unmarried mother and her illegitimate children. The {{NoteTerm|joint family}} or {{NoteTerm|composite family}} generally consists of more than two generations of a biological family and is found in countries where it is not the custom for children to leave the parental home on marriage.}}&lt;br /&gt;
&lt;br /&gt;
=== 116 ===&lt;br /&gt;
&lt;br /&gt;
In non-technical language the term &amp;quot;generation&amp;quot; is often used loosely to refer to persons of similar age at the same time. In technical literature, the term {{TextTerm|generation|1|116}} has been given a precise meaning and refers to a group of persons born within a specified period of time, generally taken as a calendar year. More recently the term {{TextTerm|cohort|2|116}} has been introduced to denote a group of persons who experience a certain event in a specified period of time: thus a birth cohort is a synonym for generation in the sense of {{RefNumber|11|6|1}}, a marriage cohort is a group of persons married within a defined period etc. The term {{TextTerm|generation|2|116|2}} may also be used as a synonym for cohort, e. g. a marriage generation. In demography as in genealogy the term {{TextTerm|generation|3|116}} may also be used to denote the descendants of a group of persons who are themselves a generation, in the sense of {{RefNumber|11|6|1}}. Thus children of a group of migrants are often referred to as the second generation. Sometimes consideration is restricted to lines of descent through one sex only, thus a {{TextTerm|male generation|4|116|OtherIndexEntry=generation, male}}, or {{TextTerm|paternal generation|4|116|2|OtherIndexEntry=generation, paternal}} are the sons of a generation of males, a {{TextTerm|female generation|5|116|OtherIndexEntry=generation, female}} or {{TextTerm|maternal generation|5|116|2|OtherIndexEntry=generation, maternal}} the daughters of a generation of females. These distinctions are used particularly when the length of a generation or the mean interval between successive generations ({{RefNumber|71|3|1}}) are computed.&lt;br /&gt;
{{Note|2| {{NoteTerm|cohort}} n. — the term {{NoteTerm|cohort analysis}} has been used to denote a method of analysing data, in which the experience of individual cohorts is studied throughout their lives, or other specified periods.&amp;lt;br /&amp;gt;For purposes of military service the number of men who become liable to conscription in a given year is sometimes called the {{NoteTerm|class}} (cf. {{RefNumber|13|0|8}}) of that year. In the United States the same term is used for a group who complete their studies at a particular school or university in a particular year.}}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;center&amp;gt;&amp;lt;font size=12&amp;gt;* * * &amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;==&lt;br /&gt;
{{SummaryShort}}&lt;br /&gt;
&lt;br /&gt;
{{OtherLanguages|11}}&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Edittools&amp;diff=9853</id>
		<title>MediaWiki:Edittools</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Edittools&amp;diff=9853"/>
				<updated>2012-08-30T15:23:15Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div id=&amp;quot;editpage-specialchars&amp;quot; style=&amp;quot;margin-top: 15px; border: 1px solid #aaaaaa; padding: 2px;&amp;quot; class=&amp;quot;edittools-text edittools-version-045&amp;quot;&amp;gt;&amp;lt;!-- INCREMENT THIS VERSION NUMBER TO MAKE CHANGES TO [[MediaWiki:Edittools.js]] LIVE --&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
This div gets automatically replaced with the actual edit tools by the code in [[MediaWiki:Edittools.js]].  Please make any changes there.  Any content is this div is only shown to users with JavaScript turned off (or unsupported).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
'''Copy and paste:''' – — ° ″ ′ ≈ ≠ ≤ ≥ ± − × ÷ ← → · § &amp;amp;nbsp; '''Sign your posts on talk pages:''' &amp;lt;nowiki&amp;gt;~~~~&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
Special Multilingual Demographic Dictionary :&lt;br /&gt;
{{TextTerm|Demography|1}} is ... interdisciplinary fields such as {{NonRefTerm|economic demography}} ({{RefNumber|10|4|1}}), &lt;br /&gt;
{{Note|1| {{NoteTerm|demographer}}, n.: a specialist in demography.}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{TextTerm|Demography|1}} is ... interdisciplinary fields such as {{NonRefTerm|economic demography}} ({{RefNumber|10|4|1}}), &lt;br /&gt;
{{Note|1| {{NoteTerm|demographer}}, n.: a specialist in demography.}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;charinsert&amp;gt;&amp;lt;nowiki&amp;gt;{{&amp;lt;/nowiki&amp;gt;TextTerm|+|}} &amp;lt;nowiki&amp;gt;{{&amp;lt;/nowiki&amp;gt;RefNumber|+||}}  &amp;lt;nowiki&amp;gt;{{&amp;lt;/nowiki&amp;gt;Note|+|}} &amp;lt;nowiki&amp;gt;{{&amp;lt;/nowiki&amp;gt;NoteTerm|}}&amp;lt;/charinsert&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;{{}}&amp;lt;/nowiki&amp;gt; &amp;amp;nbsp; &amp;lt;nowiki&amp;gt;{{{}}}&amp;lt;/nowiki&amp;gt; &amp;amp;nbsp; | &amp;amp;nbsp; &amp;lt;nowiki&amp;gt;[]&amp;lt;/nowiki&amp;gt; &amp;amp;nbsp; &amp;lt;nowiki&amp;gt;[[]]&amp;lt;/nowiki&amp;gt; &amp;amp;nbsp; &amp;lt;nowiki&amp;gt;[[Category:]]&amp;lt;/nowiki&amp;gt; &amp;amp;nbsp; &amp;lt;nowiki&amp;gt;#REDIRECT [[]]&amp;lt;/nowiki&amp;gt; &amp;amp;nbsp; &amp;amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;lt;s&amp;gt;&amp;amp;lt;/s&amp;gt; &amp;amp;nbsp; &amp;amp;lt;sup&amp;gt;&amp;amp;lt;/sup&amp;gt; &amp;amp;nbsp; &amp;amp;lt;sub&amp;gt;&amp;amp;lt;/sub&amp;gt; &amp;amp;nbsp; &amp;amp;lt;code&amp;gt;&amp;amp;lt;/code&amp;gt; &amp;amp;nbsp; &amp;amp;lt;pre&amp;gt;&amp;amp;lt;/pre&amp;gt; &amp;amp;nbsp; &amp;amp;lt;blockquote&amp;gt;&amp;amp;lt;/blockquote&amp;gt; &amp;amp;nbsp; &amp;amp;lt;ref&amp;gt;&amp;amp;lt;/ref&amp;gt; &amp;amp;nbsp; &amp;lt;nowiki&amp;gt;&lt;br /&gt;
{{Reflist}}&amp;lt;/nowiki&amp;gt; &amp;amp;nbsp; &amp;amp;lt;references/&amp;gt; &amp;amp;nbsp; &amp;amp;lt;includeonly&amp;gt;&amp;amp;lt;/includeonly&amp;gt; &amp;amp;nbsp; &amp;amp;lt;noinclude&amp;gt;&amp;amp;lt;/noinclude&amp;gt; &amp;amp;nbsp; &amp;lt;nowiki&amp;gt;{{DEFAULTSORT:}}&amp;lt;/nowiki&amp;gt; &amp;amp;nbsp; &amp;amp;lt;nowiki&amp;gt;&amp;amp;lt;/nowiki&amp;gt; &amp;amp;nbsp; &amp;amp;lt;!-- --&amp;gt; &amp;amp;nbsp; &amp;amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;&amp;amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
'''Symbols:''' ~ | ¡ ¿ † ‡ ↔ ↑ ↓ • ¶ &amp;amp;nbsp; # ½ ⅓ ⅔ ¼ ¾ ⅛ ⅜ ⅝ ⅞ ∞ &amp;amp;nbsp; ‘ ’ “ ” «» &amp;amp;nbsp; ¤ ₳ ฿ ₵ ¢ ₡ ₢ $ ₫ ₯ € ₠ ₣ ƒ ₴ ₭ ₤ ℳ ₥ ₦ № ₧ ₰ £ ៛ ₨ ₪ ৳ ₮ ₩ ¥ &amp;amp;nbsp; ♠ ♣ ♥ ♦ &amp;amp;nbsp; m² m³ &amp;amp;nbsp; ♭ ♯ ♮ &amp;amp;nbsp; © ® ™&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Latin:''' A a Á á À à Â â Ä ä Ǎ ǎ Ă ă Ā ā Ã ã Å å Ą ą Æ æ Ǣ ǣ &amp;amp;nbsp; B b &amp;amp;nbsp; C c Ć ć Ċ ċ Ĉ ĉ Č č Ç ç &amp;amp;nbsp; D d Ď ď Đ đ Ḍ ḍ Ð ð &amp;amp;nbsp; E e É é È è Ė ė Ê ê Ë ë Ě ě Ĕ ĕ Ē ē Ẽ ẽ Ę ę Ə ə &amp;amp;nbsp; F f &amp;amp;nbsp; G g Ġ ġ Ĝ ĝ Ğ ğ Ģ ģ &amp;amp;nbsp; H h Ĥ ĥ Ħ ħ Ḥ ḥ &amp;amp;nbsp; I i İ ı Í í Ì ì Î î Ï ï Ǐ ǐ Ĭ ĭ Ī ī Ĩ ĩ Į į &amp;amp;nbsp; J j Ĵ ĵ &amp;amp;nbsp; K k Ķ ķ &amp;amp;nbsp; L l Ĺ ĺ Ŀ ŀ Ľ ľ Ļ ļ Ł ł Ḷ ḷ Ḹ ḹ &amp;amp;nbsp; M m Ṃ ṃ &amp;amp;nbsp; N n Ń ń Ň ň Ñ ñ Ņ ņ Ṇ ṇ &amp;amp;nbsp; O o Ó ó Ò ò Ô ô Ö ö Ǒ ǒ Ŏ ŏ Ō ō Õ õ Ǫ ǫ Ő ő Ø ø Œ œ &amp;amp;nbsp; P p &amp;amp;nbsp; Q q &amp;amp;nbsp; R r Ŕ ŕ Ř ř Ŗ ŗ Ṛ ṛ Ṝ ṝ &amp;amp;nbsp; S s Ś ś Ŝ ŝ Š š Ş ş Ș ș Ṣ ṣ ß &amp;amp;nbsp; T t Ť ť Ţ ţ Ț ț Ṭ ṭ Þ þ &amp;amp;nbsp; U u Ú ú Ù ù Û û Ü ü Ǔ ǔ Ŭ ŭ Ū ū Ũ ũ Ů ů Ų ų Ű ű Ǘ ǘ Ǜ ǜ Ǚ ǚ Ǖ ǖ &amp;amp;nbsp; V v &amp;amp;nbsp; W w Ŵ ŵ &amp;amp;nbsp; X x &amp;amp;nbsp; Y y Ý ý Ŷ ŷ Ÿ ÿ Ỹ ỹ Ȳ ȳ &amp;amp;nbsp; Z z Ź ź Ż ż Ž ž &amp;amp;nbsp; ß Ð ð Þ þ Ə ə &amp;amp;nbsp; &amp;lt;nowiki&amp;gt;{{Unicode|}}&amp;lt;/nowiki&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
'''Greek:''' Ά ά Έ έ Ή ή Ί ί Ό ό Ύ ύ Ώ ώ &amp;amp;nbsp; Α α Β β Γ γ Δ δ &amp;amp;nbsp; Ε ε Ζ ζ Η η Θ θ &amp;amp;nbsp; Ι ι Κ κ Λ λ Μ μ &amp;amp;nbsp; Ν ν Ξ ξ Ο ο Π π &amp;amp;nbsp; Ρ ρ Σ σ ς Τ τ Υ υ &amp;amp;nbsp; Φ φ Χ χ Ψ ψ Ω ω &amp;amp;nbsp; &amp;lt;nowiki&amp;gt;{{Polytonic|}}&amp;lt;/nowiki&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
'''Cyrillic:''' А а Б б В в Г г &amp;amp;nbsp; Ґ ґ Ѓ ѓ Д д Ђ ђ &amp;amp;nbsp; Е е Ё ё Є є Ж ж &amp;amp;nbsp; З з Ѕ ѕ И и І і &amp;amp;nbsp; Ї ї Й й Ј ј К к &amp;amp;nbsp; Ќ ќ Л л Љ љ М м &amp;amp;nbsp; Н н Њ њ О о П п &amp;amp;nbsp; Р р С с Т т Ћ ћ &amp;amp;nbsp; У у Ў ў Ф ф Х х &amp;amp;nbsp; Ц ц Ч ч Џ џ Ш ш &amp;amp;nbsp; Щ щ Ъ ъ Ы ы Ь ь &amp;amp;nbsp; Э э Ю ю Я я &amp;amp;nbsp; ́ &amp;lt;br /&amp;gt;&lt;br /&gt;
'''IPA:''' t̪ d̪ ʈ ɖ ɟ ɡ ɢ ʡ ʔ &amp;amp;nbsp; ɸ ʃ ʒ ɕ ʑ ʂ ʐ ʝ ɣ ʁ ʕ ʜ ʢ ɦ &amp;amp;nbsp; ɱ ɳ ɲ ŋ ɴ &amp;amp;nbsp; ʋ ɹ ɻ ɰ &amp;amp;nbsp; ʙ ʀ ɾ ɽ &amp;amp;nbsp; ɫ ɬ ɮ ɺ ɭ ʎ ʟ &amp;amp;nbsp; ɥ ʍ ɧ &amp;amp;nbsp; ɓ ɗ ʄ ɠ ʛ &amp;amp;nbsp; ʘ ǀ ǃ ǂ ǁ &amp;amp;nbsp; ɨ ʉ ɯ &amp;amp;nbsp; ɪ ʏ ʊ &amp;amp;nbsp; ɘ ɵ ɤ &amp;amp;nbsp; ə ɚ &amp;amp;nbsp; ɛ ɜ ɝ ɞ ʌ ɔ &amp;amp;nbsp; ɐ ɶ ɑ ɒ &amp;amp;nbsp; ʰ ʷ ʲ ˠ ˤ ⁿ ˡ &amp;amp;nbsp; ˈ ˌ ː ˑ ̪ &amp;amp;nbsp; &amp;lt;nowiki&amp;gt;{{IPA|}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Everything up to here gets automatically replaced with the JavaScript edit tools for users with JavaScript enabled.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-top: 1em;&amp;quot; id=&amp;quot;editpage-copywarn2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;strong style=&amp;quot;font-size: 130%;&amp;quot;&amp;gt;Please note:&amp;lt;/strong&amp;gt;&lt;br /&gt;
* When you click Save page, your changes will immediately become visible to everyone. If you wish to run a test, please edit the [[Wikipedia:Sandbox|Sandbox]] instead.&lt;br /&gt;
*Please post only [[Wikipedia:Wikipedia is an encyclopedia|encyclopedic]] information that can be [[Wikipedia:Verifiability|verified]] by external sources. Please maintain a [[Wikipedia:Neutral point of view|neutral]], unbiased point of view.&lt;br /&gt;
* Please [[Wikipedia:Copy-paste|do not copy and paste]] from copyrighted websites – only [[Wikipedia:public domain|public domain]] resources can be copied without permission.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Edittools.js&amp;diff=9851</id>
		<title>MediaWiki:Edittools.js</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Edittools.js&amp;diff=9851"/>
				<updated>2012-08-30T15:13:10Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// copied from [[mw:User:Alex Smotrov/edittools.js]], modified for use on the English Wikipedia.&lt;br /&gt;
// enableForAllFields() feature from [[commons:MediaWiki:Edittools.js]]&lt;br /&gt;
// combined and modified by [[User:Ilmari Karonen]]&lt;br /&gt;
// after making changes to this page and testing them, update the number after &amp;quot;edittools-version-&amp;quot; in [[MediaWiki:Edittools]] to purge the cache for everyone&lt;br /&gt;
&lt;br /&gt;
if (typeof (EditTools_set_focus) == 'undefined')&lt;br /&gt;
   var EditTools_set_focus = true;&lt;br /&gt;
&lt;br /&gt;
if (typeof (EditTools_set_focus_initially) == 'undefined')&lt;br /&gt;
   var EditTools_set_focus_initially = EditTools_set_focus;&lt;br /&gt;
&lt;br /&gt;
var EditTools =&lt;br /&gt;
{&lt;br /&gt;
  charinsert : {&lt;br /&gt;
     'Insert': ' – — ‘+’ “+” ° ″ ′ ≈ ≠ ≤ ≥ ± − × ÷ √ ← → · §  Sign_your_posts_on_talk_pages: ~~\~~  Cite_your_sources: &amp;lt;ref&amp;gt;+&amp;lt;/ref&amp;gt;',&lt;br /&gt;
     'Wiki markup': 'Insert:  – — ‘+’ “+” ° ″ ′ ≈ ≠ ≤ ≥ ± − × ÷ √ ← → · § ~~\~~ &amp;lt;ref&amp;gt;+&amp;lt;/ref&amp;gt;  Wiki_markup:  {\{+}}  {\{\{+}}}  |  {\{TextTerm|demography|1+}} {\{RefNumber|+13|0|1}} {\{NonRefTerm|+}} {\{Note|+|}} {\{NoteTerm|+}} [+]  [\[+]]  [\[Category:+]]  #REDIRECT.[\[+]]  &amp;amp;nbsp;  &amp;lt;s&amp;gt;+&amp;lt;/s&amp;gt;  &amp;lt;sup&amp;gt;+&amp;lt;/sup&amp;gt;  &amp;lt;sub&amp;gt;+&amp;lt;/sub&amp;gt;  &amp;lt;code&amp;gt;+&amp;lt;/code&amp;gt;  &amp;lt;pre&amp;gt;+&amp;lt;/pre&amp;gt;  &amp;lt;blockquote&amp;gt;+&amp;lt;/blockquote&amp;gt;  &amp;lt;ref.name=&amp;quot;+&amp;quot;/&amp;gt;  {\{#tag:ref|+|group=&amp;quot;nb&amp;quot;}}  {\{Reflist}}  &amp;lt;references/&amp;gt;  &amp;lt;includeonly&amp;gt;+&amp;lt;/includeonly&amp;gt;  &amp;lt;noinclude&amp;gt;+&amp;lt;/noinclude&amp;gt;  {\{DEFAULTSORT:+}}  &amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt;  &amp;lt;!--.+_--&amp;gt;  &amp;lt;span.class=&amp;quot;plainlinks&amp;quot;&amp;gt;+&amp;lt;/span&amp;gt;',&lt;br /&gt;
     'Symbols': '~ | ¡¿†‡↔↑↓•¶  # ½⅓⅔¼¾⅛⅜⅝⅞∞  ‘+’ “+” ‹+› «+» ⟨+⟩  ¤₳฿₵¢₡₢$₫₯€₠₣ƒ₴₭₤ℳ₥₦№₧₰£៛₨₪৳₮₩¥  ♠♣♥♦  m² m³  ♭♯♮  ©®™ ◌ {\{Unicode|+}}', &lt;br /&gt;
     'Latin': 'A a Á á À à Â â Ä ä Ǎ ǎ Ă ă Ā ā Ã ã Å å Ą ą Æ æ Ǣ ǣ  B b  C c Ć ć Ċ ċ Ĉ ĉ Č č Ç ç  D d Ď ď Đ đ Ḍ ḍ Ð ð  E e É é È è Ė ė Ê ê Ë ë Ě ě Ĕ ĕ Ē ē Ẽ ẽ Ę ę Ɛ ɛ Ə ə  F f  G g Ġ ġ Ĝ ĝ Ğ ğ Ģ ģ  H h Ĥ ĥ Ħ ħ Ḥ ḥ  I i İ ı Í í Ì ì Î î Ï ï Ǐ ǐ Ĭ ĭ Ī ī Ĩ ĩ Į į  J j Ĵ ĵ  K k Ķ ķ  L l Ĺ ĺ Ŀ ŀ Ľ ľ Ļ ļ Ł ł Ḷ ḷ Ḹ ḹ  M m Ṃ ṃ  N n Ń ń Ň ň Ñ ñ Ņ ņ Ṇ ṇ Ŋ ŋ  O o Ó ó Ò ò Ô ô Ö ö Ǒ ǒ Ŏ ŏ Ō ō Õ õ Ǫ ǫ Ő ő Ø ø Œ œ  Ɔ ɔ  P p  Q q  R r Ŕ ŕ Ř ř Ŗ ŗ Ṛ ṛ Ṝ ṝ  S s Ś ś Ŝ ŝ Š š Ş ş Ṣ ṣ ß  T t Ť ť Ţ ţ Ṭ ṭ Þ þ  U u Ú ú Ù ù Û û Ü ü Ǔ ǔ Ŭ ŭ Ū ū Ũ ũ Ů ů Ų ų Ű ű Ǘ ǘ Ǜ ǜ Ǚ ǚ Ǖ ǖ  V v  W w Ŵ ŵ  X x  Y y Ý ý Ŷ ŷ Ÿ ÿ Ỹ ỹ Ȳ ȳ  Z z Ź ź Ż ż Ž ž  ß Ð ð Þ þ Ŋ ŋ Ə ə  {\{Unicode|+}}',&lt;br /&gt;
     'Greek': 'ΆάΈέΉήΊίΌόΎύΏώ  ΑαΒβΓγΔδ  ΕεΖζΗηΘθ  ΙιΚκΛλΜμ  ΝνΞξΟοΠπ  ΡρΣσςΤτΥυ  ΦφΧχΨψΩω  ᾼᾳᾴᾺὰᾲᾶᾷἈἀᾈᾀἉἁᾉᾁἌἄᾌᾄἊἂᾊᾂἎἆᾎᾆἍἅᾍᾅἋἃᾋᾃἏἇᾏᾇ  ῈὲἘἐἙἑἜἔἚἒἝἕἛἓ  ῌῃῄῊὴῂῆῇἨἠᾘᾐἩἡᾙᾑἬἤᾜᾔἪἢᾚᾒἮἦᾞᾖἭἥᾝᾕἫἣᾛᾓἯἧᾟᾗ  ῚὶῖἸἰἹἱἼἴἺἲἾἶἽἵἻἳἿἷ  ῸὸὈὀὉὁὌὄὊὂὍὅὋὃ  ῤῬῥ  ῪὺῦὐὙὑὔὒὖὝὕὛὓὟὗ  ῼῳῴῺὼῲῶῷὨὠᾨᾠὩὡᾩᾡὬὤᾬᾤὪὢᾪᾢὮὦᾮᾦὭὥᾭᾥὫὣᾫᾣὯὧᾯᾧ   {\{Polytonic|+}}',&lt;br /&gt;
     'Cyrillic': 'АаБбВвГг  ҐґЃѓДдЂђ  ЕеЁёЄєЖж  ЗзЅѕИиІі  ЇїЙйЈјКк  ЌќЛлЉљМм  НнЊњОоПп  РрСсТтЋћ  УуЎўФфХх  ЦцЧчЏџШш  ЩщЪъЫыЬь  ЭэЮюЯя ӘәӨөҒғҖҗ ҚқҜҝҢңҮү ҰұҲҳҸҹҺһ  ҔҕӢӣӮӯҘҙ  ҠҡҤҥҪҫӐӑ  ӒӓӔӕӖӗӰӱ  ӲӳӸӹӀ  ҞҟҦҧҨҩҬҭ  ҴҵҶҷҼҽҾҿ  ӁӂӃӄӇӈӋӌ  ӚӛӜӝӞӟӠӡ  ӤӥӦӧӪӫӴӵ  ́',&lt;br /&gt;
     'Hebrew': 'אבגדהוזחטיךכלםמןנסעףפץצקרשת  ׳ ״  װױײ',&lt;br /&gt;
     'Arabic': '  Transcription: ʾ ṯ ḥ ḫ ẖ ḏ š ṣ ḍ ṭ ẓ ʿ ġ ẗ ا ﺁ ب ت ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ ف ق ك ل م ن ه ة و ي ى ء أ إ ؤ ئ',&lt;br /&gt;
     'IPA (English)': 'ˈ ˌ ŋ ɡ tʃ dʒ ʃ ʒ θ ð ʔ  iː ɪ uː ʊ ʌ ɜr eɪ ɛ æ oʊ ɒ ɔː ɔɪ ɔr ɑː ɑr aɪ aʊ  ə ər ɨ ɵ ʉ  {\{IPA-en|+}} {\{IPA|/+/}} ‹+›',&lt;br /&gt;
     'IPA': 'ʈɖɟɡɢʡʔ  ɸβθðʃʒɕʑʂʐçʝɣχʁħʕʜʢɦ  ɱɳɲŋɴ  ʋɹɻɰ  ʙⱱʀɾɽ  ɬ ɮ ɺ ɭʎʟ  ʍɥɧ  ʼ ɓɗʄɠʛ  ʘǀǃǂǁ  ɨʉɯ ɪʏʊ øɘɵɤ ə ɛœɜɞʌɔ æ ɐ ɶɑɒ  ʰʱʷʲˠˤˀ ᵊ k̚ ⁿˡ  ˈˌːˑ t̪ d̪ s̺ s̻ θ̼ s̬ n̥ ŋ̊ a̤ a̰  β̞ ˕ r̝ ˔ o˞ ɚ ɝ e̘ e̙ u̟ i̠ ɪ̈ e̽ ɔ̹ ɔ̜ n̩ ə̆ ə̯ ə̃ ȷ̃ ɫ z̴ ə̋ ə́ ə̄ ə̀ ə̏ ə̌ ə̂ ə᷄ ə᷅ ə᷇ ə᷆ ə᷈ ə᷉ t͡ʃ d͡ʒ t͜ɬ ‿  ˥ ˦ ˧ ˨ ˩ ꜛ ꜜ | ‖ ↗ ↘  k͈ s͎ {\{IPA|+}}',&lt;br /&gt;
     'Math and logic': '− × ÷ ⋅ ° ∗ ∘ ± ∓ ≤ ≥ ≠ ≡ ≅ ≜ ≝ ≐ ≃ ≈ ⊕ ⊗ ⇐ ⇔ ⇒ ∞ ← ↔ → ≪ ≫ ∝ √ ∤ ≀ ◅ ▻ ⋉ ⋊ ⋈ ∴ ∵ ↦ ¬ ∧ ∨ ⊻ ∀ ∃ ∈ ∉ ∋ ⊆ ⊈ ⊊ ⊂ ⊄ ⊇ ⊉ ⊋ ⊃ ⊅ ∪ ∩ ∑ ∏ ∐ ′ ∫ ∬ ∭ ∮ ∇ ∂ ∆ ∅ ℂ ℍ ℕ ℙ ℚ ℝ ℤ ℵ ⌊ ⌋ ⌈ ⌉ ⊤ ⊥ ⊢ ⊣ ⊧ □ ∠ ⟨ ⟩ {\{frac|+|}} &amp;amp;nbsp; &amp;amp;minus; &amp;lt;math&amp;gt;+&amp;lt;/math&amp;gt; {\{math|+}}'&lt;br /&gt;
  },&lt;br /&gt;
&lt;br /&gt;
  charinsertDivider : &amp;quot;\240&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
  extraCSS : '\&lt;br /&gt;
    #editpage-specialchars {\&lt;br /&gt;
      margin-top: 15px;\&lt;br /&gt;
      border-width: 1px;\&lt;br /&gt;
      border-style: solid;\&lt;br /&gt;
      border-color: #aaaaaa;\&lt;br /&gt;
      padding: 2px;\&lt;br /&gt;
    }\&lt;br /&gt;
    #editpage-specialchars a {\&lt;br /&gt;
    }\&lt;br /&gt;
    #editpage-specialchars a:hover {\&lt;br /&gt;
    }\&lt;br /&gt;
  ',&lt;br /&gt;
&lt;br /&gt;
  appendExtraCSS : function ()&lt;br /&gt;
  {&lt;br /&gt;
     appendCSS(EditTools.extraCSS);&lt;br /&gt;
  },&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  cookieName : 'edittoolscharsubset',&lt;br /&gt;
&lt;br /&gt;
  createEditTools : function (placeholder)&lt;br /&gt;
  {&lt;br /&gt;
     var box = document.createElement(&amp;quot;div&amp;quot;);&lt;br /&gt;
     box.id = &amp;quot;editpage-specialchars&amp;quot;;&lt;br /&gt;
     box.title = 'Click on the character or tag to insert it into the edit window';&lt;br /&gt;
     &lt;br /&gt;
     //append user-defined sets&lt;br /&gt;
     if (window.charinsertCustom)&lt;br /&gt;
	for (id in charinsertCustom)&lt;br /&gt;
	   if (EditTools.charinsert[id]) EditTools.charinsert[id] += ' ' + charinsertCustom[id];&lt;br /&gt;
	   else EditTools.charinsert[id] = charinsertCustom[id];&lt;br /&gt;
&lt;br /&gt;
     //create drop-down select&lt;br /&gt;
     var prevSubset = 0, curSubset = 0;&lt;br /&gt;
     var sel = document.createElement('select'), id;&lt;br /&gt;
     for (id in EditTools.charinsert)&lt;br /&gt;
	sel.options[sel.options.length] = new Option(id, id);&lt;br /&gt;
     sel.selectedIndex = 0;&lt;br /&gt;
     sel.style.cssFloat = sel.style.styleFloat = 'left';&lt;br /&gt;
     sel.style.marginRight = '5px';&lt;br /&gt;
     sel.title = 'Choose character subset';&lt;br /&gt;
     sel.onchange = sel.onkeyup = selectSubset;&lt;br /&gt;
     box.appendChild(sel);&lt;br /&gt;
&lt;br /&gt;
     //create &amp;quot;recall&amp;quot; switch&lt;br /&gt;
     if (window.editToolsRecall) {&lt;br /&gt;
	var recall = document.createElement('span');&lt;br /&gt;
	recall.appendChild(document.createTextNode('↕')); // ↔&lt;br /&gt;
	recall.onclick = function () {&lt;br /&gt;
	   sel.selectedIndex = prevSubset;&lt;br /&gt;
	   selectSubset();&lt;br /&gt;
	}&lt;br /&gt;
	with (recall.style) { cssFloat = styleFloat = 'left'; marginRight = '5px'; cursor = 'pointer'; }&lt;br /&gt;
	box.appendChild(recall);&lt;br /&gt;
     }&lt;br /&gt;
&lt;br /&gt;
     // load latest selection from cookies&lt;br /&gt;
     try {&lt;br /&gt;
        var cookieRe = new RegExp (&amp;quot;(?:^|;)\\s*&amp;quot; + EditTools.cookieName + &amp;quot;=(\\d+)\\s*(?:;|$)&amp;quot;);&lt;br /&gt;
        var m = cookieRe.exec(document.cookie);&lt;br /&gt;
        if (m &amp;amp;&amp;amp; m.length &amp;gt; 1 &amp;amp;&amp;amp; parseInt(m[1]) &amp;lt; sel.options.length)&lt;br /&gt;
           sel.selectedIndex = parseInt(m[1]);&lt;br /&gt;
     } catch (err) { /* ignore */ }&lt;br /&gt;
&lt;br /&gt;
     placeholder.parentNode.replaceChild(box, placeholder);&lt;br /&gt;
     selectSubset();&lt;br /&gt;
     return;&lt;br /&gt;
&lt;br /&gt;
     function selectSubset ()&lt;br /&gt;
     {&lt;br /&gt;
	//remember previous (for &amp;quot;recall&amp;quot; button)&lt;br /&gt;
	prevSubset = curSubset;&lt;br /&gt;
	curSubset = sel.selectedIndex;&lt;br /&gt;
        //save into cookies for persistence&lt;br /&gt;
        try {&lt;br /&gt;
           var expires = new Date ();&lt;br /&gt;
           expires.setTime( expires.getTime() + 30 * 24 * 60 * 60 * 1000 );  // + 30 days&lt;br /&gt;
           document.cookie = EditTools.cookieName + &amp;quot;=&amp;quot; + curSubset + &amp;quot;;path=/;expires=&amp;quot; + expires.toUTCString();&lt;br /&gt;
        } catch (err) { /* ignore */ }&lt;br /&gt;
	//hide other subsets&lt;br /&gt;
	var pp = box.getElementsByTagName('p') ;&lt;br /&gt;
	for (var i=0; i&amp;lt;pp.length; i++)&lt;br /&gt;
	   pp[i].style.display = 'none';&lt;br /&gt;
	//show/create current subset&lt;br /&gt;
	var id = sel.options[curSubset].value;&lt;br /&gt;
	var p = document.getElementById(id);&lt;br /&gt;
	if (!p){&lt;br /&gt;
	   p = document.createElement('p');&lt;br /&gt;
	   p.id = id;&lt;br /&gt;
	   if (id == 'Arabic' || id == 'Hebrew'){ p.style.fontSize = '120%'; p.dir = 'rtl'; }&lt;br /&gt;
	   EditTools.createTokens(p, EditTools.charinsert[id]);&lt;br /&gt;
	   box.appendChild(p);&lt;br /&gt;
	}&lt;br /&gt;
	p.style.display = 'inline';&lt;br /&gt;
     } &lt;br /&gt;
  },&lt;br /&gt;
  createTokens : function (paragraph, str)&lt;br /&gt;
  {&lt;br /&gt;
     var tokens = str.split(' '), token, i, n;&lt;br /&gt;
     for (i = 0; i &amp;lt; tokens.length; i++) {&lt;br /&gt;
	token = tokens[i];&lt;br /&gt;
	n = token.indexOf('+');&lt;br /&gt;
	if (token == '' || token == '_')&lt;br /&gt;
	   addText(EditTools.charinsertDivider + ' ');&lt;br /&gt;
	else if (token == '\n')&lt;br /&gt;
	   paragraph.appendChild(document.createElement('br'));&lt;br /&gt;
	else if (token == '___')&lt;br /&gt;
	   paragraph.appendChild(document.createElement('hr'));&lt;br /&gt;
	else if (token.charAt(token.length-1) == ':')  // : at the end means just text&lt;br /&gt;
	   addBold(token);&lt;br /&gt;
	else if (n == 0) // +&amp;lt;tag&amp;gt;  -&amp;gt;   &amp;lt;tag&amp;gt;+&amp;lt;/tag&amp;gt;&lt;br /&gt;
	   addLink(token.substring(1), '&amp;lt;/' + token.substring(2), token.substring(1));&lt;br /&gt;
	else if (n &amp;gt; 0) // &amp;lt;tag&amp;gt;+&amp;lt;/tag&amp;gt;&lt;br /&gt;
	   addLink(token.substring(0,n), token.substring(n+1));&lt;br /&gt;
	else if (token.length &amp;gt; 2 &amp;amp;&amp;amp; token.charCodeAt(0) &amp;gt; 127) //a string of insertable characters&lt;br /&gt;
	   for (var j=0; j &amp;lt; token.length; j++) addLink(token.charAt(j), '');&lt;br /&gt;
	else&lt;br /&gt;
	   addLink(token, '');&lt;br /&gt;
     }&lt;br /&gt;
     return;&lt;br /&gt;
&lt;br /&gt;
     function addLink (tagOpen, tagClose, name)&lt;br /&gt;
     {&lt;br /&gt;
	var a = document.createElement('a');&lt;br /&gt;
	tagOpen = tagOpen.replace(/\./g,' ');&lt;br /&gt;
	tagClose = tagClose ? tagClose.replace(/_/g,' ') : '';&lt;br /&gt;
	name = name || tagOpen + tagClose;&lt;br /&gt;
	name = name.replace(/\\n/g,'');&lt;br /&gt;
	a.appendChild(document.createTextNode(name));&lt;br /&gt;
	a.href = &amp;quot;#&amp;quot;;&lt;br /&gt;
	addHandler( a, 'click', new Function( &amp;quot;evt&amp;quot;, &amp;quot;insertTags('&amp;quot; + tagOpen + &amp;quot;', '&amp;quot; + tagClose + &amp;quot;', ''); return killEvt( evt );&amp;quot; ) );&lt;br /&gt;
	paragraph.appendChild(a);&lt;br /&gt;
	addText(' ');&lt;br /&gt;
     }&lt;br /&gt;
     function addBold (text)&lt;br /&gt;
     {&lt;br /&gt;
	var b = document.createElement('b');&lt;br /&gt;
	b.appendChild(document.createTextNode(text.replace(/_/g,' ')));&lt;br /&gt;
	paragraph.appendChild(b);&lt;br /&gt;
	addText(' ');&lt;br /&gt;
     }     &lt;br /&gt;
     function addText (txt)&lt;br /&gt;
     {&lt;br /&gt;
	paragraph.appendChild(document.createTextNode(txt));&lt;br /&gt;
     }&lt;br /&gt;
  },&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
  enableForAllFields : function ()&lt;br /&gt;
  {&lt;br /&gt;
     if (typeof (insertTags) != 'function' || window.WikEdInsertTags) return;&lt;br /&gt;
     // insertTags from the site-wide /skins-1.5/common/edit.js just inserts in the first&lt;br /&gt;
     // textarea in the document. Evidently, that's not good if we have multiple textareas.&lt;br /&gt;
     // My first idea was to simply add a hidden textarea as the first one, and redefine&lt;br /&gt;
     // insertTags such that it copied first the last active textareas contents over to that hidden&lt;br /&gt;
     // field, set the cursor or selection there, let the standard insertTags do its thing, and&lt;br /&gt;
     // then copy the hidden field's text, cursor position and selection back to the currently&lt;br /&gt;
     // active field. Unfortunately, that is just as complex as simply copying the whole code&lt;br /&gt;
     // from wikibits to here and let it work on the right text field in the first place.&lt;br /&gt;
     var texts = document.getElementsByTagName ('textarea');    &lt;br /&gt;
     for (var i = 0; i &amp;lt; texts.length; i++) {&lt;br /&gt;
	addHandler (texts[i], 'focus', EditTools.registerTextField);&lt;br /&gt;
     }&lt;br /&gt;
     // While we're at it, also enable it for input fields&lt;br /&gt;
     texts = document.getElementsByTagName ('input');&lt;br /&gt;
     for (var i = 0; i &amp;lt; texts.length; i++) {&lt;br /&gt;
	if (texts[i].type == 'text') addHandler (texts[i], 'focus', EditTools.registerTextField);&lt;br /&gt;
     }&lt;br /&gt;
     insertTags = EditTools.insertTags; // Redefine the global insertTags&lt;br /&gt;
  },&lt;br /&gt;
 &lt;br /&gt;
  last_active_textfield : null,&lt;br /&gt;
 &lt;br /&gt;
  registerTextField : function (evt)&lt;br /&gt;
  {&lt;br /&gt;
     var e = evt || window.event;&lt;br /&gt;
     var node = e.target || e.srcElement;&lt;br /&gt;
     if (!node) return;&lt;br /&gt;
     EditTools.last_active_textfield = node.id;&lt;br /&gt;
     return true;&lt;br /&gt;
  },&lt;br /&gt;
 &lt;br /&gt;
  getTextArea : function ()&lt;br /&gt;
  {&lt;br /&gt;
     var txtarea = null;&lt;br /&gt;
     if (EditTools.last_active_textfield &amp;amp;&amp;amp; EditTools.last_active_textfield != &amp;quot;&amp;quot;)&lt;br /&gt;
	txtarea = document.getElementById (EditTools.last_active_textfield);&lt;br /&gt;
     if (!txtarea) {&lt;br /&gt;
	// Fallback option: old behaviour&lt;br /&gt;
	if (document.editform) {&lt;br /&gt;
	   txtarea = document.editform.wpTextbox1;&lt;br /&gt;
	} else {&lt;br /&gt;
	   // Some alternate form? Take the first one we can find&lt;br /&gt;
	   txtarea = document.getElementsByTagName ('textarea');&lt;br /&gt;
	   if (txtarea.length &amp;gt; 0) txtarea = txtarea[0]; else txtarea = null;&lt;br /&gt;
	}&lt;br /&gt;
     }&lt;br /&gt;
     return txtarea;&lt;br /&gt;
  },&lt;br /&gt;
 &lt;br /&gt;
  insertTags : function (tagOpen, tagClose, sampleText)&lt;br /&gt;
  {&lt;br /&gt;
     var txtarea = EditTools.getTextArea ();&lt;br /&gt;
     if (!txtarea) return;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
     /* Usability initiative compatibility */&lt;br /&gt;
     if ( typeof $j != 'undefined' &amp;amp;&amp;amp; typeof $j.fn.textSelection != 'undefined' ) {&lt;br /&gt;
          $j( txtarea ).textSelection(&lt;br /&gt;
          'encapsulateSelection', { 'pre': tagOpen, 'peri': sampleText, 'post': tagClose }&lt;br /&gt;
          );&lt;br /&gt;
          return;&lt;br /&gt;
     }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
     var selText, isSample = false;&lt;br /&gt;
&lt;br /&gt;
     function checkSelectedText ()&lt;br /&gt;
     {&lt;br /&gt;
	if (!selText) {&lt;br /&gt;
	   selText = sampleText; isSample = true;&lt;br /&gt;
	} else if (selText.charAt (selText.length - 1) == ' ') { // Exclude ending space char&lt;br /&gt;
	   selText = selText.substring (0, selText.length - 1);&lt;br /&gt;
	   tagClose += ' ';&lt;br /&gt;
	} &lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     if (document.selection &amp;amp;&amp;amp; document.selection.createRange) { // IE/Opera&lt;br /&gt;
	// Save window scroll position&lt;br /&gt;
	var winScroll = 0;&lt;br /&gt;
	if (document.documentElement &amp;amp;&amp;amp; document.documentElement.scrollTop)&lt;br /&gt;
	   winScroll = document.documentElement.scrollTop;&lt;br /&gt;
	else if (document.body)&lt;br /&gt;
	   winScroll = document.body.scrollTop;&lt;br /&gt;
	// Get current selection  &lt;br /&gt;
	txtarea.focus();&lt;br /&gt;
	var range = document.selection.createRange();&lt;br /&gt;
	selText = range.text;&lt;br /&gt;
	// Insert tags&lt;br /&gt;
	checkSelectedText ();&lt;br /&gt;
	range.text = tagOpen + selText + tagClose;&lt;br /&gt;
	// Mark sample text as selected&lt;br /&gt;
	if (isSample &amp;amp;&amp;amp; range.moveStart) {&lt;br /&gt;
	   if (window.opera) tagClose = tagClose.replace (/\n/g, &amp;quot;&amp;quot;);&lt;br /&gt;
	   range.moveStart( 'character', - tagClose.length - selText.length); &lt;br /&gt;
	   range.moveEnd ('character', - tagClose.length); &lt;br /&gt;
	}&lt;br /&gt;
	range.select ();   &lt;br /&gt;
	// Restore window scroll position&lt;br /&gt;
	if (document.documentElement &amp;amp;&amp;amp; document.documentElement.scrollTop)&lt;br /&gt;
	   document.documentElement.scrollTop = winScroll;&lt;br /&gt;
	else if (document.body)&lt;br /&gt;
	   document.body.scrollTop = winScroll;&lt;br /&gt;
     } else if (txtarea.selectionStart || txtarea.selectionStart == '0') { // Mozilla&lt;br /&gt;
	// Save textarea scroll position&lt;br /&gt;
	var textScroll = txtarea.scrollTop;&lt;br /&gt;
	// Get current selection&lt;br /&gt;
	txtarea.focus();&lt;br /&gt;
	var startPos = txtarea.selectionStart;&lt;br /&gt;
	var endPos   = txtarea.selectionEnd;&lt;br /&gt;
	selText = txtarea.value.substring (startPos, endPos);&lt;br /&gt;
	// Insert tags&lt;br /&gt;
	checkSelectedText ();&lt;br /&gt;
	txtarea.value = txtarea.value.substring (0, startPos)&lt;br /&gt;
	+ tagOpen + selText + tagClose&lt;br /&gt;
	+ txtarea.value.substring (endPos);&lt;br /&gt;
	// Set new selection&lt;br /&gt;
	if (isSample) {&lt;br /&gt;
	   txtarea.selectionStart = startPos + tagOpen.length;&lt;br /&gt;
	   txtarea.selectionEnd = startPos + tagOpen.length + selText.length;&lt;br /&gt;
	} else {&lt;br /&gt;
	   txtarea.selectionStart = startPos + tagOpen.length + selText.length + tagClose.length;&lt;br /&gt;
	   txtarea.selectionEnd = txtarea.selectionStart;&lt;br /&gt;
	}&lt;br /&gt;
	// Restore textarea scroll position&lt;br /&gt;
	txtarea.scrollTop = textScroll;&lt;br /&gt;
     }&lt;br /&gt;
  }, // end insertTags&lt;br /&gt;
 &lt;br /&gt;
  setup : function ()&lt;br /&gt;
  {&lt;br /&gt;
     var placeholder = document.getElementById(&amp;quot;editpage-specialchars&amp;quot;);&lt;br /&gt;
     if (!placeholder) return;  // has this already been run once?&lt;br /&gt;
     EditTools.appendExtraCSS ();&lt;br /&gt;
     EditTools.createEditTools (placeholder);&lt;br /&gt;
     EditTools.enableForAllFields ();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
}; // end EditTools&lt;br /&gt;
   &lt;br /&gt;
// No need to hook this, as the loading of this page is itself hooked.&lt;br /&gt;
EditTools.setup();&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=Template:Lang_more_-en&amp;diff=9831</id>
		<title>Template:Lang more -en</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=Template:Lang_more_-en&amp;diff=9831"/>
				<updated>2012-06-14T10:47:17Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: Better&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--'''Template:Lang_more_-en'''--&amp;gt;&amp;lt;includeonly&amp;gt;More...&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=Template:Lang_more_-en&amp;diff=9830</id>
		<title>Template:Lang more -en</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=Template:Lang_more_-en&amp;diff=9830"/>
				<updated>2012-06-14T10:44:21Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: more&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;More...&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=Template:RefNumber&amp;diff=9873</id>
		<title>Template:RefNumber</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=Template:RefNumber&amp;diff=9873"/>
				<updated>2012-04-15T14:47:16Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--'''Template:RefNumber'''--&amp;gt;{{&lt;br /&gt;
  #if: {{{Page|}}} |&lt;br /&gt;
[[{{{Page}}}#{{{1}}}{{{2}}}|{{{1}}}{{{2}}}-{{{3}}}]]|&lt;br /&gt;
[[{{{1}}}#{{{1}}}{{{2}}}|{{{1}}}{{{2}}}-{{{3}}}]]}}&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Gadget-refToolbar&amp;diff=9841</id>
		<title>MediaWiki:Gadget-refToolbar</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Gadget-refToolbar&amp;diff=9841"/>
				<updated>2012-03-12T14:58:19Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[:en:Wikipedia:RefToolbar|refTools]], adds a &amp;quot;cite&amp;quot; button to the editing toolbar for quick and easy addition of commonly used citation templates. It also adds a TextTerm icon&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Editpage.js&amp;diff=9859</id>
		<title>MediaWiki:Editpage.js</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Editpage.js&amp;diff=9859"/>
				<updated>2012-03-10T12:19:15Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: 1 version : Essai&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;//dynamically load Commons-style Edittools&lt;br /&gt;
function createEdittoolsLink(){&lt;br /&gt;
 //get div.mw-editTools&lt;br /&gt;
 var box = document.getElementById('wpTextbox1')&lt;br /&gt;
 while (box &amp;amp;&amp;amp; box.className!='mw-editTools') box=box.nextSibling&lt;br /&gt;
 if (!box) return&lt;br /&gt;
 //create a link&lt;br /&gt;
 var lnk = document.createElement('a')&lt;br /&gt;
 lnk.href =  'javascript:loadCommonsTools()'&lt;br /&gt;
 lnk.title = 'Load Commons-style Edittools' &lt;br /&gt;
 lnk.id = 'loadCommonsEdittoos'&lt;br /&gt;
 lnk.appendChild(document.createTextNode('[load edittools]'))&lt;br /&gt;
 lnk.style.cssText = 'float:right'&lt;br /&gt;
 box.appendChild(lnk)&lt;br /&gt;
}&lt;br /&gt;
function loadCommonsTools(){&lt;br /&gt;
 importScript('MediaWiki:Edittools.js')&lt;br /&gt;
 var lnk = document.getElementById('loadCommonsEdittoos')&lt;br /&gt;
 if (lnk) lnk.parentNode.removeChild(lnk)&lt;br /&gt;
}&lt;br /&gt;
if (doneOnloadHook) createEdittoolsLink()&lt;br /&gt;
else addOnloadHook(createEdittoolsLink)&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Gadget-citations.js&amp;diff=9861</id>
		<title>MediaWiki:Gadget-citations.js</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Gadget-citations.js&amp;diff=9861"/>
				<updated>2012-03-10T12:19:15Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: 1 version : Essai&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/*  _____________________________________________________________________________&lt;br /&gt;
 * |                                                                             |&lt;br /&gt;
 * |                    === WARNING: GLOBAL GADGET FILE ===                      |&lt;br /&gt;
 * |                  Changes to this page affect many users.                    |&lt;br /&gt;
 * | Please discuss changes on the talk page or on [[WT:Gadget]] before editing. |&lt;br /&gt;
 * |_____________________________________________________________________________|&lt;br /&gt;
 *&lt;br /&gt;
 * Imported from version 1.0 as of 17:18, 9 April 2011 (UTC) from [[User:Smith609/citations.js]]&lt;br /&gt;
 * Adds a &amp;quot;Citation bot&amp;quot; link to the toolbox, and a button beneath edit fields, see [[User:Smith609/citations]]&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
// @Version 1.0 - Adds an &amp;quot;Expand citations&amp;quot; link to the toolbox, and a button beneath edit fields.&lt;br /&gt;
&lt;br /&gt;
function addCBToToolbox() {&lt;br /&gt;
  if (wgCanonicalNamespace != &amp;quot;Special&amp;quot;) {&lt;br /&gt;
   var pTb = document.getElementById(&amp;quot;p-tb&amp;quot;);&lt;br /&gt;
   if( !pTb ) return;&lt;br /&gt;
   var escPageName = encodeURIComponent(wgPageName);&lt;br /&gt;
&lt;br /&gt;
   addPortletLink(&amp;quot;p-tb&amp;quot;, &amp;quot;http://toolserver.org/~verisimilus/Bot/citation-bot/doibot.php?edit=toolbar&amp;amp;slow=1&amp;amp;user=&amp;quot;+encodeURIComponent(wgUserName)+&amp;quot;&amp;amp;page=&amp;quot;+escPageName, 'Expand citations', '', &amp;quot;Expand citations and fix common formatting errors&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Add a citation bot button&lt;br /&gt;
function addCitationBot() {&lt;br /&gt;
	if (document.getElementById('wpDiff')){&lt;br /&gt;
	 var diff = document.getElementById('wpDiff');&lt;br /&gt;
	 var cbButton = document.createElement(&amp;quot;input&amp;quot;);&lt;br /&gt;
	 cbButton.value=&amp;quot;Citations&amp;quot;;&lt;br /&gt;
	 cbButton.type=&amp;quot;submit&amp;quot;;&lt;br /&gt;
	 originalAction=document.getElementById('editform').getAttribute('action');&lt;br /&gt;
	 cbButton.setAttribute(&amp;quot;onmousedown&amp;quot;, &amp;quot; document.getElementById('editform').setAttribute('action', 'http://toolserver.org/~verisimilus/Bot/citation-bot/text.php')&amp;quot;);&lt;br /&gt;
	 cbButton.setAttribute(&amp;quot;onkeydown&amp;quot;, &amp;quot; document.getElementById('editform').setAttribute('action', 'http://toolserver.org/~verisimilus/Bot/citation-bot/text.php')&amp;quot;);&lt;br /&gt;
	 diff.setAttribute(&amp;quot;onmousedown&amp;quot;, originalAction);&lt;br /&gt;
	 diff.setAttribute(&amp;quot;onkeydown&amp;quot;, originalAction);&lt;br /&gt;
	 document.getElementById('wpPreview').setAttribute(&amp;quot;onmousedown&amp;quot;, originalAction);&lt;br /&gt;
	 document.getElementById('wpPreview').setAttribute(&amp;quot;onkeydown&amp;quot;, originalAction);&lt;br /&gt;
	 document.getElementById('wpSave').setAttribute(&amp;quot;onmousedown&amp;quot;, originalAction);&lt;br /&gt;
	 document.getElementById('wpSave').setAttribute(&amp;quot;onkeydown&amp;quot;, originalAction);&lt;br /&gt;
	 diff.parentNode.insertBefore(cbButton, diff.nextSibling);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
addOnloadHook(addCitationBot);&lt;br /&gt;
if( skin == &amp;quot;myskin&amp;quot; || skin == &amp;quot;simple&amp;quot; || skin == &amp;quot;monobook&amp;quot; || skin == &amp;quot;modern&amp;quot; || skin == &amp;quot;chick&amp;quot; || skin == &amp;quot;vector&amp;quot;) {&lt;br /&gt;
  addOnloadHook(addCBToToolbox);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Gadget-citations&amp;diff=9863</id>
		<title>MediaWiki:Gadget-citations</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Gadget-citations&amp;diff=9863"/>
				<updated>2012-03-10T12:19:15Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: 1 version : Essai&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[WP:Citation expander|Citation expander]]: Automatically expand and format citations (uses &amp;quot;[[WP:UCB|Citation bot]]&amp;quot;).&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* A link in the toolbox will activate [[User:Citation bot]] on the page that you are currently viewing.  The bot will expand, format and tidy all references on that page.&lt;br /&gt;
&lt;br /&gt;
* A button underneath the edit box (next to &amp;quot;Show Changes&amp;quot;) will send the contents of the edit box to the bot, which will process them and return the expanded version.  This has two possible uses:&lt;br /&gt;
** It allows the manual checking of the bot's output before an article is modified&lt;br /&gt;
** You can type a partial citation in to an article (e.g. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{cite journal|pmid=12345}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;), then have the bot expand this to a complete citation before you save the page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For more information about the functions performed by [[User:Citation bot|Citation bot]], see [[User:Citation bot|its user page]] or [[WP:UCB|an introductory page]].  For information about the gadget's script, see [[User:Smith609/citation]].&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Common.js/edit.js&amp;diff=9849</id>
		<title>MediaWiki:Common.js/edit.js</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=MediaWiki:Common.js/edit.js&amp;diff=9849"/>
				<updated>2012-03-10T12:19:14Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: 1 version : Essai&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* Any JavaScript here will be loaded for all users on every page load. */&lt;br /&gt;
/** Extra toolbar options ******************************************************&lt;br /&gt;
 *  &lt;br /&gt;
 *  Description: Adds extra buttons to the editing toolbar.&lt;br /&gt;
 *  &lt;br /&gt;
 *  To disable this script, add &amp;lt;code&amp;gt;mwCustomEditButtons = [];&amp;lt;code&amp;gt; to [[Special:Mypage/vector.js]].&lt;br /&gt;
 *  &lt;br /&gt;
 *  Maintainers: [[User:MarkS]], [[User:Voice of All]], [[User:R. Koot]]&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
if (mwCustomEditButtons) {&lt;br /&gt;
    mwCustomEditButtons.push({&lt;br /&gt;
        &amp;quot;imageFile&amp;quot;: &amp;quot;//upload.wikimedia.org/wikipedia/en/c/c8/Button_redirect.png&amp;quot;,&lt;br /&gt;
        &amp;quot;speedTip&amp;quot;: &amp;quot;Redirect&amp;quot;,&lt;br /&gt;
        &amp;quot;tagOpen&amp;quot;: &amp;quot;#REDIRECT [[&amp;quot;,&lt;br /&gt;
        &amp;quot;tagClose&amp;quot;: &amp;quot;]]&amp;quot;,&lt;br /&gt;
        &amp;quot;sampleText&amp;quot;: &amp;quot;Target page name&amp;quot;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    mwCustomEditButtons.push({&lt;br /&gt;
        &amp;quot;imageFile&amp;quot;: &amp;quot;//upload.wikimedia.org/wikipedia/en/c/c9/Button_strike.png&amp;quot;,&lt;br /&gt;
        &amp;quot;speedTip&amp;quot;: &amp;quot;Strike&amp;quot;,&lt;br /&gt;
        &amp;quot;tagOpen&amp;quot;: &amp;quot;&amp;lt;s&amp;gt;&amp;quot;,&lt;br /&gt;
        &amp;quot;tagClose&amp;quot;: &amp;quot;&amp;lt;/s&amp;gt;&amp;quot;,&lt;br /&gt;
        &amp;quot;sampleText&amp;quot;: &amp;quot;Strike-through text&amp;quot;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    mwCustomEditButtons.push({&lt;br /&gt;
         &amp;quot;imageFile&amp;quot;: &amp;quot;//upload.wikimedia.org/wikipedia/en/1/13/Button_enter.png&amp;quot;,&lt;br /&gt;
        &amp;quot;speedTip&amp;quot;: &amp;quot;Line break&amp;quot;,&lt;br /&gt;
        &amp;quot;tagOpen&amp;quot;: &amp;quot;&amp;lt;br /&amp;gt;&amp;quot;,&lt;br /&gt;
        &amp;quot;tagClose&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;sampleText&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    mwCustomEditButtons.push({&lt;br /&gt;
        &amp;quot;imageFile&amp;quot;: &amp;quot;//upload.wikimedia.org/wikipedia/en/8/80/Button_upper_letter.png&amp;quot;,&lt;br /&gt;
        &amp;quot;speedTip&amp;quot;: &amp;quot;Superscript&amp;quot;,&lt;br /&gt;
        &amp;quot;tagOpen&amp;quot;: &amp;quot;&amp;lt;sup&amp;gt;&amp;quot;,&lt;br /&gt;
        &amp;quot;tagClose&amp;quot;: &amp;quot;&amp;lt;/sup&amp;gt;&amp;quot;,&lt;br /&gt;
        &amp;quot;sampleText&amp;quot;: &amp;quot;Superscript text&amp;quot;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    mwCustomEditButtons.push({&lt;br /&gt;
        &amp;quot;imageFile&amp;quot;: &amp;quot;//upload.wikimedia.org/wikipedia/en/7/70/Button_lower_letter.png&amp;quot;,&lt;br /&gt;
        &amp;quot;speedTip&amp;quot;: &amp;quot;Subscript&amp;quot;,&lt;br /&gt;
        &amp;quot;tagOpen&amp;quot;: &amp;quot;&amp;lt;sub&amp;gt;&amp;quot;,&lt;br /&gt;
        &amp;quot;tagClose&amp;quot;: &amp;quot;&amp;lt;/sub&amp;gt;&amp;quot;,&lt;br /&gt;
        &amp;quot;sampleText&amp;quot;: &amp;quot;Subscript text&amp;quot;&lt;br /&gt;
    });&lt;br /&gt;
 &lt;br /&gt;
    mwCustomEditButtons.push({&lt;br /&gt;
        &amp;quot;imageFile&amp;quot;: &amp;quot;//upload.wikimedia.org/wikipedia/en/5/58/Button_small.png&amp;quot;,&lt;br /&gt;
        &amp;quot;speedTip&amp;quot;: &amp;quot;Small&amp;quot;,&lt;br /&gt;
        &amp;quot;tagOpen&amp;quot;: &amp;quot;&amp;lt;small&amp;gt;&amp;quot;,&lt;br /&gt;
        &amp;quot;tagClose&amp;quot;: &amp;quot;&amp;lt;/small&amp;gt;&amp;quot;,&lt;br /&gt;
        &amp;quot;sampleText&amp;quot;: &amp;quot;Small Text&amp;quot;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    mwCustomEditButtons.push({&lt;br /&gt;
        &amp;quot;imageFile&amp;quot;: &amp;quot;//upload.wikimedia.org/wikipedia/en/3/34/Button_hide_comment.png&amp;quot;,&lt;br /&gt;
        &amp;quot;speedTip&amp;quot;: &amp;quot;Insert hidden Comment&amp;quot;,&lt;br /&gt;
        &amp;quot;tagOpen&amp;quot;: &amp;quot;&amp;lt;!-- &amp;quot;,&lt;br /&gt;
        &amp;quot;tagClose&amp;quot;: &amp;quot; --&amp;gt;&amp;quot;,&lt;br /&gt;
        &amp;quot;sampleText&amp;quot;: &amp;quot;Comment&amp;quot;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    mwCustomEditButtons.push({&lt;br /&gt;
        &amp;quot;imageFile&amp;quot;: &amp;quot;//upload.wikimedia.org/wikipedia/en/1/12/Button_gallery.png&amp;quot;,&lt;br /&gt;
        &amp;quot;speedTip&amp;quot;: &amp;quot;Insert a picture gallery&amp;quot;,&lt;br /&gt;
        &amp;quot;tagOpen&amp;quot;: &amp;quot;\n&amp;lt;gallery&amp;gt;\n&amp;quot;,&lt;br /&gt;
        &amp;quot;tagClose&amp;quot;: &amp;quot;\n&amp;lt;/gallery&amp;gt;&amp;quot;,&lt;br /&gt;
        &amp;quot;sampleText&amp;quot;: &amp;quot;Image:Example.jpg|Caption1\nImage:Example.jpg|Caption2&amp;quot;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    mwCustomEditButtons.push({&lt;br /&gt;
        &amp;quot;imageFile&amp;quot;: &amp;quot;//upload.wikimedia.org/wikipedia/en/f/fd/Button_blockquote.png&amp;quot;,&lt;br /&gt;
        &amp;quot;speedTip&amp;quot;: &amp;quot;Insert block of quoted text&amp;quot;,&lt;br /&gt;
        &amp;quot;tagOpen&amp;quot;: &amp;quot;&amp;lt;blockquote&amp;gt;\n&amp;quot;,&lt;br /&gt;
        &amp;quot;tagClose&amp;quot;: &amp;quot;\n&amp;lt;/blockquote&amp;gt;&amp;quot;,&lt;br /&gt;
        &amp;quot;sampleText&amp;quot;: &amp;quot;Block quote&amp;quot;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    mwCustomEditButtons.push({&lt;br /&gt;
        &amp;quot;imageFile&amp;quot;: &amp;quot;//upload.wikimedia.org/wikipedia/en/6/60/Button_insert_table.png&amp;quot;,&lt;br /&gt;
        &amp;quot;speedTip&amp;quot;: &amp;quot;Insert a table&amp;quot;,&lt;br /&gt;
        &amp;quot;tagOpen&amp;quot;: '{| class=&amp;quot;wikitable&amp;quot;\n|',&lt;br /&gt;
        &amp;quot;tagClose&amp;quot;: &amp;quot;\n|}&amp;quot;,&lt;br /&gt;
        &amp;quot;sampleText&amp;quot;: &amp;quot;-\n! header 1\n! header 2\n! header 3\n|-\n| row 1, cell 1\n| row 1, cell 2\n| row 1, cell 3\n|-\n| row 2, cell 1\n| row 2, cell 2\n| row 2, cell 3&amp;quot;&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    mwCustomEditButtons.push({&lt;br /&gt;
        &amp;quot;imageFile&amp;quot;: &amp;quot;//upload.wikimedia.org/wikipedia/commons/7/79/Button_reflink.png&amp;quot;,&lt;br /&gt;
        &amp;quot;speedTip&amp;quot;: &amp;quot;Insert a reference&amp;quot;,&lt;br /&gt;
        &amp;quot;tagOpen&amp;quot;: &amp;quot;&amp;lt;ref&amp;gt;&amp;quot;,&lt;br /&gt;
        &amp;quot;tagClose&amp;quot;: &amp;quot;&amp;lt;/ref&amp;gt;&amp;quot;,&lt;br /&gt;
        &amp;quot;sampleText&amp;quot;: &amp;quot;Insert footnote text here&amp;quot;&lt;br /&gt;
    });&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/** Fix edit summary prompt for undo  ******************************************&lt;br /&gt;
 *  Fixes the fact that the undo function combined with the &amp;quot;no edit summary prompter&amp;quot;&lt;br /&gt;
 *  causes problems if leaving the edit summary unchanged.&lt;br /&gt;
 *  Added by [[User:Deskana]], code by [[User:Tra]].&lt;br /&gt;
 *  See also [[bugzilla:8912]].&lt;br /&gt;
 */&lt;br /&gt;
$(function () {&lt;br /&gt;
    if (document.location.search.indexOf(&amp;quot;undo=&amp;quot;) != -1 &amp;amp;&amp;amp; document.getElementsByName('wpAutoSummary')[0]) {&lt;br /&gt;
        document.getElementsByName('wpAutoSummary')[0].value='1';&lt;br /&gt;
    }&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/** Edittools javascript loader ************************************************&lt;br /&gt;
 *&lt;br /&gt;
 *  Description: Pulls in [[MediaWiki:Edittools.js]]. Includes a cache-bypassing&lt;br /&gt;
 *  version number in the URL in order to allow any changes to the edittools to&lt;br /&gt;
 *  be rapidly deployed to users.&lt;br /&gt;
 *&lt;br /&gt;
 *  Note that, by default, this function does nothing unless the element with&lt;br /&gt;
 *  the ID &amp;quot;editpage-specialchars&amp;quot; (which contains the old edittools code in&lt;br /&gt;
 *  [[MediaWiki:Edittools]], and will be retained as a placeholder in the new&lt;br /&gt;
 *  implementation) has a class named &amp;quot;edittools-version-NNN&amp;quot;, where NNN is a&lt;br /&gt;
 *  number.  If the class name has &amp;quot;test&amp;quot; before the number, the code will only&lt;br /&gt;
 *  run for users who have set &amp;quot;window.testJsEdittools = true&amp;quot; in their user JS.&lt;br /&gt;
 *  The &amp;quot;test&amp;quot; should be retained in the class name until the new edittools&lt;br /&gt;
 *  implementation is ready and fully tested, and until at least 30 days have&lt;br /&gt;
 *  passed since this loader stub was added (which will be in 27 June 2008).&lt;br /&gt;
 *&lt;br /&gt;
 *  For compatibility with Alex Smotrov's original implementation, on which this&lt;br /&gt;
 *  code is loosely based (see [[mw:User talk:Alex Smotrov/edittools.js]]), this&lt;br /&gt;
 *  loader can also be disabled by setting &amp;quot;window.noDefaultEdittools = true&amp;quot;.&lt;br /&gt;
 *&lt;br /&gt;
 *  Maintainers: [[User:Ilmari Karonen]]&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
//Prevent the static edittools from flashing before the compact edittools below is loaded.&lt;br /&gt;
mw.util.addCSS('div.edittools-text { display:none; }');&lt;br /&gt;
&lt;br /&gt;
$(function () {&lt;br /&gt;
    // needs to be deferred until the DOM has fully loaded&lt;br /&gt;
    var placeholder = document.getElementById(&amp;quot;editpage-specialchars&amp;quot;);&lt;br /&gt;
    if (!placeholder || window.noDefaultEdittools) {&lt;br /&gt;
        //Show the static edittools again for users with &amp;quot;window.noDefaultEdittools=true&amp;quot;.&lt;br /&gt;
        mw.util.addCSS('div.edittools-text { display:block; }');&lt;br /&gt;
        return;&lt;br /&gt;
    }&lt;br /&gt;
    var match = /(?:^| )edittools-version-(\d+)(?: |$)/.exec(placeholder.className);&lt;br /&gt;
    console.log(&amp;quot;Common.js/edit.js match =&amp;quot; + match);&lt;br /&gt;
    // set window.testJsEdittools = true to enable testing before full deployment&lt;br /&gt;
    if (!match &amp;amp;&amp;amp; window.testJsEdittools)&lt;br /&gt;
        match = /(?:^| )edittools-version-(test\d+)(?: |$)/.exec(placeholder.className);&lt;br /&gt;
    &lt;br /&gt;
    if (!match) return;&lt;br /&gt;
    var url = wgScript + '?title=MediaWiki:Edittools.js&amp;amp;action=raw&amp;amp;ctype=text/javascript&amp;amp;nocache=' + match[1];&lt;br /&gt;
    importScriptURI(url);&lt;br /&gt;
});&lt;br /&gt;
var url = wgScript + '?title=MediaWiki:Edittools.js&amp;amp;action=raw&amp;amp;ctype=text/javascript';&lt;br /&gt;
    importScriptURI(url);&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=MediaWiki:RefToolbarBaseTextTerm.js&amp;diff=9855</id>
		<title>MediaWiki:RefToolbarBaseTextTerm.js</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=MediaWiki:RefToolbarBaseTextTerm.js&amp;diff=9855"/>
				<updated>2012-03-10T12:19:14Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: 1 version : Essai&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// Global object&lt;br /&gt;
if (typeof CiteTB == 'undefined') {&lt;br /&gt;
  var CiteTB = {&lt;br /&gt;
    &amp;quot;Templates&amp;quot; : {}, // All templates&lt;br /&gt;
    &amp;quot;Options&amp;quot; : {}, // Global options&lt;br /&gt;
    &amp;quot;UserOptions&amp;quot; : {}, // User options&lt;br /&gt;
    &amp;quot;DefaultOptions&amp;quot; : {}, // Script defaults&lt;br /&gt;
    &amp;quot;ErrorChecks&amp;quot; : {} // Error check functions&lt;br /&gt;
  };&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (typeof mw.usability == 'undefined') {&lt;br /&gt;
  mw.usability = {};&lt;br /&gt;
  mw.usability.getMsg = function(m) { return mw.messages.get(m); }&lt;br /&gt;
  mw.usability.addMessages = function(msgs) { mw.messages.set(msgs); };&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Object for cite templates&lt;br /&gt;
function citeTemplate(templatename, shortform, basicfields, expandedfields) {&lt;br /&gt;
  // Properties&lt;br /&gt;
  this.templatename = templatename; // The template name - &amp;quot;cite web&amp;quot;, &amp;quot;cite book&amp;quot;, etc.&lt;br /&gt;
  this.shortform = shortform; // A short form, used for the dropdown box&lt;br /&gt;
  this.basic = basicfields; // Basic fields - author, title, publisher...&lt;br /&gt;
  // Less common - quote, archiveurl - should be everything the template supports minus the basic ones&lt;br /&gt;
  this.extra = expandedfields;&lt;br /&gt;
&lt;br /&gt;
  // Add it to the list&lt;br /&gt;
  CiteTB.Templates[this.templatename] = this;&lt;br /&gt;
  // Methods&lt;br /&gt;
  this.makeFormInner = function(fields) {&lt;br /&gt;
    var i=0;&lt;br /&gt;
    var trs = new Array();&lt;br /&gt;
    for (i=0; i&amp;lt;fields.length; i++) {&lt;br /&gt;
      var fieldobj = fields[i];&lt;br /&gt;
      var field = fieldobj.field;&lt;br /&gt;
      var ad = false;&lt;br /&gt;
      if ($j.inArray(field, CiteTB.getOption('autodate fields')) != -1 ) {&lt;br /&gt;
        im = $j('&amp;lt;img /&amp;gt;').attr('src', '//upload.wikimedia.org/wikipedia/commons/thumb/7/7b/Nuvola_apps_date.svg/20px-Nuvola_apps_date.svg.png');&lt;br /&gt;
        im.attr('alt', mw.usability.getMsg('cite-insert-date')).attr('title', mw.usability.getMsg('cite-insert-date'));&lt;br /&gt;
        var ad = $j('&amp;lt;a /&amp;gt;').attr('href', '#');&lt;br /&gt;
        ad.append(im);&lt;br /&gt;
        ad.attr('id', 'cite-date-'+CiteTB.escStr(this.shortform)+'-'+field);&lt;br /&gt;
        $j('#cite-date-'+CiteTB.escStr(this.shortform)+'-'+field).live('click', CiteTB.fillAccessdate);&lt;br /&gt;
      }&lt;br /&gt;
	  &lt;br /&gt;
      if (fieldobj.autofillid) {&lt;br /&gt;
        var autotype = fieldobj.autofillid;&lt;br /&gt;
        im = $j('&amp;lt;img /&amp;gt;').attr('src', '//upload.wikimedia.org/wikipedia/commons/thumb/1/17/System-search.svg/20px-System-search.svg.png');&lt;br /&gt;
        im.attr('alt', mw.usability.getMsg('cite-autofill-alt')).attr('title', mw.usability.getMsg('cite-autofill-alt'));&lt;br /&gt;
        var ad = $j('&amp;lt;a /&amp;gt;').attr('href', '#');&lt;br /&gt;
        ad.append(im);&lt;br /&gt;
        ad.attr('id', 'cite-auto-'+CiteTB.escStr(this.shortform)+'-'+field+'-'+autotype);&lt;br /&gt;
        $j('#cite-auto-'+CiteTB.escStr(this.shortform)+'-'+field+'-'+autotype).live('click', CiteTB.initAutofill);	  &lt;br /&gt;
      }&lt;br /&gt;
	  &lt;br /&gt;
      var display = mw.usability.getMsg('cite-'+field+'-label');&lt;br /&gt;
      var tooltip = fieldobj.tooltip ? $j('&amp;lt;abbr /&amp;gt;').attr('title', mw.usability.getMsg(fieldobj.tooltip)).text('*') : false;&lt;br /&gt;
      &lt;br /&gt;
      var input = '';&lt;br /&gt;
      if (ad) {&lt;br /&gt;
        input = $j('&amp;lt;input tabindex=&amp;quot;1&amp;quot; style=&amp;quot;width:85%&amp;quot; type=&amp;quot;text&amp;quot; /&amp;gt;');&lt;br /&gt;
      } else {&lt;br /&gt;
        input = $j('&amp;lt;input tabindex=&amp;quot;1&amp;quot; style=&amp;quot;width:100%&amp;quot; type=&amp;quot;text&amp;quot; /&amp;gt;');&lt;br /&gt;
      }&lt;br /&gt;
      input.attr('id', 'cite-'+CiteTB.escStr(this.shortform)+'-'+field);&lt;br /&gt;
	  if (fieldobj.autofillprop) {&lt;br /&gt;
	    input.addClass('cite-'+CiteTB.escStr(this.shortform)+'-'+fieldobj.autofillprop);&lt;br /&gt;
	  }&lt;br /&gt;
      var label = $j('&amp;lt;label /&amp;gt;');&lt;br /&gt;
      label.attr('for', 'cite-'+CiteTB.escStr(this.shortform)+'-'+field).text(display);&lt;br /&gt;
      if (tooltip) {&lt;br /&gt;
        label.append(tooltip);&lt;br /&gt;
      }&lt;br /&gt;
      var style = 'text-align:right; width:20%;';&lt;br /&gt;
      if (i%2 == 1) {&lt;br /&gt;
        style += ' padding-left:1em;';&lt;br /&gt;
      } else {&lt;br /&gt;
        var tr = $j('&amp;lt;tr /&amp;gt;');&lt;br /&gt;
      }&lt;br /&gt;
      var td1 = $j('&amp;lt;td class=&amp;quot;cite-form-td&amp;quot; /&amp;gt;').attr('style', style);&lt;br /&gt;
      td1.append(label);&lt;br /&gt;
      tr.append(td1);&lt;br /&gt;
      var td2 = $j('&amp;lt;td class=&amp;quot;cite-form-td&amp;quot; style=&amp;quot;width:30%&amp;quot; /&amp;gt;');&lt;br /&gt;
      td2.append(input);&lt;br /&gt;
      if (ad) {&lt;br /&gt;
        td2.append(ad);&lt;br /&gt;
      }&lt;br /&gt;
      tr.append(td2);&lt;br /&gt;
      if (i%2 == 0) {&lt;br /&gt;
        trs.push(tr);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    return trs;&lt;br /&gt;
  &lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  // gives a little bit of HTML so the open form can be identified&lt;br /&gt;
  this.getInitial = function() {&lt;br /&gt;
    var hidden = $j('&amp;lt;input type=&amp;quot;hidden&amp;quot; class=&amp;quot;cite-template&amp;quot; /&amp;gt;');&lt;br /&gt;
    hidden.val(this.templatename);&lt;br /&gt;
    return hidden;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  // makes the form used in the dialog boxes&lt;br /&gt;
  this.getForm = function() {&lt;br /&gt;
    var main = $j(&amp;quot;&amp;lt;div class='cite-form-container' /&amp;gt;&amp;quot;);&lt;br /&gt;
    var form1 = $j('&amp;lt;table style=&amp;quot;width:100%; background-color:transparent;&amp;quot; class=&amp;quot;cite-basic-fields&amp;quot; /&amp;gt;');&lt;br /&gt;
    var i=0;&lt;br /&gt;
    var trs = this.makeFormInner(this.basic);&lt;br /&gt;
    for (var i=0; i&amp;lt;trs.length; i++) {&lt;br /&gt;
      form1.append(trs[i]);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    var form2 = $j('&amp;lt;table style=&amp;quot;width:100%; background-color:transparent; display:none&amp;quot; class=&amp;quot;cite-extra-fields&amp;quot;&amp;gt;');&lt;br /&gt;
    trs = this.makeFormInner(this.extra);&lt;br /&gt;
    for (var i=0; i&amp;lt;trs.length; i++) {&lt;br /&gt;
      form2.append(trs[i]);&lt;br /&gt;
    }    &lt;br /&gt;
    main.append(form1).append(form2);&lt;br /&gt;
    &lt;br /&gt;
    var form3 = $j('&amp;lt;table style=&amp;quot;width:100%; background-color:transparent;padding-top:1em&amp;quot; class=&amp;quot;cite-other-fields&amp;quot;&amp;gt;');&lt;br /&gt;
    var tr = $j('&amp;lt;tr /&amp;gt;');&lt;br /&gt;
    var td1 = $j('&amp;lt;td class=&amp;quot;cite-form-td&amp;quot; style=&amp;quot;text-align:right; width:20%&amp;quot; /&amp;gt;');&lt;br /&gt;
    var label1 = $j('&amp;lt;label /&amp;gt;');&lt;br /&gt;
    label1.attr('for', &amp;quot;cite-&amp;quot;+CiteTB.escStr(this.shortform)+'-name').text(mw.usability.getMsg('cite-name-label'));&lt;br /&gt;
    td1.append(label1);&lt;br /&gt;
    var td2 = $j('&amp;lt;td class=&amp;quot;cite-form-td&amp;quot; style=&amp;quot;width:30%&amp;quot; /&amp;gt;');&lt;br /&gt;
    var input1 = $j('&amp;lt;input tabindex=&amp;quot;1&amp;quot; style=&amp;quot;width:100%&amp;quot; type=&amp;quot;text&amp;quot; /&amp;gt;');&lt;br /&gt;
    input1.attr('id', 'cite-'+CiteTB.escStr(this.shortform)+'-name');&lt;br /&gt;
    td2.append(input1);&lt;br /&gt;
    var td3 = $j('&amp;lt;td class=&amp;quot;cite-form-td&amp;quot; style=&amp;quot;text-align:right; padding-left:1em; width:20%&amp;quot;&amp;gt;');&lt;br /&gt;
    var label2 = $j('&amp;lt;label /&amp;gt;');&lt;br /&gt;
    label2.attr('for', 'cite-'+CiteTB.escStr(this.shortform)+'-group').text(mw.usability.getMsg('cite-group-label'));&lt;br /&gt;
    td3.append(label2);&lt;br /&gt;
    var td4 = $j('&amp;lt;td class=&amp;quot;cite-form-td&amp;quot; style=&amp;quot;width:30%&amp;quot; /&amp;gt;');&lt;br /&gt;
    var input2 = $j('&amp;lt;input tabindex=&amp;quot;1&amp;quot; style=&amp;quot;width:100%&amp;quot; type=&amp;quot;text&amp;quot; /&amp;gt;');&lt;br /&gt;
    input2.attr('id', 'cite-'+CiteTB.escStr(this.shortform)+'-group');&lt;br /&gt;
    td4.append(input2);&lt;br /&gt;
    tr.append(td1).append(td2).append(td3).append(td4);&lt;br /&gt;
    form3.append(tr);&lt;br /&gt;
    main.append(form3);&lt;br /&gt;
    var extras = $j('&amp;lt;div /&amp;gt;');&lt;br /&gt;
    extras.append('&amp;lt;input type=&amp;quot;hidden&amp;quot; class=&amp;quot;cite-form-status&amp;quot; value=&amp;quot;closed&amp;quot; /&amp;gt;');&lt;br /&gt;
    var hidden = $j('&amp;lt;input type=&amp;quot;hidden&amp;quot; class=&amp;quot;cite-template&amp;quot; /&amp;gt;');&lt;br /&gt;
    hidden.val(this.templatename);&lt;br /&gt;
    extras.append(hidden);&lt;br /&gt;
    var span1 = $j('&amp;lt;span class=&amp;quot;cite-preview-label&amp;quot; style=&amp;quot;display:none;&amp;quot; /&amp;gt;');&lt;br /&gt;
    span1.text(mw.usability.getMsg('cite-raw-preview'));&lt;br /&gt;
    extras.append(span1).append('&amp;lt;div class=&amp;quot;cite-ref-preview&amp;quot; style=&amp;quot;padding:0.5em; font-size:110%&amp;quot; /&amp;gt;');&lt;br /&gt;
    var span2 = $j('&amp;lt;span class=&amp;quot;cite-prev-parsed-label&amp;quot; style=&amp;quot;display:none;&amp;quot; /&amp;gt;');&lt;br /&gt;
    span2.text(mw.usability.getMsg('cite-parsed-label'));&lt;br /&gt;
    extras.append(span2).append('&amp;lt;div class=&amp;quot;cite-preview-parsed&amp;quot; style=&amp;quot;padding-bottom:0.5em; font-size:110%&amp;quot; /&amp;gt;');&lt;br /&gt;
    var link = $j('&amp;lt;a href=&amp;quot;#&amp;quot; class=&amp;quot;cite-prev-parse&amp;quot; style=&amp;quot;margin:0 1em 0 1em; display:none; color:darkblue&amp;quot; /&amp;gt;');&lt;br /&gt;
    link.text(mw.usability.getMsg('cite-form-parse'));&lt;br /&gt;
    extras.append(link);    &lt;br /&gt;
    main.append(extras);&lt;br /&gt;
    &lt;br /&gt;
    return main;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Class for error checks&lt;br /&gt;
    FIXME: DOCS OUT OF DATE&lt;br /&gt;
   type - type of error check - current options:&lt;br /&gt;
    * 'refcheck' - apply a function on each ref individually&lt;br /&gt;
      * function should accept a ref object, return a string&lt;br /&gt;
    * 'reflist' - apply a function on the entire ref list&lt;br /&gt;
      * function should accept an array of ref objects, return an array of strings&lt;br /&gt;
    * 'search' - apply a function ro the page text&lt;br /&gt;
      * function should accept the page text as a string, return an array of strings&lt;br /&gt;
   The strings returned by the function should be valid HTML&lt;br /&gt;
   &lt;br /&gt;
   func - The function described above&lt;br /&gt;
   testname - Name of the error check, must not contain spaces&lt;br /&gt;
   desc - A short description of the test&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
function citeErrorCheck(obj) {&lt;br /&gt;
  this.obj = obj&lt;br /&gt;
  CiteTB.ErrorChecks[this.obj.testname] = this;&lt;br /&gt;
  &lt;br /&gt;
  this.run = function() {&lt;br /&gt;
    var errors = [];&lt;br /&gt;
    switch(this.obj['type']) {&lt;br /&gt;
      case &amp;quot;refcheck&amp;quot;:&lt;br /&gt;
        CiteTB.loadRefs();&lt;br /&gt;
        for(var i=0; i&amp;lt;CiteTB.mainRefList.length; i++) {&lt;br /&gt;
          var e = this.obj.func(CiteTB.mainRefList[i]);&lt;br /&gt;
          if (e) {&lt;br /&gt;
            errors.push(e);&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
        break;&lt;br /&gt;
      case &amp;quot;reflist&amp;quot;:&lt;br /&gt;
        CiteTB.loadRefs();&lt;br /&gt;
        errors = this.obj.func(CiteTB.mainRefList);&lt;br /&gt;
        break;&lt;br /&gt;
      case &amp;quot;search&amp;quot;:&lt;br /&gt;
        var func = this.obj.func&lt;br /&gt;
        CiteTB.getPageText(function(text) {&lt;br /&gt;
          errors = func(text);&lt;br /&gt;
        });&lt;br /&gt;
        break;&lt;br /&gt;
    }&lt;br /&gt;
    return errors;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  this.getRow = function() {&lt;br /&gt;
    var row = $j(&amp;quot;&amp;lt;li /&amp;gt;&amp;quot;);&lt;br /&gt;
    var check = $j(&amp;quot;&amp;lt;input type='checkbox' name='cite-err-test' /&amp;gt;&amp;quot;);&lt;br /&gt;
    check.attr('value', this.obj.testname);&lt;br /&gt;
    var label = $j(&amp;quot;&amp;lt;label /&amp;gt;&amp;quot;).html(mw.usability.getMsg(this.obj.desc));&lt;br /&gt;
    label.attr('for', this.obj.testname); &lt;br /&gt;
    row.append(check).append(' &amp;amp;ndash; ').append(label);&lt;br /&gt;
    return row;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
$j('head').trigger('reftoolbarbase');&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=32&amp;diff=322</id>
		<title>32</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=32&amp;diff=322"/>
				<updated>2012-01-27T12:05:58Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: /* 323 */ Grouping error&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;!--'''32'''--&amp;gt;&lt;br /&gt;
{{CurrentStatus}}&lt;br /&gt;
{{Unmodified edition I}}&lt;br /&gt;
{{Summary}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
== 32 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 320 ===&lt;br /&gt;
&lt;br /&gt;
The {{TextTerm|sex structure|1|320|OtherIndexEntry=structure, sex}} or {{TextTerm|sex distribution|1|320|2|OtherIndexEntry=distribution, sex}} of the population is generally measured by the ratio of the total number of one {{TextTerm|sex|2|320}} to the total number of the population, or to the total number of the other sex. When the male sex is considered, we often speak of the {{TextTerm|masculinity|3|320}} of the population. The {{TextTerm|masculinity proportion|4|320|OtherIndexEntry=proportion, masculinity}} is the proportion of males in the total population. The {{TextTerm|sex ratio|5|320|OtherIndexEntry=ratio, sex}} is the ratio of the number of one sex to that of the other; the ratio of the number of men to the number of women is called the {{TextTerm|masculinity ratio|5|320|2|OtherIndexEntry=ratio, masculinity}}.&lt;br /&gt;
{{Note|2| {{NoteTerm|sex}} n. — {{NoteTerm|sexual}} adj.}}&lt;br /&gt;
{{Note|3| {{NoteTerm|masculinity}} n. — {{NoteTerm|masculine}} adj.}}&lt;br /&gt;
&lt;br /&gt;
=== 321 ===&lt;br /&gt;
&lt;br /&gt;
The terms {{TextTerm|males|1|321|IndexEntry=male}} and {{TextTerm|females|2|321|IndexEntry=female}} are commonly used in demography in place of {{TextTerm|men|1|321|2|IndexEntry=man}} and {{TextTerm|women|2|321|2|IndexEntry=woman}} to refer to persons of each sex at all ages including {{TextTerm|boys|3|321|IndexEntry=boy}} and {{TextTerm|girls|4|321|IndexEntry=girl}}, The word {{TextTerm|man|5|321}} is, however, also used in the sense of {{TextTerm|human being|5|321|2|OtherIndexEntry=being, human}}.&lt;br /&gt;
&lt;br /&gt;
=== 322 ===&lt;br /&gt;
&lt;br /&gt;
{{TextTerm|Age|1|322}} is another fundamental characteristic of population structure ({{RefNumber|14|4|4}}). Generally it is expressed in years, or years and months, save in the case of very small children, where it may be given in months and days only, or in years and decimal fractions of years. Statisticians often round off the age to the number of {{TextTerm|complete years|2|322|OtherIndexEntry=years, complete}} lived, and this is called {{TextTerm|age at last birthday|3|322|OtherIndexEntry=birthday, age at last}}. Where the fraction of the last complete year lived is counted as a whole year, as in some actuarial applications, we speak of {{TextTerm|age next birthday|4|322|IndexEntry=age at next birthday|OtherIndexEntry=birthday, age at next}}. Occasionally {{TextTerm|age at nearest birthday|5|322|OtherIndexEntry=birthday, age at nearest}} is given, where the age is rounded to the nearest integer. The term {{TextTerm|exact age|6|322|OtherIndexEntry=age, exact}} is used, particularly in life table calculations, to denote the date when an individual reaches his birthday. Thus, a man will reach exact age 25 on his 25th birthday, and a man aged 25 will be between exact age 25 and exact age 26.&lt;br /&gt;
&lt;br /&gt;
=== 323 ===&lt;br /&gt;
&lt;br /&gt;
In demography, certain terms which have been taken from everyday language are used to denote different {{TextTerm|age periods|1|323|IndexEntry=age period|OtherIndexEntry=period, age}}, though without precision. At the beginning of life comes {{TextTerm|childhood|2|323}}. In general a {{TextTerm|child|3|323}} is a person who has not yet attained puberty ({{RefNumber|62|0|2}}). In the very early days of life, the child is called {{TextTerm|new-born|4|323}}. A {{TextTerm|child at the breast|5|323|IndexEntry=child at the breast|OtherIndexEntry=breast, child at the}} is a child who has not yet been weaned from its mother. The term {{TextTerm|infant|6|323}} or {{TextTerm|baby|6|323|2}} may be used to denote a child who has not reached his first birthday, though in colloquial language it may be applied to slightly older children. Children who have not yet reached the compulsory school age are called {{TextTerm|pre-school children|7|323|IndexEntry=pre-school child|OtherIndexEntry=child, pre-school}}, a {{TextTerm|school child|8|323|IndexEntry=schoolchild}} is a child who habitually attends school.&lt;br /&gt;
{{Note|6| {{NoteTerm|infant}} n. — {{NoteTerm|infancy}} n., the period of being an infant —. {{NoteTerm|infantile}} adj. In legal terminology, an {{NoteTerm|infant}} is a person who has not yet attained his {{NoteTerm|majority}}, generally a person under 21 years of age, who is often called a {{NoteTerm|minor}}.}}&lt;br /&gt;
&lt;br /&gt;
=== 324 ===&lt;br /&gt;
&lt;br /&gt;
Childhood is followed by {{TextTerm|adolescence|1|324}} which is marked by puberty ({{RefNumber|62|0|2}}). An {{TextTerm|adolescent|2|324}} is a person, who is entering adolescence. The terms young {{TextTerm|persons|3|324|IndexEntry=young person|OtherIndexEntry=person, young}} or {{TextTerm|juveniles|3|324|2|IndexEntry=juvenile}} are employed for men and women approaching {{TextTerm|adult age|4|324|OtherIndexEntry=age, adult}}. Those who have reached {{TextTerm|maturity|4|324|2}} are called {{TextTerm|adults|5|324|IndexEntry=adult}}. {{TextTerm|Old age|6|324|OtherIndexEntry=age, old}} is frequently taken as beginning at the {{TextTerm|age at retirement|7|324|OtherIndexEntry=retirement, age at}} ({{RefNumber|36|1|3}}) i.e., about 60 or 65 years. Persons above that age are called {{TextTerm|old people|8|324|IndexEntry=old age people|OtherIndexEntry=people old}}.&lt;br /&gt;
{{Note|3| The term {{NoteTerm|youth}} is employed for a male young person, and also for the age period referred to.}}&lt;br /&gt;
{{Note|4| {{NoteTerm|maturity}} n. - {{NoteTerm|mature}} adj. - {{NoteTerm|maturation}} n.,the process of growing to maturity.}}&lt;br /&gt;
&lt;br /&gt;
=== 325 ===&lt;br /&gt;
&lt;br /&gt;
The age distribution of a population is either given by {{TextTerm|individual years of age|1|325|OtherIndexEntry=age, individual years of}} or by {{TextTerm|age groups|2|325|IndexEntry=age group|OtherIndexEntry=group, age}}, which may be {{TextTerm|quinquennial age groups|3|325|OtherIndexEntry=group, quinquennial}} or {{TextTerm|quinary age groups|3|325|2|OtherIndexEntry=group, quinary}}, or {{TextTerm|broad age groups|4|325|IndexEntry=broad age group|OtherIndexEntry=group, broad}}, such as 0-19 years, 20-59 {{NoteTerm|years}}, 60 years and over. Occasionally a population’s {{TextTerm|age distribution|6|325|OtherIndexEntry=distribution, age}} or {{TextTerm|age structure|6|325|2|OtherIndexEntry=structure, age}} is given by classifying the population by {{TextTerm|year of birth|5|325|OtherIndexEntry=birth, year of}}. Graphically an age distribution may be represented by a {{TextTerm|population pyramid|7|325|OtherIndexEntry=pyramid, population}} which is a histogram ({{RefNumber|15|5|8}}) showing the population by age and sex and so named because of its pyramidal shape.&lt;br /&gt;
&lt;br /&gt;
=== 326 ===&lt;br /&gt;
&lt;br /&gt;
The {{TextTerm|mean age|1|326|OtherIndexEntry=age, mean}} of a population is the average age of all its members, {{TextTerm|the median age|2|326|IndexEntry=median age|OtherIndexEntry=age, median}} is the age which divides it into two numerically equal groups. When the proportion of old people in a population increases, we speak of the {{TextTerm|ageing|3|326}} of the population. An increase in the proportion of young people may be called {{TextTerm|rejuvenation|4|326}} of the population. The term ageing used above should not be confused with the technique of {{TextTerm|ageing|5|326}} a population. This technique consists of applying certain {{TextTerm|ageing factors|6|326|IndexEntry=ageing factor|OtherIndexEntry=factor, ageing}} to particular age groups of the population, in order to compute the total number of survivors of that age group at a later date.&lt;br /&gt;
&lt;br /&gt;
=== 327 ===&lt;br /&gt;
&lt;br /&gt;
Ageing ({{RefNumber|32|6|5}}) of a population must also be distinguished from {{TextTerm|individual ageing|1|327|OtherIndexEntry=ageing, individual}} or {{TextTerm|senescence|1|327|2}}, and from an increase in the duration of human life or {{TextTerm|increased longevity|2|327|OtherIndexEntry=longevity, increased}} which is the result of improved standards oi living and of medical discoveries. An individual’s {{TextTerm|physiological age|3|327|OtherIndexEntry=age, physiological}} will depend on the state of his tissues and organs. In the case of children we speak of {{TextTerm|mental age|4|327|OtherIndexEntry=age, mental}}, which is defined as the age at which the attainments of the individual child as measured by certain tests can be performed by the average child. In studies of mental and physiological age, a distinction is made between these ages and chronological age measured by the time elapsed since the individual’s {{TextTerm|date of birth|5|327|OtherIndexEntry=birth date}}. The ratio of mental to chronological age is called the {{TextTerm|intelligence quotient|6|327|OtherIndexEntry=quotient, intelligence}} (often abbreviated to {{NoteTerm|I.Q.)}}.&lt;br /&gt;
{{Note|1| {{NoteTerm|senescence}} n. — {{NoteTerm|senescent}} adj.}}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;center&amp;gt;&amp;lt;font size=12&amp;gt;* * * &amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;==&lt;br /&gt;
{{SummaryShort}}&lt;br /&gt;
&lt;br /&gt;
{{OtherLanguages|32}}&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=Preface&amp;diff=233</id>
		<title>Preface</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=Preface&amp;diff=233"/>
				<updated>2010-09-24T14:14:38Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--'''Preface'''--&amp;gt;&lt;br /&gt;
{{Summary}}&lt;br /&gt;
&lt;br /&gt;
=MULTILINGUAL DEMOGRAPHIC DICTIONARY=&lt;br /&gt;
&lt;br /&gt;
Prepared by the Demographic Dictionary Committee of the International Union for the Scientific Study of Population    &lt;br /&gt;
&lt;br /&gt;
ENGLISH SECTION    &lt;br /&gt;
&lt;br /&gt;
UNITED NATIONS&lt;br /&gt;
&lt;br /&gt;
Department of Economic and Social Affairs&lt;br /&gt;
&lt;br /&gt;
New York, 1958    &lt;br /&gt;
&lt;br /&gt;
ST/SOA/Ser. A/29    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Preface=&lt;br /&gt;
&lt;br /&gt;
At its fourth session the Population Commission of the United Nations requested the Secretary-General to include the preparation of a multilingual demographic dictionary in the Secretariat's work programme. Several months later the International Union for the Scientific Study of Population, at its General Assembly in Geneva, offered to collaborate with the United Nations in this project and set up a sub-committee to prepare a plan of work. At the fifth session of the Population Commission the Secretary-General was asked to accept the Union's offer, and the Dictionary Committee was given the task of drafting versions of the dictionary in English, French and Spanish.&lt;br /&gt;
&lt;br /&gt;
The primary purpose of the dictionary is to serve as a useful tool for technical translation. It consists of separate sections, each of which presents in one language the technical terms used in demography; the text is followed by an alphabetical index of terms. The texts in, the various languages correspond to one another, and equivalent terms in different languages have the same reference number so that it is possible to identify them in the different volumes. The Committee entrusted with the task of preparing the three initial volumes consisted of:&lt;br /&gt;
* Paul E. Vincent (France) (Chairman and Rapporteur);&lt;br /&gt;
* Carlos E. Dieulefait (Argentina);&lt;br /&gt;
* Harold F. Dorn (U.S.A.);&lt;br /&gt;
* Eugene Grebenik (United Kingdom);&lt;br /&gt;
* Pierpaolo Luzzatto-Fegiz (Italy);&lt;br /&gt;
* Marcelino Pascua (Switzerland);&lt;br /&gt;
* Jose Ros Jimeno (Spain).&lt;br /&gt;
&lt;br /&gt;
The first draft consisted of a basic French text which was prepared in the Institut national d'études demographiques in France under the general supervision of M. Vincent. This text was translated into English and Spanish by Messrs. Grebenik and Ros Jimeno respectively. The draft bad to be completed somewhat hurriedly in view of the approach of the World Population Conference, at which participants received a provisional edition, dated June 1954, published by the United Nations. The dissemination of this provisional edition made it possible for a number of experts to comment critically on the draft and gave the Committee an opportunity to take account of the comments received. Some of the imperfections of the first draft were due to the fact that the basic text had been prepared in a single language only—French. It was clear that considerable differences existed between the terminologies in English and in the Romance languages, and that a compromise between different conceptions was essential. It was further realized that a mere list of equivalences was not sufficient but that definitions of terms would have to be included in the text, so that translators might have the opportunity of noting differences in usage between different languages. The Committee recommended accordingly and, the recommendation having been approved by the Union, Mr. Grebenik was requested to prepare a new text in English, making use of the basic French text. Mr. Grebenik's new text was then revised in collaboration with M. Vincent, and a second draft produced in English and French, which was used by Sr. Ros Jimeno in preparing the Spanish version. The three drafts w&amp;lt;sup&amp;gt;r&amp;lt;/sup&amp;gt;ere then submitted for approval to the Dictionary Committee, the Council of the Union and a number of experts, with a view to producing a final edition.&lt;br /&gt;
&lt;br /&gt;
In publishing the English, French and Spanish sections of the &amp;lt;i&amp;gt;Multilingual Demographic Dictionary &amp;lt;/i&amp;gt;it is necessary to emphasize certain points. Firstly, the dictionary is the result of collaboration, not only between the three principal editors, but also on the part of all members of the Committee. The final version owes much to the recommendations made by a number of demographers who read various versions of the draft and commented on them, frequently in great detail. Most of their comments were accepted either in whole or in part. Some other comments the editors—perhaps mistakenly—felt unable to accept.&lt;br /&gt;
&lt;br /&gt;
The editors were frequently faced with difficult problems of choice between a number of possible formulations. The nature of the dictionary, however, makes it impossible to give a detailed justification for using one version, rather than another. Final responsibility for choice rests on each of the principal editors, in this English section, Mr. Eugene Grebenik. At the same time the editors were not free to prepare a text entirely according to their own wishes. The necessity to produce parallel texts in different languages and the desire to take into consideration the comments that were made, have frequently led them to include certain expressions or definitions which they would have preferred to formulate differently had they been entirely free agents. Nevertheless, they agreed to accept responsibility for the text as it stands.&lt;br /&gt;
&lt;br /&gt;
It must also be stressed that this dictionary does not pretend to be a treatise on demography. In preparing the text the fundamental aim has always been that it should serve as an aid to technical translation, and it was therefore necessary to consider the terminology of various languages in order to make the dictionary truly multilingual. Languages differ in their structure, and demographic terminology depends, moreover, not only on the language but on the development of demographic research in various countries, so that it is sometimes illogical and at variance with the requirements of science. Occasionally, terms in different languages are not wholly equivalent. In one language there may exist a profusion of terms referring to a particular subject which in another is practically neglected. In the text, notes to the different paragraphs have been used in an attempt to reduce as far as possible the inconveniences arising from these difficulties. Had the aim been to produce a set of definitions in one language, without taking account of the others, the result would have been very different. This preoccupation also accounts for a certain imbalance in the contents. It has seemed useful in certain cases to include in the dictionary terms which are not properly demographic but are frequently encountered in demographic literature and do not always appear in general dictionaries, thus causing difficulties to translators who are not expert in the subject. In considering the needs of translators the Committee has been led to adopt the principle that no opinions should be expressed on particular usages, and no recommendations made unless there was a general consensus of opinion that a particular nomenclature was undesirable. The dictionary is therefore not normative. It does not lay down new definitions. Where definitions are included, their main purpose is to establish terminological equivalences and to make them more accurate. The necessity for extreme conciseness in these definitions has occasionally led to a certain lack of precision. Standardization of definitions requires studies of a different kind. In order to avoid any misunderstanding, a list of recent documents published by various international organizations concerned with the definition of various demographic concepts is given at the end of the alphabetical index. The reader will have to consult these studies when he has to solve a problem connected with definition rather than translation.&lt;br /&gt;
&lt;br /&gt;
The purpose of the dictionary will be better served if it is extended to other languages. Some sections in other languages have already been planned, or are in draft. Moreover, the Population Commission at its ninth session requested the Secretariat to study the possibility of preparing a Russian section of the dictionary. Experience will show whether the compromise that has been reached between the English and Romance languages can be extended to other Germanic and Slavonic languages as well as to those outside the Indo-European group.    &lt;br /&gt;
&lt;br /&gt;
==NOTES ON THE USE OF THE DICTIONARY==&lt;br /&gt;
&lt;br /&gt;
The dictionary consists of a text supplemented by notes in small type and an alphabetical index. All terms which are printed in bold face in the text and the notes are listed in the index. Where an expression consisting of several words is printed in bold face it will appear in the index under each of the principal constituent words, e. g., &amp;quot;density of population&amp;quot; is indexed under ''D'' as &amp;quot;Density population&amp;quot;, and under ''P'' as &amp;quot;Population density&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Each term has a reference number which is composed of the number of the paragraph in which it appears and an identification number. For terms appearing in the body of the text the identification number is printed immediately after the term, and for those in the notes it is the number of the note; the latter also relates the note to the corresponding term in the text. Terms occurring in the notes which are not in the text are starred in the index and reference numbers.&lt;br /&gt;
&lt;br /&gt;
Text terms with the same reference numbers in the various sections of the dictionary correspond to one another. For instance, the translator who wishes to find the equivalent French term for a given expression in English should look up the English expression in the alphabetical index of the English section and find the correspondingly numbered paragraph in the French section. ''It is strongly recommended that the whole paragraph in which the expression occurs in both sections should be read'' in order to guard against faulty translation due to slight differences in usage; this will also be useful if, in one of the languages, no term exists to express a particular concept.&lt;br /&gt;
&lt;br /&gt;
Different terms which are used to express the same concept have the same reference number. Any term which is susceptible of different interpretations may have two or more reference numbers which refer to the appropriate contexts.&lt;br /&gt;
Terms printed in bold face in notes do not necessarily correspond to one another in the different sections. Moreover, in paragraphs 303 and 344, which deal with the administrative structures of different countries and with their educational systems, there is no correspondence between the different language sections. Terms introduced in these paragraphs have no identification numbers; the paragraphs themselves are subdivided into lettered sections, A and B in the English section referring to Great Britain and the United States of America respectively.&lt;br /&gt;
&lt;br /&gt;
==List of abbreviations==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| adj. ||adjective&lt;br /&gt;
|-&lt;br /&gt;
| adv. ||adverb&lt;br /&gt;
|-&lt;br /&gt;
|n. ||noun&lt;br /&gt;
|-&lt;br /&gt;
|part. || participle&lt;br /&gt;
|-&lt;br /&gt;
|pl. ||plural&lt;br /&gt;
|-&lt;br /&gt;
|syn. ||synonym&lt;br /&gt;
|-&lt;br /&gt;
|v. ||verb.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{SummaryShort}}&lt;br /&gt;
&lt;br /&gt;
[[en-II:Preface]] [[ar-II:مـقـدمــــة]] [[de-I:Vorwort]]  [[es-I:Prólogo]] [[et-II:Prantsuse]] [[fr-I:Préface]] [[it-I:Prefazione]] [[ja-II:Preface]] [[pl-i:Przedmowa]] [[pt-I:Prefacio]] [[ru-I:Вступление]] [[zh-II:Preface]]&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	<entry>
		<id>http://en-i.demopaedia.org/w/index.php?title=Preface&amp;diff=232</id>
		<title>Preface</title>
		<link rel="alternate" type="text/html" href="http://en-i.demopaedia.org/w/index.php?title=Preface&amp;diff=232"/>
				<updated>2010-09-24T14:12:39Z</updated>
		
		<summary type="html">&lt;p&gt;Nicolas Brouard: Polish and Portuguese missing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--'''Preface'''--&amp;gt;&lt;br /&gt;
{{Summary}}&lt;br /&gt;
&lt;br /&gt;
=MULTILINGUAL DEMOGRAPHIC DICTIONARY=&lt;br /&gt;
&lt;br /&gt;
Prepared by the Demographic Dictionary Committee of the International Union for the Scientific Study of Population    &lt;br /&gt;
&lt;br /&gt;
ENGLISH SECTION    &lt;br /&gt;
&lt;br /&gt;
UNITED NATIONS&lt;br /&gt;
&lt;br /&gt;
Department of Economic and Social Affairs&lt;br /&gt;
&lt;br /&gt;
New York, 1958    &lt;br /&gt;
&lt;br /&gt;
ST/SOA/Ser. A/29    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Preface=&lt;br /&gt;
&lt;br /&gt;
At its fourth session the Population Commission of the United Nations requested the Secretary-General to include the preparation of a multilingual demographic dictionary in the Secretariat's work programme. Several months later the International Union for the Scientific Study of Population, at its General Assembly in Geneva, offered to collaborate with the United Nations in this project and set up a sub-committee to prepare a plan of work. At the fifth session of the Population Commission the Secretary-General was asked to accept the Union's offer, and the Dictionary Committee was given the task of drafting versions of the dictionary in English, French and Spanish.&lt;br /&gt;
&lt;br /&gt;
The primary purpose of the dictionary is to serve as a useful tool for technical translation. It consists of separate sections, each of which presents in one language the technical terms used in demography; the text is followed by an alphabetical index of terms. The texts in, the various languages correspond to one another, and equivalent terms in different languages have the same reference number so that it is possible to identify them in the different volumes. The Committee entrusted with the task of preparing the three initial volumes consisted of:&lt;br /&gt;
* Paul E. Vincent (France) (Chairman and Rapporteur);&lt;br /&gt;
* Carlos E. Dieulefait (Argentina);&lt;br /&gt;
* Harold F. Dorn (U.S.A.);&lt;br /&gt;
* Eugene Grebenik (United Kingdom);&lt;br /&gt;
* Pierpaolo Luzzatto-Fegiz (Italy);&lt;br /&gt;
* Marcelino Pascua (Switzerland);&lt;br /&gt;
* Jose Ros Jimeno (Spain).&lt;br /&gt;
&lt;br /&gt;
The first draft consisted of a basic French text which was prepared in the Institut national d'études demographiques in France under the general supervision of M. Vincent. This text was translated into English and Spanish by Messrs. Grebenik and Ros Jimeno respectively. The draft bad to be completed somewhat hurriedly in view of the approach of the World Population Conference, at which participants received a provisional edition, dated June 1954, published by the United Nations. The dissemination of this provisional edition made it possible for a number of experts to comment critically on the draft and gave the Committee an opportunity to take account of the comments received. Some of the imperfections of the first draft were due to the fact that the basic text had been prepared in a single language only—French. It was clear that considerable differences existed between the terminologies in English and in the Romance languages, and that a compromise between different conceptions was essential. It was further realized that a mere list of equivalences was not sufficient but that definitions of terms would have to be included in the text, so that translators might have the opportunity of noting differences in usage between different languages. The Committee recommended accordingly and, the recommendation having been approved by the Union, Mr. Grebenik was requested to prepare a new text in English, making use of the basic French text. Mr. Grebenik's new text was then revised in collaboration with M. Vincent, and a second draft produced in English and French, which was used by Sr. Ros Jimeno in preparing the Spanish version. The three drafts w&amp;lt;sup&amp;gt;r&amp;lt;/sup&amp;gt;ere then submitted for approval to the Dictionary Committee, the Council of the Union and a number of experts, with a view to producing a final edition.&lt;br /&gt;
&lt;br /&gt;
In publishing the English, French and Spanish sections of the &amp;lt;i&amp;gt;Multilingual Demographic Dictionary &amp;lt;/i&amp;gt;it is necessary to emphasize certain points. Firstly, the dictionary is the result of collaboration, not only between the three principal editors, but also on the part of all members of the Committee. The final version owes much to the recommendations made by a number of demographers who read various versions of the draft and commented on them, frequently in great detail. Most of their comments were accepted either in whole or in part. Some other comments the editors—perhaps mistakenly—felt unable to accept.&lt;br /&gt;
&lt;br /&gt;
The editors were frequently faced with difficult problems of choice between a number of possible formulations. The nature of the dictionary, however, makes it impossible to give a detailed justification for using one version, rather than another. Final responsibility for choice rests on each of the principal editors, in this English section, Mr. Eugene Grebenik. At the same time the editors were not free to prepare a text entirely according to their own wishes. The necessity to produce parallel texts in different languages and the desire to take into consideration the comments that were made, have frequently led them to include certain expressions or definitions which they would have preferred to formulate differently had they been entirely free agents. Nevertheless, they agreed to accept responsibility for the text as it stands.&lt;br /&gt;
&lt;br /&gt;
It must also be stressed that this dictionary does not pretend to be a treatise on demography. In preparing the text the fundamental aim has always been that it should serve as an aid to technical translation, and it was therefore necessary to consider the terminology of various languages in order to make the dictionary truly multilingual. Languages differ in their structure, and demographic terminology depends, moreover, not only on the language but on the development of demographic research in various countries, so that it is sometimes illogical and at variance with the requirements of science. Occasionally, terms in different languages are not wholly equivalent. In one language there may exist a profusion of terms referring to a particular subject which in another is practically neglected. In the text, notes to the different paragraphs have been used in an attempt to reduce as far as possible the inconveniences arising from these difficulties. Had the aim been to produce a set of definitions in one language, without taking account of the others, the result would have been very different. This preoccupation also accounts for a certain imbalance in the contents. It has seemed useful in certain cases to include in the dictionary terms which are not properly demographic but are frequently encountered in demographic literature and do not always appear in general dictionaries, thus causing difficulties to translators who are not expert in the subject. In considering the needs of translators the Committee has been led to adopt the principle that no opinions should be expressed on particular usages, and no recommendations made unless there was a general consensus of opinion that a particular nomenclature was undesirable. The dictionary is therefore not normative. It does not lay down new definitions. Where definitions are included, their main purpose is to establish terminological equivalences and to make them more accurate. The necessity for extreme conciseness in these definitions has occasionally led to a certain lack of precision. Standardization of definitions requires studies of a different kind. In order to avoid any misunderstanding, a list of recent documents published by various international organizations concerned with the definition of various demographic concepts is given at the end of the alphabetical index. The reader will have to consult these studies when he has to solve a problem connected with definition rather than translation.&lt;br /&gt;
&lt;br /&gt;
The purpose of the dictionary will be better served if it is extended to other languages. Some sections in other languages have already been planned, or are in draft. Moreover, the Population Commission at its ninth session requested the Secretariat to study the possibility of preparing a Russian section of the dictionary. Experience will show whether the compromise that has been reached between the English and Romance languages can be extended to other Germanic and Slavonic languages as well as to those outside the Indo-European group.    &lt;br /&gt;
&lt;br /&gt;
==NOTES ON THE USE OF THE DICTIONARY==&lt;br /&gt;
&lt;br /&gt;
The dictionary consists of a text supplemented by notes in small type and an alphabetical index. All terms which are printed in bold face in the text and the notes are listed in the index. Where an expression consisting of several words is printed in bold face it will appear in the index under each of the principal constituent words, e. g., &amp;quot;density of population&amp;quot; is indexed under ''D'' as &amp;quot;Density population&amp;quot;, and under ''P'' as &amp;quot;Population density&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Each term has a reference number which is composed of the number of the paragraph in which it appears and an identification number. For terms appearing in the body of the text the identification number is printed immediately after the term, and for those in the notes it is the number of the note; the latter also relates the note to the corresponding term in the text. Terms occurring in the notes which are not in the text are starred in the index and reference numbers.&lt;br /&gt;
&lt;br /&gt;
Text terms with the same reference numbers in the various sections of the dictionary correspond to one another. For instance, the translator who wishes to find the equivalent French term for a given expression in English should look up the English expression in the alphabetical index of the English section and find the correspondingly numbered paragraph in the French section. ''It is strongly recommended that the whole paragraph in which the expression occurs in both sections should be read'' in order to guard against faulty translation due to slight differences in usage; this will also be useful if, in one of the languages, no term exists to express a particular concept.&lt;br /&gt;
&lt;br /&gt;
Different terms which are used to express the same concept have the same reference number. Any term which is susceptible of different interpretations may have two or more reference numbers which refer to the appropriate contexts.&lt;br /&gt;
Terms printed in bold face in notes do not necessarily correspond to one another in the different sections. Moreover, in paragraphs 303 and 344, which deal with the administrative structures of different countries and with their educational systems, there is no correspondence between the different language sections. Terms introduced in these paragraphs have no identification numbers; the paragraphs themselves are subdivided into lettered sections, A and B in the English section referring to Great Britain and the United States of America respectively.&lt;br /&gt;
&lt;br /&gt;
==List of abbreviations==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| adj. ||adjective&lt;br /&gt;
|-&lt;br /&gt;
| adv. ||adverb&lt;br /&gt;
|-&lt;br /&gt;
|n. ||noun&lt;br /&gt;
|-&lt;br /&gt;
|part. || participle&lt;br /&gt;
|-&lt;br /&gt;
|pl. ||plural&lt;br /&gt;
|-&lt;br /&gt;
|syn. ||synonym&lt;br /&gt;
|-&lt;br /&gt;
|v. ||verb.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{SummaryShort}}&lt;br /&gt;
&lt;br /&gt;
[[en-II:Preface]] [[ar-II:مـقـدمــــة]] [[de-II:Vorwort]]  [[es-II:Prólogo]] [[et-II:Prantsuse]] [[fr-I:Préface]] [[it-I:Prefazione]] [[ja-II:Preface]] [[pl-i:Przedmowa]] [[pt-I:Prefacio]] [[ru-I:Вступление]] [[zh-II:Preface]]&lt;/div&gt;</summary>
		<author><name>Nicolas Brouard</name></author>	</entry>

	</feed>