<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://bukvica.org/w/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3ARefToolbar.js</id>
	<title>MediaWiki:RefToolbar.js - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://bukvica.org/w/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3ARefToolbar.js"/>
	<link rel="alternate" type="text/html" href="https://bukvica.org/w/index.php?title=MediaWiki:RefToolbar.js&amp;action=history"/>
	<updated>2026-04-03T22:22:06Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://bukvica.org/w/index.php?title=MediaWiki:RefToolbar.js&amp;diff=42489&amp;oldid=prev</id>
		<title>Karaby: Новая страница: «/*jshint smarttabs:true, loopfunc:true,forin:false*/ /*global mw, $, importScript */ //  _________________________________________________________________________…»</title>
		<link rel="alternate" type="text/html" href="https://bukvica.org/w/index.php?title=MediaWiki:RefToolbar.js&amp;diff=42489&amp;oldid=prev"/>
		<updated>2017-08-13T07:59:54Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «&lt;span class=&quot;autocomment&quot;&gt;jshint smarttabs:true, loopfunc:true,forin:false: &lt;/span&gt; &lt;span class=&quot;autocomment&quot;&gt;global mw, $, importScript: &lt;/span&gt; //  _________________________________________________________________________…»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;/*jshint smarttabs:true, loopfunc:true,forin:false*/&lt;br /&gt;
/*global mw, $, importScript */&lt;br /&gt;
//  ____________________________________________________________________________________________&lt;br /&gt;
// |                                                                                            |&lt;br /&gt;
// |                    Основано на версии 632049119 гаджета refToolbar.js                      |&lt;br /&gt;
// |    (https://en.wikipedia.org/w/index.php?title=MediaWiki:RefToolbar.js&amp;amp;oldid=632049119)    |&lt;br /&gt;
// |____________________________________________________________________________________________|&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 &amp;#039;ext.gadget.refToolbarDialogs&amp;#039; depending on &amp;#039;ext.gadget.refToolbarBase&amp;#039;&lt;br /&gt;
if (typeof CiteTB === &amp;#039;undefined&amp;#039;) {&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(&amp;#039;wgAction&amp;#039;) === &amp;#039;edit&amp;#039; || mw.config.get(&amp;#039;wgAction&amp;#039;) === &amp;#039;submit&amp;#039; ) &amp;amp;&amp;amp;&lt;br /&gt;
	( ( mw.config.get(&amp;#039;wgNamespaceNumber&amp;#039;) !== 2 &amp;amp;&amp;amp; mw.config.get(&amp;#039;wgNamespaceNumber&amp;#039;) !== 4 ) ||&lt;br /&gt;
	( mw.config.get(&amp;#039;wgPageName&amp;#039;).indexOf(&amp;#039;.js&amp;#039;) === -1 &amp;amp;&amp;amp; mw.config.get(&amp;#039;wgPageName&amp;#039;).indexOf(&amp;#039;.css&amp;#039;) === -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 &amp;#039;ext.gadget.refToolbarDialogs&amp;#039;&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&amp;#039;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; : [&amp;#039;Jan&amp;#039;, &amp;#039;Feb&amp;#039;, &amp;#039;Mar&amp;#039;, &amp;#039;Apr&amp;#039;, &amp;#039;May&amp;#039;, &amp;#039;Jun&amp;#039;, &amp;#039;Jul&amp;#039;, &amp;#039;Aug&amp;#039;, &amp;#039;Sep&amp;#039;, &amp;#039;Oct&amp;#039;, &amp;#039;Nov&amp;#039;, &amp;#039;Dec&amp;#039;],&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 $(&amp;#039;div[rel=cites]&amp;#039;)[0] !== &amp;#039;undefined&amp;#039;) { // Mystery IE bug workaround&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
  $(&amp;#039;head&amp;#039;).trigger(&amp;#039;reftoolbarbase&amp;#039;);&lt;br /&gt;
  var $target = $(&amp;#039;#wpTextbox1&amp;#039;);&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: &amp;#039;dialog&amp;#039;,&lt;br /&gt;
      module: &amp;#039;cite-dialog-&amp;#039;+sform&lt;br /&gt;
    };&lt;br /&gt;
    var dialogobj = {};&lt;br /&gt;
    dialogobj[&amp;#039;cite-dialog-&amp;#039;+sform] = {&lt;br /&gt;
      resizeme: false,&lt;br /&gt;
      titleMsg: &amp;#039;cite-dialog-&amp;#039;+sform, &lt;br /&gt;
      id: &amp;#039;citetoolbar-&amp;#039;+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;
          $(&amp;#039;.cite-prev-parse&amp;#039;).on( &amp;#039;click&amp;#039;, 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;
          &amp;#039;cite-form-submit&amp;#039;: function() {&lt;br /&gt;
            var ref = CiteTB.getRef(false, true);&lt;br /&gt;
            $(this).dialog( &amp;#039;close&amp;#039; );&lt;br /&gt;
            $.wikiEditor.modules.toolbar.fn.doAction( $(this).data( &amp;#039;context&amp;#039; ), {&lt;br /&gt;
              type: &amp;#039;encapsulate&amp;#039;,&lt;br /&gt;
              options: {&lt;br /&gt;
                post: ref&lt;br /&gt;
              }&lt;br /&gt;
            }, $(this) );&lt;br /&gt;
          },&lt;br /&gt;
          &amp;#039;cite-form-showhide&amp;#039;: CiteTB.showHideExtra,&lt;br /&gt;
          &amp;#039;cite-refpreview&amp;#039;: 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(&amp;#039;.cite-preview-label&amp;#039;).show();&lt;br /&gt;
            div.find(&amp;#039;.cite-ref-preview&amp;#039;).text(ref).show();&lt;br /&gt;
            if (CiteTB.getOption(&amp;#039;autoparse&amp;#039;)) {&lt;br /&gt;
              CiteTB.prevParseClick();&lt;br /&gt;
            } else {&lt;br /&gt;
              div.find(&amp;#039;.cite-prev-parse&amp;#039;).show();&lt;br /&gt;
              div.find(&amp;#039;.cite-prev-parsed-label&amp;#039;).hide();&lt;br /&gt;
              div.find(&amp;#039;.cite-preview-parsed&amp;#039;).html(&amp;#039;&amp;#039;);&lt;br /&gt;
            }         &lt;br /&gt;
          },&lt;br /&gt;
          &amp;#039;wikieditor-toolbar-tool-link-cancel&amp;#039;: function() {&lt;br /&gt;
            $(this).dialog( &amp;#039;close&amp;#039; );&lt;br /&gt;
          },&lt;br /&gt;
          &amp;#039;cite-form-reset&amp;#039;: function() {&lt;br /&gt;
            CiteTB.resetForm();&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
      } &lt;br /&gt;
    };&lt;br /&gt;
    $target.wikiEditor(&amp;#039;addDialog&amp;#039;, dialogobj);&lt;br /&gt;
    //if (!CiteTB.getOption(&amp;#039;modal&amp;#039;)) {&lt;br /&gt;
      //$(&amp;#039;#citetoolbar-&amp;#039;+sform).dialog(&amp;#039;option&amp;#039;, &amp;#039;modal&amp;#039;, 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;
    &amp;#039;sections&amp;#039;: {&lt;br /&gt;
      &amp;#039;cites&amp;#039;: { &lt;br /&gt;
        type: &amp;#039;toolbar&amp;#039;, &lt;br /&gt;
        labelMsg: &amp;#039;cite-section-label&amp;#039;,&lt;br /&gt;
        groups: { &lt;br /&gt;
          &amp;#039;template&amp;#039;: {&lt;br /&gt;
            tools: {&lt;br /&gt;
              &amp;#039;template&amp;#039;: {&lt;br /&gt;
                type: &amp;#039;select&amp;#039;,&lt;br /&gt;
                labelMsg: &amp;#039;cite-template-list&amp;#039;,&lt;br /&gt;
                list: temlist&lt;br /&gt;
              } &lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;#039;namedrefs&amp;#039;: {&lt;br /&gt;
            labelMsg: &amp;#039;cite-named-refs-label&amp;#039;,&lt;br /&gt;
            tools: {&lt;br /&gt;
              &amp;#039;nrefs&amp;#039;: {&lt;br /&gt;
                type: &amp;#039;button&amp;#039;,&lt;br /&gt;
                action: {&lt;br /&gt;
                  type: &amp;#039;dialog&amp;#039;,&lt;br /&gt;
                  module: &amp;#039;cite-toolbar-namedrefs&amp;#039;&lt;br /&gt;
                },&lt;br /&gt;
                icon: &amp;#039;//upload.wikimedia.org/wikipedia/commons/thumb/b/be/Nuvola_clipboard_lined.svg/22px-Nuvola_clipboard_lined.svg.png&amp;#039;,&lt;br /&gt;
                section: &amp;#039;cites&amp;#039;,&lt;br /&gt;
                group: &amp;#039;namedrefs&amp;#039;,&lt;br /&gt;
                labelMsg: &amp;#039;cite-named-refs-button&amp;#039;&lt;br /&gt;
              }&lt;br /&gt;
            }&lt;br /&gt;
          },&lt;br /&gt;
          &amp;#039;errorcheck&amp;#039;: {&lt;br /&gt;
            labelMsg: &amp;#039;cite-errorcheck-label&amp;#039;,&lt;br /&gt;
            tools: {&lt;br /&gt;
              &amp;#039;echeck&amp;#039;: {&lt;br /&gt;
                type: &amp;#039;button&amp;#039;,&lt;br /&gt;
                action: {&lt;br /&gt;
                  type: &amp;#039;dialog&amp;#039;,&lt;br /&gt;
                  module: &amp;#039;cite-toolbar-errorcheck&amp;#039;           &lt;br /&gt;
                },&lt;br /&gt;
                icon: &amp;#039;//upload.wikimedia.org/wikipedia/commons/thumb/a/a3/Nuvola_apps_korganizer-NO.png/22px-Nuvola_apps_korganizer-NO.png&amp;#039;,&lt;br /&gt;
                section: &amp;#039;cites&amp;#039;,&lt;br /&gt;
                group: &amp;#039;errorcheck&amp;#039;,&lt;br /&gt;
                labelMsg: &amp;#039;cite-errorcheck-button&amp;#039;&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;
    &amp;#039;cite-toolbar-errorcheck&amp;#039;: {&lt;br /&gt;
      titleMsg: &amp;#039;cite-errorcheck-label&amp;#039;,&lt;br /&gt;
      id: &amp;#039;citetoolbar-errorcheck&amp;#039;,&lt;br /&gt;
      resizeme: false,&lt;br /&gt;
      init: function() {},&lt;br /&gt;
      html: &amp;#039;&amp;lt;div id=&amp;quot;cite-namedref-loading&amp;quot;&amp;gt;&amp;#039;+&lt;br /&gt;
        &amp;#039;&amp;lt;img src=&amp;quot;//upload.wikimedia.org/wikipedia/commons/4/42/Loading.gif&amp;quot; /&amp;gt;&amp;#039;+&lt;br /&gt;
        &amp;#039;&amp;amp;nbsp;&amp;#039;+mw.usability.getMsg(&amp;#039;cite-loading&amp;#039;)+&amp;#039;&amp;lt;/div&amp;gt;&amp;#039;,&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;
          &amp;#039;cite-errorcheck-submit&amp;#039;: function() {&lt;br /&gt;
            var errorchecks = $(&amp;quot;input[name=&amp;#039;cite-err-test&amp;#039;]: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( &amp;#039;close&amp;#039; );                      &lt;br /&gt;
          },&lt;br /&gt;
          &amp;#039;wikieditor-toolbar-tool-link-cancel&amp;#039;: function() {&lt;br /&gt;
            $(this).dialog( &amp;#039;close&amp;#039; );&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;#039;cite-toolbar-namedrefs&amp;#039;: {&lt;br /&gt;
      titleMsg: &amp;#039;cite-named-refs-title&amp;#039;,&lt;br /&gt;
      resizeme: false,&lt;br /&gt;
      id: &amp;#039;citetoolbar-namedrefs&amp;#039;,&lt;br /&gt;
      html: &amp;#039;&amp;lt;div id=&amp;quot;cite-namedref-loading&amp;quot;&amp;gt;&amp;#039;+&lt;br /&gt;
        &amp;#039;&amp;lt;img src=&amp;quot;//upload.wikimedia.org/wikipedia/commons/4/42/Loading.gif&amp;quot; /&amp;gt;&amp;#039;+&lt;br /&gt;
        &amp;#039;&amp;amp;nbsp;&amp;#039;+mw.usability.getMsg(&amp;#039;cite-loading&amp;#039;)+&amp;#039;&amp;lt;/div&amp;gt;&amp;#039;,&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;
          &amp;#039;cite-form-submit&amp;#039;: function() {&lt;br /&gt;
            var refname = $(&amp;quot;#cite-namedref-select&amp;quot;).val();&lt;br /&gt;
            if (refname === &amp;#039;&amp;#039;) {&lt;br /&gt;
              return;&lt;br /&gt;
            }&lt;br /&gt;
            $(this).dialog( &amp;#039;close&amp;#039; );&lt;br /&gt;
            $.wikiEditor.modules.toolbar.fn.doAction( $(this).data( &amp;#039;context&amp;#039; ), {&lt;br /&gt;
              type: &amp;#039;encapsulate&amp;#039;,&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;
          &amp;#039;wikieditor-toolbar-tool-link-cancel&amp;#039;: function() {&lt;br /&gt;
            $(this).dialog( &amp;#039;close&amp;#039; );&lt;br /&gt;
          }                   &lt;br /&gt;
        }&lt;br /&gt;
      }      &lt;br /&gt;
    }&lt;br /&gt;
  };&lt;br /&gt;
  &lt;br /&gt;
  $target.wikiEditor(&amp;#039;addDialog&amp;#039;, defaultdialogs);&lt;br /&gt;
  $(&amp;#039;#citetoolbar-namedrefs&amp;#039;).unbind(&amp;#039;dialogopen&amp;#039;);&lt;br /&gt;
  if (!CiteTB.getOption(&amp;#039;modal&amp;#039;)) {&lt;br /&gt;
    //$(&amp;#039;#citetoolbar-namedrefs&amp;#039;).dialog(&amp;#039;option&amp;#039;, &amp;#039;modal&amp;#039;, false);&lt;br /&gt;
    //$(&amp;#039;#citetoolbar-errorcheck&amp;#039;).dialog(&amp;#039;option&amp;#039;, &amp;#039;modal&amp;#039;, 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(&amp;#039;addToToolbar&amp;#039;, 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(&amp;#039;wgUserLanguage&amp;#039;) ) {&lt;br /&gt;
    case &amp;#039;en&amp;#039;: // German&lt;br /&gt;
      importScript(&amp;#039;MediaWiki:RefToolbarMessages-en.js&amp;#039;);&lt;br /&gt;
      break;&lt;br /&gt;
    default: // English&lt;br /&gt;
      importScript(&amp;#039;MediaWiki:RefToolbarMessages-ru.js&amp;#039;);&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 = &amp;#039;&amp;#039;;&lt;br /&gt;
  var refobj = {&amp;#039;shorttag&amp;#039;:false};&lt;br /&gt;
  if (!inneronly) {&lt;br /&gt;
    var group = $(&amp;#039;#cite-&amp;#039;+CiteTB.escStr(template.shortform)+&amp;#039;-group&amp;#039;).val();&lt;br /&gt;
    var refname = $(&amp;#039;#cite-&amp;#039;+CiteTB.escStr(template.shortform)+&amp;#039;-name&amp;#039;).val();&lt;br /&gt;
    res += &amp;#039;&amp;lt;ref&amp;#039;;&lt;br /&gt;
    if (refname) {&lt;br /&gt;
      refname = $.trim(refname);&lt;br /&gt;
      res+=&amp;#039; name=&amp;#039;+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+=&amp;#039; group=&amp;#039;+CiteTB.getQuotedString(group);&lt;br /&gt;
      refobj.refgroup = group;&lt;br /&gt;
    }&lt;br /&gt;
    res+=&amp;#039;&amp;gt;&amp;#039;;&lt;br /&gt;
  }&lt;br /&gt;
  var content =&amp;#039;{{&amp;#039;+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;#039;&amp;lt;N&amp;gt;&amp;#039;, i.toString());&lt;br /&gt;
  			var field = $(&amp;#039;#cite-&amp;#039;+CiteTB.escStr(template.shortform)+&amp;#039;-&amp;#039;+fieldid).val();&lt;br /&gt;
  			if (field) {&lt;br /&gt;
  				content+=&amp;#039;|&amp;#039;+fieldid+&amp;#039;=&amp;#039;;&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 = $(&amp;#039;#cite-&amp;#039;+CiteTB.escStr(template.shortform)+&amp;#039;-&amp;#039;+fieldname).val();&lt;br /&gt;
    if (field) {&lt;br /&gt;
      content+=&amp;#039;|&amp;#039;+fieldname+&amp;#039;=&amp;#039;;&lt;br /&gt;
      content+= $.trim(field);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  if ($(&amp;#039;#cite-form-status&amp;#039;).val() !== &amp;#039;closed&amp;#039;) {&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 = $(&amp;#039;#cite-&amp;#039;+CiteTB.escStr(template.shortform)+&amp;#039;-&amp;#039;+fieldname).val();&lt;br /&gt;
      if (field) {&lt;br /&gt;
        content+=&amp;#039;|&amp;#039;+fieldname+&amp;#039;=&amp;#039;;&lt;br /&gt;
        content+= $.trim(field);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  content+= &amp;#039;}}&amp;#039;;&lt;br /&gt;
  res+=content;&lt;br /&gt;
  refobj.content = content;&lt;br /&gt;
  if (!inneronly) {&lt;br /&gt;
    res+= &amp;#039;&amp;lt;/ref&amp;gt;&amp;#039;;&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( {&amp;#039;shorttag&amp;#039;:true, &amp;#039;refname&amp;#039;:refname} );&lt;br /&gt;
  }&lt;br /&gt;
  return &amp;#039;&amp;lt;ref name=&amp;#039;+CiteTB.getQuotedString(refname)+&amp;#039; /&amp;gt;&amp;#039;;  &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;#039;([^&amp;#039;]*?)&amp;#039;|([^ &amp;#039;&amp;quot;\/\&amp;gt;]*?)) *)? *(?: +(name|group) *= *(?:&amp;quot;([^&amp;quot;]*?)&amp;quot;|&amp;#039;([^&amp;#039;]*?)&amp;#039;|([^ &amp;#039;&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;#039;&amp;quot;&amp;#039;+ref[9]+&amp;#039;&amp;quot;&amp;#039;);&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] !== &amp;#039;&amp;#039;) { // First name/group&lt;br /&gt;
      if (ref[2]) {&lt;br /&gt;
        refobj[&amp;#039;ref&amp;#039;+ref[1]] = ref[2];&lt;br /&gt;
      } else if (ref[3]) {&lt;br /&gt;
        refobj[&amp;#039;ref&amp;#039;+ref[1]] = ref[3];&lt;br /&gt;
      } else {&lt;br /&gt;
        refobj[&amp;#039;ref&amp;#039;+ref[1]] = ref[4];&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    if (ref[5] !== &amp;#039;&amp;#039;) { // Second name/group&lt;br /&gt;
      if (ref[6]) {&lt;br /&gt;
        refobj[&amp;#039;ref&amp;#039;+ref[5]] = ref[6];&lt;br /&gt;
      } else if (ref[7]) {&lt;br /&gt;
        refobj[&amp;#039;ref&amp;#039;+ref[5]] = ref[7];&lt;br /&gt;
      } else {&lt;br /&gt;
        refobj[&amp;#039;ref&amp;#039;+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( &amp;#039;api&amp;#039; ),&lt;br /&gt;
    {action:&amp;#039;parse&amp;#039;, title:mw.config.get(&amp;#039;wgPageName&amp;#039;), text:text, prop:&amp;#039;text&amp;#039;, format:&amp;#039;json&amp;#039;},&lt;br /&gt;
    function(data) {&lt;br /&gt;
      var html = data.parse.text[&amp;#039;*&amp;#039;];&lt;br /&gt;
      callback(html);&lt;br /&gt;
    },&lt;br /&gt;
    &amp;#039;json&amp;#039;&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( &amp;#039;api&amp;#039; ),&lt;br /&gt;
    {action:&amp;#039;expandtemplates&amp;#039;, title:mw.config.get(&amp;#039;wgPageName&amp;#039;), text:text, format:&amp;#039;json&amp;#039;},&lt;br /&gt;
    function(data) {&lt;br /&gt;
      var restext = data.expandtemplates[&amp;#039;*&amp;#039;];&lt;br /&gt;
      callback(restext);&lt;br /&gt;
    },&lt;br /&gt;
    &amp;#039;json&amp;#039;&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=&amp;#039;wpSection&amp;#039;]&amp;quot;).val();&lt;br /&gt;
  if ( section !== &amp;#039;&amp;#039; ) {&lt;br /&gt;
    var postdata = {action:&amp;#039;query&amp;#039;, prop:&amp;#039;revisions&amp;#039;, rvprop:&amp;#039;content&amp;#039;, pageids:mw.config.get(&amp;#039;wgArticleId&amp;#039;), format:&amp;#039;json&amp;#039;};&lt;br /&gt;
    if (CiteTB.getOption(&amp;#039;expandtemplates&amp;#039;)) {&lt;br /&gt;
      postdata.rvexpandtemplates = &amp;#039;1&amp;#039;;&lt;br /&gt;
    }&lt;br /&gt;
    $.get( mw.util.wikiScript( &amp;#039;api&amp;#039; ),&lt;br /&gt;
      postdata,&lt;br /&gt;
      function(data) {&lt;br /&gt;
        var pagetext = data.query.pages[mw.config.get(&amp;#039;wgArticleId&amp;#039;).toString()].revisions[0][&amp;#039;*&amp;#039;];&lt;br /&gt;
        callback(pagetext);&lt;br /&gt;
      },&lt;br /&gt;
      &amp;#039;json&amp;#039;&lt;br /&gt;
    );&lt;br /&gt;
  } else {&lt;br /&gt;
    if (CiteTB.getOption(&amp;#039;expandtemplates&amp;#039;)) {&lt;br /&gt;
      CiteTB.expandtemplates($(&amp;#039;#wpTextbox1&amp;#039;).wikiEditor(&amp;#039;getContents&amp;#039;).text(), callback);&lt;br /&gt;
    } else {&lt;br /&gt;
      callback($(&amp;#039;#wpTextbox1&amp;#039;).wikiEditor(&amp;#039;getContents&amp;#039;).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)&lt;br /&gt;
CiteTB.initAutofill = function() {&lt;br /&gt;
  var elemid = $(this).attr(&amp;#039;id&amp;#039;);&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 = $(&amp;#039;#cite-&amp;#039;+tem+&amp;#039;-&amp;#039;+field).val();&lt;br /&gt;
  if (!id) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  var url = &amp;#039;//tools.wmflabs.org/reftoolbar/lookup.php?&amp;#039;;&lt;br /&gt;
  url+=autotype+&amp;#039;=&amp;#039;+encodeURIComponent(id);&lt;br /&gt;
  url+=&amp;#039;&amp;amp;template=&amp;#039;+encodeURIComponent(tem);&lt;br /&gt;
  var s = document.createElement(&amp;#039;script&amp;#039;);&lt;br /&gt;
  s.setAttribute(&amp;#039;src&amp;#039;, url);&lt;br /&gt;
  s.setAttribute(&amp;#039;type&amp;#039;, &amp;#039;text/javascript&amp;#039;);&lt;br /&gt;
  document.getElementsByTagName(&amp;#039;head&amp;#039;)[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 = &amp;#039;cite-&amp;#039;+template+&amp;#039;-&amp;#039;;&lt;br /&gt;
  var i,j, coauthors;&lt;br /&gt;
  $(&amp;#039;.&amp;#039;+cl+&amp;#039;title&amp;#039;).val(data.title);&lt;br /&gt;
  if ($(&amp;#039;.&amp;#039;+cl+&amp;#039;last-incr-1&amp;#039;).length != 0) {&lt;br /&gt;
  	var classes = $(&amp;#039;.&amp;#039;+cl+&amp;#039;last-incr-1&amp;#039;).eq(0).attr(&amp;#039;class&amp;#039;).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;
  	$(&amp;#039;.&amp;#039;+cl+&amp;#039;last-incr-1&amp;#039;).val(data.authors[0][0])&lt;br /&gt;
  	$(&amp;#039;.&amp;#039;+cl+&amp;#039;first-incr-1&amp;#039;).val(data.authors[0][1])&lt;br /&gt;
  	elemid = &amp;#039;#cite-incr-&amp;#039;+template+&amp;#039;-&amp;#039;+group;&lt;br /&gt;
  	for (var i=2; i&amp;lt;data.authors.length+1; i++) {&lt;br /&gt;
  		$(elemid).click();&lt;br /&gt;
  		$(&amp;#039;.&amp;#039;+cl+&amp;#039;last-incr-&amp;#039;+i.toString()).val(data.authors[i-1][0])&lt;br /&gt;
  		$(&amp;#039;.&amp;#039;+cl+&amp;#039;first-incr-&amp;#039;+i.toString()).val(data.authors[i-1][1])&lt;br /&gt;
  	}&lt;br /&gt;
  } else if ($(&amp;#039;.&amp;#039;+cl+&amp;#039;author-incr-1&amp;#039;).length != 0) {&lt;br /&gt;
	var classes = $(&amp;#039;.&amp;#039;+cl+&amp;#039;author-incr-1&amp;#039;).eq(0).attr(&amp;#039;class&amp;#039;).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;
  	$(&amp;#039;.&amp;#039;+cl+&amp;#039;author-incr-1&amp;#039;).val(data.authors[0].join(&amp;#039;, &amp;#039;))&lt;br /&gt;
  	elemid = &amp;#039;#cite-incr-&amp;#039;+template+&amp;#039;-&amp;#039;+group;&lt;br /&gt;
  	for (var i=2; i&amp;lt;data.authors.length+1; i++) {&lt;br /&gt;
  		$(elemid).click();&lt;br /&gt;
  		$(&amp;#039;.&amp;#039;+cl+&amp;#039;author-incr-&amp;#039;+i.toString()).val(data.authors[i-1].join(&amp;#039;, &amp;#039;))&lt;br /&gt;
  	}&lt;br /&gt;
  } else if ($(&amp;#039;.&amp;#039;+cl+&amp;#039;last1&amp;#039;).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 ($(&amp;#039;.&amp;#039;+cl+&amp;#039;last&amp;#039;+(i+1)).length) {&lt;br /&gt;
	     $(&amp;#039;.&amp;#039;+cl+&amp;#039;last&amp;#039;+(i+1)).val(data.authors[i][0]);&lt;br /&gt;
		 $(&amp;#039;.&amp;#039;+cl+&amp;#039;first&amp;#039;+(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(&amp;#039;, &amp;#039;));&lt;br /&gt;
		}&lt;br /&gt;
		$(&amp;#039;.&amp;#039;+cl+&amp;#039;coauthors&amp;#039;).val(coauthors.join(&amp;#039;; &amp;#039;));&lt;br /&gt;
		break;&lt;br /&gt;
	  }&lt;br /&gt;
	}&lt;br /&gt;
  } else if($(&amp;#039;.&amp;#039;+cl+&amp;#039;author1&amp;#039;).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 ($(&amp;#039;.&amp;#039;+cl+&amp;#039;author&amp;#039;+(i+1)).length) {&lt;br /&gt;
	     $(&amp;#039;.&amp;#039;+cl+&amp;#039;author&amp;#039;+(i+1)).val(data.authors[i].join(&amp;#039;, &amp;#039;));&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(&amp;#039;, &amp;#039;));&lt;br /&gt;
		}&lt;br /&gt;
		$(&amp;#039;.&amp;#039;+cl+&amp;#039;coauthors&amp;#039;).val(coauthors.join(&amp;#039;; &amp;#039;));&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(&amp;#039;, &amp;#039;));&lt;br /&gt;
	}&lt;br /&gt;
	$(&amp;#039;.&amp;#039;+cl+&amp;#039;authors&amp;#039;).val(authors.join(&amp;#039;; &amp;#039;));&lt;br /&gt;
  }&lt;br /&gt;
  if (type === &amp;#039;pmid&amp;#039; || type === &amp;#039;doi&amp;#039;) {&lt;br /&gt;
    if (data.fulldate || !$(&amp;#039;.&amp;#039;+cl+&amp;#039;month&amp;#039;).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;
      $(&amp;#039;.&amp;#039;+cl+&amp;#039;date&amp;#039;).val(CiteTB.formatDate(DT, useday, usemonth));&lt;br /&gt;
    } else if (!data.fulldate &amp;amp;&amp;amp; $(&amp;#039;.&amp;#039;+cl+&amp;#039;month&amp;#039;).length &amp;amp;&amp;amp; $(&amp;#039;.&amp;#039;+cl+&amp;#039;year&amp;#039;).length) {&lt;br /&gt;
      if (data.month) { // lookup.php sets month to false if it isn&amp;#039;t provided&lt;br /&gt;
        $(&amp;#039;.&amp;#039;+cl+&amp;#039;month&amp;#039;).val( CiteTB.getOption(&amp;#039;months&amp;#039;)[parseInt(data.month)-1] );&lt;br /&gt;
      }&lt;br /&gt;
      $(&amp;#039;.&amp;#039;+cl+&amp;#039;year&amp;#039;).val(data.year);&lt;br /&gt;
    } else {&lt;br /&gt;
      $(&amp;#039;.&amp;#039;+cl+&amp;#039;date&amp;#039;).val(data.date);&lt;br /&gt;
    }&lt;br /&gt;
    $(&amp;#039;.&amp;#039;+cl+&amp;#039;journal&amp;#039;).val(data.journal);&lt;br /&gt;
    $(&amp;#039;.&amp;#039;+cl+&amp;#039;volume&amp;#039;).val(data.volume);&lt;br /&gt;
    $(&amp;#039;.&amp;#039;+cl+&amp;#039;issue&amp;#039;).val(data.issue);&lt;br /&gt;
    $(&amp;#039;.&amp;#039;+cl+&amp;#039;pages&amp;#039;).val(data.pages);&lt;br /&gt;
  } else if (type === &amp;#039;isbn&amp;#039;) {&lt;br /&gt;
    $(&amp;#039;.&amp;#039;+cl+&amp;#039;publisher&amp;#039;).val(data.publisher);&lt;br /&gt;
    $(&amp;#039;.&amp;#039;+cl+&amp;#039;location&amp;#039;).val(data.location);&lt;br /&gt;
    $(&amp;#039;.&amp;#039;+cl+&amp;#039;year&amp;#039;).val(data.year);&lt;br /&gt;
    $(&amp;#039;.&amp;#039;+cl+&amp;#039;edition&amp;#039;).val(data.edition);&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(&amp;#039;tr&amp;#039;)[0];&lt;br /&gt;
	$(this).prev().css(&amp;#039;width&amp;#039;, &amp;#039;100%&amp;#039;)&lt;br /&gt;
	$(this).detach();&lt;br /&gt;
	var elemid = $(this).attr(&amp;#039;id&amp;#039;);&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(&amp;#039;id&amp;#039;);&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;
  $(&amp;#039;#cite-&amp;#039;+id+&amp;#039;-&amp;#039;+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(&amp;#039;date format&amp;#039;);&lt;br /&gt;
  var zmonth = &amp;#039;&amp;#039;;&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 = &amp;#039;&amp;#039;;&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;#039;&amp;lt;date&amp;gt;&amp;#039;, date);&lt;br /&gt;
    datestr = datestr.replace(&amp;#039;&amp;lt;zdate&amp;gt;&amp;#039;, zdate);&lt;br /&gt;
  } else {&lt;br /&gt;
    datestr = datestr.replace(&amp;#039;&amp;lt;date&amp;gt;&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
    datestr = datestr.replace(&amp;#039;&amp;lt;zdate&amp;gt;&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
  }&lt;br /&gt;
  if (usemonth) {&lt;br /&gt;
    datestr = datestr.replace(&amp;#039;&amp;lt;month&amp;gt;&amp;#039;, month);&lt;br /&gt;
    datestr = datestr.replace(&amp;#039;&amp;lt;zmonth&amp;gt;&amp;#039;, zmonth);&lt;br /&gt;
    datestr = datestr.replace(&amp;#039;&amp;lt;monthname&amp;gt;&amp;#039;, CiteTB.getOption(&amp;#039;months&amp;#039;)[DT.getUTCMonth()]);&lt;br /&gt;
  } else {&lt;br /&gt;
    datestr = datestr.replace(&amp;#039;&amp;lt;month&amp;gt;&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
    datestr = datestr.replace(&amp;#039;&amp;lt;zmonth&amp;gt;&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
    datestr = datestr.replace(&amp;#039;&amp;lt;monthname&amp;gt;&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
  }  &lt;br /&gt;
  datestr = datestr.replace(&amp;#039;&amp;lt;year&amp;gt;&amp;#039;, 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;#039;&amp;lt;div&amp;gt;&amp;#039;);&lt;br /&gt;
  $(&amp;#039;#citetoolbar-namedrefs&amp;#039;).html( stuff );&lt;br /&gt;
  if (names.length === 0) {&lt;br /&gt;
    stuff.html(mw.usability.getMsg(&amp;#039;cite-no-namedrefs&amp;#039;));&lt;br /&gt;
  } else {&lt;br /&gt;
    stuff.html(mw.usability.getMsg(&amp;#039;cite-namedrefs-intro&amp;#039;));&lt;br /&gt;
    var select = $(&amp;#039;&amp;lt;select id=&amp;quot;cite-namedref-select&amp;quot;&amp;gt;&amp;#039;);&lt;br /&gt;
    select.append($(&amp;#039;&amp;lt;option value=&amp;quot;&amp;quot; /&amp;gt;&amp;#039;).text(mw.usability.getMsg(&amp;#039;cite-named-refs-dropdown&amp;#039;)));&lt;br /&gt;
    for(i=0; i&amp;lt;names.length; i++) {&lt;br /&gt;
      select.append($(&amp;#039;&amp;lt;option /&amp;gt;&amp;#039;).text(names[i].refname));&lt;br /&gt;
    }&lt;br /&gt;
    stuff.after(select);&lt;br /&gt;
    select.before(&amp;#039;&amp;lt;br /&amp;gt;&amp;#039;);      &lt;br /&gt;
    var prevlabel = $(&amp;#039;&amp;lt;div id=&amp;quot;cite-nref-preview-label&amp;quot; style=&amp;quot;display:none;&amp;quot; /&amp;gt;&amp;#039;).html(mw.usability.getMsg(&amp;#039;cite-raw-preview&amp;#039;));&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;#039;&amp;lt;div id=&amp;quot;cite-namedref-preview&amp;quot; style=&amp;quot;padding:0.5em; font-size:110%&amp;quot; /&amp;gt;&amp;#039;);&lt;br /&gt;
    var parselabel = $(&amp;#039;&amp;lt;span id=&amp;quot;cite-parsed-label&amp;quot; style=&amp;quot;display:none;&amp;quot; /&amp;gt;&amp;#039;).html(mw.usability.getMsg(&amp;#039;cite-parsed-label&amp;#039;));&lt;br /&gt;
    $(&amp;#039;#cite-namedref-preview&amp;#039;).after(parselabel);&lt;br /&gt;
    parselabel.after(&amp;#039;&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;&amp;#039;);&lt;br /&gt;
    var link = $(&amp;#039;&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;&amp;#039;);&lt;br /&gt;
    link.html(mw.usability.getMsg(&amp;#039;cite-form-parse&amp;#039;));&lt;br /&gt;
    $(&amp;#039;#cite-namedref-parsed&amp;#039;).after(link);&lt;br /&gt;
    &lt;br /&gt;
    $(&amp;quot;#cite-namedref-select&amp;quot;).on( &amp;#039;change&amp;#039;, CiteTB.namedRefSelectClick);&lt;br /&gt;
    $(&amp;#039;#cite-nref-parse&amp;#039;).on( &amp;#039;click&amp;#039;, 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;#039;&amp;lt;div id=&amp;quot;cite-errorcheck-heading&amp;quot; /&amp;gt;&amp;#039;).html(mw.usability.getMsg(&amp;#039;cite-errorcheck-heading&amp;#039;));&lt;br /&gt;
  var ul = $(&amp;quot;&amp;lt;ul id=&amp;#039;cite-errcheck-list&amp;#039; /&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;
  $(&amp;#039;#citetoolbar-errorcheck&amp;#039;).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;
  $(&amp;#039;#cite-parsed-label&amp;#039;).show();&lt;br /&gt;
  $(&amp;#039;#cite-namedref-parsed&amp;#039;).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 === &amp;#039;&amp;#039;) {&lt;br /&gt;
    $(&amp;#039;#cite-parsed-label&amp;#039;).hide();&lt;br /&gt;
    $(&amp;#039;#cite-namedref-parsed&amp;#039;).text(&amp;#039;&amp;#039;);&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  $(&amp;#039;#cite-nref-parse&amp;#039;).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 = &amp;#039;&amp;#039;;&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;
  $(&amp;#039;#cite-parsed-label&amp;#039;).hide();&lt;br /&gt;
  $(&amp;#039;#cite-namedref-parsed&amp;#039;).text(&amp;#039;&amp;#039;);&lt;br /&gt;
  if (choice === &amp;#039;&amp;#039;) {&lt;br /&gt;
    $(&amp;#039;#cite-nref-preview-label&amp;#039;).hide();&lt;br /&gt;
    $(&amp;#039;#cite-namedref-preview&amp;#039;).text(&amp;#039;&amp;#039;);&lt;br /&gt;
    $(&amp;#039;#cite-nref-parse&amp;#039;).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;
      $(&amp;#039;#cite-nref-preview-label&amp;#039;).show();&lt;br /&gt;
      $(&amp;#039;#cite-namedref-preview&amp;#039;).text(CiteTB.mainRefList[i].content);&lt;br /&gt;
      if (CiteTB.getOption(&amp;#039;autoparse&amp;#039;)) {&lt;br /&gt;
        CiteTB.nrefParseClick();&lt;br /&gt;
      } else {&lt;br /&gt;
        $(&amp;#039;#cite-nref-parse&amp;#039;).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(&amp;#039;.cite-prev-parsed-label&amp;#039;).show();&lt;br /&gt;
  div.find(&amp;#039;.cite-preview-parsed&amp;#039;).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(&amp;#039;.cite-prev-parse&amp;#039;).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 === &amp;#039;closed&amp;#039; ) {&lt;br /&gt;
    div.find(&amp;quot;.cite-form-status&amp;quot;).val(&amp;#039;open&amp;#039;);&lt;br /&gt;
    div.find(&amp;#039;.cite-extra-fields&amp;#039;).show(1, function() {&lt;br /&gt;
      // jQuery adds &amp;quot;display:block&amp;quot;, which screws things up&lt;br /&gt;
      div.find(&amp;#039;.cite-extra-fields&amp;#039;).attr(&amp;#039;style&amp;#039;, &amp;#039;width:100%; background-color:transparent;&amp;#039;); &lt;br /&gt;
    });&lt;br /&gt;
  } else {&lt;br /&gt;
    div.find(&amp;quot;.cite-form-status&amp;quot;).val(&amp;#039;closed&amp;#039;);&lt;br /&gt;
    div.find(&amp;#039;.cite-extra-fields&amp;#039;).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 = /\&amp;#039;/.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;#039;&amp;quot;&amp;#039;+s+&amp;#039;&amp;quot;&amp;#039;;&lt;br /&gt;
  } else if (!dq) { // Can use double quotes&lt;br /&gt;
    return &amp;#039;&amp;quot;&amp;#039;+s+&amp;#039;&amp;quot;&amp;#039;;&lt;br /&gt;
  } else if (!sq) { // Can use single quotes&lt;br /&gt;
    return &amp;quot;&amp;#039;&amp;quot;+s+&amp;quot;&amp;#039;&amp;quot;;&lt;br /&gt;
  } else { // Has double and single quotes&lt;br /&gt;
    s = s.replace(/\&amp;quot;/g, &amp;#039;\&amp;#039;&amp;#039;);&lt;br /&gt;
    return &amp;#039;&amp;quot;&amp;#039;+s+&amp;#039;&amp;quot;&amp;#039;;&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(&amp;#039;_&amp;#039;,&amp;#039; &amp;#039;);&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(&amp;#039; &amp;#039;, &amp;#039;-&amp;#039;).replace(&amp;quot;&amp;#039;&amp;quot;, &amp;quot;\&amp;#039;&amp;quot;).replace(&amp;#039;&amp;quot;&amp;#039;, &amp;#039;\&amp;quot;&amp;#039;);&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;
  $(&amp;#039;#cite-err-report&amp;#039;).remove();&lt;br /&gt;
  var table = $(&amp;#039;&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;&amp;#039;);&lt;br /&gt;
  $(&amp;#039;#editpage-copywarn&amp;#039;).before(table);&lt;br /&gt;
  var tr;&lt;br /&gt;
  var tr1 = $(&amp;#039;&amp;lt;tr style=&amp;quot;width:100%&amp;quot; /&amp;gt;&amp;#039;);&lt;br /&gt;
  var th1 = $(&amp;#039;&amp;lt;th style=&amp;quot;width:60%; font-size:110%&amp;quot; /&amp;gt;&amp;#039;).html(mw.usability.getMsg(&amp;#039;cite-err-report-heading&amp;#039;));&lt;br /&gt;
  var th2 = $(&amp;#039;&amp;lt;th style=&amp;quot;text-align:right; width:40%&amp;quot; /&amp;gt;&amp;#039;);&lt;br /&gt;
  var im = $(&amp;#039;&amp;lt;img /&amp;gt;&amp;#039;).attr(&amp;#039;src&amp;#039;, &amp;#039;//upload.wikimedia.org/wikipedia/commons/thumb/5/55/Gtk-stop.svg/20px-Gtk-stop.svg.png&amp;#039;);&lt;br /&gt;
  im.attr(&amp;#039;alt&amp;#039;, mw.usability.getMsg(&amp;#039;cite-err-report-close&amp;#039;)).attr(&amp;#039;title&amp;#039;, mw.usability.getMsg(&amp;#039;cite-err-report-close&amp;#039;));&lt;br /&gt;
  var ad = $(&amp;#039;&amp;lt;a id=&amp;quot;cite-err-check-close&amp;quot; /&amp;gt;&amp;#039;).attr(&amp;#039;href&amp;#039;, &amp;#039;#&amp;#039;);&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;
  $(&amp;#039;#cite-err-check-close&amp;#039;).on(&amp;#039;click&amp;#039;, function() {  $(&amp;#039;#cite-err-report&amp;#039;).remove(); });&lt;br /&gt;
  if (errors.length === 0) {&lt;br /&gt;
    tr = $(&amp;#039;&amp;lt;tr style=&amp;quot;width:100%;&amp;quot; /&amp;gt;&amp;#039;);&lt;br /&gt;
    var td = $(&amp;#039;&amp;lt;td style=&amp;quot;text-align:center; margin:1.5px;&amp;quot; /&amp;gt;&amp;#039;).html(mw.usability.getMsg(&amp;#039;cite-err-report-empty&amp;#039;));&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;#039;&amp;lt;tr style=&amp;quot;width:100%;&amp;quot; /&amp;gt;&amp;#039;);&lt;br /&gt;
    var td1 = $(&amp;#039;&amp;lt;td style=&amp;quot;border: 1px solid black; margin:1.5px; width:60%&amp;quot; /&amp;gt;&amp;#039;).html(err.err);&lt;br /&gt;
    var td2 = $(&amp;#039;&amp;lt;td style=&amp;quot;border: 1px solid black; margin:1.5px; width:40%&amp;quot; /&amp;gt;&amp;#039;).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>Karaby</name></author>
	</entry>
</feed>