// Generated by CoffeeScript 1.6.3 var $, Util, gettext, _gettext, _ref, _t; gettext = null; if (typeof Gettext !== "undefined" && Gettext !== null) { _gettext = new Gettext({ domain: "annotator" }); gettext = function(msgid) { return _gettext.gettext(msgid); }; } else { gettext = function(msgid) { return msgid; }; } _t = function(msgid) { return gettext(msgid); }; if (!(typeof jQuery !== "undefined" && jQuery !== null ? (_ref = jQuery.fn) != null ? _ref.jquery : void 0 : void 0)) { console.error(_t("Annotator requires jQuery: have you included lib/vendor/jquery.js?")); } if (!(JSON && JSON.parse && JSON.stringify)) { console.error(_t("Annotator requires a JSON implementation: have you included lib/vendor/json2.js?")); } $ = jQuery; Util = {}; Util.flatten = function(array) { var flatten; flatten = function(ary) { var el, flat, _i, _len; flat = []; for (_i = 0, _len = ary.length; _i < _len; _i++) { el = ary[_i]; flat = flat.concat(el && $.isArray(el) ? flatten(el) : el); } return flat; }; return flatten(array); }; Util.contains = function(parent, child) { var node; node = child; while (node != null) { if (node === parent) { return true; } node = node.parentNode; } return false; }; Util.getTextNodes = function(jq) { var getTextNodes; getTextNodes = function(node) { var nodes; if (node && node.nodeType !== Node.TEXT_NODE) { nodes = []; if (node.nodeType !== Node.COMMENT_NODE) { node = node.lastChild; while (node) { nodes.push(getTextNodes(node)); node = node.previousSibling; } } return nodes.reverse(); } else { return node; } }; return jq.map(function() { return Util.flatten(getTextNodes(this)); }); }; Util.xpathFromNode = function(el, relativeRoot) { var exception, result; try { result = simpleXPathJQuery.call(el, relativeRoot); } catch (_error) { exception = _error; console.log("jQuery-based XPath construction failed! Falling back to manual."); result = simpleXPathPure.call(el, relativeRoot); } return result; }; Util.nodeFromXPath = function(xp, root) { var idx, name, node, step, steps, _i, _len, _ref1; steps = xp.substring(1).split("/"); node = root; for (_i = 0, _len = steps.length; _i < _len; _i++) { step = steps[_i]; _ref1 = step.split("["), name = _ref1[0], idx = _ref1[1]; idx = idx != null ? parseInt((idx != null ? idx.split("]") : void 0)[0]) : 1; node = findChild(node, name.toLowerCase(), idx); } return node; }; Util.escape = function(html) { return html.replace(/&(?!\w+;)/g, '&').replace(//g, '>').replace(/"/g, '"'); }; Util.uuid = (function() { var counter; counter = 0; return function() { return counter++; }; })(); Util.getGlobal = function() { return (function() { return this; })(); }; Util.maxZIndex = function($elements) { var all, el; all = (function() { var _i, _len, _results; _results = []; for (_i = 0, _len = $elements.length; _i < _len; _i++) { el = $elements[_i]; if ($(el).css('position') === 'static') { _results.push(-1); } else { _results.push(parseInt($(el).css('z-index'), 10) || -1); } } return _results; })(); return Math.max.apply(Math, all); }; Util.mousePosition = function(e, offsetEl) { var offset; offset = $(offsetEl).position(); return { top: e.pageY - offset.top, left: e.pageX - offset.left }; }; Util.preventEventDefault = function(event) { return event != null ? typeof event.preventDefault === "function" ? event.preventDefault() : void 0 : void 0; }; /* //@ sourceMappingURL=util.map */