<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://www.bioeticawiki.com/w/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3ARefToolbar.js</id>
	<title>MediaWiki:RefToolbar.js - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="https://www.bioeticawiki.com/w/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3ARefToolbar.js"/>
	<link rel="alternate" type="text/html" href="https://www.bioeticawiki.com/w/index.php?title=MediaWiki:RefToolbar.js&amp;action=history"/>
	<updated>2026-05-01T13:49:12Z</updated>
	<subtitle>Historial de revisiones de esta página en la wiki</subtitle>
	<generator>MediaWiki 1.37.0</generator>
	<entry>
		<id>https://www.bioeticawiki.com/w/index.php?title=MediaWiki:RefToolbar.js&amp;diff=2040&amp;oldid=prev</id>
		<title>Admin: Página creada con «// Todo: make autodate an option in the CiteTemplate object, not a preference   // Global object if (typeof CiteTB == 'undefined') {   var CiteTB = {     &quot;Templates&quot; : {}, ...»</title>
		<link rel="alternate" type="text/html" href="https://www.bioeticawiki.com/w/index.php?title=MediaWiki:RefToolbar.js&amp;diff=2040&amp;oldid=prev"/>
		<updated>2012-08-20T17:09:11Z</updated>

		<summary type="html">&lt;p&gt;Página creada con «// Todo: make autodate an option in the CiteTemplate object, not a preference   // Global object if (typeof CiteTB == &amp;#039;undefined&amp;#039;) {   var CiteTB = {     &amp;quot;Templates&amp;quot; : {}, ...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;// Todo: make autodate an option in the CiteTemplate object, not a preference&lt;br /&gt;
 &lt;br /&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;
// only load on edit, unless its a user JS/CSS page&lt;br /&gt;
if ((wgAction == 'edit' || wgAction == 'submit') &amp;amp;&amp;amp; !((wgNamespaceNumber == 2 || wgNamespaceNumber == 4) &amp;amp;&amp;amp;&lt;br /&gt;
  (wgPageName.indexOf('.js') != -1 || wgPageName.indexOf('.css') != -1 ))) {&lt;br /&gt;
 &lt;br /&gt;
appendCSS(&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;
// 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 $j('div[rel=cites]')[0] != 'undefined') { // Mystery IE bug workaround&lt;br /&gt;
    return;&lt;br /&gt;
  }&lt;br /&gt;
  $j('head').trigger('reftoolbarbase');&lt;br /&gt;
  var $target = $j('#wpTextbox1');&lt;br /&gt;
  var temlist = {};&lt;br /&gt;
  var d = new Date();&lt;br /&gt;
  var start = d.getTime();&lt;br /&gt;
  for (var t in CiteTB.Templates) {&lt;br /&gt;
  	var tem = CiteTB.Templates[t];&lt;br /&gt;
    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;
          $j(this).html(CiteTB.getOpenTemplate().getForm());&lt;br /&gt;
          $j('.cite-prev-parse').bind( 'click', CiteTB.prevParseClick);&lt;br /&gt;
        },&lt;br /&gt;
        beforeclose: function() {&lt;br /&gt;
          CiteTB.resetForm();&lt;br /&gt;
        },&lt;br /&gt;
        buttons: {&lt;br /&gt;
          'cite-form-submit': function() {&lt;br /&gt;
            $j.wikiEditor.modules.toolbar.fn.doAction( $j(this).data( 'context' ), {&lt;br /&gt;
              type: 'encapsulate',&lt;br /&gt;
              options: {&lt;br /&gt;
                peri: ' '&lt;br /&gt;
              }&lt;br /&gt;
            }, $j(this) );&lt;br /&gt;
            var ref = CiteTB.getRef(false, true);&lt;br /&gt;
            $j(this).dialog( 'close' );&lt;br /&gt;
            $j.wikiEditor.modules.toolbar.fn.doAction( $j(this).data( 'context' ), {&lt;br /&gt;
              type: 'encapsulate',&lt;br /&gt;
              options: {&lt;br /&gt;
                pre: ref&lt;br /&gt;
              }&lt;br /&gt;
            }, $j(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 = $j(&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;
            $j(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;
      //$j('#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 = $j(&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[$j(errorchecks[i]).val()].run());&lt;br /&gt;
            }&lt;br /&gt;
            CiteTB.displayErrors(errors);&lt;br /&gt;
            $j(this).dialog( 'close' );                      &lt;br /&gt;
          },&lt;br /&gt;
          'wikieditor-toolbar-tool-link-cancel': function() {&lt;br /&gt;
            $j(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 = $j(&amp;quot;#cite-namedref-select&amp;quot;).val();&lt;br /&gt;
            if (refname == '') {&lt;br /&gt;
              return;&lt;br /&gt;
            }&lt;br /&gt;
            $j.wikiEditor.modules.toolbar.fn.doAction( $j(this).data( 'context' ), {&lt;br /&gt;
              type: 'encapsulate',&lt;br /&gt;
              options: {&lt;br /&gt;
                peri: ' '&lt;br /&gt;
              }&lt;br /&gt;
            }, $j(this) );&lt;br /&gt;
            $j(this).dialog( 'close' );&lt;br /&gt;
            $j.wikiEditor.modules.toolbar.fn.doAction( $j(this).data( 'context' ), {&lt;br /&gt;
              type: 'encapsulate',&lt;br /&gt;
              options: {&lt;br /&gt;
                pre: CiteTB.getNamedRef(refname, true)&lt;br /&gt;
              }&lt;br /&gt;
            }, $j(this) );&lt;br /&gt;
          },&lt;br /&gt;
          'wikieditor-toolbar-tool-link-cancel': function() {&lt;br /&gt;
            $j(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;
  $j('#citetoolbar-namedrefs').unbind('dialogopen');&lt;br /&gt;
  if (!CiteTB.getOption('modal')) {&lt;br /&gt;
    //$j('#citetoolbar-namedrefs').dialog('option', 'modal', false);&lt;br /&gt;
    //$j('#citetoolbar-errorcheck').dialog('option', 'modal', false);&lt;br /&gt;
    appendCSS(&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;
$j(document).ready( function() {&lt;br /&gt;
  switch( wgUserLanguage ) {&lt;br /&gt;
    case 'es': // Spanish&lt;br /&gt;
      var RefToolbarMessages = importScript('MediaWiki:RefToolbarMessages-es.js');&lt;br /&gt;
      break;&lt;br /&gt;
    default: // English&lt;br /&gt;
      var RefToolbarMessages = 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 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 = $j('#cite-'+CiteTB.escStr(template.shortform)+'-group').val();&lt;br /&gt;
    var refname = $j('#cite-'+CiteTB.escStr(template.shortform)+'-name').val();&lt;br /&gt;
    res += '&amp;lt;ref';&lt;br /&gt;
    if (refname) {&lt;br /&gt;
      refname = $j.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 = $j.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( var i=0; i&amp;lt;template.basic.length; i++ ) {&lt;br /&gt;
    var fieldname = template.basic[i].field;&lt;br /&gt;
    var field = $j('#cite-'+CiteTB.escStr(template.shortform)+'-'+fieldname).val();&lt;br /&gt;
    if (field) {&lt;br /&gt;
      content+='|'+fieldname+'=';&lt;br /&gt;
      content+= $j.trim(field.replace(&amp;quot;|&amp;quot;, &amp;quot;{{!}}&amp;quot;));&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  if ($j('#cite-form-status').val() != 'closed') {&lt;br /&gt;
    for( var i=0; i&amp;lt;template.extra.length; i++ ) {&lt;br /&gt;
      var fieldname = template.extra[i].field;&lt;br /&gt;
      var field = $j('#cite-'+CiteTB.escStr(template.shortform)+'-'+fieldname).val();&lt;br /&gt;
      if (field) {&lt;br /&gt;
        content+='|'+fieldname+'=';&lt;br /&gt;
        content+= $j.trim(field.replace(&amp;quot;|&amp;quot;, &amp;quot;{{!}}&amp;quot;));&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;
  var inner = 'name=';&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;
  $j.post( wgServer+wgScriptPath+'/api.php',&lt;br /&gt;
    {action:'parse', title: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;
  $j.post( wgServer+wgScriptPath+'/api.php',&lt;br /&gt;
    {action:'expandtemplates', title: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 = $j(&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:wgArticleId, format:'json'};&lt;br /&gt;
    if (CiteTB.getOption('expandtemplates')) {&lt;br /&gt;
      postdata['rvexpandtemplates'] = '1';&lt;br /&gt;
    }&lt;br /&gt;
    $j.get( wgServer+wgScriptPath+'/api.php',&lt;br /&gt;
      postdata,&lt;br /&gt;
      function(data) {&lt;br /&gt;
        var pagetext = data['query']['pages'][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($j('#wpTextbox1').wikiEditor('getContents').text(), callback);&lt;br /&gt;
    } else {&lt;br /&gt;
      callback($j('#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)&lt;br /&gt;
CiteTB.initAutofill = function() {&lt;br /&gt;
  var elemid = $j(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 = $j('#cite-'+tem+'-'+field).val();&lt;br /&gt;
  if (!id) {&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  var url = 'http://toolserver.org/~alexz/ref/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;
  $j('.'+cl+'title').val(data.title);&lt;br /&gt;
  if ($j('.'+cl+'last1').length != 0) {&lt;br /&gt;
    for(var i=0; i&amp;lt;data.authors.length; i++) {&lt;br /&gt;
	  if ($j('.'+cl+'last'+(i+1)).length) {&lt;br /&gt;
	     $j('.'+cl+'last'+(i+1)).val(data.authors[i][0]);&lt;br /&gt;
		 $j('.'+cl+'first'+(i+1)).val(data.authors[i][1]);&lt;br /&gt;
	  } else {&lt;br /&gt;
	    var coauthors = [];&lt;br /&gt;
	    for(var j=i; j&amp;lt;data.authors.length; j++) {&lt;br /&gt;
		  coauthors.push(data.authors[j].join(', '));&lt;br /&gt;
		}&lt;br /&gt;
		$j('.'+cl+'coauthors').val(coauthors.join(', '));&lt;br /&gt;
		break;&lt;br /&gt;
	  }&lt;br /&gt;
	}&lt;br /&gt;
  } else if($j('.'+cl+'author1').length != 0) {&lt;br /&gt;
    for(var i=0; i&amp;lt;data.authors.length; i++) {&lt;br /&gt;
	  if ($j('.'+cl+'author'+(i+1)).length) {&lt;br /&gt;
	     $j('.'+cl+'author'+(i+1)).val(data.authors[i].join(', '));&lt;br /&gt;
	  } else {&lt;br /&gt;
	    var coauthors = [];&lt;br /&gt;
	    for(var j=i; j&amp;lt;data.authors.length; j++) {&lt;br /&gt;
		  coauthors.push(data.authors[j].join(', '));&lt;br /&gt;
		}&lt;br /&gt;
		$j('.'+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(var i=0; i&amp;lt;data.authors.length; i++) {&lt;br /&gt;
	  authors.push(data.authors[i].join(', '));&lt;br /&gt;
	}&lt;br /&gt;
	$j('.'+cl+'authors').val(authors.join('; '));&lt;br /&gt;
  }  &lt;br /&gt;
  if (type == 'pmid' || type == 'doi') {&lt;br /&gt;
    if (type == 'doi') {&lt;br /&gt;
      var DT = new Date(data.date);&lt;br /&gt;
      $j('.'+cl+'date').val(CiteTB.formatDate(DT));&lt;br /&gt;
    } else {&lt;br /&gt;
      $j('.'+cl+'date').val(data.date);&lt;br /&gt;
    }&lt;br /&gt;
    $j('.'+cl+'journal').val(data.journal);&lt;br /&gt;
    $j('.'+cl+'volume').val(data.volume);&lt;br /&gt;
    $j('.'+cl+'issue').val(data.issue);&lt;br /&gt;
    $j('.'+cl+'pages').val(data.pages);&lt;br /&gt;
  } else if (type == 'isbn') {&lt;br /&gt;
    $j('.'+cl+'publisher').val(data.publisher);&lt;br /&gt;
    $j('.'+cl+'location').val(data.location);&lt;br /&gt;
    $j('.'+cl+'year').val(data.year);&lt;br /&gt;
    $j('.'+cl+'edition').val(data.edition);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// FORM DIALOG FUNCTIONS&lt;br /&gt;
// fill the accessdate param with the current date&lt;br /&gt;
CiteTB.fillAccessdate = function() {&lt;br /&gt;
  var elemid = $j(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;
  datestr = CiteTB.formatDate(DT);&lt;br /&gt;
  $j('#cite-'+id+'-'+field).val(datestr);&lt;br /&gt;
  return false;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
CiteTB.formatDate = function(DT) {&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;
  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;', CiteTB.getOption('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 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 = []&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) {&lt;br /&gt;
      names.push(CiteTB.mainRefList[i]);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  var stuff = $j('&amp;lt;div /&amp;gt;')&lt;br /&gt;
  $j('#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 = $j('&amp;lt;select id=&amp;quot;cite-namedref-select&amp;quot;&amp;gt;');&lt;br /&gt;
    select.append($j('&amp;lt;option value=&amp;quot;&amp;quot; /&amp;gt;').text(mw.usability.getMsg('cite-named-refs-dropdown')));&lt;br /&gt;
    for(var i=0; i&amp;lt;names.length; i++) {&lt;br /&gt;
      select.append($j('&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 = $j('&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 = $j('&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;
    $j('#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 = $j('&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;
    $j('#cite-namedref-parsed').after(link);&lt;br /&gt;
 &lt;br /&gt;
    $j(&amp;quot;#cite-namedref-select&amp;quot;).bind( 'change', CiteTB.namedRefSelectClick);&lt;br /&gt;
    $j('#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 = $j('&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 = $j(&amp;quot;&amp;lt;ul id='cite-errcheck-list' /&amp;gt;&amp;quot;);&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;
  $j('#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;
  $j('#cite-parsed-label').show();&lt;br /&gt;
  $j('#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 = $j(&amp;quot;#cite-namedref-select&amp;quot;).val();&lt;br /&gt;
  if (choice == '') {&lt;br /&gt;
    $j('#cite-parsed-label').hide();&lt;br /&gt;
    $j('#cite-namedref-parsed').text('');&lt;br /&gt;
    return false;&lt;br /&gt;
  }&lt;br /&gt;
  $j('#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 = $j(&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;
  $j('#cite-parsed-label').hide();&lt;br /&gt;
  $j('#cite-namedref-parsed').text('');&lt;br /&gt;
  if (choice == '') {&lt;br /&gt;
    $j('#cite-nref-preview-label').hide();&lt;br /&gt;
    $j('#cite-namedref-preview').text('');&lt;br /&gt;
    $j('#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;
      $j('#cite-nref-preview-label').show();&lt;br /&gt;
      $j('#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;
        $j('#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 = $j(&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 = $j(&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 = $j(&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;
CiteTB.resetForm = function() {&lt;br /&gt;
  var template = CiteTB.getOpenTemplate();&lt;br /&gt;
  var div = $j(&amp;quot;#citetoolbar-&amp;quot;+CiteTB.escStr(template.shortform));&lt;br /&gt;
  div.find('.cite-preview-label').hide();&lt;br /&gt;
  div.find('.cite-ref-preview').text('').hide();&lt;br /&gt;
  div.find('.cite-prev-parsed-label').hide();&lt;br /&gt;
  div.find('.cite-preview-parsed').html('');&lt;br /&gt;
  div.find('.cite-prev-parse').hide();&lt;br /&gt;
  var id = CiteTB.escStr(template.shortform);&lt;br /&gt;
  $j('#citetoolbar-'+id+' input[type=text]').val('');&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 sp = /\s/.test(s); // spaces&lt;br /&gt;
  var sq = /\'/.test(s); // single quotes&lt;br /&gt;
  var dq = /\&amp;quot;/.test(s); // double quotes&lt;br /&gt;
  if (!sp &amp;amp;&amp;amp; !sq &amp;amp;&amp;amp; !dq) { // No quotes necessary&lt;br /&gt;
    return s;&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, '\&amp;quot;');&lt;br /&gt;
    return '&amp;quot;'+s+'&amp;quot;';&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;
// 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 = $j(&amp;quot;.ui-dialog-content.ui-widget-content:visible&amp;quot;);&lt;br /&gt;
  var templatename = $j(dialogs[0]).find(&amp;quot;.cite-template&amp;quot;).val();&lt;br /&gt;
  var template = null;&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;
  $j('#cite-err-report').remove();&lt;br /&gt;
  var table = $j('&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;
  $j('#editpage-copywarn').before(table);&lt;br /&gt;
  var tr1 = $j('&amp;lt;tr style=&amp;quot;width:100%&amp;quot; /&amp;gt;');&lt;br /&gt;
  var th1 = $j('&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 = $j('&amp;lt;th style=&amp;quot;text-align:right; width:40%&amp;quot; /&amp;gt;');&lt;br /&gt;
  im = $j('&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 = $j('&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;
  $j('#cite-err-check-close').bind('click', function() {  $j('#cite-err-report').remove(); });&lt;br /&gt;
  if (errors.length == 0) {&lt;br /&gt;
    var tr = $j('&amp;lt;tr style=&amp;quot;width:100%;&amp;quot; /&amp;gt;');&lt;br /&gt;
    var td = $j('&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;
    var tr = $j('&amp;lt;tr style=&amp;quot;width:100%;&amp;quot; /&amp;gt;');&lt;br /&gt;
    var td1 = $j('&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 = $j('&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>Admin</name></author>
	</entry>
</feed>