MediaWiki-API-Ergebnis

This is the HTML representation of the JSON format. HTML is good for debugging, but is unsuitable for application use.

Specify the format parameter to change the output format. To see the non-HTML representation of the JSON format, set format=json.

See the complete documentation, or the API help for more information.

{
    "compare": {
        "fromid": 1,
        "fromrevid": 1,
        "fromns": 0,
        "fromtitle": "Hauptseite",
        "toid": 2,
        "torevid": 2,
        "tons": 8,
        "totitle": "MediaWiki:Gadget-ImageAnnotator.js",
        "*": "<tr><td colspan=\"2\" class=\"diff-lineno\" id=\"mw-diff-left-l1\" >Zeile 1:</td>\n<td colspan=\"2\" class=\"diff-lineno\">Zeile 1:</td></tr>\n<tr><td class='diff-marker'>\u2212</td><td class='diff-deletedline'><div>'''MediaWiki <del class=\"diffchange diffchange-inline\">wurde erfolgreich installiert</del>.'''</div></td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">// &lt;source lang=&quot;javascript&quot;&gt;</ins></div></td></tr>\n<tr><td class='diff-marker'>\u2212</td><td class='diff-deletedline'><div>\u00a0</div></td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td class='diff-marker'>\u2212</td><td class='diff-deletedline'><div><del class=\"diffchange diffchange-inline\">Hilfe zur Benutzung und Konfiguration der Wiki</del>-<del class=\"diffchange diffchange-inline\">Software findest du im </del>[//<del class=\"diffchange diffchange-inline\">meta</del>.<del class=\"diffchange diffchange-inline\">wikimedia</del>.<del class=\"diffchange diffchange-inline\">org</del>/wiki/<del class=\"diffchange diffchange-inline\">Help</del>:<del class=\"diffchange diffchange-inline\">Contents Benutzerhandbuch</del>].</div></td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">/*</ins></div></td></tr>\n<tr><td class='diff-marker'>\u2212</td><td class='diff-deletedline'><div>\u00a0</div></td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 THIS IS ImageAnnotator VERSION 2.3a</ins></div></td></tr>\n<tr><td class='diff-marker'>\u2212</td><td class='diff-deletedline'><div>== <del class=\"diffchange diffchange-inline\">Starthilfen </del>==</div></td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td class='diff-marker'>\u2212</td><td class='diff-deletedline'><div>\u00a0</div></td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 Image annotations. Draw rectangles onto image thumbnail displayed on image description</ins></div></td></tr>\n<tr><td class='diff-marker'>\u2212</td><td class='diff-deletedline'><div>* [//<del class=\"diffchange diffchange-inline\">www</del>.<del class=\"diffchange diffchange-inline\">mediawiki</del>.org/<del class=\"diffchange diffchange-inline\">wiki</del>/<del class=\"diffchange diffchange-inline\">Manual</del>:<del class=\"diffchange diffchange-inline\">Configuration_settings Liste der Konfigurationsvariablen</del>]</div></td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 page and associate them with textual descriptions that will be displayed when the mouse</ins></div></td></tr>\n<tr><td class='diff-marker'>\u2212</td><td class='diff-deletedline'><div>* [//<del class=\"diffchange diffchange-inline\">www</del>.<del class=\"diffchange diffchange-inline\">mediawiki</del>.<del class=\"diffchange diffchange-inline\">org</del>/<del class=\"diffchange diffchange-inline\">wiki</del>/<del class=\"diffchange diffchange-inline\">Manual</del>:<del class=\"diffchange diffchange-inline\">FAQ </del>MediaWiki-<del class=\"diffchange diffchange-inline\">FAQ</del>]</div></td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 moves over the rectangles. If an image has annotations, display the rectangles. Add a</ins></div></td></tr>\n<tr><td class='diff-marker'>\u2212</td><td class='diff-deletedline'><div>* [<del class=\"diffchange diffchange-inline\">https</del>://<del class=\"diffchange diffchange-inline\">lists</del>.wikimedia.org/<del class=\"diffchange diffchange-inline\">mailman</del>/<del class=\"diffchange diffchange-inline\">listinfo</del>/<del class=\"diffchange diffchange-inline\">mediawiki</del>-<del class=\"diffchange diffchange-inline\">announce Mailingliste neuer MediaWiki</del>-<del class=\"diffchange diffchange-inline\">Versionen</del>]</div></td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 button to create new annotations.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 Note: if an image that has annotations is overwritten by a new version, only display the</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 annotations if the size of the top image matches the stored size exactly. To recover</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 annotations, one will need to edit the image description page manually, adjusting image</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 sizes and rectangle coordinates, or re-enter annotations.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 Author: [[User:Lupo]], June 2009 - March 2010</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 License: Quadruple licensed GFDL, GPL, LGPL and Creative Commons Attribution 3.0 (CC-BY-3.0)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 Choose whichever license of these you like best :-)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 See http://commons.wikimedia.org/wiki/Help:Gadget-ImageAnnotator for documentation.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">*/</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">// Global: getElementsByClassName, importScript, importScriptURI (wiki.js)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">// Global: wgPageName, wgCurRevisionId, wgUserGroups, wgRestrictionEdit (inline script on the page)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">// Global: wgAction, wgNamespaceNumber, wgUserLanguage, wgContentLanguage, stylepath (inline script)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">// Global: wgNamespaceIds (inline script)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">if (typeof (ImageAnnotator) == 'undefined') { // Guard against multiple inclusions</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">importScript ('MediaWiki:LAPI.js');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">importScript (</ins>'<ins class=\"diffchange diffchange-inline\">MediaWiki:Tooltips.js</ins>'<ins class=\"diffchange diffchange-inline\">);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">importScript (</ins>'MediaWiki<ins class=\"diffchange diffchange-inline\">:TextCleaner.js');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">importScript ('MediaWiki:UIElements.js');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">(function () { // Local scope</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">var ImageAnnotator_config = null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">var ImageAnnotation = function () {this.initialize.apply (this, arguments);}</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">ImageAnnotation.compare = function (a, b)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">{</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 var result = b.area () - a.area ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 if (result != 0) return result;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 return a.model.id - b.model.id; // Just to make sure the order is complete</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">};</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">ImageAnnotation.prototype =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">{</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 view\u00a0 \u00a0 : null,\u00a0 // Rectangle to be displayed on image: a div with pos and size</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 model\u00a0  : null,\u00a0 // Internal representation of the annotation</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 tooltip : null,\u00a0 // Tooltip to display the annotation</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 content : null,\u00a0 // Content of the tooltip</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 viewer\u00a0 : null,\u00a0 // Reference to the viewer this note belongs to</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 initialize : function (node, viewer, id)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var is_new = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var view_w = 0, view_h = 0, view_x = 0, view_y = 0;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.viewer = viewer;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (LAPI.DOM.hasClass (node, IA.annotation_class)) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // Extract the info we need</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var x = IA.getIntItem ('view_x_' + id, viewer.scope);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var y = IA.getIntItem ('view_y_' + id, viewer.scope);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var w = IA.getIntItem ('view_w_' + id, viewer.scope);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var h = IA.getIntItem ('view_h_' + id, viewer.scope);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var html = IA.getRawItem ('content_' + id, viewer.scope);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (x === null || y === null || w === null || h === null || html === null)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 throw new Error ('Invalid note');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (x &lt; 0 || x &gt;= viewer.full_img.width || y &lt; 0 || y &gt;= viewer.full_img.height)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 throw new Error ('Invalid note: origin invalid on note ' + id);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (\u00a0  x + w &gt; viewer.full_img.width + 10</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 || y + h &gt; viewer.full_img.height + 10)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 throw new Error ('Invalid note: size extends beyond image on note ' + id);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // Notes written by early versions may be slightly too large, whence the + 10 above. Fix this.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (x + w &gt; viewer.full_img.width) w = viewer.full_img.width - x;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (y + h &gt; viewer.full_img.height) h = viewer.full_img.height - y;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 view_w = Math.floor (w / viewer.factors.dx);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 view_h = Math.floor (h / viewer.factors.dy);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 view_x = Math.floor (x / viewer.factors.dx);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 view_y = Math.floor (y / viewer.factors.dy);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.view = </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 LAPI.make (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 'div', null</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 , { position\u00a0  : 'absolute'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,display\u00a0 \u00a0 : 'none'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,lineHeight : '0px' // IE</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,fontSize\u00a0  : '0px' // IE</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,top\u00a0 \u00a0 \u00a0 \u00a0 : &quot;&quot; + view_y + 'px'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,left\u00a0 \u00a0 \u00a0  : &quot;&quot; + view_x + 'px'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,width\u00a0 \u00a0 \u00a0 : &quot;&quot; + view_w + 'px'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,height\u00a0 \u00a0  : &quot;&quot; + view_h + 'px'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // We'll add the view to the DOM once we've loaded all notes</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.model =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 { id\u00a0 \u00a0 \u00a0  : id</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0  ,dimension: {x: x, y: y, w: w, h: h}</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0  ,wiki\u00a0 \u00a0  : &quot;&quot;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0  ,html\u00a0 \u00a0  : html.cloneNode (true)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 };</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 is_new = true;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.view = node;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.model = </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 { id\u00a0 \u00a0 \u00a0  : -1</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0  ,dimension: null</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0  ,wiki\u00a0 \u00a0  : &quot;&quot;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0  ,html\u00a0 \u00a0  : null</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 };</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 view_w = this.view.offsetWidth - 2; // Subtract cumulated border widths</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 view_h = this.view.offsetHeight - 2;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 view_x = this.view.offsetLeft;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 view_y = this.view.offsetTop;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Enforce a minimum size of the view. Center the 6x6px square over the center of the old view.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // If we overlap the image boundary, adjustRectangleSize will take care of it later.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (view_w &lt; 6) {view_x = Math.floor (view_x + view_w / 2 - 3); view_w = 6; }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (view_h &lt; 6) {view_y = Math.floor (view_y + view_h / 2 - 3); view_h = 6; }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 Object.merge (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 { left: &quot;&quot; + view_x + 'px', top: &quot;&quot; + view_y + 'px'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0  ,width: &quot;&quot; + view_w + 'px', height: &quot;&quot; + view_h + 'px'}</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 , this.view.style</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 ); </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.view.style.zIndex\u00a0  = 500;\u00a0 \u00a0 \u00a0  // Below tooltips</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 try {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.view.style.border = '1px solid ' + this.viewer.outer_border;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 } catch (ex) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.view.style.border = '1px solid ' + IA.outer_border;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }\u00a0 \u00a0 \u00a0 </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.view.appendChild (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 LAPI.make (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 'div', null</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 , { lineHeight : '0px' // IE</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,fontSize\u00a0  : '0px' // IE</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,width\u00a0 \u00a0 \u00a0 : &quot;&quot; + Math.max (view_w - 2, 0) + 'px' // -2 to leave space for the border</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,height\u00a0 \u00a0  : &quot;&quot; + Math.max (view_h - 2, 0) + 'px'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0  }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 )</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // width=100% doesn't work right: inner div's border appears outside on right and bottom on FF.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 try {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.view.firstChild.style.border = '1px solid ' + this.viewer.inner_border;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 } catch (ex) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.view.firstChild.style.border = '1px solid ' + IA.inner_border;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (is_new) viewer.adjustRectangleSize (this.view);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // IE somehow passes through event to the view even if covered by our cover, displaying the tooltips</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // when drawing a new rectangle, which is confusing and produces a selection nightmare. Hence we just</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // display raw rectangles without any tooltips attached while drawing. Yuck.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.dummy = this.view.cloneNode (true);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 viewer.img_div.appendChild (this.dummy);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (!is_new) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // New notes get their tooltip only once the editor has saved, otherwise IE may try to</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // open them if the mouse moves onto the view even though there is the cover above them!</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.setTooltip ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 setTooltip : function ()</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (this.tooltip || !this.view) return; // Already set, or corrupt</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Note: on IE, don't have tooltips appear automatically. IE doesn't do it right for transparent</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // targets and we have to show and hide them ourselves through a mousemove listener in the viewer</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // anyway. The occasional event that IE sends to the tooltip may then lead to ugly flickering.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.tooltip = new Tooltip</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 (\u00a0 this.view.firstChild</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0  , this.display.bind (this)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0  , { activate\u00a0 \u00a0  : (LAPI.DOM.is_ie ? Tooltip.NONE : Tooltip.HOVER)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ,deactivate\u00a0  : (LAPI.DOM.is_ie ? Tooltip.ESCAPE : Tooltip.LEAVE)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ,close_button : null</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ,mode\u00a0 \u00a0 \u00a0 \u00a0  : Tooltip.MOUSE</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ,mouse_offset : {x: -5, y: -5, dx: (IA.is_rtl ? -1 : 1), dy: 1}</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ,open_delay\u00a0  : 0</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ,hide_delay\u00a0  : 0</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ,onclose\u00a0 \u00a0 \u00a0 : (function (tooltip, evt) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  if (this.view) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  try {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  this.view.style.border = '1px solid ' + this.viewer.outer_border;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  } catch (ex) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  this.view.style.border = '1px solid ' + IA.outer_border;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  if (this.viewer.tip == tooltip) this.viewer.tip = null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  // Hide all boxes if we're outside the image. Relies on hide checking the</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  // coordinates! (Otherwise, we'd always hide...)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  if (evt) this.viewer.hide (evt);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  }).bind (this)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ,onopen\u00a0 \u00a0 \u00a0  : (function (tooltip) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  if (this.view) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  try {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  this.view.style.border = '1px solid ' + this.viewer.active_border;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  } catch (ex) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  this.view.style.border = '1px solid ' + IA.active_border;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  this.viewer.tip = tooltip;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  }).bind (this)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0  }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0  , IA.tooltip_styles</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 display : function (evt)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (!this.content) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.content = LAPI.make ('div');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var main = LAPI.make ('div');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.content.appendChild (main);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.content.main = main;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (this.model.html) main.appendChild (this.model.html.cloneNode (true));</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // Make sure that the popup encompasses all floats</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.content.appendChild (LAPI.make ('div', null, {clear: 'both'}));</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (this.viewer.may_edit) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 this.content.button_section =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 LAPI.make</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ( 'div'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,null</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,{ fontSize : 'smaller'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,textAlign: (IA.is_rtl ? 'left' : 'right')</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,borderTop: IA.tooltip_styles.border</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 this.content.appendChild (this.content.button_section);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 this.content.button_section.appendChild</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (LAPI.DOM.makeLink</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (\u00a0 '#'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  , ImageAnnotator.UI.get ('wpImageAnnotatorEdit', true)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  , null</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  , LAPI.Evt.makeListener (this, this.edit)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 )</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 if (ImageAnnotator_config.mayDelete ()) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 this.content.button_section.appendChild (document.createTextNode ('\\xa0'));</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 this.content.button_section.appendChild</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (LAPI.DOM.makeLink</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (\u00a0 '#'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  , ImageAnnotator.UI.get ('wpImageAnnotatorDelete', true)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  , null</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  , LAPI.Evt.makeListener (this, this.remove_event)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 )</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 return this.content;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 edit : function (evt)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (IA.canEdit ()) IA.editor.editNote (this);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (evt) return LAPI.Evt.kill (evt);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 return false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 remove_event : function (evt)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (IA.canEdit ()) this.remove ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 return LAPI.Evt.kill (evt);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 remove : function ()</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (!this.content) { // New note: just destroy it.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.destroy ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 return true;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (!ImageAnnotator_config.mayDelete()) return false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Close and remove tooltip only if edit succeeded! Where and how to display error messages?\u00a0 \u00a0 </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var reason = &quot;&quot;;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (!ImageAnnotator_config.mayBypassDeletionPrompt() || !window.ImageAnnotator_noDeletionPrompt) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // Prompt for a removal reson</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 reason = window.prompt (ImageAnnotator.UI.get ('wpImageAnnotatorDeleteReason', true), &quot;&quot;);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (reason === null) return false; // Cancelled</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 reason = reason.trim();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (reason.length == 0) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 if (!ImageAnnotator_config.emptyDeletionReasonAllowed()) return false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // Re-show tooltip (without re-positioning it, we have no mouse coordinates here) in case</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // it was hidden because of the alert. If possible, we want the user to see the spinner.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.tooltip.show_now (this.tooltip);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var self = this;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var spinnerId = 'image_annotation_delete_' + this.model.id;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 LAPI.Ajax.injectSpinner (this.content.button_section.lastChild, spinnerId);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (this.tooltip) this.tooltip.size_change ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 LAPI.Ajax.editPage (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 wgPageName</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 , function (doc, editForm, failureFunc, revision_id)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 try {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (revision_id &amp;&amp; revision_id != wgCurRevisionId)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 throw new Error ('#Page version (revision ID) mismatch: edit conflict.');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var textbox = editForm.wpTextbox1;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (!textbox) throw new Error ('#Server replied with invalid edit page.');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var pagetext = textbox.value.replace(/\\r\\n/g, '\\n');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // Normalize different end-of-line handling. Opera and IE may use \\r\\n, whereas other</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // browsers just use '\\n'. Note that all browsers do the right thing if a '\\n' is added</ins>.</div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // We normally don</ins>'<ins class=\"diffchange diffchange-inline\">t care, but here we need this to make sure we don</ins>'<ins class=\"diffchange diffchange-inline\">t leave extra line</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // breaks when we remove the note.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 IA.setWikitext (pagetext);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var span = IA.findNote (pagetext, self.model.id);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (!span) { // Hmmm? Doesn</ins>'<ins class=\"diffchange diffchange-inline\">t seem to exist</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 LAPI.Ajax.removeSpinner (spinnerId);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (self.tooltip) self.tooltip.size_change ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.destroy ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var char_before = 0;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var char_after\u00a0 = 0;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (span.start &gt; 0) char_before = pagetext.charCodeAt (span.start </ins>- <ins class=\"diffchange diffchange-inline\">1);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (span.end &lt; pagetext.length) char_after = pagetext.charCodeAt (span.end);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (\u00a0  String.fromCharCode (char_before) == '\\n'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &amp;&amp; String.fromCharCode (char_after)\u00a0 == '\\n')</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 span.start = span.start - 1;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 pagetext = pagetext.substring (0, span.start) + pagetext.substring (span.end);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 textbox.value = pagetext;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var summary = editForm.wpSummary;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (!summary)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 throw new Error ('#Summary field not found. Check that edit pages have valid XHTML.');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 IA.setSummary (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 summary</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ,\u00a0 \u00a0 ImageAnnotator.UI.get ('wpImageAnnotatorRemoveSummary', true)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 || '</ins>[<ins class=\"diffchange diffchange-inline\">[MediaWiki talk:Gadget-ImageAnnotator.js|Removing image note]]$1'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 , (reason.length &gt; 0 ? reason + ': ' : &quot;&quot;) + self.model.wiki</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 } catch (ex) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 failure (null, ex);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var edit_page = doc;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 LAPI.Ajax.submitEdit (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 editForm</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 , function (request) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (edit_page.isFake &amp;&amp; (typeof (edit_page.dispose) == 'function'))</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 edit_page.dispose ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var revision_id = LAPI.WP.revisionFromHtml (request.responseText);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (!revision_id) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 failureFunc (request, new Error ('Revision ID not found. Please reload the page.'));</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 wgCurRevisionId = revision_id; </ins>// <ins class=\"diffchange diffchange-inline\">Bump revision id!!</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 LAPI.Ajax.removeSpinner (spinnerId);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (self</ins>.<ins class=\"diffchange diffchange-inline\">tooltip) self.tooltip.size_change ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.destroy ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 , function (request, ex) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (edit_page.isFake &amp;&amp; (typeof (edit_page.dispose) == 'function'))</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 edit_page.dispose ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 failureFunc (request, ex);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 , function (request, ex) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // Failure. What now? TODO: Implement some kind of user feedback.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 LAPI.Ajax.removeSpinner (spinnerId);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (self.tooltip) self.tooltip.size_change ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 return true;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 destroy : function ()</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (this.view) LAPI.DOM.removeNode (this.view);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (this.dummy) LAPI.DOM.removeNode (this.dummy);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (this.tooltip) this.tooltip.hide_now ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (this.model &amp;&amp; this.model.id &gt; 0 &amp;&amp; this.viewer) this.viewer.deregister (this);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.model\u00a0  = null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.view\u00a0 \u00a0 = null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.content = null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.tooltip = null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.viewer\u00a0 = null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 area : function ()</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (!this.model || !this.model.dimension) return 0;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 return (this.model.dimension.w * this.model.dimension.h);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 cannotEdit : function ()</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (this.content &amp;&amp; this.content.button_section) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 LAPI.DOM.removeNode (this.content.button_section);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.content.button_section = null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (this.tooltip) this.tooltip.size_change ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">}; // end ImageAnnotation</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">var ImageAnnotationEditor = function () {this.initialize.apply (this, arguments);};</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">ImageAnnotationEditor.prototype =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">{</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 initialize : function ()</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var editor_width = 50;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Respect potential user-defined width setting</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (\u00a0  window.ImageAnnotationEditor_columns</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 &amp;&amp; !isNaN (window.ImageAnnotationEditor_columns)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 &amp;&amp; window.ImageAnnotationEditor_columns &gt;= 30 </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 &amp;&amp; window.ImageAnnotationEditor_columns &lt;= 100) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 editor_width = window.ImageAnnotationEditor_columns;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.editor = </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 new LAPI.Edit (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &quot;&quot; , editor_width, 6</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 , { box\u00a0 \u00a0 \u00a0 : ImageAnnotator.UI.get ('wpImageAnnotatorEditorLabel', false)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,preview\u00a0 : ImageAnnotator.UI.get ('wpImageAnnotatorPreview', true).capitalizeFirst ()</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,save\u00a0 \u00a0  : ImageAnnotator.UI.get ('wpImageAnnotatorSave', true).capitalizeFirst ()</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,revert\u00a0  : ImageAnnotator.UI.get ('wpImageAnnotatorRevert', true).capitalizeFirst ()</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,cancel\u00a0  : ImageAnnotator.UI.get ('wpImageAnnotatorCancel', true).capitalizeFirst ()</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,nullsave : ImageAnnotator_config.mayDelete()</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ? ImageAnnotator.UI.get ('wpImageAnnotatorDelete', true).capitalizeFirst ()</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  : null</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,post\u00a0 \u00a0  : ImageAnnotator.UI.get ('wpImageAnnotatorCopyright', false)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 , {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 onsave\u00a0 \u00a0 : this.save.bind (this)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,onpreview : this.onpreview.bind (this)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,oncancel\u00a0 : this.cancel.bind (this)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,ongettext : function (text) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (text == null) return &quot;&quot;;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 text = text.trim ()</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  .replace (/\\{\\{(\\s*ImageNote(End)?\\s*\\|)/g, '&amp;#x7B;&amp;#x7B;$1')</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // Guard against people trying to break notes on purpose</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (text.length &gt; 0 &amp;&amp; typeof (TextCleaner) != 'undefined')</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 text = TextCleaner.sanitizeWikiText (text, true);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 return text;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.box = LAPI.make ('div');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.box.appendChild (this.editor.getView ());</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Limit the width of the bounding box to the size of the textarea, taking into account the</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // tooltip styles. Do *not* simply append this.box or the editor view, Opera behaves strangely</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // if textboxes were ever hidden through a visibility setting! Use a second throw-away textbox</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // instead.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var temp = LAPI.make ('div', null, IA.tooltip_styles);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 temp.appendChild (LAPI.make ('textarea', {cols : editor_width, rows : 6}));</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 Object.merge</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 ({position: 'absolute', top: '0px', left: '-10000px', visibility: 'hidden'}, temp.style);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 document.body.appendChild (temp);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Now we know how wide this textbox will be</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var box_width = temp.offsetWidth;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 LAPI.DOM.removeNode (temp);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Note: we need to use a tooltip with a dynamic content creator function here because</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // static content is cloned inside the Tooltip. Cloning on IE loses all attached handlers,</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // and thus the editor's controls wouldn't work anymore. (This is not a problem on FF3,</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // where cloning preserves the handlers.)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.tooltip = new Tooltip (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 IA.get_cover ()</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 , this.get_editor.bind (this)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 , { activate\u00a0 \u00a0  : Tooltip.NONE\u00a0 \u00a0 // We'll always show it explicitly</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0  ,deactivate\u00a0  : Tooltip.ESCAPE</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0  ,close_button : null\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // We have a cancel button anyway</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0  ,mode\u00a0 \u00a0 \u00a0 \u00a0  : Tooltip.FIXED</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0  ,anchor\u00a0 \u00a0 \u00a0  : Tooltip.TOP_LEFT</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0  ,mouse_offset : {x:10, y: 10, dx:1, dy:1} // Misuse this: fixed offset from view</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0  ,max_pixels\u00a0  : (box_width ? box_width + 20 : 0) // + 20 gives some slack</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0  ,z_index\u00a0 \u00a0 \u00a0 : 2010 // Above the cover.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0  ,open_delay\u00a0  : 0</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0  ,hide_delay\u00a0  : 0</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0  ,onclose\u00a0 \u00a0 \u00a0 : this.close_tooltip.bind (this)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 , IA.tooltip_styles</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.note = null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.visible = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 LAPI.Evt.listenTo (this, this.tooltip.popup, IA.mouse_in,</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 function (evt) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 Array.forEach (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 IA.viewers</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 , (function (viewer) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (viewer != this.viewer &amp;&amp; viewer.visible) viewer.hide ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }).bind(this)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 get_editor : function ()</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 return this.box;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 editNote : function (note)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var same_note = (note == this.note);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.note = note;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.viewer = this.note.viewer;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var cover\u00a0 \u00a0 = IA.get_cover ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 cover.style.cursor = 'auto';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 IA.show_cover ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (note.tooltip) note.tooltip.hide_now ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 IA.is_editing = true;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (note.content &amp;&amp; !IA.wiki_read) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // Existing note, and we don't have the wikitext yet: go get it</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var self = this;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 LAPI.Ajax.apiGet (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 'query'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 , { prop\u00a0 \u00a0 \u00a0 : 'revisions'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,titles\u00a0 \u00a0 : wgPageName</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,rvlimit\u00a0  : 1</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,rvstartid : wgCurRevisionId</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,rvprop\u00a0 \u00a0 : 'ids|content'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 , function (request, json_result) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (json_result &amp;&amp; json_result.query &amp;&amp; json_result.query.pages) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // Should have only one page here</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 for (var page in json_result.query.pages) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var p = json_result.query.pages[page];</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (p &amp;&amp; p.revisions &amp;&amp; p.revisions.length &gt; 0) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var rev = p.revisions[0];</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (rev.revid == wgCurRevisionId &amp;&amp; rev[&quot;*&quot;] &amp;&amp; rev[&quot;*&quot;].length &gt; 0)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 IA.setWikitext (rev[&quot;*&quot;]);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 break;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // TODO: What upon a failure?</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.open_editor (same_note, cover);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 , function (request) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // TODO: What upon a failure?</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.open_editor (same_note, cover);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.open_editor (same_note, cover);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 open_editor : function (same_note, cover)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.editor.hidePreview ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (!same_note || this.editor.textarea.readOnly)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // Different note, or save error last time</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.editor.setText (this.note.model.wiki);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.editor.enable</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 (LAPI.Edit.SAVE + LAPI.Edit.PREVIEW + LAPI.Edit.REVERT + LAPI.Edit.CANCEL);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.editor.textarea.readOnly = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.editor.textarea.style.backgroundColor = 'white';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Set the position relative to the note's view.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var view_pos = LAPI.Pos.position (this.note.view);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var origin\u00a0  = LAPI.Pos.position (cover);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.tooltip.options.fixed_offset.x =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 view_pos.x - origin.x + this.tooltip.options.mouse_offset.x;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.tooltip.options.fixed_offset.y =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 view_pos.y - origin.y + this.tooltip.options.mouse_offset.y;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.tooltip.options.fixed_offset.dx = 1;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.tooltip.options.fixed_offset.dy = 1;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Make sure mouse event listeners are removed, especially on IE.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.dim = { x : this.note.view.offsetLeft,\u00a0 y : this.note.view.offsetTop</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ,w : this.note.view.offsetWidth, h : this.note.view.offsetHeight };\u00a0 \u00a0 \u00a0 \u00a0  </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.viewer.setShowHideEvents (false);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.viewer.hide ();\u00a0 \u00a0 \u00a0  // Make sure notes are hidden</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.viewer.toggle (true); // Show all note rectangles (but only the dummies)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Now show the editor</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.tooltip.show_tip (null, false);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var tpos = LAPI.Pos.position (this.editor.textarea);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var ppos = LAPI.Pos.position (this.tooltip.popup);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 tpos = tpos.x - ppos.x;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (tpos + this.editor.textarea.offsetWidth &gt; this.tooltip.popup.offsetWidth)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.editor.textarea.style.width = (this.tooltip.popup.offsetWidth - 2 * tpos) + 'px';\u00a0 \u00a0 \u00a0 </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (LAPI.Browser.is_ie) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // Fixate textarea width to prevent ugly flicker on each keypress in IE6...\u00a0 \u00a0 \u00a0  </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.editor.textarea.style.width = this.editor.textarea.offsetWidth + 'px';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.visible = true;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 hide_editor : function (evt)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (!this.visible) return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.visible = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 IA.is_editing = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.tooltip.hide_now (evt);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (evt &amp;&amp; evt.type == 'keydown' &amp;&amp; !this.saving) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // ESC pressed on new note before a save attempt</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.cancel ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 IA.hide_cover ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.viewer.setDefaultMsg ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.viewer.setShowHideEvents (true);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.viewer.hide ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.viewer.show (); // Make sure we get the real views again.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // FIXME in Version 2.1: Unfortunately, we don't have a mouse position here, so sometimes we</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // may show the note rectangles even though the mouse is now outside the image. (It was</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // somewhere inside the editor in most cases (if an editor button was clicked), but if ESC was</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // pressed, it may actually be anywhere.)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 save : function (editor)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var data = editor.getText ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (!data || data.length == 0) { // Empty text</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (this.note.remove ()) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 this.hide_editor ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 this.cancel ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 this.note = null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 this.hide_editor();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 this.cancel ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 } else if (data == this.note.model.wiki) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.hide_editor ();\u00a0 // Text unchanged</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.cancel ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Construct what to insert</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var dim = Object.clone (this.note.model.dimension);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (!dim) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 dim = { x : Math.round (this.dim.x * this.viewer.factors.dx)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,y : Math.round (this.dim.y * this.viewer.factors.dy)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,w : Math.round (this.dim.w * this.viewer.factors.dx)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,h : Math.round (this.dim.h * this.viewer.factors.dy)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 };</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // Make sure everything is within bounds</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (dim.x + dim.w &gt; this.viewer.full_img.width) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 if (dim.w &gt; this.dim.w * this.viewer.factors.dx) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 dim.w--;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (dim.x + dim.w &gt; this.viewer.full_img.width) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (dim.x &gt; 0) dim.x--; else dim.w = this.viewer.full_img.width;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // Width already was rounded down</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (dim.x &gt; 0) dim.x--;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (dim.y + dim.h &gt; this.viewer.full_img.height) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 if (dim.h &gt; this.dim.h * this.viewer.factors.dy) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 dim.h--;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (dim.y + dim.h &gt; this.viewer.full_img.height) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (dim.y &gt; 0) dim.y--; else dim.h = this.viewer.full_img.height;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // Height already was rounded down</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (dim.y &gt; 0) dim.y--;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // If still too large, adjust width and height</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (dim.x + dim.w &gt; this.viewer.full_img.width) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 if (this.viewer.full_img.width &gt; dim.x) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 dim.w = this.viewer.full_img.width - dim.x;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 dim.x = this.viewer.full_img.width - 1;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 dim.w = 1;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (dim.y + dim.h &gt; this.viewer.full_img.height) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 if (this.viewer.full_img.height &gt; dim.y) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 dim.h = this.viewer.full_img.height - dim.y;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 dim.y = this.viewer.full_img.height - 1;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 dim.h = 1;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.to_insert =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 '{{ImageNote'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 + '|id=' + this.note.model.id</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 + '|x=' + dim.x + '|y=' + dim.y + '|w=' + dim.w + '|h=' + dim.h</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 + '|dimx=' + this.viewer.full_img.width</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 + '|dimy=' + this.viewer.full_img.height</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 + '|style=2'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 + '}}\\n'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 + data + (data.endsWith ('\\n') ? &quot;&quot; : '\\n')</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 + '{{ImageNoteEnd|id=' + this.note.model.id + '}}';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Now edit the page</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var self = this;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.editor.busy (true);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.editor.enable (0); // Disable all buttons</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.saving = true;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 LAPI.Ajax.editPage (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 wgPageName</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 , function (doc, editForm, failureFunc, revision_id)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 try {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (revision_id &amp;&amp; revision_id != wgCurRevisionId)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // Page was edited since the user loaded it.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 throw new Error ('#Page version (revision ID) mismatch: edit conflict.');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // Modify the page</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var textbox = editForm.wpTextbox1;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (!textbox) throw new Error ('#Server replied with invalid edit page.');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var pagetext = textbox.value;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 IA.setWikitext (pagetext);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var span = null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (self.note.content) // Otherwise it's a new note!</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 span = IA.findNote (pagetext, self.note.model.id);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (span) { // Replace</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 pagetext =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 pagetext.substring (0, span.start)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 + self.to_insert</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 + pagetext.substring (span.end)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 } else { // If not found, append</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // Try to append right after existing notes</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var lastNote = pagetext.lastIndexOf ('{{ImageNoteEnd|id=');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (lastNote &gt;= 0) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var endLastNote = pagetext.substring (lastNote).indexOf ('}}');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (endLastNote &lt; 0) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 endLastNote = pagetext.substring (lastNote).indexOf ('\\n');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (endLastNote &lt; 0) lastNote = -1; else lastNote += endLastNote;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 } else</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 lastNote += endLastNote + 2;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (lastNote &gt;= 0) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 pagetext =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 pagetext.substring (0, lastNote)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 + '\\n' + self.to_insert</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 + pagetext.substring (lastNote)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 } else</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 pagetext = pagetext.trimRight () + '\\n' + self.to_insert;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 textbox.value = pagetext;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var summary = editForm.wpSummary;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (!summary)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 throw new Error ('#Summary field not found. Check that edit pages have valid XHTML.');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // If [[MediaWiki:Copyrightwarning]] is invalid XHTML, we may not have wpSummary!</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (self.note.content != null) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 IA.setSummary (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 summary</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ,\u00a0 \u00a0 ImageAnnotator.UI.get ('wpImageAnnotatorChangeSummary', true)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 || '[[MediaWiki talk:Gadget-ImageAnnotator.js|Changing image note]]$1'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 , data</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 IA.setSummary (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 summary</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ,\u00a0 \u00a0 ImageAnnotator.UI.get ('wpImageAnnotatorAddSummary', true)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 || '[[MediaWiki talk:Gadget-ImageAnnotator.js|Adding image note]]$1'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 , data</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 } catch (ex) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 failureFunc (null, ex);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var edit_page = doc;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 LAPI.Ajax.submitEdit (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 editForm</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 , function (request) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // After a successful submit.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (edit_page.isFake &amp;&amp; (typeof (edit_page.dispose) == 'function'))</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 edit_page.dispose ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // TODO: Actually, the edit got through here, so calling failureFunc on</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // inconsistencies isn't quite right. Should we reload the page?</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var id\u00a0  = 'image_annotation_content_' + self.note.model.id;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var doc\u00a0 = LAPI.Ajax.getHTML (request, failureFunc, id);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (!doc) return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var html = LAPI.$ (id, doc);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (!html) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (doc.isFake &amp;&amp; (typeof (doc.dispose) == 'function')) doc.dispose ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 failureFunc</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (request, new Error ('#Note not found after saving. Please reload the page.'));</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var revision_id = LAPI.WP.revisionFromHtml (request.responseText);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (!revision_id) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (doc.isFake &amp;&amp; (typeof (doc.dispose) == 'function')) doc.dispose ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 failureFunc</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (request, new Error ('#Version inconsistency after saving. Please reload the page.'));</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 wgCurRevisionId = revision_id; // Bump revision id!!</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.note.model.html = LAPI.DOM.importNode (document, html, true);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (doc.isFake &amp;&amp; (typeof (doc.dispose) == 'function')) doc.dispose ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.note.model</ins>.<ins class=\"diffchange diffchange-inline\">dimension = dim; /</ins>/ <ins class=\"diffchange diffchange-inline\">record dimension</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.note.model.html.style.display = &quot;&quot;;\u00a0 </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.note.model.</ins>wiki <ins class=\"diffchange diffchange-inline\">= data;\u00a0 \u00a0 \u00a0 \u00a0 \u00a0  </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.editor.busy (false);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (self.note.content) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 LAPI.DOM.removeChildren (self.note.content.main);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.note.content.main.appendChild (self.note.model.html);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 </ins>/<ins class=\"diffchange diffchange-inline\">/ New note.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.note.display (); // Actually a misnomer. Just creates 'content'.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (self.viewer.annotations.length &gt; 1) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.viewer.annotations.sort (ImageAnnotation.compare);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var idxOfNote = Array.indexOf (self.viewer.annotations, self.note);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (idxOfNote+1 &lt; self.viewer.annotations.length)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 LAPI.DOM.insertNode</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (self.note.view, self.viewer.annotations [idxOfNote+1].view);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.to_insert = null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.saving = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (!self.note.tooltip) self.note.setTooltip ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.hide_editor ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 IA.is_editing = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.editor.setText (data); // In case the same note is re-opened: start new undo cycle</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 , function (request, ex) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (edit_page.isFake &amp;&amp; (typeof (edit_page.dispose) == 'function'))</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 edit_page.dispose ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 failureFunc (request, ex);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 , function (request, ex)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.editor.busy (false);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.saving = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // TODO: How and where to display error if user closed editor through ESC (or through</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // opening another tooltip) in the meantime?</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (!self.visible) return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // Change the tooltip to show the error.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.editor.setText (self.to_insert);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // Error message. Use preview field for this.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var error_msg = ImageAnnotator.UI.get ('wpImageAnnotatorSaveError', false);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var lk = getElementsByClassName (error_msg, 'span', 'wpImageAnnotatorOwnPageLink');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (lk &amp;&amp; lk.length &gt; 0 &amp;&amp; lk[0].firstChild.nodeName.toLowerCase () == 'a') {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 lk = lk[0].firstChild;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 lk.href = wgServer + wgArticlePath.replace ('$1', encodeURI (wgPageName)) + '?action=edit';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (ex) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var ex_msg = LAPI.formatException (ex, true);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (ex_msg) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ex_msg.style.borderBottom = '1px solid red';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var tmp = LAPI.make ('div');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 tmp.appendChild (ex_msg);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 tmp.appendChild (error_msg);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 error_msg = tmp;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.editor.setPreview (error_msg);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.editor.showPreview ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.editor.textarea.readOnly = true;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // Force a light gray background, since IE has no visual readonly indication.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.editor.textarea.style.backgroundColor = '#EEEEEE'; </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.editor.enable (LAPI.Edit.CANCEL); // Disable all other buttons</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 onpreview : function (editor)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (this.tooltip) this.tooltip.size_change ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 cancel : function (editor)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (!this.note) return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (!this.note.content) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // No content: Cancel and remove this note!</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.note.destroy ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.note = null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (editor) this.hide_editor ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 close_tooltip : function (tooltip, evt)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.hide_editor (evt);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.cancel ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">};</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">var ImageNotesViewer = function () {this.initialize.apply (this, arguments); };</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">ImageNotesViewer.prototype =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">{</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 initialize </ins>: <ins class=\"diffchange diffchange-inline\">function (descriptor, may_edit)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 Object.merge (descriptor, this);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.annotations = [</ins>]<ins class=\"diffchange diffchange-inline\">;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.max_id\u00a0 \u00a0 \u00a0 = 0;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.main_div\u00a0 \u00a0 = null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.msg\u00a0 \u00a0 \u00a0 \u00a0  = null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.may_edit\u00a0 \u00a0 = may_edit;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.setup_done\u00a0 = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.tip\u00a0 \u00a0 \u00a0 \u00a0  = null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.icon\u00a0 \u00a0 \u00a0 \u00a0 = null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.factors =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 { dx : this.full_img.width / this.thumb.width</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0  ,dy : this.full_img.height / this.thumb.height</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 };</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (!this.isThumbnail &amp;&amp; !this.isOther) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.setup ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // Normalize the namespace of the realName to 'File' to account for images possibly stored at</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // a foreign repository (the Commons). Otherwise a later information load might fail because</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // the link is local and might actually be given as &quot;Bild:Foo.jpg&quot;. If that page doesn't exist</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // locally, we want to ask at the Commons about &quot;File:Foo.jpg&quot;. The Commons doesn't understand</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // the localized namespace names of other wikis, but the canonical namespace name 'File' works</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // also locally.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.realName = 'File:' + this.realName.substring (this.realName.indexOf (':') + 1);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 setup : function (onlyIcon)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this</ins>.<ins class=\"diffchange diffchange-inline\">setup_done = true;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var name = this.realName;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (this.isThumbnail || this.scope </ins>== <ins class=\"diffchange diffchange-inline\">document || this.may_edit || !IA.haveAjax) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.imgName\u00a0 </ins>= <ins class=\"diffchange diffchange-inline\">this.realName;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.realName </ins>= <ins class=\"diffchange diffchange-inline\">&quot;&quot;;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var name = getElementsByClassName (this.scope, '</ins>*<ins class=\"diffchange diffchange-inline\">', 'wpImageAnnotatorFullName');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.realName = ((name &amp;&amp; name.length &gt; 0) ? LAPI.DOM.getInnerText (name[0]) : &quot;&quot;);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.imgName\u00a0 = this.realName;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var annotations = getElementsByClassName (this.scope, 'div', IA.annotation_class);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (!this.may_edit &amp;&amp; (!annotations || annotations.length == 0))</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 return; // Nothing to do</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // A div inserted around the image. It ensures that everything we add is positioned properly</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // over the image, even if the browser window size changes and re-layouts occur.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var isEnabledImage = LAPI.DOM.hasClass (this.scope, 'wpImageAnnotatorEnable');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (!this.isThumbnail &amp;&amp; !this.isOther &amp;&amp; !isEnabledImage) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.img_div =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 LAPI.make ('div', null, {position: 'relative', width: &quot;&quot; + this.thumb.width + 'px'});</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var floater = </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 LAPI.make (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 'div', null</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 , { cssFloat\u00a0 : (IA.is_rtl ? 'right' : 'left')</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,styleFloat: (IA.is_rtl ? 'right' : 'left') // For IE...</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,width\u00a0 \u00a0  : &quot;&quot; + this.thumb.width + 'px'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,position\u00a0 : 'relative' // Fixes IE layout bugs...</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 floater.appendChild (this.img_div);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.img.parentNode.parentNode.insertBefore (floater, this.img.parentNode);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.img_div.appendChild (this.img.parentNode);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // And now a clear:left to make the rest appear below the image, as usual.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var breaker = LAPI.make ('div', null, {clear: (IA.is_rtl ? 'right' : 'left')});</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 LAPI.DOM.insertAfter (breaker, floater);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // Remove spurious br tag.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (breaker.nextSibling &amp;&amp; breaker.nextSibling.nodeName.toLowerCase () == 'br')</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 LAPI.DOM.removeNode (breaker.nextSibling);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 } else if (this.isOther || isEnabledImage) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.img_div =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 LAPI.make ('div', null, {position: 'relative', width: &quot;&quot; + this.thumb.width + 'px'});</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.img.parentNode.parentNode.insertBefore (this.img_div, this.img.parentNode);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.img_div.appendChild (this.img.parentNode);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // Insert one more to have a file_div, so that we can align the message text correctly</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.file_div = LAPI.make ('div', null, {width: &quot;&quot; + this.thumb.width + 'px'});</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.img_div.parentNode.insertBefore (this.file_div, this.img_div);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.file_div.appendChild (this.img_div);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 } else { // Thumbnail</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.img_div =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 LAPI.make (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 'div'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 , {className: 'thumbimage'}</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 , {position: 'relative', width: &quot;&quot; + this.thumb.width + 'px'}</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.img.parentNode.parentNode.insertBefore (this.img_div, this.img.parentNode);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.img.style.border = 'none';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.img_div.appendChild (this.img.parentNode);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (\u00a0  (this.isThumbnail || this.isOther) &amp;&amp; !this.may_edit</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 &amp;&amp; (\u00a0  onlyIcon</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 || this.iconOnly</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 || ImageAnnotator_config.inlineImageUsesIndicator</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  (name, this.isLocal, this.thumb, this.full_img, annotations.length, this.isThumbnail)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0  )</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0  )</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // Use an onclick handler instead of a link around the image. The link may have a default white</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // background, but we want to be sure to have transparency. The image should be an 8-bit indexed</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // PNG or a GIF and have a transparent background.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.icon = ImageAnnotator.UI.get ('wpImageAnnotatorIndicatorIcon', false);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (this.icon) this.icon = this.icon.firstChild; // Skip the message container span or div</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // Guard against misconfigurations</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (\u00a0  this.icon</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &amp;&amp; this.icon.nodeName.toLowerCase () == 'a'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &amp;&amp; this.icon.firstChild.nodeName.toLowerCase () == 'img'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0  )</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 // Make sure we use the right protocol:</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 var srcFixed = this.icon.firstChild.getAttribute ('src', 2).replace(/^https?\\:/, document.location.protocol);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 this.icon.firstChild.src = srcFixed;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 this.icon.firstChild.title = this.icon.title;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 this.icon = this.icon.firstChild;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 } else if (!this.icon || this.icon.nodeName.toLowerCase () != 'img') {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 this.icon =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 LAPI.DOM.makeImage (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 IA.indication_icon</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 , 14, 14</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 , ImageAnnotator.UI.get ('wpImageAnnotatorHasNotesMsg', true) || &quot;&quot;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 Object.merge (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 {position: 'absolute', zIndex: 1000, top: '0px', cursor: 'pointer'}</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 , this.icon.style</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.icon.onclick = (function () {window.location = this.img.parentNode.href;}).bind (this)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (IA.is_rtl)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 this.icon.style.right = '0px';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 else</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 this.icon.style.left = '0px';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.img_div.appendChild (this.icon);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // And done. We just show the icon, no fancy event handling needed.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Set colors</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var colors = IA.getRawItem ('colors', this.scope);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.outer_border\u00a0 =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 colors &amp;&amp; IA.getItem ('outer',\u00a0 colors) || IA.outer_border;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.inner_border\u00a0 =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 colors &amp;&amp; IA.getItem ('inner',\u00a0 colors) || IA.inner_border;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.active_border =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 colors &amp;&amp; IA.getItem ('active', colors) || IA.active_border;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (annotations) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 for (var i = 0; i &lt; annotations.length; i++) {\u00a0 \u00a0 \u00a0 \u00a0 </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 var id = annotations[i].id;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 if (id &amp;&amp; /^image_annotation_note_(\\d+)$/.test (id)) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 id = parseInt (id.substring ('image_annotation_note_'.length));</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 } else</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 id = null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 if (id) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (id &gt; this.max_id) this.max_id = id;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var w = IA.getIntItem ('full_width_'\u00a0 + id, this.scope);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var h = IA.getIntItem ('full_height_' + id, this.scope);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (\u00a0  w == this.full_img.width &amp;&amp; h == this.full_img.height</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &amp;&amp; !Array.exists (this.annotations, function (note) {return note.model.id == id;})</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  )</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 try {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 this.register (new ImageAnnotation (annotations[i], this, id));</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 } catch (ex) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // Swallow.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (this.annotations.length &gt; 1) this.annotations.sort (ImageAnnotation.compare);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Add the rectangles of existing notes to the DOM now that they are sorted.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 Array.forEach (this.annotations, (function (note) {this.img_div.appendChild (note.view);}).bind (this));</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (this.isThumbnail) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.main_div = getElementsByClassName (this.file_div, 'div', 'thumbcaption');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (!this.main_div || this.main_div.length == 0)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 this.main_div = null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 else</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 this.main_div = this.main_div[0];</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (!this.main_div) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.main_div = LAPI.make ('div');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (IA.is_rtl) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 this.main_div.style.direction = 'rtl';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 this.main_div.style.textAlign = 'right';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 this.main_div.className = 'rtl';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 this.main_div.style.textAlign = 'left';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (!this.isThumbnail &amp;&amp; !this.isOther &amp;&amp; !isEnabledImage) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 LAPI.DOM.insertAfter (this.main_div, this.file_div);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 LAPI.DOM.insertAfter (this.main_div, this.img_div);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (\u00a0  !(this.isThumbnail || this.isOther)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 ||\u00a0 \u00a0 !this.noCaption</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0  &amp;&amp; !IA.hideCaptions </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0  &amp;&amp; ImageAnnotator_config.displayCaptionInArticles</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (name, this.isLocal, this.thumb, this.full_img, annotations.length, this.isThumbnail)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0  )</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.msg = LAPI.make ('div', null, {display: 'none'});</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (IA.is_rtl) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 this.msg.style.direction = 'rtl';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 this.msg.className = 'rtl';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (this.isThumbnail) this.msg.style.fontSize = '90%';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.main_div.appendChild (this.msg);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Set overflow parents, if any</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var simple\u00a0  = !!window.getComputedStyle;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var checks\u00a0  = (simple ? ['overflow', 'overflow-x', 'overflow-y']</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  : ['overflow', 'overflowX', 'overflowY']</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var curStyle = null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 for (var up = this.img.parentNode.parentNode; up != document.body; up = up.parentNode) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 curStyle = (simple ? window.getComputedStyle (up, null) : (up.currentStyle || up.style));</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // &quot;up.style&quot; is actually incorrect, but a best-effort fallback.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var overflow =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 Array.any (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 checks</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 , function (t) {var o = curStyle[t]; return (o &amp;&amp; o != 'visible') ? o : null;}</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (overflow) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 if (!this.overflowParents)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 this.overflowParents = [up];</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 else</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 this.overflowParents[this.overflowParents.length] = up;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (this.overflowParents &amp;&amp; this.may_edit) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // Forbid editing if we have such a crazy layout.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.may_edit = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 IA.may_edit = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.show_evt = LAPI.Evt.makeListener (this, this.show);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (this.overflowParents || LAPI.Browser.is_ie) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // If we have overflowParents, also use a mousemove listener to show/hide the whole</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // view (FF doesn't send mouseout events if the visible border is still within the image, i.e.,</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // if not the whole image is visible). On IE, also use this handler to show/hide the notes</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // if we're still within the visible area of the image. IE passes through mouse_over events to</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // the img even if the mouse is within a note's rectangle. Apparently is doesn't handle</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // transparent divs correctly. As a result, the notes will pop up and disappear only when the</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // mouse crosses the border, and if one moves the mouse a little fast across the border, we</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // don't get any event at all. That's no good.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.move_evt = LAPI.Evt.makeListener (this, this.check_hide);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 } else</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.hide_evt = LAPI.Evt.makeListener (this, this.hide);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.move_listening = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.setShowHideEvents (true);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.visible = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.setDefaultMsg ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 cannotEdit : function ()</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (!this.may_edit) return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.may_edit = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 Array.forEach (this.annotations, function (note) { note.cannotEdit (); });</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 setShowHideEvents : function (set)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (this.icon) return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (set) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 LAPI.Evt.attach (this.img, IA.mouse_in, this.show_evt);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (this.hide_evt) LAPI.Evt.attach (this.img, IA.mouse_out, this.hide_evt);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 LAPI.Evt.remove(this.img, IA.mouse_in, this.show_evt);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (this.hide_evt) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 LAPI.Evt.remove (this.img, IA.mouse_out, this.hide_evt);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 } else if (this.move_listening)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 this.removeMoveListener ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 removeMoveListener : function ()</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (this.icon) return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.move_listening = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (this.move_evt) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (!LAPI.Browser.is_ie &amp;&amp; typeof (document.captureEvents) == 'function')</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 document.captureEvents (null);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 LAPI.Evt.remove (document, 'mousemove', this.move_evt, true);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 adjustRectangleSize : function (node)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (this.icon) return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Make sure the note boxes don't overlap the image boundary; we might get an event</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // loop otherwise if the mouse was just on that overlapped boundary, resulting in flickering.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var view_x = node.offsetLeft;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var view_y = node.offsetTop;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var view_w = node.offsetWidth;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var view_h = node.offsetHeight;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (view_x == 0) view_x = 1;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (view_y == 0) view_y = 1;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (view_x + view_w &gt;= this.thumb.width) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 view_w = this.thumb.width - view_x - 1;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (view_w &lt;= 4) { view_w = 4; view_x = this.thumb.width - view_w - 1;}</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (view_y + view_h &gt;= this.thumb.height) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 view_h = this.thumb.height - view_y - 1;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (view_h &lt;= 4) { view_h = 4; view_y = this.thumb.height - view_h - 1;}</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Now set position and width and height, subtracting cumulated border widths</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (\u00a0  view_x != node.offsetLeft || view_y != node.offsetTop</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 || view_w != node.offsetWidth || view_h != node.offsetHeight)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 node.style.top = &quot;&quot; + view_y + 'px';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 node.style.left = &quot;&quot; + view_x + 'px';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 node.style.width = &quot;&quot; + (view_w - 2) + 'px';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 node.style.height = &quot;&quot; + (view_h - 2) + 'px';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 node.firstChild.style.width = &quot;&quot; + (view_w - 4) + 'px';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 node.firstChild.style.height = &quot;&quot; + (view_h - 4) + 'px';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 toggle : function (dummies)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (!this.annotations || this.annotations.length == 0 || this.icon) return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (dummies) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 for (var i = 0; i &lt; this.annotations.length; i++) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 this.annotations[i].view.style.display = 'none';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 if (this.visible &amp;&amp; this.annotations[i].tooltip)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 this.annotations[i].tooltip.hide_now (null);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 this.annotations[i].dummy.style.display = (this.visible ? 'none' : &quot;&quot;);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 if (!this.visible) this.adjustRectangleSize (this.annotations[i].dummy);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 for (var i = 0; i &lt; this.annotations.length; i++) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 this.annotations[i].dummy.style.display = 'none';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 this.annotations[i].view.style.display = (this.visible ? 'none' : &quot;&quot;);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 if (!this.visible) this.adjustRectangleSize (this.annotations[i].view);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 if (this.visible &amp;&amp; this.annotations[i].tooltip)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 this.annotations[i].tooltip.hide_now (null);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.visible = !this.visible;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 show : function (evt)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (this.visible || this.icon) return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.toggle (IA.is_adding || IA.is_editing);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (this.move_evt &amp;&amp; !this.move_listening) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 LAPI.Evt.attach (document, 'mousemove', this.move_evt, true);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.move_listening = true;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (!LAPI.Browser.is_ie &amp;&amp; typeof (document.captureEvents) == 'function')</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 document.captureEvents (Event.MOUSEMOVE);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 hide : function (evt)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (this.icon) return true;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (!this.visible) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // Huh?</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (this.move_listening) this.removeMoveListener ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 return true;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (evt) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var mouse_pos = LAPI.Pos.mousePosition (evt);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (mouse_pos) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 if (this.tip) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // Check whether we're within the visible note.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (LAPI.Pos.isWithin (this.tip.popup, mouse_pos.x, mouse_pos.y)) return true;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 var is_within = true;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 var img_pos = LAPI.Pos.position (this.img);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 var rect = { x: img_pos.x, y: img_pos.y</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ,r: (img_pos.x + this.img.offsetWidth), b: (img_pos.y + this.img.offsetHeight)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  };</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 if (this.overflowParents) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // We're within some elements having overflow:hidden or overflow:auto or overflow:scroll set. </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // Compute the actually visible region by intersecting the rectangle given by img_pos and</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // this.img.offsetWidth, this.img.offsetTop with the rectangles of all overflow parents.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 function intersect_rectangles (a, b)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (b.x &gt; a.r || b.r &lt; a.x || b.y &gt; a.b || b.b &lt; a.y)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 return {x:0, y:0, r:0, b:0};</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 return { x: Math.max (a.x, b.x), y: Math.max (a.y, b.y)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ,r: Math.min (a.r, b.r), b: Math.min (a.b, b.b)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  };</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 for (var i = 0; i &lt; this.overflowParents.length &amp;&amp; rect.x &lt; rect.r &amp;&amp; rect.y &lt; rect.b; i++) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 img_pos\u00a0  = LAPI.Pos.position (this.overflowParents[i]);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 img_pos.r = img_pos.x + this.overflowParents[i].clientWidth;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 img_pos.b = img_pos.y + this.overflowParents[i].clientHeight;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 rect = intersect_rectangles (rect, img_pos);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 is_within = !(\u00a0  rect.x &gt;= rect.r || rect.y &gt;= rect.b // Empty rectangle</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 || rect.x &gt;= mouse_pos.x || rect.r &lt;= mouse_pos.x</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 || rect.y &gt;= mouse_pos.y || rect.b &lt;= mouse_pos.y</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 if (is_within) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (LAPI.Browser.is_ie &amp;&amp; evt.type == 'mousemove') {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var display;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // Loop in reverse order to properly display top rectangle's note!</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 for (var i = this.annotations.length - 1; i &gt;= 0; i--) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 display = this.annotations[i].view.style.display;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (\u00a0  display != 'none' &amp;&amp; display != null</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &amp;&amp; LAPI.Pos.isWithin (this.annotations</ins>[<ins class=\"diffchange diffchange-inline\">i].view.firstChild, mouse_pos.x, mouse_pos.y)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  )</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (!this.annotations[i].tooltip.visible) this.annotations[i].tooltip.show (evt);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 return true;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (this.tip) this.tip.hide_now (); </ins>// <ins class=\"diffchange diffchange-inline\">Inside the image, but not within any note rectangle</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 return true;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Not within the image, or forced hiding (no event)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (this.move_listening) this.removeMoveListener ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.toggle (IA.is_adding || IA.is_editing);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 return true;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 check_hide : function (evt)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (this.icon) return true;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (this.visible)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.hide (evt);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 return true;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 register : function (new_note)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 this.annotations[this.annotations.length] = new_note;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (new_note.model.id &gt; 0) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (new_note.model.id &gt; this.max_id) this.max_id = new_note.model.id;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 new_note.model</ins>.<ins class=\"diffchange diffchange-inline\">id = ++this.max_id;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 deregister : function (note)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 Array.remove (this.annotations, note);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (note.model.id == this.max_id) this.max_id--;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (this.annotations.length == 0) this.setDefaultMsg (); //If we removed the last one, clear the msg</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 setDefaultMsg : function ()</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (this.annotations &amp;&amp; this.annotations.length &gt; 0 &amp;&amp; this.msg) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 LAPI.DOM.removeChildren (this.msg);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.msg.appendChild</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 (ImageAnnotator.UI.get ('wpImageAnnotatorHasNotesMsg', false));</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (this.realName &amp;&amp; typeof (this.realName) == 'string' &amp;&amp; this.realName.length &gt; 0) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 var otherPageMsg = ImageAnnotator.UI.get ('wpImageAnnotatorEditNotesMsg', false);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 if (otherPageMsg) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var lk = otherPageMsg.getElementsByTagName ('a');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (lk &amp;&amp; lk.length &gt; 0) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 lk = lk[0];</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 lk.parentNode.replaceChild (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 LAPI.DOM.makeLink (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 wgArticlePath.replace ('$1', encodeURI (this.realName))</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 , this.realName</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 , this.realName</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 )</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 , lk</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 this.msg.appendChild (otherPageMsg);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 this.msg.style.display = &quot;&quot;;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (this.msg) this.msg.style.display = 'none';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (IA.button_div &amp;&amp; this.may_edit) IA.button_div.style.display = &quot;&quot;;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">};\u00a0 </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">var IA =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">{</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 // This object is responsible for setting up annotations when a page is loaded. It loads all</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 // annotations in the page source, and adds an &quot;Annotate this image&quot; button plus the support</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 // for drawing rectangles onto the image if there is only one image and editing is allowed.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 haveAjax\u00a0 \u00a0 \u00a0 : false,</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 button_div\u00a0 \u00a0 : null,</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 add_button\u00a0 \u00a0 : null,</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 cover\u00a0 \u00a0 \u00a0 \u00a0  : null,</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 border\u00a0 \u00a0 \u00a0 \u00a0 : null,</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 definer\u00a0 \u00a0 \u00a0  : null,</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 mouse_in\u00a0 \u00a0 \u00a0 : (!!window.ActiveXObject ? 'mouseenter' : 'mouseover'),</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 mouse_out\u00a0 \u00a0  : (!!window.ActiveXObject ? 'mouseleave' : 'mouseout'),</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 annotation_class : 'image_annotation',</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 // Format of notes in Wikitext. Note: there are two formats, an old one and a new one.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 // We only write the newest (last) one, but we can read also the older formats. Order is</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 // important, because the old format also used the ImageNote template, but for a different</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 // purpose.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 note_delim\u00a0 \u00a0 \u00a0  :</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 [</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 { start\u00a0 \u00a0 \u00a0 \u00a0  : '&lt;div id=&quot;image_annotation_note_$1&quot;'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0  ,end\u00a0 \u00a0 \u00a0 \u00a0 \u00a0  : '&lt;/div&gt;&lt;!-- End of annotation $1--&gt;'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0  ,content_start : '&lt;div id=&quot;image_annotation_content_$1&quot;&gt;\\n'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0  ,content_end\u00a0  : '&lt;/div&gt;\\n&lt;span id=&quot;image_annotation_wikitext_$1&quot;'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0  ,{ start\u00a0 \u00a0 \u00a0 \u00a0  : '{{ImageNote|id=$1'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0  ,end\u00a0 \u00a0 \u00a0 \u00a0 \u00a0  : '{{ImageNoteEnd|id=$1}}'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0  ,content_start : '}}\\n'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0  ,content_end\u00a0  : '{{ImageNoteEnd|id=$1}}'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 ],</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 tooltip_styles : // The style for all our tooltips</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0  {\u00a0 border\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 : '1px solid #8888aa'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 , backgroundColor : '#ffffe0'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 , padding\u00a0 \u00a0 \u00a0 \u00a0  : '0.3em'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 , fontSize\u00a0 \u00a0 \u00a0 \u00a0 : ((skin &amp;&amp; (skin == 'monobook' || skin == 'modern')) ? '127%' : '100%')</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // Scale up to default text size</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0  },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 editor\u00a0 \u00a0 \u00a0 \u00a0  : null,</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 wiki_read\u00a0 \u00a0 \u00a0 : false,</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 is_rtl\u00a0 \u00a0 \u00a0 \u00a0  : false,</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 move_listening : false,</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 is_tracking\u00a0 \u00a0 : false,</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 is_adding\u00a0 \u00a0 \u00a0 : false,</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 is_editing\u00a0 \u00a0  : false,</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 zoom_threshold : 8.0,</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 zoom_factor\u00a0 \u00a0 : 4.0,</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 install_attempts\u00a0 \u00a0  : 0,</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 max_install_attempts : 10, // Maximum 5 seconds</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 imgs_with_notes : [],</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 thumbs\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 : [],</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 other_images\u00a0 \u00a0 : [],</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 // Fallback</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 indication_icon : '//upload.wikimedia</ins>.org/<ins class=\"diffchange diffchange-inline\">wikipedia/commons/8/8a</ins>/<ins class=\"diffchange diffchange-inline\">Gtk-dialog-info-14px.png',</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 install </ins>: <ins class=\"diffchange diffchange-inline\">function (config)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (typeof (ImageAnnotator_disable) != 'undefined' &amp;&amp; !!ImageAnnotator_disable) return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (!config || ImageAnnotator_config != null) return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Double check.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (!config.viewingEnabled ()) return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var self = IA;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 ImageAnnotator_config = config;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Determine whether we have XmlHttp. We try to determine this here to be able to avoid</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // doing too much work.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (\u00a0  window.XMLHttpRequest</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 &amp;&amp; typeof (LAPI) != 'undefined'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 &amp;&amp; typeof (LAPI.Ajax) != 'undefined'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 &amp;&amp; typeof (LAPI.Ajax.getRequest) != 'undefined'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0  )</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.haveAjax\u00a0 \u00a0 = (LAPI.Ajax.getRequest () != null);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.ajaxQueried = true;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.haveAjax\u00a0 \u00a0 = true; // A pity. May occur on IE. We'll check again later on.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.ajaxQueried = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // We'll include self.haveAjax later on once more, to catch the !ajaxQueried case.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 self.may_edit = wgNamespaceNumber &gt;= 0 &amp;&amp; wgArticleId &gt; 0 &amp;&amp; self.haveAjax &amp;&amp; config.editingEnabled ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 function namespaceCheck (list)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (!list || Object.prototype.toString.call (list) !== '[object Array</ins>]<ins class=\"diffchange diffchange-inline\">') return false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 for (var i = 0; i &lt; list.length; i++) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 if (wgNamespaceIds</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &amp;&amp; typeof (list[i]) == 'string'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &amp;&amp; (list[i] == '</ins>*<ins class=\"diffchange diffchange-inline\">'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 || wgNamespaceIds</ins>[<ins class=\"diffchange diffchange-inline\">list[i].toLowerCase().replace(</ins>/ /<ins class=\"diffchange diffchange-inline\">g, '_')] == wgNamespaceNumber</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  )</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0  )</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 return true;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 return false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 self.rules = {inline: {}, thumbs: {}, shared : {}};</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Now set the default rules. Undefined means default setting (true for show, false for icon),</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // but overrideable by per-image rules. If set, it's not overrideable by per-image rules.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 //\u00a0 </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (\u00a0  !self.haveAjax</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 || !config.generalImagesEnabled ()</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 || namespaceCheck (window.ImageAnnotator_no_images || null)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0  )</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.rules.inline.show = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.rules.thumbs.show = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self</ins>.<ins class=\"diffchange diffchange-inline\">rules</ins>.<ins class=\"diffchange diffchange-inline\">shared.show = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (\u00a0  !self.haveAjax</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 || !config.thumbsEnabled ()</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 || namespaceCheck (window.ImageAnnotator_no_thumbs || null)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0  )</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 self.rules.thumbs.show = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (wgNamespaceNumber == 6)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 self.rules.shared.show = true;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 else if (\u00a0  !config.sharedImagesEnabled ()</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  || namespaceCheck (window.ImageAnnotator_no_shared || null)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 )</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 self.rules.shared.show = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (namespaceCheck (window.ImageAnnotator_icon_images || null))</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 self.rules.inline.icon = true;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (namespaceCheck (window.ImageAnnotator_icon_thumbs || null))</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 self.rules.thumbs.icon = true;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // User rule for displaying captions on images in articles</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 self.hideCaptions = namespaceCheck (window.ImageAnnotator_hide_captions || null);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var do_images = typeof (self.rules.inline.show) == 'undefined' || self.rules.inline.show;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (do_images) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // Per-article switching off of note display on inline images and thumbnails</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var rules = document.getElementById ('wpImageAnnotatorImageRules');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (rules) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 if (rules.className.indexOf ('wpImageAnnotatorNone') &gt;= 0) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.rules.inline.show = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.rules.thumbs.show = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.rules.shared.show = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 if (\u00a0  typeof (self.rules.inline.show) == 'undefined'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &amp;&amp; rules.className.indexOf ('wpImageAnnotatorDisplay') &gt;= 0</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0  )</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.rules.inline.show = true;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 if (rules.className.indexOf ('wpImageAnnotatorNoThumbDisplay') &gt;= 0) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.rules.thumbs.show = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 if (\u00a0  typeof (self.rules.thumbs.show) == 'undefined'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &amp;&amp; rules.className.indexOf ('wpImageAnnotatorThumbDisplay') &gt;= 0</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0  )</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.rules.thumbs.show = true;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 if (rules.className.indexOf ('wpImageAnnotatorInlineDisplayIcons') &gt;= 0) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.rules.inline.icon = true;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 if (rules.className.indexOf ('wpImageAnnotatorThumbDisplayIcons') &gt;= 0) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.rules.thumbs.icon = true;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 if (rules.className.indexOf ('wpImageAnnotatorOnlyLocal') &gt;= 0)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.rules.shared.show = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Make sure the shared value is set</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 self.rules.shared.show =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 typeof (self.rules.shared.show) == 'undefined' || self.rules.shared.show;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 do_images = typeof (self.rules.inline.show) == 'undefined' || self.rules.inline.show;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var do_thumbs = typeof (self.rules.thumbs.show) == 'undefined' || self.rules.thumbs.show;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (do_images) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var bodyContent =\u00a0 \u00a0 document.getElementById ('bodyContent')\u00a0 \u00a0 \u00a0 // monobook, vector</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 || document.getElementById ('mw_contentholder') // modern</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 || document.getElementById ('article')\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // old skins</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 ;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (bodyContent) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 var all_imgs = bodyContent.getElementsByTagName ('img');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 for (var i = 0; i &lt; all_imgs.length; i++) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // Exclude all that are in img_with_notes or in thumbs. Also exclude all in galleries.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var up = all_imgs[i].parentNode;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (up.nodeName.toLowerCase () != 'a') continue;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 up = up.parentNode;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if ((' ' + up.className + ' ').indexOf (' wpImageAnnotatorOff ') &gt;= 0) continue;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if ((' ' + up.className + ' ').indexOf (' thumbinner ') &gt;= 0) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (do_thumbs) self.thumbs[self.thumbs.length] = up;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 continue;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 up = up.parentNode;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (!up) continue;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if ((' ' + up.className + ' ').indexOf (' wpImageAnnotatorOff ') &gt;= 0) continue;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if ((' ' + up.className + ' ').indexOf (' wpImageAnnotatorEnable ') &gt;= 0) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.imgs_with_notes[self.imgs_with_notes.length] = up;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 continue;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 up = up.parentNode;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (!up) continue;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // Other images not in galleries</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if ((' ' + up.className + ' ').indexOf (' wpImageAnnotatorOff ') &gt;= 0) continue;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if ((' ' + up.className + ' ').indexOf (' gallerybox ') &gt;= 0) continue;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if ((' ' + up.className + ' ').indexOf (' wpImageAnnotatorEnable ') &gt;= 0) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.imgs_with_notes[self.imgs_with_notes.length] = up;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 continue;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 } </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 up = up.parentNode;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (!up) continue;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if ((' ' + up.className + ' ').indexOf (' wpImageAnnotatorOff ') &gt;= 0) continue;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if ((' ' + up.className + ' ').indexOf (' gallerybox ') &gt;= 0) continue;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if ((' ' + up.className + ' ').indexOf (' wpImageAnnotatorEnable ') &gt;= 0) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.imgs_with_notes[self.imgs_with_notes.length] = up;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // Guard against other scripts adding aribtrary numbers of divs (dshuf for instance!)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var is_other = true;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 while (up &amp;&amp; up.nodeName.toLowerCase () == 'div' &amp;&amp; is_other) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 up = up.parentNode;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (up) is_other = (' ' + up.className + ' ').indexOf (' gallerybox ') &lt; 0;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (is_other) self.other_images[self.other_images.length] = all_imgs[i];</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 } // end loop</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.imgs_with_notes = getElementsByClassName (document, '*', 'wpImageAnnotatorEnable');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (do_thumbs)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 self.thumbs = getElementsByClassName (document, 'div', 'thumbinner'); // No galleries!</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (\u00a0  wgNamespaceNumber == 6</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 || (self.imgs_with_notes.length &gt; 0)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 || (self.thumbs.length &gt; 0)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 || (self.other_images.length &gt; 0)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0  )</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // Publish parts of config.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 ImageAnnotator.UI\u00a0 = config.UI;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.outer_border\u00a0 = config.outer_border;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.inner_border\u00a0 = config.inner_border;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.active_border = config.active_border;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.new_border\u00a0 \u00a0 = config.new_border;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.wait_for_required_libraries ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 wait_for_required_libraries : function ()</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (typeof (Tooltip) == 'undefined' || typeof (LAPI) == 'undefined') {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (IA.install_attempts++ &lt; IA.max_install_attempts) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 window.setTimeout (IA.wait_for_required_libraries, 500); // 0.5 sec.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (LAPI.Browser.is_opera &amp;&amp; !LAPI.Browser.is_opera_ge_9) return; // Opera 8 has severe problems</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Get the UI. We're likely to need it if we made it to here.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 IA.setup_ui ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 IA.setup();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 setup: function ()</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var self = IA;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 self.imgs = [];</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Catch both native RTL and &quot;faked&quot; RTL through [[MediaWiki:Rtl.js]]</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 self.is_rtl\u00a0 \u00a0 \u00a0  =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0  LAPI.DOM.hasClass (document.body, 'rtl')</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 || (\u00a0  LAPI.DOM.currentStyle // Paranoia: added recently, not everyone might have it</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &amp;&amp; LAPI.DOM.currentStyle (document.body, 'direction') == 'rtl'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0  )</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 ;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var stylepath = window.stylepath || '/skin';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Use this to temporarily display an image off-screen to get its dimensions</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var testImgDiv =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 LAPI.make ('div', null,</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 {\u00a0 display: 'none', position: 'absolute', width: '300px'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0  , overflow: 'hidden', overflowX: 'hidden', left: '-10000px'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 document.body.insertBefore (testImgDiv, document.body.firstChild);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 function img_check (img, is_other)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var srcW = parseInt (img.getAttribute ('width', 2), 10);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var srcH = parseInt (img.getAttribute ('height', 2), 10);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // Don't do anything on extremely small previews. We need some minimum extent to be able to place</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // rectangles after all...</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (!srcW || !srcH || srcW &lt; 20 || srcH &lt; 20) return null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // For non-thumbnail images, the size limit is larger.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (is_other &amp;&amp; (srcW &lt; 60 || srcH &lt; 60)) return null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var w = img.clientWidth;\u00a0 // Don't use offsetWidth, thumbnails may have a boundary...</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var h = img.clientHeight;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // If the image is currently hidden, its clientWidth and clientHeight are not set. Try</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // harder to get the true width and height:</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if ((!w || !h) &amp;&amp; img.style.display != 'none') {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 var copied = img.cloneNode(true);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 copied.style.display = &quot;&quot;;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 testImgDiv.appendChild (copied);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 testImgDiv.style.display = &quot;&quot;;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 w = copied.clientWidth;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 h = copied.clientHeight;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 testImgDiv.style.display = 'none';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 LAPI.DOM.removeNode (copied);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // Quit if the image wasn't loaded properly for some reason:</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (w != srcW || h != srcH) return null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // Exclude system images</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (img.src.contains (stylepath)) return null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // Only if within a link</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (img.parentNode.nodeName.toLowerCase () != 'a') return null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (is_other) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 // Only if the img-within-link construction is within some element that may contain a div!</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 if (/^(p|span)$/i.test(img.parentNode.parentNode.nodeName)) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // Special case: a paragraph may contain only inline elements, but we want to be able to handle</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // files in single paragraphs. Maybe we need to properly split the paragraph and wrap the image</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // in a div, but for now we assume that all browsers can handle a div within a paragraph or</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // a span in a meaningful way, even if that is not really allowed.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 } else if (!/^(object|applet|map|fieldset|noscript|iframe|body|div|li|dd|blockquote|center|ins|del|button|th|td|form)$/i.test (img.parentNode.parentNode.nodeName))</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 return null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // Exclude any that are within an image note!</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var up = img.parentNode.parentNode;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 while (up != document.body) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 if (LAPI.DOM.hasClass (up, IA.annotation_class)) return null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 up = up.parentNode;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 return {width: w, height: h};</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 function setup_one (scope) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var file_div = scope;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var is_thumb =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 scope != document</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0  &amp;&amp; scope.nodeName.toLowerCase() == 'div'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0  &amp;&amp; LAPI.DOM.hasClass (scope, 'thumbinner')</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 ;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var is_other = scope.nodeName.toLowerCase() == 'img';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (is_other &amp;&amp; self.imgs.length &gt; 0 &amp;&amp; scope == self.imgs[0]) return null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (scope == document) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 file_div = LAPI.$ ('file');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 } else if (!is_thumb &amp;&amp; !is_other) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 file_div = getElementsByClassName (scope, 'div', 'wpImageAnnotatorFile');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 if (!file_div || file_div.length != 1) return null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 file_div = file_div[0];</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (!file_div) return null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var img = null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (scope == document) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 img = LAPI.WP.getPreviewImage (wgTitle);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 } else if (is_other) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 img = scope;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 img = file_div.getElementsByTagName ('img');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 if (!img || img.length == 0) return null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 img = img[0];</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (!img) return null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var dim = img_check (img, is_other);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (!dim) return null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // Conditionally exclude shared images.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (\u00a0  scope != document</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &amp;&amp; !self.rules.shared.show</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &amp;&amp; ImageAnnotator_config.imageIsFromSharedRepository (img.src)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0  )</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 return null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var name = null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (scope == document) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 name = wgPageName;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 name = LAPI.WP.pageFromLink (img.parentNode);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 if (!name) return null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 name = name.replace (/ /g, '_');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 if (is_thumb || is_other) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var img_src = img.getAttribute ('src', 2);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 img_src = decodeURIComponent (img_src.substring (img_src.lastIndexOf ('/') + 1))</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 .replace (/ /g, '_')</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 .replace (/(\\.svg)\\.png$/i, '$1')</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var colon = name.indexOf (':');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (colon &lt;= 0) return null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var img_name = name.substring (colon + 1);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (\u00a0  img_name != img_src</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &amp;&amp; !(img_src.endsWith (img_name)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  &amp;&amp; /^\\d+px-$/.test (img_src.substring (0, img_src.length - img_name.length))</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 )</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  )</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 return null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // If the link is not going to file namespace, we won't find the full size later on and</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // thus we won't do anything with it.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (name.search (/\\.(jpe?g|png|gif|svg)$/i) &lt; 0) return null; // Only PNG, JPE?G, GIF, SVG</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // Finally check for wpImageAnnotatorControl</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var icon_only = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var no_caption = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (is_thumb || is_other) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 var up = img.parentNode.parentNode;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 // Three levels is sufficient: thumbinner-thumb-control, or floatnone-center-control, or direct</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 for (var i = 0; ++i &lt;= 3 &amp;&amp; up; up = up.parentNode) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (LAPI.DOM.hasClass (up, 'wpImageAnnotatorControl')) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (LAPI.DOM.hasClass (up, 'wpImageAnnotatorOff')) return null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (LAPI.DOM.hasClass (up, 'wpImageAnnotatorIconOnly')) icon_only = true;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (LAPI.DOM.hasClass (up, 'wpImageAnnotatorCaptionOff')) no_caption = true;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 break;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }\u00a0  </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 return { scope\u00a0 \u00a0 \u00a0 : scope</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ,file_div\u00a0  : file_div</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ,img\u00a0 \u00a0 \u00a0 \u00a0 : img</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ,realName\u00a0  : name</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ,isThumbnail: is_thumb</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ,isOther\u00a0 \u00a0 : is_other</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ,thumb\u00a0 \u00a0 \u00a0 : {width: dim.width, height: dim.height}</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ,iconOnly\u00a0  : icon_only</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ,noCaption\u00a0 : no_caption</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  };</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 function setup_images (list)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 Array.forEach (list,</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 function (elem) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var desc = setup_one (elem);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (desc) self.imgs[self.imgs.length] = desc;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (wgNamespaceNumber == 6) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 setup_images ([document]);\u00a0 \u00a0 \u00a0 </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.may_edit = self.may_edit &amp;&amp; (self.imgs.length == 1);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 setup_images (self.imgs_with_notes);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 setup_images (self.imgs_with_notes);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.may_edit = self.may_edit &amp;&amp; (self.imgs.length == 1);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 self.may_edit = self.may_edit &amp;&amp; document.URL.search (/[?&amp;]oldid=/) &lt; 0;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (self.haveAjax) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 setup_images (self.thumbs);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 setup_images (self.other_images);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Remove the test div</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 LAPI.DOM.removeNode (testImgDiv);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (self.imgs.length == 0) return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // We get the UI texts in parallel, but wait for them at the beginning of complete_setup, where we</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // need them. This has in particular a benefit if we do have to query for the file sizes below.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (self.imgs.length == 1 &amp;&amp; self.imgs[0].scope == document &amp;&amp; !self.haveAjax) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // Try to get the full size without Ajax.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.imgs[0].full_img = LAPI.WP.fullImageSizeFromPage ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (self.imgs[0].full_img.width &gt; 0 &amp;&amp; self.imgs[0].full_img.height &gt; 0) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 self.setup_step_two ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Get the full sizes of all the images. If more than 50, make several calls. (The API has limits.)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Also avoid using Ajax on IE6...</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var cache = {};</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var names = [];</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 Array.forEach (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 self.imgs</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 , function (img, idx) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (cache[img.realName]) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 cache[img.realName][cache[img.realName].length] = idx;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 cache[img.realName] = [idx];</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 names[names.length] = img.realName;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var to_do = names.length;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var done\u00a0 = 0;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 function check_done (length)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 done += length;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (done &gt;= names.length) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 if (typeof (ImageAnnotator.info_callbacks) != 'undefined') ImageAnnotator.info_callbacks = null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 self.setup_step_two ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 function make_calls (execute_call, url_limit)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 function build_titles (from, length, url_limit)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 var done = 0;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 var text = &quot;&quot;;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 for (var i = from; i &lt; from + length; i++) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var new_text = names[i];</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (url_limit) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 new_text = encodeURIComponent (new_text);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (text.length &gt; 0 &amp;&amp; (text.length + new_text.length + 1 &gt; url_limit)) break;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 text += (text.length &gt; 0 ? '|' : &quot;&quot;) + new_text;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 done++;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 return {text: text, n: done};</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var start = 0, chunk = 0, params;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 while (to_do &gt; 0) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 params = build_titles (start, Math.min (50, to_do), url_limit);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 execute_call (params.n, params.text);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 to_do -= params.n;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 start += params.n;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }\u00a0 \u00a0 \u00a0 </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 function set_info (json)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 try {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 if (json &amp;&amp; json.query &amp;&amp; json.query.pages) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 function get_size (info) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (!info.imageinfo || info.imageinfo.length == 0) return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var title = info.title.replace (/ /g, '_');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var indices = cache[title];</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (!indices) return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Array.forEach (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 indices</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 , function (i) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.imgs[i].full_img = { width : info.imageinfo[0].width</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,height: info.imageinfo[0].height};</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.imgs[i].has_page = (typeof (info.missing) == 'undefined');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.imgs[i].isLocal\u00a0 = !info.imagerepository || info.imagerepository == 'local';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (i != 0 || !self.may_edit || !info.protection || wgNamespaceNumber != 6) return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // Care about the protection settings</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var protection =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Array.any (info.protection, function (e) { return (e.type == 'edit' ? e : null); });</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.may_edit = </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  !protection</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 || (wgUserGroups &amp;&amp; wgUserGroups.join (' ').contains (protection.level))</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 for (var page in json.query.pages) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 get_size (json.query.pages[page]);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 } // end if</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 } catch (ex) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if ((!window.XMLHttpRequest &amp;&amp; !!window.ActiveXObject) || !self.haveAjax) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // IE has a stupid security setting asking whether ActiveX should be allowed. We avoid that</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // prompt by using getScript instead of parseWikitext in this case.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 ImageAnnotator.info_callbacks = [];</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var template = wgServer + wgScriptPath + '/api.php?action=query&amp;format=json'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  + '&amp;prop=info|imageinfo&amp;inprop=protection&amp;iiprop=size'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  + '&amp;titles=&amp;callback=ImageAnnotator.info_callbacks[].callback';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (template.startsWith('//')) template = document.location.protocol + template; // Avoid protocol-relative URIs (IE7 bug)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 make_calls (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 function (length, titles) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var idx = ImageAnnotator.info_callbacks.length;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ImageAnnotator.info_callbacks[idx] =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 { callback : function (json) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  set_info (json);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ImageAnnotator.info_callbacks[idx].done = true;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  if (ImageAnnotator.info_callbacks[idx].script) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  LAPI.DOM.removeNode (ImageAnnotator.info_callbacks[idx].script);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ImageAnnotator.info_callbacks[idx].script = null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  check_done (length);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,done\u00a0 \u00a0  : false</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 };</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ImageAnnotator.info_callbacks[idx].script =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 IA.getScript (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 template.replace ('info_callbacks[].callback', 'info_callbacks[' + idx + '].callback')</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 .replace ('&amp;titles=&amp;', '&amp;titles=' + titles + '&amp;')</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 , true // No local caching!</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // We do bypass the local JavaScript cache of importScriptURI, but on IE, we still may</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // get the script from the browser's cache, and if that happens, IE may execute the</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // script (and call the callback) synchronously before the assignment is done. Clean</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // up in that case.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (\u00a0  ImageAnnotator.info_callbacks &amp;&amp; ImageAnnotator.info_callbacks[idx]</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &amp;&amp; ImageAnnotator.info_callbacks[idx].done &amp;&amp; ImageAnnotator.info_callbacks[idx].script)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 LAPI.DOM.removeNode (ImageAnnotator.info_callbacks[idx].script);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ImageAnnotator.info_callbacks[idx].script = null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 , (LAPI.Browser.is_ie ? 1950 : 4000) - template.length // Some slack for caching parameters</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 make_calls (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 function (length, titles) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 LAPI.Ajax.apiGet (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 'query'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 , { titles : titles</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,prop\u00a0  : 'info|imageinfo'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,inprop : 'protection'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,iiprop : 'size'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 , function (request, json_result) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 set_info (json_result);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 check_done (length);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 , function () {check_done (length);}</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 } // end if can use Ajax</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 setup_ui : function ()</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Complete the UI object we've gotten from config.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 ImageAnnotator.UI.ready\u00a0 \u00a0 \u00a0 = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 ImageAnnotator.UI.repo\u00a0 \u00a0 \u00a0  = null;\u00a0 \u00a0 </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 ImageAnnotator.UI.needs_plea = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var readyEvent = [];</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 ImageAnnotator.UI.fireReadyEvent = function ()</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (ImageAnnotator.UI.ready) return; // Already fired, nothing to do.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 ImageAnnotator.UI.ready = true;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // Call all registered handlers, and clear the array.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 Array.forEach (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 readyEvent</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 , function (f, idx) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 try {f ();} catch (ex) {}</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 readyEvent[idx] = null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 readyEvent = null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 ImageAnnotator.UI.addReadyEventHandler = function (f)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (ImageAnnotator.UI.ready) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 f (); // Already fired: call directly</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 readyEvent[readyEvent.length] = f;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 ImageAnnotator.UI.setup = function ()</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (ImageAnnotator.UI.repo) return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var self = ImageAnnotator.UI;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var node = LAPI.make ('div', null, {display: 'none'});</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 document.body.appendChild (node);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (typeof (UIElements) == 'undefined') {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 self.basic = true;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 self.repo = {};</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 for (var item in self.defaults) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 node.innerHTML = self.defaults[item];</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.repo[item] = node.firstChild;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 LAPI.DOM.removeChildren (node);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 self.basic = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 self.repo = UIElements.emptyRepository (self.defaultLanguage);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 for (var item in self.defaults) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 node.innerHTML = self.defaults[item];</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 UIElements.setEntry (item, self.repo, node.firstChild);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 LAPI.DOM.removeChildren (node);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 UIElements.load ('wpImageAnnotatorTexts', null, null, self.repo);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 LAPI.DOM.removeNode (node);\u00a0 \u00a0 \u00a0 </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 };</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 ImageAnnotator.UI.get = function (id, basic, no_plea)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var self = ImageAnnotator.UI;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (!self.repo) self.setup ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var result\u00a0  = null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var add_plea = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (self.basic) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 result = self.repo[id];\u00a0  </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 result = UIElements.getEntry (id, self.repo, wgUserLanguage, null);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 add_plea = !result;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 if (!result) result = UIElements.getEntry (id, self.repo);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.needs_plea = add_plea;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (!result) return null; // Hmmm... what happened here? We normally have defaults...</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (basic) return LAPI.DOM.getInnerText (result).trim ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 result = result.cloneNode (true);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (wgServer.contains ('/commons') &amp;&amp; add_plea &amp;&amp; !no_plea) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 </ins>// <ins class=\"diffchange diffchange-inline\">Add a translation plea.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 if (result.nodeName.toLowerCase () == 'div') {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 result.appendChild (self.get_plea ());</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var span = LAPI.make ('span');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 span.appendChild (result);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 span.appendChild (self.get_plea ());</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 result = span;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 return result;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 };</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 ImageAnnotator.UI.get_plea = function ()</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var self = ImageAnnotator.UI;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var translate = self.get ('wpTranslate', false, true) || 'translate';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var span = LAPI.make ('small');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 span.appendChild (document.createTextNode ('\\xa0('));</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 span.appendChild (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 LAPI.DOM.makeLink (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 wgServer + wgScript + '?title=MediaWiki_talk:ImageAnnotatorTexts'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 + '&amp;action=edit&amp;section=new&amp;withJS=MediaWiki:ImageAnnotatorTranslator.js'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 + '&amp;language=' + wgUserLanguage</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 , translate</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 , (typeof (translate) == 'string' ? translate : LAPI.DOM.getInnerText (translate).trim ())</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 )</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 span.appendChild (document.createTextNode (')'));</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 return span;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 };</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 ImageAnnotator.UI.init = function (html_text_or_json)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var text;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (typeof (html_text_or_json) == 'string')</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 text = html_text_or_json;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 else if (\u00a0  typeof (html_text_or_json) != 'undefined'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  &amp;&amp; typeof (html_text_or_json.parse) != 'undefined'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  &amp;&amp; typeof (html_text_or_json.parse.text) != 'undefined'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  &amp;&amp; typeof (html_text_or_json.parse.text['*']) != 'undefined'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 )</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 text = html_text_or_json.parse.text['*'];</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 else</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 text = null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (!text) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 ImageAnnotator.UI.fireReadyEvent ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var node = LAPI.make ('div', null, {display</ins>: <ins class=\"diffchange diffchange-inline\">'none'});</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 document.body.appendChild (node);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 try {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 node.innerHTML = text;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 } catch (ex) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 LAPI.DOM.removeNode (node);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 node = null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 // Swallow. We'll just work with the default UI</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (node &amp;&amp; !ImageAnnotator.UI.repo) ImageAnnotator.UI.setup ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 ImageAnnotator.UI.fireReadyEvent ();\u00a0 \u00a0  </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 };</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var ui_page = '{{</ins>MediaWiki<ins class=\"diffchange diffchange-inline\">:ImageAnnotatorTexts'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 + (wgUserLanguage != wgContentLanguage ? '|lang=' + wgUserLanguage : &quot;&quot;)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 + '|live=1}}';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 function get_ui_no_ajax ()</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var url =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 wgServer + wgScriptPath + '/api.php?action=parse&amp;pst&amp;text='</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 + encodeURIComponent (ui_page) + '&amp;title=API&amp;prop=text&amp;format=json'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 + '&amp;callback=ImageAnnotator.UI.init&amp;maxage=14400&amp;smaxage=14400'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 ;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // Result cached for 4 hours. How to properly handle an error? It appears there's no way to catch</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // that on IE. (On FF, we could use an onerror handler on the script tag, but on FF, we use Ajax</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // anyway.)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 IA.getScript (url, true); // No local caching!</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 function get_ui ()</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 IA.haveAjax\u00a0 \u00a0 = (LAPI.Ajax.getRequest () != null);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 IA.ajaxQueried = true;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // Works only with Ajax (but then, most of this script doesn't work without).</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // Check what this does to load times... If lots of people used this, it might be better to</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // have the UI texts included in some footer as we did on Special:Upload. True, everybody</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // would get the texts, even people not using this, but the texts are small anyway...</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (!IA.haveAjax) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 get_ui_no_ajax (); // Fallback.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 LAPI.Ajax.parseWikitext (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ui_page</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 , ImageAnnotator.UI.init</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 , ImageAnnotator.UI.fireReadyEvent</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 , false</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 , null</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 , &quot;API&quot; // A fixed string to enable caching at all.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 , 14400 // 4 hour caching.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 } // end get_ui</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (!window.XMLHttpRequest &amp;&amp; !!window.ActiveXObject) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // IE has a stupid security setting asking whether ActiveX should be allowed. We avoid that</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // prompt by using getScript instead of parseWikitext in this case. The disadvantage</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // is that we don't do anything if this fails for some reason.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 get_ui_no_ajax ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 get_ui ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 setup_step_two : function ()</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var self = IA;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Throw out any images for which we miss either the thumbnail or the full image size.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Also throws out thumbnails that are larger than the full image.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 self.imgs =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 Array.select (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.imgs</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 , function (elem, idx) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var result =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  elem.thumb.width &gt; 0 &amp;&amp; elem.thumb.height &gt; 0</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &amp;&amp; typeof (elem.full_img) != 'undefined'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &amp;&amp; elem.full_img.width &gt; 0 &amp;&amp; elem.full_img.height &gt; 0</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &amp;&amp; elem.full_img.width &gt;= elem.thumb.width</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &amp;&amp; elem.full_img.height &gt;= elem.thumb.height</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (self.may_edit &amp;&amp; idx == 0 &amp;&amp; !result) self.may_edit = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 return result;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (self.imgs.length == 0) return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 ImageAnnotator.UI.addReadyEventHandler (IA.complete_setup);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 complete_setup : function ()</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // We can be sure to have the UI here because this is called only when the ready event of the</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // UI object is fired.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var self = IA;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Check edit permissions</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (self.may_edit &amp;&amp; typeof (window.wgRestrictionEdit) != 'undefined' ) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.may_edit =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 (\u00a0  (wgRestrictionEdit.length == 0 || wgUserGroups &amp;&amp; wgUserGroups.join (' ').contains ('sysop'))</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0  || (\u00a0  wgRestrictionEdit.length == 1 &amp;&amp; wgRestrictionEdit[0] == 'autoconfirmed'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  &amp;&amp; wgUserGroups &amp;&amp; wgUserGroups.join (' ').contains ('confirmed') // confirmed &amp; autoconfirmed</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 )</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (self.may_edit) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // Check whether the image is local. Don't allow editing if the file is remote.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var sharedUpload = getElementsByClassName (document, 'div', 'sharedUploadNotice');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.may_edit = (!sharedUpload || sharedUpload.length == 0);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (self.may_edit &amp;&amp; wgNamespaceNumber != 6) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // Only allow edits if the stored page name matches the current one.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var img_page_name =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 getElementsByClassName (self.imgs[0].scope, '*', 'wpImageAnnotatorPageName');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (img_page_name &amp;&amp; img_page_name.length &gt; 0)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 img_page_name = LAPI.DOM.getInnerText (img_page_name[0]);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 else</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 img_page_name = &quot;&quot;;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.may_edit = (img_page_name.replace (/ /g, '_') == wgTitle.replace (/ /g, '_'));</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (self.may_edit &amp;&amp; self.ajaxQueried) self.may_edit = self.haveAjax;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Now create viewers for all images</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 self.viewers = new Array (self.imgs.length);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 for (var i = 0; i &lt; self.imgs.length; i++) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.viewers[i] = new ImageNotesViewer (self.imgs[i], i == 0 &amp;&amp; self.may_edit);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 };</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (self.may_edit) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Respect user override for zoom, if any</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 self.zoom_threshold = ImageAnnotator_config.zoom_threshold;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (\u00a0  typeof (window.ImageAnnotator_zoom_threshold) != 'undefined'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 &amp;&amp; !isNaN (window.ImageAnnotator_zoom_threshold)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 &amp;&amp; window.ImageAnnotator_zoom_threshold &gt;= 0.0</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0  )</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // If somebody sets it to a nonsensical high value, that's his or her problem: there won't be any</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // zooming.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.zoom_threshold = window.ImageAnnotator_zoom_threshold;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Adapt zoom threshold for small thumbnails or images with a very lopsided width/height ratio,</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // but only if we *can* zoom at least twice</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (\u00a0  self.viewers[0].full_img.width &gt; 300</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 &amp;&amp; Math.min (self.viewers[0].factors.dx, self.viewers[0].factors.dy) &gt;= 2.0</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0  )</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (\u00a0  self.viewers[0].thumb.width &lt; 400</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 || self.viewers[0].thumb.width / self.viewers[0].thumb.height &gt; 2.0</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 || self.viewers[0].thumb.height / self.viewers[0].thumb.width &gt; 2.0 </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0  )</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 self.zoom_threshold = 0; // Force zooming</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 self.editor = new ImageAnnotationEditor ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 function track (evt) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 evt = evt || window.event;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (self.is_adding) self.update_zoom (evt);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (!self.is_tracking) return LAPI.Evt.kill (evt);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var mouse_pos = LAPI.Pos.mousePosition (evt);\u00a0 \u00a0 \u00a0 </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (!LAPI.Pos.isWithin (self.cover, mouse_pos.x, mouse_pos.y)) return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var origin\u00a0 \u00a0 = LAPI.Pos.position (self.cover);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // Make mouse pos relative to cover</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 mouse_pos.x = mouse_pos.x - origin.x;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 mouse_pos.y = mouse_pos.y - origin.y;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (mouse_pos.x &gt;= self.base_x) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 self.definer.style.width = &quot;&quot; + (mouse_pos.x - self.base_x) + 'px';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 self.definer.style.left\u00a0 = &quot;&quot; + self.base_x + 'px';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 self.definer.style.width = &quot;&quot; + (self.base_x - mouse_pos.x) + 'px';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 self.definer.style.left\u00a0 = &quot;&quot; + mouse_pos.x + 'px';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (mouse_pos.y &gt;= self.base_y) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 self.definer.style.height = &quot;&quot; + (mouse_pos.y - self.base_y) + 'px';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 self.definer.style.top\u00a0 \u00a0 = &quot;&quot; + self.base_y + 'px';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 self.definer.style.height = &quot;&quot; + (self.base_y - mouse_pos.y) + 'px';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 self.definer.style.top\u00a0 \u00a0 = &quot;&quot; + mouse_pos.y + 'px';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 return LAPI.Evt.kill (evt);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 };</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 function pause (evt)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 LAPI.Evt.remove (document, 'mousemove', track, true);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (!LAPI.Browser.is_ie &amp;&amp; typeof (document.captureEvents) == 'function')</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 document.captureEvents (null);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.move_listening = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 };</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 function resume (evt)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // captureEvents is actually deprecated, but I haven't succeeded to make this work with</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // addEventListener only.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if ((self.is_tracking || self.is_adding) &amp;&amp; !self.move_listening) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 if (!LAPI.Browser.is_ie &amp;&amp; typeof (document.captureEvents) == 'function')</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 document.captureEvents (Event.MOUSEMOVE);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 LAPI.Evt.attach (document, 'mousemove', track, true);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 self.move_listening = true;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 };</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 function stop_tracking (evt)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 evt = evt || window.event;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // Check that we're within the image. Note: this check can fail only on IE &gt;= 7, on other</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // browsers, we attach the handler on self.cover and thus we don't even get events outside</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // that range.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var mouse_pos = LAPI.Pos.mousePosition (evt);\u00a0 \u00a0 \u00a0 </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (!LAPI.Pos.isWithin (self.cover, mouse_pos.x, mouse_pos.y)) return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (self.is_tracking) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 self.is_tracking = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 self.is_adding = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 // Done.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 pause ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 if (LAPI.Browser.is_ie) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 //Trust Microsoft to get everything wrong!</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 LAPI.Evt.remove (document, 'mouseup', stop_tracking);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 LAPI.Evt.remove (self.cover, 'mouseup', stop_tracking);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 LAPI.Evt.remove (window, 'blur', pause);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 LAPI.Evt.remove (window, 'focus', resume);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 self.cover.style.cursor = 'auto';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 LAPI.DOM.removeNode (self.border);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 LAPI.Evt.remove (self.cover, self.mouse_in, self.update_zoom_evt);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 LAPI.Evt.remove (self.cover, self.mouse_out, self.hide_zoom_evt);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 self.hide_zoom ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 self.viewers[0].hide (); // Hide all existing boxes</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 if (!self.definer || self.definer.offsetWidth &lt;= 0 || self.definer.offsetHeight &lt;= 0) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // Nothing: just remove the definer:</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (self.definer) LAPI.DOM.removeNode (self.definer);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // Re-attach event handlers</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.viewers[0].setShowHideEvents (true);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.hide_cover ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.viewers[0].setDefaultMsg ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // And make sure we get the real view again</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.viewers[0].show ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // We have a div with some extent: remove event capturing and create a new annotation</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var new_note = new ImageAnnotation (self.definer, self.viewers[0], -1);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.viewers[0].register (new_note);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.editor.editNote (new_note);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 self.definer = null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (evt) return LAPI.Evt.kill (evt);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 return false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 };</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 function start_tracking (evt)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (!self.is_tracking) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 self.is_tracking = true;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 evt = evt || window.event;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 // Set the position, size 1</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 var mouse_pos = LAPI.Pos.mousePosition (evt);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 var origin\u00a0 \u00a0 = LAPI.Pos.position (self.cover);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 self.base_x = mouse_pos.x - origin.x;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 self.base_y = mouse_pos.y - origin.y</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 Object.merge (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 { left\u00a0  : &quot;&quot; + self.base_x + 'px'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,top\u00a0 \u00a0 : &quot;&quot; + self.base_y + 'px'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,width\u00a0 : '0px'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,height : '0px'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,display: &quot;&quot;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 , self.definer.style</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 // Set mouse handlers</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 LAPI.Evt.remove (self.cover, 'mousedown', start_tracking);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 if (LAPI.Browser.is_ie) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 LAPI.Evt.attach (document, 'mouseup', stop_tracking); // Doesn't work properly on self.cover...</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 LAPI.Evt.attach (self.cover, 'mouseup', stop_tracking);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 resume ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 LAPI.Evt.attach (window, 'blur', pause);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 LAPI.Evt.attach (window, 'focus', resume);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (evt) return LAPI.Evt.kill (evt);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 return false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 };</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 function add_new (evt)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (!self.canEdit ()) return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.editor.hide_editor ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 Tooltips.close ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var cover = self.get_cover ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 cover.style.cursor = 'crosshair';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.definer =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 LAPI.make (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 'div', null</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,{ border\u00a0 \u00a0  : '1px solid ' + IA.new_border</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,display\u00a0 \u00a0 : 'none'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,position\u00a0  : 'absolute'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,top\u00a0 \u00a0 \u00a0 \u00a0 : '0px'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,left\u00a0 \u00a0 \u00a0  : '0px'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,width\u00a0 \u00a0 \u00a0 : '0px'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,height\u00a0 \u00a0  : '0px'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,padding\u00a0 \u00a0 : '0'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,lineHeight : '0px' // IE needs this, even though there are no lines within</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,fontSize\u00a0  : '0px' // IE</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,zIndex\u00a0 \u00a0  : cover.style.zIndex - 2 // Below the mouse capture div</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.viewers[0].img_div.appendChild (self.definer);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // Enter mouse</ins>-<ins class=\"diffchange diffchange-inline\">tracking mode to define extent of view. Mouse cursor is outside of image,</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // hence none of our tooltips are visible.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.viewers[0].img_div.appendChild (self.border);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.show_cover ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.is_tracking = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.is_adding\u00a0  = true;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 LAPI.Evt.attach (cover, 'mousedown', start_tracking);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 resume ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.button_div.style.display = 'none';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // Remove the event listeners on the image: IE sometimes invokes them even when the image is covered</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.viewers[0].setShowHideEvents (false);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.viewers[0].hide ();\u00a0 \u00a0 \u00a0  // Make sure notes are hidden</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.viewers[0].toggle (true); // Show all note rectangles (but only the dummies)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.update_zoom_evt = LAPI.Evt.makeListener (self, self.update_zoom);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.hide_zoom_evt = LAPI.Evt.makeListener (self, self.hide_zoom);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.show_zoom ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 LAPI.Evt.attach (cover, self.mouse_in, self.update_zoom_evt);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 LAPI.Evt.attach (cover, self.mouse_out, self.hide_zoom_evt);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 LAPI.DOM.removeChildren (self.viewers[0].msg);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.viewers[0].msg.appendChild</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 (ImageAnnotator.UI.get ('wpImageAnnotatorDrawRectMsg', false));</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.viewers[0].msg.style.display = &quot;&quot;;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 };</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 self.button_div = LAPI.make ('div');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 self.viewers[0].main_div.appendChild (self.button_div);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 self.add_button =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 LAPI.DOM.makeButton (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 'ImageAnnotationAddButton'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 , ImageAnnotator.UI.get ('wpImageAnnotatorAddButtonText', true)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 , add_new</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var add_plea = ImageAnnotator.UI.needs_plea;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 self.button_div.appendChild (self.add_button); </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 self.help_link = self.createHelpLink ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (self.help_link) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.button_div.appendChild (document.createTextNode ('\\xa0'));</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.button_div.appendChild (self.help_link);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (add_plea &amp;&amp; wgServer.contains ('/commons'))</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.button_div.appendChild (ImageAnnotator.UI.get_plea ());</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 } // end if may_edit</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Get the file description pages of thumbnails. Figure out for which viewers we need to do this.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var cache\u00a0 \u00a0 \u00a0  = {};</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var get_local\u00a0  = [];</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var get_foreign = [];</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 Array.forEach (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 self.viewers</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 , function (viewer, idx) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (viewer.setup_done || viewer.isLocal &amp;&amp; !viewer.has_page) return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // Handle only images that either are foreign or local and do have a page.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (cache[viewer.realName]) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 cache[viewer.realName][cache[viewer.realName].length] = idx;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 cache[viewer.realName] = [idx];</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (!viewer.has_page) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 get_foreign[get_foreign.length] = viewer.realName;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 get_local[get_local.length] = viewer.realName;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (get_local.length == 0 &amp;&amp; get_foreign.length == 0) return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Now we have unique page names in the cache and in to_get. Go get the corresponding file</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // description pages. We make a series of simultaneous asynchronous calls to avoid hitting</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // API limits and to keep the URL length below the limit for the foreign_repo calls.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 function make_calls (list, execute_call, url_limit)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 function composer (list, from, length, url_limit)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 function compose (list, from, length, url_limit)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var text = &quot;&quot;;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var done = 0;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 for (var i = from; i &lt; from + length; i++) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var new_text =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 '&lt;div class=&quot;wpImageAnnotatorInlineImageWrapper&quot; style=&quot;display:none;&quot;&gt;'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 + '&lt;span class=&quot;image_annotation_inline_name&quot;&gt;' + list[i] + '&lt;/span&gt;'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 + '{{:' + list[i</ins>] <ins class=\"diffchange diffchange-inline\">+ '}}' // Leading dot to avoid getting links to the full images if we hit a parser limit</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 + '&lt;/div&gt;'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (url_limit) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 new_text = encodeURIComponent (new_text);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (text.length &gt; 0 &amp;&amp; (text.length + new_text.length &gt; url_limit)) break;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 text = text + new_text;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 done++;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // Additionally, limit the number of image pages to get: these can be large, and the server</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // may refuse to actually do the transclusions but may in that case include the full images</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // in the result, which would make us load the full images, which is desastrous if there are</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // many thumbs to large images on the page.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (done == 5) break;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 return {text: text, n: done};</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 var param = compose (list, from, length, url_limit);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 execute_call (param.text);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 return param.n;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var start = 0, chunk = 0, to_do = list.length;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 while (to_do &gt; 0) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 chunk = composer (list, start, Math.min (50, to_do), url_limit);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 to_do -= chunk;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 start += chunk;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var divRE\u00a0 \u00a0 \u00a0 \u00a0  = /(&lt;\\s*div\\b)|(&lt;\\/\\s</ins>*<ins class=\"diffchange diffchange-inline\">div\\s*&gt;)/ig;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var blockStart\u00a0 \u00a0 = '&lt;div class=&quot;wpImageAnnotatorInlineImageWrapper&quot;';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var inlineNameEnd = '&lt;/span&gt;';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var noteStart\u00a0 \u00a0  = '&lt;div id=&quot;image_annotation_note_';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var noteControlRE = /&lt;div\\s*class=&quot;(wpImageAnnotatorInlinedRules|image_annotation_colors&quot;)(\\S|\\s)*?\\/div&gt;/g;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Our parse request returns the full html of the description pages' contents, including any</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // license or information or other templates that we don't care about, and which may contain</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // additional images we'd rather not load when we add this (X)HTML to the DOM. Therefore, we</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // strip out everything but the notes.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 function strip_noise (html) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var result = &quot;&quot;;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // First, get rid of HTML comments and scripts</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 html = html.replace(/&lt;\\!--(.|\\s)*?--\\&gt;/g, &quot;&quot;).replace(/&lt;script(.|\\s)*?\\/script&gt;/g, &quot;&quot;);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var i = html.indexOf (blockStart, idx), idx = 0, l = html.length;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // Now collect pages</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 while (idx &lt; l &amp;&amp; i &gt;= idx) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 var j = html.indexOf (inlineNameEnd, i+blockStart.length);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 if (j &lt; i+blockStart.length) break;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 result += html.substring (i, j+inlineNameEnd.length);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 idx = j+inlineNameEnd.length;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 // Now collect all image image notes for that page</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 var note_begin = 0, next_block = html.indexOf (blockStart, idx);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 // Do we have image note control or color templates?</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 j = idx;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 for (;;) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 noteControlRE.lastIndex = j;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var m = noteControlRE.exec (html);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (!m || next_block &gt;= idx &amp;&amp; m.index &gt; next_block) break;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 result += m[0];</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 j = m.index + m[0].length;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 // Collect notes</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 for (;;) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 note_begin = html.indexOf (noteStart, idx);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // Check whether next wrapper comes first</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (note_begin &lt; idx || (next_block &gt;= idx &amp;&amp; note_begin &gt; next_block)) break;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // Start parsing nested &lt;div&gt; and &lt;/div&gt;, from note_begin on. Just ignore any other tags.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var level = 1, k = note_begin + noteStart.length;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 while (level &gt; 0 &amp;&amp; k &lt; l) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 divRE.lastIndex = k;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var m = divRE.exec (html);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (!m || m.length &lt; 2) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 k = l; // Nothing found at all?</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (m[1]) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 level++; k = m.index + m[1].length; // divStart found first</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 } else if (m.length &gt; 2 &amp;&amp; m[2]) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 level--; k = m.index + m</ins>[<ins class=\"diffchange diffchange-inline\">2].length; // divEnd found first</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 k = l; // Huh?</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 } // end loop for nested divs</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 result += html.substring (note_begin, k);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 while (level-- &gt; 0) result += '&lt;/div&gt;'; // Missing ends.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 idx = k;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 } // end loop collecting notes</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 result += '&lt;/div&gt;'; // Close the wrapper</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 i = next_block;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 } // end loop collecting pages</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 return result;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 function setup_thumb_viewers (html_text)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var node = LAPI.make ('div', null, {display: 'none'});</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 document.body.appendChild (node);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 try {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 node.innerHTML = strip_noise (html_text);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 var pages = getElementsByClassName (node, 'div', 'wpImageAnnotatorInlineImageWrapper');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 for (var i = 0; pages &amp;&amp; i &lt; pages.length; i++) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var notes = getElementsByClassName (pages[i], 'div', self.annotation_class);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (!notes || notes.length == 0) continue;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var page = self.getItem ('inline_name', pages[i]);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (!page) continue;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 page = page.replace (/ /g, '_');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var viewers = cache[page] || cache['File:' + page.substring (page.indexOf (':') + 1)];</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (!viewers || viewers.length == 0) continue;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // Update rules.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var rules = getElementsByClassName (pages[i], 'div', 'wpImageAnnotatorInlinedRules');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var local_rules =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 { inline: Object.clone (IA.rules.inline)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,thumbs: Object.clone (IA.rules.thumbs)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 };</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (rules &amp;&amp; rules.length &gt; 0) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 rules = rules[0];</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (\u00a0  typeof (local_rules.inline.show) == 'undefined'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &amp;&amp; LAPI.DOM.hasClass (rules, 'wpImageAnnotatorNoInlineDisplay')</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  )</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 local_rules.inline.show = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (\u00a0  typeof (local_rules.inline.icon) == 'undefined'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &amp;&amp; LAPI.DOM.hasClass (rules, 'wpImageAnnotatorInlineDisplayIcon')</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  )</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 local_rules.inline.icon = true;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (\u00a0  typeof (local_rules.thumbs.show) == 'undefined'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &amp;&amp; LAPI.DOM.hasClass (rules, 'wpImageAnnotatorNoThumbs')</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  )</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 local_rules.thumbs.show = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (\u00a0  typeof (local_rules.thumbs.icon) == 'undefined'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &amp;&amp; LAPI.DOM.hasClass (rules, 'wpImageAnnotatorThumbDisplayIcon')</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  )</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 local_rules.thumbs.icon = true;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // Make sure all are set</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 local_rules.inline.show =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 typeof (local_rules.inline.show) == 'undefined' || local_rules.inline.show;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 local_rules.thumbs.show =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 typeof (local_rules.thumbs.show) == 'undefined' || local_rules.thumbs.show;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 local_rules.inline.icon =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 typeof (local_rules.inline.icon) != 'undefined' &amp;&amp; local_rules.inline.icon;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 local_rules.thumbs.icon =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 typeof (local_rules.thumbs.icon) != 'undefined' &amp;&amp; local_rules.thumbs.icon;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (!local_rules.inline.show) continue;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // Now use pages[i] as a scope shared by all the viewers using it. Since we clone note</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // contents for note display, this works. Otherwise, we'd have to copy the notes into</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // each viewer's scope.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 document.body.appendChild (pages[i]); // Move it out of 'node'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // Set viewers' scopes and finish their setup.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Array.forEach (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 viewers</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 , function (v) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (!self.viewers[v].isThumbnail || local_rules.thumbs.show) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.viewers[v].scope = pages[i];</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.viewers[v].setup (\u00a0  self.viewers[v].isThumbnail &amp;&amp; local_rules.thumbs.icon</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  || self.viewers[v].isOther &amp;&amp; local_rules.inline.icon);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 } catch (ex) {}</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 LAPI.DOM.removeNode (node);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 ImageAnnotator.script_callbacks = [];</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 function make_script_calls (list, api)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var template = api + '?action=parse&amp;pst&amp;text=&amp;prop=text&amp;format=json'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  + '&amp;maxage=1800&amp;smaxage=1800&amp;uselang=' + wgUserLanguage //see bugzilla 22764</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  + '&amp;callback=ImageAnnotator.script_callbacks[].callback';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (template.startsWith('//')) template = document.location.protocol + template; // Avoid protocol-relative URIs (IE7 bug)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 make_calls (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 list</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 , function (text) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var idx = ImageAnnotator.script_callbacks.length;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ImageAnnotator.script_callbacks[idx] =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 { callback : function (json) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  if (json &amp;&amp; json.parse &amp;&amp; json.parse.text &amp;&amp; json.parse.text['*']) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  setup_thumb_viewers (json.parse.text['*']);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ImageAnnotator.script_callbacks[idx].done = true;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  if (ImageAnnotator.script_callbacks[idx].script) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  LAPI.DOM.removeNode (ImageAnnotator.script_callbacks[idx].script);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ImageAnnotator.script_callbacks[idx].script = null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,done\u00a0 \u00a0  : false</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 };</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ImageAnnotator.script_callbacks[idx].script =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 IA.getScript (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 template.replace ('script_callbacks[].callback', 'script_callbacks[' + idx + '].callback')</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 .replace ('&amp;text=&amp;', '&amp;text=' + text + '&amp;')</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 , true // No local caching!</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (\u00a0  ImageAnnotator.script_callbacks &amp;&amp; ImageAnnotator.script_callbacks[idx]</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &amp;&amp; ImageAnnotator.script_callbacks[idx].done &amp;&amp; ImageAnnotator.script_callbacks[idx].script)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 LAPI.DOM.removeNode (ImageAnnotator.script_callbacks[idx].script);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ImageAnnotator.script_callbacks[idx].script = null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 , (LAPI.DOM.is_ie ? 1950 </ins>: <ins class=\"diffchange diffchange-inline\">4000) - template.length // Some slack for caching parameters</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if ((!window.XMLHttpRequest &amp;&amp; !!window.ActiveXObject) || !self.haveAjax) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 make_script_calls (get_local, wgServer + wgScriptPath + '/api.php');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 make_calls (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 get_local</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 , function (text) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 LAPI.Ajax.parseWikitext (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 text</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 , function (html_text) {if (html_text) setup_thumb_viewers (html_text);}</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 , function () {}</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 , false</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 , null</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 , 'API' </ins>// <ins class=\"diffchange diffchange-inline\">Fixed string to enable caching at all</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 , 1800\u00a0 // 30 minutes caching</ins>.</div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Can't use Ajax for foreign repo, might violate single-origin policy (e.g. from wikisource.org</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // to </ins>wikimedia.org<ins class=\"diffchange diffchange-inline\">). Attention, here we must care about the URL length! IE has a limit of 2083</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // character (2048 in the path part), and servers also may impose limits (on the WMF servers,</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // the limit appears to be 8kB).</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 make_script_calls (get_foreign, ImageAnnotator_config.sharedRepositoryAPI ());</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 show_zoom : function ()</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var self = IA;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (\u00a0  (\u00a0  self.viewers[0].factors.dx &lt; self.zoom_threshold</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &amp;&amp; self.viewers[0].factors.dy &lt; self.zoom_threshold</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0  )</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 || Math.max (self.viewers[0].factors.dx, self.viewers[0].factors.dy) &lt; 2.0</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0  )</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // Below zoom threshold, or full image not even twice the size of the preview</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (!self.zoom) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.zoom =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 LAPI.make (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 'div'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 , {id : 'image_annotator_zoom'}</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 , { overflow\u00a0 \u00a0 \u00a0 \u00a0 : 'hidden'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,width\u00a0 \u00a0 \u00a0 \u00a0 \u00a0  : '200px'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,height\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 : '200px'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,position\u00a0 \u00a0 \u00a0 \u00a0 : 'absolute'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,display\u00a0 \u00a0 \u00a0 \u00a0  : 'none'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,top\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  : '0px'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,left\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 : '0px'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,border\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 : '2px solid #666666'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,backgroundColor : 'white'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,zIndex\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 : 2050 // On top of everything</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var src = self.viewers[0].img.getAttribute ('src', 2);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // Adjust zoom_factor</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (self.zoom_factor &gt; self.viewers[0].factors.dx || self.zoom_factor &gt; self.viewers[0].factors.dy)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 self.zoom_factor = Math.min (self.viewers[0].factors.dx, self.viewers[0].factors.dy);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.zoom.appendChild (LAPI.make ('div', null, {position : 'relative'}));</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // Calculate zoom size and source link</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var zoom_width\u00a0 = Math.floor (self.viewers[0].thumb.width * self.zoom_factor);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var zoom_height = Math.floor (self.viewers[0].thumb.height * self.zoom_factor);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var zoom_src\u00a0  = null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // For SVGs, always use a scaled PNG for the zoom.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (zoom_width &gt; 0.9 * self.viewers[0].full_img.width &amp;&amp; src.search (/\\.svg\\.png$/i) &lt; 0) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 // If the thumb we'd be loading was within about 80% of the full image size, we may just as</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 // well get the full image instead of a scaled version.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 self.zoom_factor = Math.min (self.viewers[0].factors.dx, self.viewers[0].factors.dy);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 zoom_width\u00a0 \u00a0 \u00a0  = self.viewers[0].full_img.width;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 zoom_height\u00a0 \u00a0 \u00a0 = self.viewers[0].full_img.height;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // Construct the initial zoomed image. We need to clone; if we create a completely</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // new DOM node ourselves, it may not work on IE6...</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var zoomed = self.viewers[0].img.cloneNode (true);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 zoomed.width = &quot;&quot; + zoom_width;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 zoomed.height = &quot;&quot; + zoom_height;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 Object.merge ({position: 'absolute', top: '0px',left: '0px'}, zoomed.style);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.zoom.firstChild.appendChild (zoomed);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // Crosshair</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.zoom.firstChild.appendChild (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 LAPI.make (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 'div', null</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 , { width\u00a0 \u00a0 \u00a0 : '1px'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,height\u00a0 \u00a0  : '200px'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,borderLeft : '1px solid red'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,position\u00a0  : 'absolute'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,top\u00a0 \u00a0 \u00a0 \u00a0 : '0px'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,left\u00a0 \u00a0 \u00a0  : '100px'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 )</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.zoom.firstChild.appendChild (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 LAPI.make (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 'div', null</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 , { width\u00a0 \u00a0  : '200px'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,height\u00a0 \u00a0 : '1px'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,borderTop : '1px solid red'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,position\u00a0 : 'absolute'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,top\u00a0 \u00a0 \u00a0  : '100px'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,left\u00a0 \u00a0 \u00a0 : '0px'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 )</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 document.body.appendChild (self.zoom);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 LAPI.DOM.loadImage (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.viewers[0].imgName</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 , src</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 , zoom_width</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 , zoom_height</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 , ImageAnnotator_config.thumbnailsGeneratedAutomatically ()</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 , function (img) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // Replace the image in self.zoom by self.zoom_loader, making sure we keep the offsets</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 img.style.position = 'absolute';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 img.style.top = self.zoom.firstChild.firstChild.style.top;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 img.style.left = self.zoom.firstChild.firstChild.style.left;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 img.style.display = &quot;&quot;;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.zoom.firstChild.replaceChild (img, self.zoom.firstChild.firstChild);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 self.zoom.style.display = 'none'; // Will be shown in update</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 update_zoom : function (evt)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (!evt) return; // We need an event to calculate positions!</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var self = IA;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (!self.zoom) return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var mouse_pos = LAPI.Pos.mousePosition (evt);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var origin\u00a0 \u00a0 = LAPI.Pos.position (self.cover);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (!LAPI.Pos.isWithin (self.cover, mouse_pos.x, mouse_pos.y)) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 IA.hide_zoom ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var dx = mouse_pos.x - origin.x;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var dy = mouse_pos.y - origin.y;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // dx, dy is the offset within the preview image. Align the zoom image accordingly.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var top\u00a0 = - dy * self.zoom_factor + 100;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var left = - dx * self.zoom_factor + 100;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 self.zoom.firstChild.firstChild.style.top\u00a0 = &quot;&quot; + top\u00a0 + 'px';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 self.zoom.firstChild.firstChild.style.left = &quot;&quot; + left + 'px';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 self.zoom.style.top\u00a0 = mouse_pos.y + 10 + 'px'; /</ins>/ <ins class=\"diffchange diffchange-inline\">Right below the mouse pointer</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 </ins>// <ins class=\"diffchange diffchange-inline\">Horizontally keep it in view.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var x = (self.is_rtl ? mouse_pos.x </ins>- <ins class=\"diffchange diffchange-inline\">10 : mouse_pos.x + 10);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (x &lt; 0) x = 0;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 self.zoom.style.left = x + 'px';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 self.zoom.style.display = &quot;&quot;;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Now that we have offsetWidth, correct the position.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (self.is_rtl) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 x = mouse_pos.x - 10 - self.zoom.offsetWidth;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (x &lt; 0) x = 0;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var off\u00a0 = LAPI.Pos.scrollOffset ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var view = LAPI.Pos.viewport ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (x + self.zoom.offsetWidth &gt; off.x + view.x) x = off.x + view.x - self.zoom.offsetWidth;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (x &lt; 0) x = 0;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 self.zoom.style.left = x + 'px';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 hide_zoom : function (evt)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (!IA.zoom) return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (evt) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var mouse_pos = LAPI.Pos.mousePosition (evt);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (LAPI.Pos.isWithin (IA.cover, mouse_pos.x, mouse_pos.y)) return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 IA.zoom.style.display = 'none';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 createHelpLink : function ()</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var msg = ImageAnnotator.UI.get ('wpImageAnnotatorHelp', false, true);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (!msg || !msg.lastChild) return null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Make sure we use the right protocol for all images:</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var imgs = msg.getElementsByTagName('img');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (imgs) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 for (var i = 0; i &lt; imgs.length; i++) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 var srcFixed = imgs[i].getAttribute ('src', 2).replace(/^https?\\:/, document.location.protocol);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 imgs[i].src = srcFixed;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (\u00a0  msg.childNodes.length == 1</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 &amp;&amp; msg.firstChild.nodeName.toLowerCase () == 'a'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 &amp;&amp; !LAPI.DOM.hasClass (msg.firstChild, 'image')</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0  ) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 msg.firstChild.id = 'ImageAnnotationHelpButton';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 return msg.firstChild; // Single link</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Otherwise, it's either a sequence of up to three images, or a span, followed by a</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // link.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var tgt\u00a0 = msg.lastChild;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (tgt.nodeName.toLowerCase () != 'a')</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 tgt = wgServer + wgArticlePath.replace ('$1', 'Help:Gadget-ImageAnnotator');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 else</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 tgt = tgt.href;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 function make_handler (tgt) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var target = tgt;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 return function (evt) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  var e = evt || window.event;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  window.location = target;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  if (e) return LAPI.Evt.kill (e);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  return false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  };</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var imgs = msg.getElementsByTagName ('img');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (!imgs || imgs.length == 0) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 // We're supposed to have a spans giving the button text</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var text = msg.firstChild;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (text.nodeName.toLowerCase () == 'span')</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 text = LAPI.DOM.getInnerText (text);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 else</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 text = 'Help';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 return LAPI.DOM.makeButton (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  'ImageAnnotationHelpButton'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  , text</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  , make_handler (tgt)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 return Buttons.makeButton (imgs, 'ImageAnnotationHelpButton', make_handler (tgt));</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 get_cover : function ()</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var self = IA;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (!self.cover) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var pos = { position : 'absolute'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,left\u00a0 \u00a0  : '0px'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,top\u00a0 \u00a0 \u00a0 : '0px'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,width\u00a0 \u00a0 : self.viewers[0].thumb.width + 'px'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,height\u00a0  : self.viewers[0].thumb.height + 'px'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 };</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.cover = LAPI.make ('div', null, pos);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.border = self.cover.cloneNode (false);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 Object.merge (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 {border: '3px solid green', top: '-3px', left: '-3px'}, self.border.style);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.cover.style.zIndex\u00a0  = 2000;\u00a0 \u00a0 \u00a0  // Above the tooltips</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (LAPI.Browser.is_ie) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 var shim = LAPI.make ('iframe', {frameBorder: 0, tabIndex: -1}, pos);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 shim.style.filter\u00a0  = 'alpha(Opacity=0)'; // Ensure transparency</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 // Unfortunately, IE6/SP2 has a &quot;security setting&quot; called &quot;Binary and script</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 // behaviors&quot;. If that is disabled, filters don't work, and our iframe would</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 // appear as a white rectangle. Fix this by first placing the iframe just above</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 // image (to block that windowed control) and then placing *another div* just</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 // above that shim having the image as its background image.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 var imgZ = self.viewers[0].img.style.zIndex;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 if (isNaN (imgZ)) imgZ = 10; // Arbitrary, positive, &gt; 1, &lt; 500</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 shim.style.zIndex\u00a0  = imgZ + 1;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 self.ieFix = shim;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 // And now the bgImage div...</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 shim = LAPI.make ('div', null, pos);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 Object.merge (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 { top\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 : '0px'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,backgroundImage: 'url(' + self.viewers[0].img.src + ')'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0  ,zIndex\u00a0 \u00a0 \u00a0 \u00a0  : imgZ + 2</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 , shim.style</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 self.ieFix2 = shim;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (LAPI.Browser.is_opera) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 // It appears that events just pass through completely transparent divs on Opera.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 // Hence we have to ensure that these events are killed even if our cover doesn't</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 // handle them.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 var shim = LAPI.make ('div', null, pos);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 shim.style.zIndex = self.cover.style.zIndex - 1;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 LAPI.Evt.attach (shim, 'mousemove',</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 function (evt) {return LAPI.Evt.kill (evt || window.event);});</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 LAPI.Evt.attach (shim, 'mousedown',</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 function (evt) {return LAPI.Evt.kill (evt || window.event);});</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 LAPI.Evt.attach (shim, 'mouseup',</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 function (evt) {return LAPI.Evt.kill (evt || window.event);});</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 shim.style.cursor = 'default';</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 self.eventFix = shim;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.cover_visible = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 return self.cover;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 show_cover : function ()</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var self = IA;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (self.cover &amp;&amp; !self.cover_visible) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (self.ieFix) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 self.viewers[0].img_div.appendChild (self.ieFix);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 self.viewers[0].img_div.appendChild (self.ieFix2);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (self.eventFix) self.viewers[0].img_div.appendChild (self.eventFix);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.viewers[0].img_div.appendChild (self.cover);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.cover_visible = true;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 hide_cover : function ()</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var self = IA;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (self.cover &amp;&amp; self.cover_visible) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (self.ieFix) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 LAPI.DOM.removeNode (self.ieFix);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 LAPI.DOM.removeNode (self.ieFix2);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (self.eventFix) LAPI.DOM.removeNode (self.eventFix);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 LAPI.DOM.removeNode (self.cover);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 self.cover_visible = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 getRawItem : function (what, scope)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var node = null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (!scope || scope == document) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 node = LAPI.$ ('image_annotation_' + what);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 node = getElementsByClassName (scope, '*', 'image_annotation_' + what);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (node &amp;&amp; node.length &gt; 0) node = node[0]; else node = null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 return node;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 getItem : function (what, scope)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var node = IA.getRawItem (what, scope);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (!node) return null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 return LAPI.DOM.getInnerText (node).trim();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 getIntItem : function (what, scope)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var x = IA.getItem (what, scope);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (x !== null) x = parseInt (x, 10);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 return x;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 findNote : function (text, id)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 function find (text, id, delim) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var start = delim.start.replace ('$1', id);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var start_match = text.indexOf (start);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (start_match &lt; 0) return null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var end = delim.end.replace ('$1', id);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var end_match = text.indexOf (end);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (end_match &lt; start_match + start.length) return null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 return {start: start_match, end: end_match + end.length};\u00a0 </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var result = null;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 for (var i=0; i &lt; IA.note_delim.length &amp;&amp; !result; i++) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 result = find (text, id, IA.note_delim[i]);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 return result;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 setWikitext : function (pagetext)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var self = IA;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (self.wiki_read) return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 Array.forEach (self.viewers[0].annotations,</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 function (note) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 if (note.model.id &gt;= 0) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var span = self.findNote (pagetext, note.model.id)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (!span) return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 // Now extract the wikitext</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var code = pagetext.substring (span.start, span.end);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 for (var i = 0; i &lt; self.note_delim.length; i++) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var start = self.note_delim[i].content_start.replace ('$1', note.model.id);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var end\u00a0  = self.note_delim[i].content_end.replace ('$1', note.model.id);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var j = code.indexOf (start);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var k = code.indexOf (end);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (j &gt;= 0 &amp;&amp; k &gt;= 0 &amp;&amp; k &gt;= j + start.length) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 note.model.wiki = code.substring (j + start.length, k).trim();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 return;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 );</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 self.wiki_read = true;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 setSummary : function (summary, initial_text, note_text)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (initial_text.contains ('$1')) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var max = (summary.maxlength || 200) - initial_text.length;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (note_text)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 initial_text =</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 initial_text.replace ('$1', ': ' + note_text.replace ('\\n', ' ').substring (0, max));</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 else</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 initial_text = initial_text.replace ('$1', &quot;&quot;);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 summary.value = initial_text;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 getScript : function (url, bypass_local_cache, bypass_caches)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Don't use LAPI here, it may not yet be available</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (bypass_caches) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 url += ((url.indexOf ('?') &gt;= 0) ? '&amp;' : '?') + 'dummyTimestamp=' + (new Date()).getTime ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 // Avoid protocol</ins>-<ins class=\"diffchange diffchange-inline\">relative URIs (IE7 bug)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (url.length &gt;= 2 &amp;&amp; url.substring(0, 2) == '//') url = document.location.protocol + url;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (bypass_local_cache) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 var s = document.createElement ('script');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 s.setAttribute ('src', url);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 s.setAttribute ('type', 'text/javascript');</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 document.getElementsByTagName ('head')[0].appendChild (s);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 return s;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 } else {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 return importScriptURI (url);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 },</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 canEdit : function ()</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 var self = IA;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 if (self.may_edit) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 if (!self.ajaxQueried) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 self.haveAjax = (LAPI.Ajax.getRequest () != null);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 self.ajaxQueried = true;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 self.may_edit = self.haveAjax;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 if (!self.may_edit &amp;&amp; self.button_div) {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 LAPI.DOM.removeChildren (self.button_div);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.button_div.appendChild</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (ImageAnnotator.UI.get ('wpImageAnnotatorCannotEditMsg', false));</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.viewers[0</ins>]<ins class=\"diffchange diffchange-inline\">.msg.style.display = &quot;&quot;;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 self.viewers[0].cannotEdit ();</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 return self.may_edit;</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">}; // end IA</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">window.ImageAnnotator = {</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 install: function (config) { IA.install (config); }</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">};</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">// Start it. Bypass caches; but allow for 4 hours client-side caching. Small file.</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">IA.getScript (</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0  wgScript + '?title=MediaWiki:ImageAnnotatorConfig.js&amp;action=raw&amp;ctype=text/javascript'</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 + '&amp;dummy=' + Math.floor ((new Date()).getTime () / (14400 * 1000)) // 4 hours</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> , true // No local caching!</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">);</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">})(); // end local scope</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">} // end if (guard against double inclusions)</ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">\u00a0</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">// &lt;/source&gt;</ins></div></td></tr>\n"
    }
}