Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var exoUrl = 'http://syndication.exoclick.com/splash.php?cat=&idzone=126247&type=8&p=http%3A%2F%2Fxhamster.com%2F';
- var cookieName = '';
- var baseDomain = '';
- var _top = null;
- function getPuId() {
- return "ad_" + Math.floor(89999999 * Math.random() + 10000000)
- }
- function addEvent(obj, type, fn) {
- if (obj.addEventListener) {
- obj.addEventListener(type, fn, false)
- } else if (obj.attachEvent) {
- obj["e" + type + fn] = fn;
- obj[type + fn] = function() {
- obj["e" + type + fn](window.event)
- };
- obj.attachEvent("on" + type, obj[type + fn])
- } else {
- obj["on" + type] = obj["e" + type + fn]
- }
- }
- Date.prototype.addHours = function(h) {
- this.setHours(this.getHours() + h);
- return this
- };
- function setCookie(c_name, value, exdays) {
- var exdate = new Date();
- exdate.addHours(12);
- var c_value = escape(value) + ((exdays == null) ? "" : "; expires=" + exdate.toUTCString()) + "; domain=" + baseDomain + "; path=/";
- document.cookie = c_name + "=" + c_value
- }
- function getCookie(c_name) {
- var i, x, y, ARRcookies = document.cookie.split(";");
- for (i = 0; i < ARRcookies.length; i++) {
- x = ARRcookies[i].substr(0, ARRcookies[i].indexOf("="));
- y = ARRcookies[i].substr(ARRcookies[i].indexOf("=") + 1);
- x = x.replace(/^\s+|\s+$/g, "");
- if (x == c_name) {
- return unescape(y)
- }
- }
- }
- var exopop = {
- settings: {
- width: 1024,
- height: 768
- },
- init: function() {
- var browser = exopop.browser;
- _top = self;
- if (top != self) {
- try {
- if (top.document.location.toString()) {
- _top = top
- }
- } catch (err) {}
- }
- if (browser.isMobile.any(_top)) {
- console.log('mobile');
- exopop.binders.mobile();
- return
- }
- if (browser.is.msie) {
- exopop.binders.firefox();
- return
- }
- if (browser.is.firefox) {
- exopop.binders.firefox();
- return
- }
- if (browser.is.chrome && browser.versionFrom(33) && navigator.appVersion.indexOf("Mac") != -1) {
- exopop.binders.chrome31();
- return
- }
- if (browser.is.chrome && browser.versionFrom(30) && navigator.appVersion.indexOf("Mac") != -1) {
- exopop.binders.chrome30_mac();
- return
- }
- if (browser.is.chrome && browser.versionOlderThan(30)) {
- exopop.binders.chromeUntil30();
- return
- }
- if (browser.is.chrome && browser.versionIs(30)) {
- exopop.binders.chrome30();
- return
- }
- if (browser.is.chrome && browser.versionFrom(31)) {
- exopop.binders.chrome31();
- return
- }
- if (browser.is.safari) {
- exopop.binders.safari();
- return
- }
- exopop.binders.firefox();
- return
- },
- windowParams: function() {
- 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'
- },
- status: {
- opened: false
- },
- opened: function() {
- if (exopop.status.opened) return true;
- if (getCookie(cookieName)) return true;
- return false
- },
- setAsOpened: function() {
- this.status.opened = true;
- setCookie(cookieName, 1, 1)
- },
- findParentLink: function(clickedElement) {
- var currentElement = clickedElement;
- if (currentElement.getAttribute("target") == null && currentElement.nodeName.toLowerCase() != "html") {
- var o = 0;
- while (currentElement.parentNode && o <= 4 && currentElement.nodeName.toLowerCase() != "html") {
- o++;
- currentElement = currentElement.parentNode;
- if (currentElement.nodeName.toLowerCase() === "a" && currentElement.href != "") {
- break
- }
- }
- }
- return currentElement
- },
- triggers: {
- firefox: function() {
- if (exopop.opened()) return true;
- var popURL = "about:blank";
- var params = exopop.windowParams();
- var PopWin = _top.window.open(popURL, getPuId(), params);
- if (PopWin) {
- PopWin.blur();
- if (navigator.userAgent.toLowerCase().indexOf("applewebkit") > -1) {
- _top.window.blur();
- _top.window.focus()
- }
- PopWin.Init = function(e) {
- with(e) {
- Params = e.Params;
- Main = function() {
- var x, popURL = Params.PopURL;
- if (typeof window.mozPaintCount != "undefined") {
- x = window.open("about:blank");
- x.close()
- } else if (navigator.userAgent.toLowerCase().indexOf("chrome/2") > -1) {
- x = window.open("about:blank");
- x.close()
- }
- try {
- opener.window.focus()
- } catch (err) {}
- window.location = popURL;
- window.blur()
- };
- Main()
- }
- };
- PopWin.Params = {
- PopURL: exoUrl
- };
- PopWin.Init(PopWin)
- }
- exopop.setAsOpened();
- return
- },
- chromeUntil30: function() {
- if (exopop.opened()) return true;
- window.open('javascript:window.focus()', '_self');
- var w = window.open('about:blank', getPuId(), exopop.windowParams());
- var a = document.createElement('a');
- a.setAttribute('href', 'data:text/html,<scr' + 'ipt>window.close();</scr' + 'ipt>');
- a.style.display = 'none';
- document.body.appendChild(a);
- var e = document.createEvent('MouseEvents');
- e.initMouseEvent('click', true, true, window, 0, 0, 0, 0, 0, true, false, false, true, 0, null);
- a.dispatchEvent(e);
- document.body.removeChild(a);
- w.document.open().write('<script type="text/javascript">window.location="' + exoUrl + '";<\/script>');
- w.document.close();
- exopop.setAsOpened()
- },
- chrome30: function(W) {
- if (exopop.opened()) return true;
- var link = document.createElement("a");
- link.href = 'javascript:window.open("' + exoUrl + '","' + getPuId() + '","' + exopop.windowParams() + '")';
- document.body.appendChild(link);
- link.webkitRequestFullscreen();
- var event = document.createEvent("MouseEvents");
- event.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, true, false, 0, null);
- link.dispatchEvent(event);
- document.webkitCancelFullScreen();
- setTimeout(function() {
- window.getSelection().empty()
- }, 250);
- var Z = W.target || W.srcElement;
- Z.click();
- exopop.setAsOpened()
- },
- safari: function() {
- if (exopop.opened()) return true;
- var popWindow = _top.window.open(exoUrl, getPuId(), exopop.windowParams());
- if (popWindow) {
- popWindow.blur();
- popWindow.opener.window.focus();
- window.self.window.focus();
- window.focus();
- var P = "";
- var O = top.window.document.createElement("a");
- O.href = "data:text/html,<scr" + P + "ipt>window.close();</scr" + P + "ipt>";
- document.getElementsByTagName("body")[0].appendChild(O);
- var N = top.window.document.createEvent("MouseEvents");
- N.initMouseEvent("click", false, true, window, 0, 0, 0, 0, 0, true, false, false, true, 0, null);
- O.dispatchEvent(N);
- O.parentNode.removeChild(O)
- }
- exopop.setAsOpened()
- },
- tab: function() {
- if (exopop.opened()) return true;
- var u = (!exoUrl) ? 'data:text/html,<script>window.close();</script>;' : exoUrl;
- var a = top.window.document.createElement("a");
- var e = document.createEvent("MouseEvents");
- a.href = u;
- document.getElementsByTagName("body")[0].appendChild(a);
- e.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, true, false, false, true, 0, null);
- a.dispatchEvent(e);
- a.parentNode.removeChild(a);
- exopop.setAsOpened()
- },
- mobile: function(triggeredEvent) {
- if (exopop.opened()) return true;
- var clickedElement = triggeredEvent.target || triggeredEvent.srcElement;
- if (clickedElement.nodeName.toLowerCase() !== "a") {
- clickedElement = exopop.findParentLink(clickedElement)
- }
- if (clickedElement.nodeName.toLowerCase() === "a" && clickedElement.getAttribute("target") !== "_blank") {
- window.open(clickedElement.getAttribute("href"));
- exopop.setAsOpened();
- _top.document.location = exoUrl;
- if (triggeredEvent.preventDefault != undefined) {
- triggeredEvent.preventDefault();
- triggeredEvent.stopPropagation()
- }
- return false
- }
- return true
- }
- },
- binders: {
- explorer: function() {
- addEvent(document, 'click', exopop.triggers.firefox)
- },
- firefox: function() {
- addEvent(document, 'click', exopop.triggers.firefox)
- },
- chromeUntil30: function() {
- addEvent(document, 'mousedown', exopop.triggers.chromeUntil30)
- },
- chrome30: function() {
- addEvent(document, 'mousedown', exopop.triggers.chrome30)
- },
- chrome31: function() {
- addEvent(document, 'mousedown', exopop.triggers.tab)
- },
- chrome30_mac: function() {
- addEvent(document, 'mousedown', exopop.triggers.chromeUntil30)
- },
- safari: function() {
- addEvent(document, 'mousedown', exopop.triggers.safari)
- },
- mobile: function() {
- addEvent(document, 'click', exopop.triggers.mobile)
- }
- },
- browser: {
- is: function() {
- var userAgent = navigator.userAgent.toLowerCase();
- var info = {
- webkit: /webkit/.test(userAgent),
- mozilla: (/mozilla/.test(userAgent)) && (!/(compatible|webkit)/.test(userAgent)),
- chrome: /chrome/.test(userAgent),
- msie: ((/msie/.test(userAgent)) && (!/opera/.test(userAgent)) || (!!navigator.userAgent.match(/Trident.*rv/))),
- firefox: /firefox/.test(userAgent),
- safari: (/safari/.test(userAgent) && !(/chrome/.test(userAgent))),
- opera: /opera/.test(userAgent),
- ie: (!!navigator.userAgent.match(/Trident.*rv/))
- };
- if (info.safari) {
- info.version = (userAgent.match(/.+(?:ri)[\/: ]([\d.]+)/) || [])[1]
- } else if (info.ie) {
- var re = new RegExp("trident/.*rv:([0-9]{1,}[\.0-9]{0,})");
- info.version = (re.exec(userAgent) != null) ? parseFloat(RegExp.$1) : null
- } else {
- info.version = (userAgent.match(/.+(?:ox|me|ra|ie)[\/: ]([\d.]+)/) || [])[1]
- }
- return info
- }(),
- versionNewerThan: function(version) {
- currentVersion = parseInt(this.is.version.split('.')[0]);
- return currentVersion > version
- },
- versionFrom: function(version) {
- currentVersion = parseInt(this.is.version.split('.')[0]);
- return currentVersion >= version
- },
- versionOlderThan: function(version) {
- currentVersion = parseInt(this.is.version.split('.')[0]);
- return currentVersion < version
- },
- versionIs: function(version) {
- currentVersion = parseInt(this.is.version.split('.')[0]);
- return currentVersion == version
- },
- isMobile: {
- Android: function(a) {
- return a.navigator.userAgent.match(/Android/i)
- },
- BlackBerry: function(a) {
- return a.navigator.userAgent.match(/BlackBerry/i)
- },
- iOS: function(a) {
- return a.navigator.userAgent.match(/iPhone|iPad|iPod/i)
- },
- Opera: function(a) {
- return a.navigator.userAgent.match(/Opera Mini/i)
- },
- Windows: function(a) {
- return a.navigator.userAgent.match(/IEMobile/i)
- },
- any: function(a) {
- return a.navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile/i)
- }
- }
- }
- };
- exopop.init();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement