Created
March 20, 2011 16:13
-
-
Save dustingetz/878416 to your computer and use it in GitHub Desktop.
buzz note bookmarklet
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| javascript: | |
| var b=document.body; | |
| var GR________bookmarklet_domain='http://www.google.com'; | |
| if(b && !document.xmlVersion) { | |
| void(z=document.createElement('script')); | |
| void(z.src='http://www.google.com/reader/ui/link-bookmarklet.js'); | |
| void(b.appendChild(z)); | |
| } | |
| else{} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| (function () { | |
| var h = void 0, | |
| i = null, | |
| o, aa = "/reader/link-frame"; | |
| var p = this; | |
| function q() {} | |
| function s(a) { | |
| var b = typeof a; | |
| if (b == "object") if (a) { | |
| if (a instanceof Array) return "array"; | |
| else if (a instanceof Object) return b; | |
| var c = Object.prototype.toString.call(a); | |
| if (c == "[object Window]") return "object"; | |
| if (c == "[object Array]" || typeof a.length == "number" && typeof a.splice != "undefined" && typeof a.propertyIsEnumerable != "undefined" && !a.propertyIsEnumerable("splice")) return "array"; | |
| if (c == "[object Function]" || typeof a.call != "undefined" && typeof a.propertyIsEnumerable != "undefined" && !a.propertyIsEnumerable("call")) return "function" | |
| } else | |
| return "null"; | |
| else if (b == "function" && typeof a.call == "undefined") return "object"; | |
| return b | |
| } | |
| var t = "closure_uid_" + Math.floor(Math.random() * 2147483648).toString(36), | |
| ba = 0; | |
| function ca(a) { | |
| return a.call.apply(a.o, arguments) | |
| } | |
| function da(a, b) { | |
| var c = b || p; | |
| if (arguments.length > 2) { | |
| var d = Array.prototype.slice.call(arguments, 2); | |
| return function () { | |
| var f = Array.prototype.slice.call(arguments); | |
| Array.prototype.unshift.apply(f, d); | |
| return a.apply(c, f) | |
| } | |
| } else | |
| return function () { | |
| return a.apply(c, arguments) | |
| } | |
| } | |
| function v() { | |
| v = Function.prototype.o && Function.prototype.o.toString().indexOf("native code") != -1 ? ca : da; | |
| return v.apply(i, arguments) | |
| } | |
| function w(a, b) { | |
| function c() {} | |
| c.prototype = b.prototype; | |
| a.C = b.prototype; | |
| a.prototype = new c | |
| } | |
| function ea(a) { | |
| for (var b = 1; b < arguments.length; b++) { | |
| var c = String(arguments[b]).replace(/\$/g, "$$$$"); | |
| a = a.replace(/\%s/, c) | |
| } | |
| return a | |
| } | |
| function fa(a) { | |
| return a.replace(/^[\s\xa0]+|[\s\xa0]+$/g, "") | |
| } | |
| var ga = /^[a-zA-Z0-9\-_.!~*'()]*$/; | |
| function ha(a) { | |
| a = String(a); | |
| if (!ga.test(a)) return encodeURIComponent(a); | |
| return a | |
| } | |
| function ia(a, b) { | |
| if (b) return a.replace(ja, "&").replace(ka, "<").replace(la, ">").replace(ma, """); | |
| else { | |
| if (!na.test(a)) return a; | |
| a.indexOf("&") != -1 && (a = a.replace(ja, "&")); | |
| a.indexOf("<") != -1 && (a = a.replace(ka, "<")); | |
| a.indexOf(">") != -1 && (a = a.replace(la, ">")); | |
| a.indexOf('"') != -1 && (a = a.replace(ma, """)); | |
| return a | |
| } | |
| } | |
| var ja = /&/g, | |
| ka = /</g, | |
| la = />/g, | |
| ma = /\"/g, | |
| na = /[&<>\"]/; | |
| function oa(a, b) { | |
| for (var c = 0, d = fa(String(a)).split("."), f = fa(String(b)).split("."), e = Math.max(d.length, f.length), g = 0; c == 0 && g < e; g++) { | |
| var j = d[g] || "", | |
| m = f[g] || "", | |
| l = RegExp("(\\d*)(\\D*)", "g"), | |
| u = RegExp("(\\d*)(\\D*)", "g"); | |
| do { | |
| var n = l.exec(j) || ["", "", ""], | |
| k = u.exec(m) || ["", "", ""]; | |
| if (n[0].length == 0 && k[0].length == 0) break; | |
| c = pa(n[1].length == 0 ? 0 : parseInt(n[1], 10), k[1].length == 0 ? 0 : parseInt(k[1], 10)) || pa(n[2].length == 0, k[2].length == 0) || pa(n[2], k[2]) | |
| } while (c == 0) | |
| } | |
| return c | |
| } | |
| function pa(a, b) { | |
| if (a < b) return -1; | |
| else if (a > b) return 1; | |
| return 0 | |
| } | |
| var qa = Array.prototype, | |
| ra = qa.indexOf ? | |
| function (a, b, c) { | |
| return qa.indexOf.call(a, b, c) | |
| } : function (a, b, c) { | |
| c = c == i ? 0 : c < 0 ? Math.max(0, a.length + c) : c; | |
| if (typeof a == "string") { | |
| if (typeof b != "string" || b.length != 1) return -1; | |
| return a.indexOf(b, c) | |
| } | |
| for (; c < a.length; c++) if (c in a && a[c] === b) return c; | |
| return -1 | |
| }, | |
| x, sa, y, ta, ua; | |
| function va() { | |
| return p.navigator ? p.navigator.userAgent : i | |
| } | |
| function z() { | |
| return p.navigator | |
| } | |
| x = !1; | |
| sa = !1; | |
| y = !1; | |
| ta = !1; | |
| var A; | |
| if (A = va()) { | |
| var wa = z(); | |
| x = A.indexOf("Opera") == 0; | |
| sa = !x && A.indexOf("MSIE") != -1; | |
| y = !x && A.indexOf("WebKit") != -1; | |
| ta = !x && !y && wa.product == "Gecko" | |
| } | |
| var xa = x, | |
| B = sa, | |
| C = ta, | |
| D = y, | |
| ya = z(); | |
| ua = (ya && ya.platform || "").indexOf("Mac") != -1; | |
| z() && z(); | |
| var za; | |
| a: { | |
| var E = "", | |
| F; | |
| if (xa && p.opera) { | |
| var Aa = p.opera.version; | |
| E = typeof Aa == "function" ? Aa() : Aa | |
| } else { | |
| C ? F = /rv\:([^\);]+)(\)|;)/ : B ? F = /MSIE\s+([^\);]+)(\)|;)/ : D && (F = /WebKit\/(\S+)/); | |
| if (F) { | |
| var Ba = F.exec(va()); | |
| E = Ba ? Ba[1] : "" | |
| } | |
| } | |
| if (B) { | |
| var Ca, Da = p.document; | |
| Ca = Da ? Da.documentMode : h; | |
| if (Ca > parseFloat(E)) { | |
| za = String(Ca); | |
| break a | |
| } | |
| } | |
| za = E | |
| } | |
| var Ea = za, | |
| Fa = {}; | |
| function G(a) { | |
| return Fa[a] || (Fa[a] = oa(Ea, a) >= 0) | |
| } | |
| var Ga = new Function("a", "return a"), | |
| Ha;!B || G("9");B && G("8"); | |
| function H() {} | |
| H.prototype.s = !1; | |
| H.prototype.i = function () { | |
| if (!this.s) { | |
| this.s = !0; | |
| this.d() | |
| } | |
| };H.prototype.d = function () {}; | |
| function I(a, b) { | |
| this.type = a; | |
| this.currentTarget = this.target = b | |
| } | |
| w(I, H);I.prototype.d = function () { | |
| delete this.type; | |
| delete this.target; | |
| delete this.currentTarget | |
| };I.prototype.n = !1;I.prototype.M = !0; | |
| function J(a, b) { | |
| a && this.e(a, b) | |
| } | |
| w(J, I);o = J.prototype;o.target = i;o.relatedTarget = i;o.offsetX = 0;o.offsetY = 0;o.clientX = 0;o.clientY = 0;o.screenX = 0;o.screenY = 0;o.button = 0;o.keyCode = 0;o.charCode = 0;o.ctrlKey = !1;o.altKey = !1;o.shiftKey = !1; | |
| o.metaKey = !1;o.L = !1;o.t = i; | |
| o.e = function (a, b) { | |
| var c = this.type = a.type; | |
| I.call(this, c); | |
| this.target = a.target || a.srcElement; | |
| this.currentTarget = b; | |
| var d = a.relatedTarget; | |
| if (d) { | |
| if (C) try { | |
| Ga(d.nodeName) | |
| } catch (f) { | |
| d = i | |
| } | |
| } else if (c == "mouseover") d = a.fromElement; | |
| else if (c == "mouseout") d = a.toElement; | |
| this.relatedTarget = d; | |
| this.offsetX = a.offsetX !== h ? a.offsetX : a.layerX; | |
| this.offsetY = a.offsetY !== h ? a.offsetY : a.layerY; | |
| this.clientX = a.clientX !== h ? a.clientX : a.pageX; | |
| this.clientY = a.clientY !== h ? a.clientY : a.pageY; | |
| this.screenX = a.screenX || 0; | |
| this.screenY = a.screenY || 0; | |
| this.button = a.button; | |
| this.keyCode = a.keyCode || 0; | |
| this.charCode = a.charCode || (c == "keypress" ? a.keyCode : 0); | |
| this.ctrlKey = a.ctrlKey; | |
| this.altKey = a.altKey; | |
| this.shiftKey = a.shiftKey; | |
| this.metaKey = a.metaKey; | |
| this.L = ua ? a.metaKey : a.ctrlKey; | |
| this.state = a.state; | |
| this.t = a; | |
| delete this.M; | |
| delete this.n | |
| };o.d = function () { | |
| J.C.d.call(this); | |
| this.relatedTarget = this.currentTarget = this.target = this.t = i | |
| }; | |
| function K(a, b) { | |
| this.v = b; | |
| this.b = []; | |
| if (a > this.v) throw Error("[goog.structs.SimplePool] Initial cannot be greater than max"); | |
| for (var c = 0; c < a; c++) this.b.push(this.a ? this.a() : {}) | |
| } | |
| w(K, H);K.prototype.a = i;K.prototype.r = i; | |
| function Ia(a) { | |
| if (a.b.length) return a.b.pop(); | |
| return a.a ? a.a() : {} | |
| } | |
| function L(a, b) { | |
| a.b.length < a.v ? a.b.push(b) : Ja(a, b) | |
| } | |
| function Ja(a, b) { | |
| if (a.r) a.r(b); | |
| else { | |
| var c = s(b); | |
| if (c == "object" || c == "array" || c == "function") if (s(b.i) == "function") b.i(); | |
| else | |
| for (var d in b) delete b[d] | |
| } | |
| } | |
| K.prototype.d = function () { | |
| K.C.d.call(this); | |
| for (var a = this.b; a.length;) Ja(this, a.pop()); | |
| delete this.b | |
| }; | |
| var Ka; | |
| var La = (Ka = "ScriptEngine" in p && p.ScriptEngine() == "JScript") ? p.ScriptEngineMajorVersion() + "." + p.ScriptEngineMinorVersion() + "." + p.ScriptEngineBuildVersion() : "0"; | |
| function Ma() {} | |
| var Na = 0;o = Ma.prototype;o.key = 0;o.g = !1;o.p = !1; | |
| o.e = function (a, b, c, d, f, e) { | |
| if (s(a) == "function") this.u = !0; | |
| else if (a && a.handleEvent && s(a.handleEvent) == "function") this.u = !1; | |
| else | |
| throw Error("Invalid listener argument"); | |
| this.m = a; | |
| this.z = b; | |
| this.src = c; | |
| this.type = d; | |
| this.H = !! f; | |
| this.J = e; | |
| this.p = !1; | |
| this.key = ++Na; | |
| this.g = !1 | |
| };o.handleEvent = function (a) { | |
| if (this.u) return this.m.call(this.J || this.src, a); | |
| return this.m.handleEvent.call(this.m, a) | |
| }; | |
| var M, Oa, N, Pa, Qa, Ra, Sa, Ta; | |
| (function () { | |
| function a() { | |
| return { | |
| c: 0, | |
| f: 0 | |
| } | |
| } | |
| function b() { | |
| return [] | |
| } | |
| function c() { | |
| function k(r) { | |
| return g.call(k.src, k.key, r) | |
| } | |
| return k | |
| } | |
| function d() { | |
| return new Ma | |
| } | |
| function f() { | |
| return new J | |
| } | |
| var e = Ka && !(oa(La, "5.7") >= 0), | |
| g; | |
| Pa = function (k) { | |
| g = k | |
| }; | |
| if (e) { | |
| M = function (k) { | |
| L(j, k) | |
| }; | |
| Oa = function () { | |
| return Ia(m) | |
| }; | |
| N = function (k) { | |
| L(m, k) | |
| }; | |
| Qa = function () { | |
| L(l, c()) | |
| }; | |
| Ra = function (k) { | |
| L(u, k) | |
| }; | |
| Sa = function () { | |
| return Ia(n) | |
| }; | |
| Ta = function (k) { | |
| L(n, k) | |
| }; | |
| var j = new K(0, 600); | |
| j.a = a; | |
| var m = new K(0, 600); | |
| m.a = b; | |
| var l = new K(0, 600); | |
| l.a = c; | |
| var u = new K(0, 600); | |
| u.a = d; | |
| var n = new K(0, 600); | |
| n.a = f | |
| } else { | |
| M = q; | |
| Oa = b; | |
| Ra = Qa = N = q; | |
| Sa = f; | |
| Ta = q | |
| } | |
| })(); | |
| var O = {}, | |
| P = {}, | |
| Ua = {}, | |
| Va = {}; | |
| function Wa(a, b, c, d) { | |
| if (!d.j && d.w) { | |
| for (var f = 0, e = 0; f < d.length; f++) if (d[f].g) { | |
| var g = d[f].z; | |
| g.src = i; | |
| Qa(g); | |
| Ra(d[f]) | |
| } else { | |
| f != e && (d[e] = d[f]); | |
| e++ | |
| } | |
| d.length = e; | |
| d.w = !1; | |
| if (e == 0) { | |
| N(d); | |
| delete P[a][b][c]; | |
| P[a][b].c--; | |
| if (P[a][b].c == 0) { | |
| M(P[a][b]); | |
| delete P[a][b]; | |
| P[a].c-- | |
| } | |
| if (P[a].c == 0) { | |
| M(P[a]); | |
| delete P[a] | |
| } | |
| } | |
| } | |
| } | |
| function Xa(a) { | |
| if (a in Va) return Va[a]; | |
| return Va[a] = "on" + a | |
| } | |
| function Ya(a, b, c, d, f) { | |
| var e = 1; | |
| b = b[t] || (b[t] = ++ba); | |
| if (a[b]) { | |
| a.f--; | |
| a = a[b]; | |
| a.j ? a.j++ : a.j = 1; | |
| try { | |
| for (var g = a.length, j = 0; j < g; j++) { | |
| var m = a[j]; | |
| m && !m.g && (e &= Za(m, f) !== !1) | |
| } | |
| } finally { | |
| a.j--; | |
| Wa(c, d, b, a) | |
| } | |
| } | |
| return Boolean(e) | |
| } | |
| function Za(a, b) { | |
| var c = a.handleEvent(b); | |
| if (a.p) { | |
| var d = a.key; | |
| if (O[d]) { | |
| var f = O[d]; | |
| if (!f.g) { | |
| var e = f.src, | |
| g = f.type, | |
| j = f.z, | |
| m = f.H; | |
| e.removeEventListener ? (e == p || !e.O) && e.removeEventListener(g, j, m) : e.detachEvent && e.detachEvent(Xa(g), j); | |
| e = e[t] || (e[t] = ++ba); | |
| j = P[g][m][e]; | |
| if (Ua[e]) { | |
| var l = Ua[e], | |
| u = ra(l, f); | |
| u >= 0 && qa.splice.call(l, u, 1); | |
| l.length == 0 && delete Ua[e] | |
| } | |
| f.g = !0; | |
| j.w = !0; | |
| Wa(g, m, e, j); | |
| delete O[d] | |
| } | |
| } | |
| } | |
| return c | |
| } | |
| Pa(function (a, b) { | |
| if (!O[a]) return !0; | |
| var c = O[a], | |
| d = c.type, | |
| f = P; | |
| if (!(d in f)) return !0; | |
| f = f[d]; | |
| var e, g; | |
| Ha === h && (Ha = B && !p.addEventListener); | |
| if (Ha) { | |
| var j; | |
| if (!(j = b)) a: { | |
| j = "window.event".split("."); | |
| for (var m = p; e = j.shift();) if (m[e] != i) m = m[e]; | |
| else { | |
| j = i; | |
| break a | |
| } | |
| j = m | |
| } | |
| e = j;j = !0 in f;m = !1 in f; | |
| if (j) { | |
| if (e.keyCode < 0 || e.returnValue != h) return !0; | |
| a: { | |
| var l = !1; | |
| if (e.keyCode == 0) try { | |
| e.keyCode = -1; | |
| break a | |
| } catch (u) { | |
| l = !0 | |
| } | |
| if (l || e.returnValue == h) e.returnValue = !0 | |
| } | |
| } | |
| l = Sa();l.e(e, this);e = !0; | |
| try { | |
| if (j) { | |
| for (var n = Oa(), k = l.currentTarget; k; k = | |
| k.parentNode) n.push(k); | |
| g = f[!0]; | |
| g.f = g.c; | |
| for (var r = n.length - 1; !l.n && r >= 0 && g.f; r--) { | |
| l.currentTarget = n[r]; | |
| e &= Ya(g, n[r], d, !0, l) | |
| } | |
| if (m) { | |
| g = f[!1]; | |
| g.f = g.c; | |
| for (r = 0; !l.n && r < n.length && g.f; r++) { | |
| l.currentTarget = n[r]; | |
| e &= Ya(g, n[r], d, !1, l) | |
| } | |
| } | |
| } else e = Za(c, l) | |
| } finally { | |
| if (n) { | |
| n.length = 0; | |
| N(n) | |
| } | |
| l.i(); | |
| Ta(l) | |
| } | |
| return e | |
| } | |
| d = new J(b, this); | |
| try { | |
| e = Za(c, d) | |
| } finally { | |
| d.i() | |
| } | |
| return e | |
| }); | |
| var $a = RegExp("^(?:([^:/?#.]+):)?(?://(?:([^/?#]*)@)?([\\w\\d\\-\\u0100-\\uffff.%]*)(?::([0-9]+))?)?([^?#]+)?(?:\\?([^#]*))?(?:#(.*))?$"); | |
| function ab(a) { | |
| return a && decodeURIComponent(a) | |
| } | |
| function bb(a) { | |
| if (a[1]) { | |
| var b = a[0], | |
| c = b.indexOf("#"); | |
| if (c >= 0) { | |
| a.push(b.substr(c)); | |
| a[0] = b = b.substr(0, c) | |
| } | |
| c = b.indexOf("?"); | |
| c < 0 ? a[1] = "?" : c == b.length - 1 && (a[1] = h) | |
| } | |
| return a.join("") | |
| } | |
| var cb = /#|$/; | |
| function Q(a, b) { | |
| var c = a.search(cb), | |
| d; | |
| a: { | |
| d = 0; | |
| for (var f = b.length; | |
| (d = a.indexOf(b, d)) >= 0 && d < c;) { | |
| var e = a.charCodeAt(d - 1); | |
| if (e == 38 || e == 63) { | |
| e = a.charCodeAt(d + f); | |
| if (!e || e == 61 || e == 38 || e == 35) break a | |
| } | |
| d += f + 1 | |
| } | |
| d = -1 | |
| } | |
| if (d < 0) return i; | |
| else { | |
| f = a.indexOf("&", d); | |
| if (f < 0 || f > c) f = c; | |
| d += b.length + 1; | |
| return decodeURIComponent(a.substr(d, f - d).replace(/\+/g, " ")) | |
| } | |
| }!B || G("9");!C && !B || B && G("9") || C && G("1.9.1");B && G("9"); | |
| function R(a) { | |
| return typeof a == "string" ? document.getElementById(a) : a | |
| } | |
| B && G(8); | |
| if (window._LOGIN_URL === h) { | |
| var S; | |
| if (window._IS_MULTILOGIN_ENABLED) { | |
| S = db("AddSession", !0); | |
| S += "&Email=" + encodeURIComponent(_USER_EMAIL) | |
| } else S = db("ServiceLogin", !0); | |
| _LOGIN_URL = S | |
| } | |
| var eb = {}; | |
| function db(a, b) { | |
| var c = "https://www.google.com/accounts/" + a + "?service=reader&passive=true&nui=1<mpl=default"; | |
| if (b) { | |
| var d; | |
| try { | |
| d = window.top.location.href | |
| } catch (f) { | |
| d = window.location.href | |
| } | |
| c += "&continue=" + encodeURIComponent(d) + "&followup=" + encodeURIComponent(d) | |
| } | |
| return c | |
| } | |
| function fb() { | |
| var a = {}; | |
| if (!window || !window.location || !window.location.href) return a; | |
| var b = window.location.href.split("#")[1]; | |
| if (!b) return a; | |
| b = b.split("&"); | |
| for (var c = 0, d; d = b[c]; c++) { | |
| var f = d.indexOf("="); | |
| a[d.substring(0, f)] = d.substring(f + 1) | |
| } | |
| return a | |
| } | |
| function _finishSignIn() { | |
| if (_LINK_BOOKMARKLET_IS_STANDALONE) window.location.reload(!0); | |
| else { | |
| var a = _OPENER_URL.split("#")[0] + "#refresh=1"; | |
| try { | |
| top.location.replace(a) | |
| } catch (b) { | |
| top.location = a | |
| } | |
| } | |
| } | |
| function T() {} | |
| T.prototype.h = function () { | |
| return i | |
| }; | |
| function gb() {} | |
| w(gb, T); | |
| function hb() { | |
| if (document.selection && document.selection.createRange) { | |
| if (document.selection.createRange().text) return document.selection.createRange().htmlText | |
| } else if (window.getSelection) { | |
| var a = window.getSelection(); | |
| if (a.rangeCount > 0) { | |
| var b = document.createElement("div"); | |
| b.appendChild(a.getRangeAt(0).cloneContents()); | |
| return b.innerHTML | |
| } | |
| } | |
| return "" | |
| } | |
| gb.prototype.h = function () { | |
| return hb(this) | |
| }; | |
| function ib() {} | |
| w(ib, T); | |
| ib.prototype.h = function () { | |
| for (var a = document.getElementsByTagName("meta"), b = 0, c; c = a[b]; b++) { | |
| var d = c.getAttribute("name"); | |
| if (d && d.toUpperCase() == "DESCRIPTION") return c.getAttribute("content") | |
| } | |
| return i | |
| }; | |
| function jb() {} | |
| w(jb, T); | |
| jb.prototype.h = function () { | |
| var a; | |
| if (a = ab(window.location.href.match($a)[3] || i)) { | |
| var b = a.length - 12; | |
| a = b >= 0 && a.indexOf(".youtube.com", b) == b || a == "youtube.com" | |
| } else a = !1; | |
| if (!a) return i; | |
| if ("/watch" != window.location.pathname) return i; | |
| a = document.getElementById("embed_code"); | |
| if (!a) { | |
| var c = Q(window.location.search, "v"); | |
| if (!c) return i; | |
| c = ea("http://www.youtube.com/v/%s&fs=1", c); | |
| return ['<object align="middle" width="400" height="326"><param name="allowScriptAccess" value="never"><param name="allowFullScreen" value="true"><param name="wmode" value="transparent"><param name="movie" value="', c, '"><embed width="400px" height="326px" type="application/x-shockwave-flash" src="', c, '" allowScriptAccess="never" allowFullScreen="true" quality="best" bgcolor="#ffffff" wmode="transparent" FlashVars="playerMode=embedded" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed></object>'].join("") | |
| } | |
| b = a.value; | |
| b = /^[\s\xa0]*$/.test(b == i ? "" : String(b)) ? !1 : b.toLowerCase().lastIndexOf("<object", 0) == 0 || b.toLowerCase().lastIndexOf("<embed", 0) == 0; | |
| if (b) return a.value; | |
| a = window.location.href; | |
| b = ab(a.match($a)[5] || i); | |
| var d = b.match("/v/([^&?]+)[&?]?.*$"); | |
| if (d && d.length > 1) c = d[1]; | |
| else if (b.lastIndexOf("/watch", 0) == 0) { | |
| c = Q(a, "v"); | |
| if (!c) { | |
| c = a.indexOf("#"); | |
| (c = ab(c < 0 ? i : a.substr(c + 1))) && c.lastIndexOf("!", 0) == 0 && (c = c.substr(1)); | |
| c = Q("?" + c, "v") | |
| } | |
| } | |
| c = c ? ea("http://i.ytimg.com/vi/%s/default.jpg", c) : ""; | |
| if (c) return '<a href="' + window.location + '"><img src="' + c + '"></a><br><a href="' + window.location + '">' + window.location + "</a>"; | |
| return i | |
| }; | |
| var kb = [new jb, new gb, new ib, new T]; | |
| function lb(a, b, c) { | |
| if (a[b]) { | |
| a = window; | |
| b = window.location.href.split("#")[0] + "#"; | |
| try { | |
| a.location.replace(b) | |
| } catch (d) { | |
| a.location = b | |
| } | |
| c() | |
| } | |
| } | |
| function mb() { | |
| var a = (window.GR________bookmarklet_domain || window.location.protocol + "//" + window.location.host) + aa; | |
| "at" in eb || (eb.at = Q(window.location.search, "at")); | |
| var b = eb.at || window.GR________AT; | |
| b && (a = bb([a, "&", "at", "=", ha(b)])); | |
| return a | |
| } | |
| function nb() { | |
| var a = new U; | |
| a.D = document.title; | |
| a.F = window.location.href; | |
| var b; | |
| a: { | |
| var c = i; | |
| for (b = 0; c = kb[b]; b++) if (c = c.h()) { | |
| b = c; | |
| break a | |
| } | |
| b = "" | |
| } | |
| a.k = b;a.A = window.location.host;a.B = window.location.protocol + "//" + window.location.host + "/"; | |
| return a | |
| } | |
| function ob(a, b) { | |
| if (!document) return !1; | |
| var c = document.contentType, | |
| d; | |
| if (d = c) { | |
| if (c) { | |
| c.lastIndexOf("x-", 0) == 0 && (c = c.substring(2)); | |
| c = fa(c.split("/")[0]).toLowerCase() | |
| } else c = ""; | |
| d = c == a | |
| } | |
| if (d) return !0; | |
| if (document.body && document.body.childNodes.length == 2 && document.body.firstChild.tagName && document.body.firstChild.tagName.toLowerCase() == b) return !0; | |
| return !1 | |
| } | |
| var V = i; | |
| function W(a, b) { | |
| this.l = a; | |
| this.G = b | |
| } | |
| W.prototype.clear = function (a) { | |
| window.clearInterval(this.K); | |
| if (!this.l) { | |
| var b = R("GR________link_bookmarklet_node"); | |
| b.innerHTML = ""; | |
| a && b.parentNode.removeChild(b); | |
| V = i | |
| } | |
| }; | |
| function pb() { | |
| var a; | |
| if (D) a = window.frames.GR________link_bookmarklet_frame; | |
| else a = (a = R("GR________link_bookmarklet_frame")) ? a.contentWindow : i; | |
| return a ? !0 : !1 | |
| } | |
| W.prototype.I = function () { | |
| if (this.l || pb(this)) { | |
| var a = fb(), | |
| b = this; | |
| lb(a, "refresh", function () { | |
| b.clear(); | |
| b.e(nb()) | |
| }); | |
| lb(a, "close", v(b.clear, b, !0)) | |
| } | |
| }; | |
| W.prototype.e = function (a) { | |
| if (this.l) window.open(this.G ? qb(a, mb()) : "", "GR________link_bookmarklet_frame", "height=378,width=520") ? this.G || rb(this, a) : alert("Grrr! A popup blocker may be preventing Google Reader from opening the page. If you have a popup blocker, try disabling it to open the window."); | |
| else if (!pb(this)) { | |
| R("GR________link_bookmarklet_node").innerHTML = '<iframe frameborder="0" id="GR________link_bookmarklet_frame" name="GR________link_bookmarklet_frame" style="width:100%;height:100%;border:0px;padding:0px;margin:0px"></iframe>'; | |
| rb(this, a) | |
| } | |
| this.K = window.setInterval(v(this.I, this), 50) | |
| }; | |
| function rb(a, b) { | |
| var c = sb(b, mb(), "GR________link_bookmarklet_frame"); | |
| document.body.appendChild(c); | |
| c.submit() | |
| } | |
| function U() {} | |
| function tb(a) { | |
| var b = document.location.pathname.split("/"); | |
| a.D = b[b.length - 1]; | |
| a.F = document.location.href; | |
| a.A = window.location.host; | |
| a.B = window.location.protocol + "//" + window.location.host + "/" | |
| } | |
| function ub(a, b) { | |
| if (a.N) b("srcItemId", a.N); | |
| else { | |
| b("title", a.D); | |
| b("url", a.F); | |
| b("srcTitle", a.A); | |
| b("srcUrl", a.B); | |
| var c = a.k; | |
| c.length > 1E5 && (c = c.substring(0, 99997) + "..."); | |
| b("snippet", c) | |
| } | |
| } | |
| function sb(a, b, c) { | |
| var d = document.createElement("form"); | |
| d.method = "POST"; | |
| d.target = c; | |
| d.action = b; | |
| d.acceptCharset = "utf-8"; | |
| var f = []; | |
| ub(a, function (e, g) { | |
| g && f.push('<input type="hidden" name="' + ia(e) + '" value="' + ia(g) + '">') | |
| }); | |
| d.innerHTML = f.join(""); | |
| return d | |
| } | |
| function qb(a, b) { | |
| var c = b; | |
| ub(a, function (d, f) { | |
| f && (c = bb([c, "&", d, "=", ha(f)])) | |
| }); | |
| return c | |
| } | |
| function X(a, b, c) { | |
| b = b || B || xa; | |
| if (!b) { | |
| document.body.scrollTop = document.documentElement.scrollTop = 0; | |
| var d = R("GR________link_bookmarklet_node"); | |
| if (!d) { | |
| d = document.createElement("div"); | |
| d.id = "GR________link_bookmarklet_node"; | |
| d.style.position = B && oa(Ea, "6") == 0 ? "absolute" : "fixed"; | |
| d.style.background = "#fff"; | |
| d.style.border = "4px solid #c3d9ff"; | |
| d.style.top = "8px"; | |
| d.style.right = "8px"; | |
| d.style.width = "520px"; | |
| d.style.height = "378px"; | |
| d.style.zIndex = 2147483647; | |
| document.body.appendChild(d) | |
| } | |
| } | |
| V = new W(b, c); | |
| V.e(a) | |
| } | |
| function vb() { | |
| V.clear(!0) | |
| } | |
| var Y = "removeLinkFrame".split("."), | |
| Z = p;!(Y[0] in Z) && Z.execScript && Z.execScript("var " + Y[0]); | |
| for (var $; Y.length && ($ = Y.shift());)!Y.length && vb !== h ? Z[$] = vb : Z = Z[$] ? Z[$] : Z[$] = {}; | |
| var wb; | |
| var xb = window; | |
| try { | |
| wb = xb._USER_ID !== h && xb._USER_EMAIL !== h | |
| } catch (yb) { | |
| wb = !1 | |
| } | |
| if (!wb) if (ob("video", "embed")) { | |
| var zb = new U; | |
| tb(zb); | |
| zb.k = '<a href="' + document.location.href + '">Video</a>'; | |
| X(zb, !0, !0) | |
| } else if (ob("image", "img")) { | |
| var Ab = new U; | |
| tb(Ab); | |
| Ab.k = '<img src="' + document.location.href + '">'; | |
| X(Ab, D ? !1 : !0, D ? !1 : !0) | |
| } else if (ob("", "pre")) { | |
| var Bb = new U; | |
| tb(Bb); | |
| Bb.k = "<pre>" + document.getElementsByTagName("pre")[0].innerHTML + "</pre>"; | |
| X(Bb, !0, !0) | |
| } else X(nb()); | |
| })(); | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment