Advertisement
Guest User

Untitled

a guest
Nov 23rd, 2014
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.50 KB | None | 0 0
  1. var exoUrl = 'http://syndication.exoclick.com/splash.php?cat=&idzone=126247&type=8&p=http%3A%2F%2Fxhamster.com%2F';
  2. var cookieName = '';
  3. var baseDomain = '';
  4.  
  5. var _top = null;
  6.  
  7. function getPuId() {
  8. return "ad_" + Math.floor(89999999 * Math.random() + 10000000)
  9. }
  10.  
  11. function addEvent(obj, type, fn) {
  12. if (obj.addEventListener) {
  13. obj.addEventListener(type, fn, false)
  14. } else if (obj.attachEvent) {
  15. obj["e" + type + fn] = fn;
  16. obj[type + fn] = function() {
  17. obj["e" + type + fn](window.event)
  18. };
  19. obj.attachEvent("on" + type, obj[type + fn])
  20. } else {
  21. obj["on" + type] = obj["e" + type + fn]
  22. }
  23. }
  24. Date.prototype.addHours = function(h) {
  25. this.setHours(this.getHours() + h);
  26. return this
  27. };
  28.  
  29. function setCookie(c_name, value, exdays) {
  30. var exdate = new Date();
  31. exdate.addHours(12);
  32. var c_value = escape(value) + ((exdays == null) ? "" : "; expires=" + exdate.toUTCString()) + "; domain=" + baseDomain + "; path=/";
  33. document.cookie = c_name + "=" + c_value
  34. }
  35.  
  36. function getCookie(c_name) {
  37. var i, x, y, ARRcookies = document.cookie.split(";");
  38. for (i = 0; i < ARRcookies.length; i++) {
  39. x = ARRcookies[i].substr(0, ARRcookies[i].indexOf("="));
  40. y = ARRcookies[i].substr(ARRcookies[i].indexOf("=") + 1);
  41. x = x.replace(/^\s+|\s+$/g, "");
  42. if (x == c_name) {
  43. return unescape(y)
  44. }
  45. }
  46. }
  47. var exopop = {
  48. settings: {
  49. width: 1024,
  50. height: 768
  51. },
  52. init: function() {
  53. var browser = exopop.browser;
  54. _top = self;
  55. if (top != self) {
  56. try {
  57. if (top.document.location.toString()) {
  58. _top = top
  59. }
  60. } catch (err) {}
  61. }
  62. if (browser.isMobile.any(_top)) {
  63. console.log('mobile');
  64. exopop.binders.mobile();
  65. return
  66. }
  67. if (browser.is.msie) {
  68. exopop.binders.firefox();
  69. return
  70. }
  71. if (browser.is.firefox) {
  72. exopop.binders.firefox();
  73. return
  74. }
  75. if (browser.is.chrome && browser.versionFrom(33) && navigator.appVersion.indexOf("Mac") != -1) {
  76. exopop.binders.chrome31();
  77. return
  78. }
  79. if (browser.is.chrome && browser.versionFrom(30) && navigator.appVersion.indexOf("Mac") != -1) {
  80. exopop.binders.chrome30_mac();
  81. return
  82. }
  83. if (browser.is.chrome && browser.versionOlderThan(30)) {
  84. exopop.binders.chromeUntil30();
  85. return
  86. }
  87. if (browser.is.chrome && browser.versionIs(30)) {
  88. exopop.binders.chrome30();
  89. return
  90. }
  91. if (browser.is.chrome && browser.versionFrom(31)) {
  92. exopop.binders.chrome31();
  93. return
  94. }
  95. if (browser.is.safari) {
  96. exopop.binders.safari();
  97. return
  98. }
  99. exopop.binders.firefox();
  100. return
  101. },
  102. windowParams: function() {
  103. return 'width=' + exopop.settings.width + ',height=' + exopop.settings.height + ',top=0,left=0,scrollbars=1,location=1,toolbar=0,menubar=0,resizable=1,statusbar=1'
  104. },
  105. status: {
  106. opened: false
  107. },
  108. opened: function() {
  109. if (exopop.status.opened) return true;
  110. if (getCookie(cookieName)) return true;
  111. return false
  112. },
  113. setAsOpened: function() {
  114. this.status.opened = true;
  115. setCookie(cookieName, 1, 1)
  116. },
  117. findParentLink: function(clickedElement) {
  118. var currentElement = clickedElement;
  119. if (currentElement.getAttribute("target") == null && currentElement.nodeName.toLowerCase() != "html") {
  120. var o = 0;
  121. while (currentElement.parentNode && o <= 4 && currentElement.nodeName.toLowerCase() != "html") {
  122. o++;
  123. currentElement = currentElement.parentNode;
  124. if (currentElement.nodeName.toLowerCase() === "a" && currentElement.href != "") {
  125. break
  126. }
  127. }
  128. }
  129. return currentElement
  130. },
  131. triggers: {
  132. firefox: function() {
  133. if (exopop.opened()) return true;
  134. var popURL = "about:blank";
  135. var params = exopop.windowParams();
  136. var PopWin = _top.window.open(popURL, getPuId(), params);
  137. if (PopWin) {
  138. PopWin.blur();
  139. if (navigator.userAgent.toLowerCase().indexOf("applewebkit") > -1) {
  140. _top.window.blur();
  141. _top.window.focus()
  142. }
  143. PopWin.Init = function(e) {
  144. with(e) {
  145. Params = e.Params;
  146. Main = function() {
  147. var x, popURL = Params.PopURL;
  148. if (typeof window.mozPaintCount != "undefined") {
  149. x = window.open("about:blank");
  150. x.close()
  151. } else if (navigator.userAgent.toLowerCase().indexOf("chrome/2") > -1) {
  152. x = window.open("about:blank");
  153. x.close()
  154. }
  155. try {
  156. opener.window.focus()
  157. } catch (err) {}
  158. window.location = popURL;
  159. window.blur()
  160. };
  161. Main()
  162. }
  163. };
  164. PopWin.Params = {
  165. PopURL: exoUrl
  166. };
  167. PopWin.Init(PopWin)
  168. }
  169. exopop.setAsOpened();
  170. return
  171. },
  172. chromeUntil30: function() {
  173. if (exopop.opened()) return true;
  174. window.open('javascript:window.focus()', '_self');
  175. var w = window.open('about:blank', getPuId(), exopop.windowParams());
  176. var a = document.createElement('a');
  177. a.setAttribute('href', 'data:text/html,<scr' + 'ipt>window.close();</scr' + 'ipt>');
  178. a.style.display = 'none';
  179. document.body.appendChild(a);
  180. var e = document.createEvent('MouseEvents');
  181. e.initMouseEvent('click', true, true, window, 0, 0, 0, 0, 0, true, false, false, true, 0, null);
  182. a.dispatchEvent(e);
  183. document.body.removeChild(a);
  184. w.document.open().write('<script type="text/javascript">window.location="' + exoUrl + '";<\/script>');
  185. w.document.close();
  186. exopop.setAsOpened()
  187. },
  188. chrome30: function(W) {
  189. if (exopop.opened()) return true;
  190. var link = document.createElement("a");
  191. link.href = 'javascript:window.open("' + exoUrl + '","' + getPuId() + '","' + exopop.windowParams() + '")';
  192. document.body.appendChild(link);
  193. link.webkitRequestFullscreen();
  194. var event = document.createEvent("MouseEvents");
  195. event.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, true, false, 0, null);
  196. link.dispatchEvent(event);
  197. document.webkitCancelFullScreen();
  198. setTimeout(function() {
  199. window.getSelection().empty()
  200. }, 250);
  201. var Z = W.target || W.srcElement;
  202. Z.click();
  203. exopop.setAsOpened()
  204. },
  205. safari: function() {
  206. if (exopop.opened()) return true;
  207. var popWindow = _top.window.open(exoUrl, getPuId(), exopop.windowParams());
  208. if (popWindow) {
  209. popWindow.blur();
  210. popWindow.opener.window.focus();
  211. window.self.window.focus();
  212. window.focus();
  213. var P = "";
  214. var O = top.window.document.createElement("a");
  215. O.href = "data:text/html,<scr" + P + "ipt>window.close();</scr" + P + "ipt>";
  216. document.getElementsByTagName("body")[0].appendChild(O);
  217. var N = top.window.document.createEvent("MouseEvents");
  218. N.initMouseEvent("click", false, true, window, 0, 0, 0, 0, 0, true, false, false, true, 0, null);
  219. O.dispatchEvent(N);
  220. O.parentNode.removeChild(O)
  221. }
  222. exopop.setAsOpened()
  223. },
  224. tab: function() {
  225. if (exopop.opened()) return true;
  226. var u = (!exoUrl) ? 'data:text/html,<script>window.close();</script>;' : exoUrl;
  227. var a = top.window.document.createElement("a");
  228. var e = document.createEvent("MouseEvents");
  229. a.href = u;
  230. document.getElementsByTagName("body")[0].appendChild(a);
  231. e.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, true, false, false, true, 0, null);
  232. a.dispatchEvent(e);
  233. a.parentNode.removeChild(a);
  234. exopop.setAsOpened()
  235. },
  236. mobile: function(triggeredEvent) {
  237. if (exopop.opened()) return true;
  238. var clickedElement = triggeredEvent.target || triggeredEvent.srcElement;
  239. if (clickedElement.nodeName.toLowerCase() !== "a") {
  240. clickedElement = exopop.findParentLink(clickedElement)
  241. }
  242. if (clickedElement.nodeName.toLowerCase() === "a" && clickedElement.getAttribute("target") !== "_blank") {
  243. window.open(clickedElement.getAttribute("href"));
  244. exopop.setAsOpened();
  245. _top.document.location = exoUrl;
  246. if (triggeredEvent.preventDefault != undefined) {
  247. triggeredEvent.preventDefault();
  248. triggeredEvent.stopPropagation()
  249. }
  250. return false
  251. }
  252. return true
  253. }
  254. },
  255. binders: {
  256. explorer: function() {
  257. addEvent(document, 'click', exopop.triggers.firefox)
  258. },
  259. firefox: function() {
  260. addEvent(document, 'click', exopop.triggers.firefox)
  261. },
  262. chromeUntil30: function() {
  263. addEvent(document, 'mousedown', exopop.triggers.chromeUntil30)
  264. },
  265. chrome30: function() {
  266. addEvent(document, 'mousedown', exopop.triggers.chrome30)
  267. },
  268. chrome31: function() {
  269. addEvent(document, 'mousedown', exopop.triggers.tab)
  270. },
  271. chrome30_mac: function() {
  272. addEvent(document, 'mousedown', exopop.triggers.chromeUntil30)
  273. },
  274. safari: function() {
  275. addEvent(document, 'mousedown', exopop.triggers.safari)
  276. },
  277. mobile: function() {
  278. addEvent(document, 'click', exopop.triggers.mobile)
  279. }
  280. },
  281. browser: {
  282. is: function() {
  283. var userAgent = navigator.userAgent.toLowerCase();
  284. var info = {
  285. webkit: /webkit/.test(userAgent),
  286. mozilla: (/mozilla/.test(userAgent)) && (!/(compatible|webkit)/.test(userAgent)),
  287. chrome: /chrome/.test(userAgent),
  288. msie: ((/msie/.test(userAgent)) && (!/opera/.test(userAgent)) || (!!navigator.userAgent.match(/Trident.*rv/))),
  289. firefox: /firefox/.test(userAgent),
  290. safari: (/safari/.test(userAgent) && !(/chrome/.test(userAgent))),
  291. opera: /opera/.test(userAgent),
  292. ie: (!!navigator.userAgent.match(/Trident.*rv/))
  293. };
  294. if (info.safari) {
  295. info.version = (userAgent.match(/.+(?:ri)[\/: ]([\d.]+)/) || [])[1]
  296. } else if (info.ie) {
  297. var re = new RegExp("trident/.*rv:([0-9]{1,}[\.0-9]{0,})");
  298. info.version = (re.exec(userAgent) != null) ? parseFloat(RegExp.$1) : null
  299. } else {
  300. info.version = (userAgent.match(/.+(?:ox|me|ra|ie)[\/: ]([\d.]+)/) || [])[1]
  301. }
  302. return info
  303. }(),
  304. versionNewerThan: function(version) {
  305. currentVersion = parseInt(this.is.version.split('.')[0]);
  306. return currentVersion > version
  307. },
  308. versionFrom: function(version) {
  309. currentVersion = parseInt(this.is.version.split('.')[0]);
  310. return currentVersion >= version
  311. },
  312. versionOlderThan: function(version) {
  313. currentVersion = parseInt(this.is.version.split('.')[0]);
  314. return currentVersion < version
  315. },
  316. versionIs: function(version) {
  317. currentVersion = parseInt(this.is.version.split('.')[0]);
  318. return currentVersion == version
  319. },
  320. isMobile: {
  321. Android: function(a) {
  322. return a.navigator.userAgent.match(/Android/i)
  323. },
  324. BlackBerry: function(a) {
  325. return a.navigator.userAgent.match(/BlackBerry/i)
  326. },
  327. iOS: function(a) {
  328. return a.navigator.userAgent.match(/iPhone|iPad|iPod/i)
  329. },
  330. Opera: function(a) {
  331. return a.navigator.userAgent.match(/Opera Mini/i)
  332. },
  333. Windows: function(a) {
  334. return a.navigator.userAgent.match(/IEMobile/i)
  335. },
  336. any: function(a) {
  337. return a.navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile/i)
  338. }
  339. }
  340. }
  341. };
  342. exopop.init();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement