PageRenderTime 26ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 0ms

/dont-text-info/analysis/tc.js

https://github.com/koto/blog-kotowicz-net-examples
JavaScript | 389 lines | 388 code | 0 blank | 1 comment | 108 complexity | f20c4761c31cb104159a16c27f072960 MD5 | raw file
  1. //v8 © 2010 Tynt
  2. var Tynt = Tynt || [];
  3. if (typeof Tynt.TCL == "undefined") {
  4. (function() {
  5. var Y = function() {
  6. var h = document, p = h.body, q = h.documentElement, O = eval("/*@cc_on!@*/false"), y = "w."
  7. + (Tynt.e || "") + "ic.tynt.com", P = "p." + (Tynt.e || "")
  8. + "ic.tynt.com", F = function(a, b) {
  9. for ( var c = "", e = 0; e < b; e++)
  10. c += a;
  11. return c
  12. }, z = F("a", 50), A = function(a) {
  13. return a.replace(/^\s+|\s+$/g, "")
  14. }, Q = function(a, b, c) {
  15. a = h.createElement(a);
  16. for ( var e in b)
  17. if (b.hasOwnProperty(e))
  18. a[e] = b[e];
  19. for ( var g in c)
  20. if (c.hasOwnProperty(g))
  21. a.style[g] = c[g];
  22. return a
  23. }, B, r;
  24. if (window.addEventListener) {
  25. B = function(a, b, c) {
  26. a.addEventListener(b, c, false)
  27. };
  28. r = function(a, b, c) {
  29. a.removeEventListener(b, c, false)
  30. }
  31. } else {
  32. B = function(a, b, c) {
  33. a.attachEvent("on" + b, c)
  34. };
  35. r = function(a, b, c) {
  36. a.detachEvent("on" + b, c)
  37. }
  38. }
  39. var R = function(a, b) {
  40. var c = window.location.hostname.split("."), e = 2;
  41. do {
  42. var g = c.slice(c.length - e, c.length).join(".");
  43. h.cookie = a + ";path=/;domain=." + g + ";" + b;
  44. e++
  45. } while (h.cookie.indexOf(a) == -1 && e <= c.length);
  46. if (h.cookie.indexOf(a) == -1)
  47. h.cookie = a + ";path=/;" + b
  48. }, l = function(a, b) {
  49. var c = [], e = function(f, d) {
  50. c.push( [ f, d ])
  51. }, g = function(f, d) {
  52. var k = Q("img", {
  53. width : 0,
  54. height : 0,
  55. src : "http://"
  56. + f.replace("id=" + z, "id=" + Tynt.join("~"))
  57. }, {
  58. position : "absolute",
  59. top : "0"
  60. });
  61. if (window.addEventListener) {
  62. k.addEventListener("load", function(i) {
  63. i.target.parentNode.removeChild(i.target)
  64. }, false);
  65. k.addEventListener("error", function(i) {
  66. d && d();
  67. i.target.parentNode.removeChild(i.target)
  68. }, false)
  69. } else {
  70. k.attachEvent("onload", function(i) {
  71. i.srcElement.parentNode.removeChild(i.srcElement)
  72. });
  73. k.attachEvent("onerror", function(i) {
  74. d && d();
  75. i.srcElement.parentNode.removeChild(i.srcElement)
  76. })
  77. }
  78. p.insertBefore(k, p.firstChild)
  79. };
  80. if (h.readyState == "complete")
  81. l = g;
  82. else {
  83. l = e;
  84. B(window, "load", function() {
  85. setTimeout(function() {
  86. if (typeof h.readyState == "undefined" && !O)
  87. h.readyState = "complete";
  88. l = g;
  89. for ( var f = 0; f < c.length; f++)
  90. l(c[f][0], c[f][1]);
  91. c = null
  92. }, 10)
  93. })
  94. }
  95. l(a, b)
  96. }, G = function(a) {
  97. var b = [], c = "";
  98. for ( var e in a) {
  99. b.push(c, e, "=", a[e]);
  100. c = "&"
  101. }
  102. return b.join("")
  103. }, I = function(a) {
  104. for ( var b = 0, c = a.length < 100 ? a.length : 100, e = 0; e < c; e++)
  105. b += a.charCodeAt(e);
  106. a = Math.floor(Math.random() * 3844);
  107. c = Math.abs((new Date).getTime() - 12281184E5);
  108. return H(c, 7) + H((b + a) % 3844, 2)
  109. }, J = function(a) {
  110. if (a < 62)
  111. return "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
  112. .charAt(this);
  113. else {
  114. var b = Math.floor(a / 62);
  115. a = a - b * 62;
  116. return b >= 62 ? J(b)
  117. + "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
  118. .charAt(a)
  119. : "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
  120. .charAt(b)
  121. + "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
  122. .charAt(a)
  123. }
  124. }, H = function(a, b) {
  125. var c = J(a);
  126. return F("0", b - c.length) + c
  127. }, K = A((h.title || window.location.hostname).toString()).replace(
  128. RegExp(window.location.hash, "g"), ""), S = function() {
  129. for ( var a = h.getElementsByTagName("link"), b = 0; b < a.length; b++)
  130. if (a[b].getAttribute("rel")
  131. && a[b].getAttribute("rel").match("canonical")) {
  132. a = a[b].getAttribute("href");
  133. b = window.location.protocol + "//"
  134. + window.location.host
  135. + window.location.pathname;
  136. var c = h.getElementsByTagName("base")[0];
  137. if (c)
  138. b = c.getAttribute("href");
  139. if (!a.match(/^http/)) {
  140. b = a.charAt(0) != "/" ? b.slice(0, b
  141. .lastIndexOf("/") + 1) : b.slice(0, b
  142. .indexOf("/", 9));
  143. a = b + a
  144. }
  145. return a
  146. }
  147. return ""
  148. }, L = function(a) {
  149. return a.replace(/^https?:\/\//, "")
  150. }, T = function(a, b) {
  151. for ( var c = b + "=", e = a.split(";"), g = 0; g < e.length; g++) {
  152. for ( var f = e[g]; f.charAt(0) == " ";)
  153. f = f.substring(1, f.length);
  154. if (f.indexOf(c) == 0)
  155. return f.substring(c.length, f.length)
  156. }
  157. return null
  158. }, U = function() {
  159. var a = T(h.cookie, "tracertraffic"), b = encodeURIComponent(L(S())), c = h.location.hash;
  160. c = /tynt=/.test(c) ? c.match(/tynt=?([^?&$#]*)/)[1] : false;
  161. var e = P + "/b/p?id=" + z + (a ? "&et=" + a : "")
  162. + (c ? "&a=" + c : "") + "&ts=" + (new Date).getTime(), g = e
  163. + (b ? "&cu=" + b : ""), f = g
  164. + (h.referrer ? "&r="
  165. + encodeURIComponent(L(h.referrer)) : "");
  166. a = f + "&t=" + encodeURIComponent(K);
  167. l(a, function() {
  168. l(f, function() {
  169. l(g, function() {
  170. l(e)
  171. })
  172. })
  173. })
  174. };
  175. r = function() {
  176. var a = [];
  177. return function(b) {
  178. for ( var c = a.length - 1; c >= 0; c--)
  179. if (a[c] == b)
  180. return false;
  181. a.unshift(b);
  182. a.length > 3 && a.pop();
  183. return true
  184. }
  185. };
  186. var V = r(), W = r(), X = function() {
  187. var a, b = function() {
  188. window.removeEventListener("blur", b, false);
  189. C(a);
  190. return true
  191. };
  192. return function(c) {
  193. a = c.target || c.srcElement;
  194. window.removeEventListener("blur", b, false);
  195. if (a.nodeName == "IMG" && a.parentNode.nodeName != "A") {
  196. window.addEventListener("blur", b, false);
  197. window.setTimeout(function() {
  198. h.removeEventListener("blur", b, false)
  199. }, 1E4)
  200. }
  201. return true
  202. }
  203. }(), M = function(a) {
  204. C(a.target || a.srcElement)
  205. }, v = null, N = function(a) {
  206. a = a.target || a.srcElement;
  207. v = a.nodeName == "IMG" ? a : null
  208. }, D = function() {
  209. var a = function(d) {
  210. return {
  211. x : typeof d.pageX == "number" ? d.pageX
  212. - (q.scrollLeft ? q.scrollLeft : p.scrollLeft)
  213. : d.clientX,
  214. y : typeof d.pageY == "number" ? d.pageY
  215. - (q.scrollTop ? q.scrollTop : p.scrollTop)
  216. : d.clientY
  217. }
  218. }, b = function(d) {
  219. d = a(d);
  220. return d.x <= 0 || d.y <= 0 || d.x >= p.clientWidth
  221. || d.y >= p.clientHeight
  222. }, c = function(d) {
  223. d = a(d);
  224. return d.x <= 0 || d.y <= 0 || d.x >= q.clientWidth
  225. || d.y >= q.clientHeight
  226. }, e = function(d) {
  227. return d.target.nodeName == "#document"
  228. }, g = function(d) {
  229. d = a(d);
  230. return d.x <= 4 || d.y <= 4 || d.x >= q.clientWidth - 4
  231. || d.y >= q.clientHeight - 4
  232. }, f = function(d) {
  233. f = window.navigator.userAgent.match("MSIE") ? !h.compatMode
  234. || h.compatMode.indexOf("CSS") == -1 ? b : c
  235. : window.navigator.userAgent.match("Firefox") ? e
  236. : g;
  237. f(d)
  238. };
  239. return function(d) {
  240. if (v && f(d)) {
  241. C(v);
  242. v = null
  243. }
  244. return true
  245. }
  246. }();
  247. if (Tynt.c)
  248. r = function() {
  249. };
  250. else {
  251. Tynt.c = true;
  252. r = function() {
  253. var a = true, b, c = function(e, g) {
  254. var f;
  255. f = (f = A(g)) ? f.split(/\s+/i).length : 0;
  256. var d = {
  257. id : z,
  258. wc : f,
  259. c : g,
  260. f : a ? 1 : 0,
  261. t : K
  262. };
  263. for ( var k in e)
  264. if (e.hasOwnProperty(k))
  265. d[k] = e[k];
  266. a = false;
  267. k = d.trace_type;
  268. delete d.trace_type;
  269. f = d.g;
  270. delete d.g;
  271. for ( var i = [], u = [ "id", "wc", "f", "w", "h", "t",
  272. "c" ], m = 0; m < u.length; m++) {
  273. var n = u[m], o = d[n];
  274. o
  275. && i.push( [
  276. n,
  277. encodeURIComponent(o).replace(
  278. /\'/g, "%27") ]);
  279. delete d[n]
  280. }
  281. for ( var j in d)
  282. if (d.hasOwnProperty(j))
  283. (u = d[j])
  284. && i.push( [
  285. j,
  286. encodeURIComponent(u).replace(
  287. /\'/g, "%27") ]);
  288. j = [];
  289. d = 2048 - (("http://" + y + "/a/t/x#?").length
  290. + (3 + f.length) + 5);
  291. u = i.length;
  292. m = 0;
  293. var t, w, E, x, s = n = o = 0;
  294. for (j[s] = {
  295. g : f,
  296. tp : null
  297. }; m < u;) {
  298. t = i[m][0];
  299. E = t.length + 2;
  300. w = d - E - n;
  301. if (w > 0) {
  302. j[s][t] = i[m][1].substring(o, o + w);
  303. x = j[s][t].slice(-2).indexOf("%");
  304. if (x > -1) {
  305. j[s][t] = i[m][1].substring(o, o + w - 2
  306. + x);
  307. n += x + 2
  308. }
  309. n += j[s][t].length + E;
  310. o += j[s][t].length
  311. } else
  312. n = d;
  313. if (n >= d) {
  314. j[++s] = {
  315. g : f,
  316. p : s
  317. };
  318. n = 0
  319. }
  320. if (o >= i[m][1].length) {
  321. m++;
  322. o = 0
  323. }
  324. }
  325. j[0].tp = j.length;
  326. l(y + "/b/t/" + k + "?" + G(j[0]));
  327. for (f = 1; f < j.length; f++)
  328. l(y + "/b/x/" + k + "?" + G(j[f]))
  329. };
  330. if (window.addEventListener) {
  331. window.navigator.userAgent.match("Firefox/2")
  332. || p.addEventListener("copy", M, false);
  333. window.addEventListener("mousedown", N, false);
  334. window.addEventListener("dragleave", D, false);
  335. window.addEventListener("dragexit", D, false);
  336. h.addEventListener("contextmenu", X, false)
  337. } else {
  338. p.attachEvent("oncopy", M);
  339. h.getElementsByTagName("html")[0].attachEvent(
  340. "ondragleave", D);
  341. p.attachEvent("onmousedown", N)
  342. }
  343. if (h.cookie.indexOf("tracertraffic=") != -1)
  344. if (!h.referrer
  345. || h.referrer.indexOf(window.location.host) == -1)
  346. R("tracertraffic=0",
  347. "expires=Thu, 01 Jan 1970 00:00:00 GMT");
  348. U();
  349. return function(e) {
  350. var g;
  351. g = e.src;
  352. if (!h.getElementById("tyntSS"))
  353. if (g) {
  354. if (W(g)) {
  355. g = g;
  356. c( {
  357. g : I(g),
  358. trace_type : 3,
  359. w : e.width,
  360. h : e.height
  361. }, g)
  362. }
  363. } else {
  364. g = typeof window.getSelection != "undefined" ? window
  365. .getSelection().toString()
  366. : h.selection.createRange().text;
  367. if (!(!A(g).length || e.nodeName == "TEXTAREA" || e.nodeName == "INPUT")) {
  368. e = V(g);
  369. var f = {
  370. trace_type : 1
  371. };
  372. if (e)
  373. b = I(g);
  374. f.g = b;
  375. var d = Tynt.m ? Tynt.m(f, g) : true;
  376. e && d && c(f, g)
  377. }
  378. }
  379. }
  380. }
  381. }
  382. var C = r()
  383. };
  384. Tynt.TCL = function() {
  385. document.body ? Y() : window.setTimeout(Tynt.TCL, 300)
  386. }
  387. })();
  388. Tynt.TCL()
  389. };