(function () { /* RequireJS 2.1.22 Copyright (c) 2010-2015, The Dojo Foundation All Rights Reserved. Available via the MIT or new BSD license. see: http://github.com/jrburke/requirejs for details */ var requirejs,require,define; (function(ha){function L(b){return"[object Function]"===R.call(b)}function M(b){return"[object Array]"===R.call(b)}function x(b,c){if(b){var d;for(d=0;dthis.depCount&&!this.defined){if(L(l)){try{f=h.execCb(c,l,b,f)}catch(d){a=d}this.map.isDefine&&void 0===f&&((b=this.module)?f=b.exports: this.usingExports&&(f=this.exports));if(a){if(this.events.error&&this.map.isDefine||k.onError!==ia)return a.requireMap=this.map,a.requireModules=this.map.isDefine?[this.map.id]:null,a.requireType=this.map.isDefine?"define":"require",B(this.error=a);if("undefined"!==typeof console&&console.error)console.error(a);else k.onError(a)}}else f=l;this.exports=f;if(this.map.isDefine&&!this.ignore&&(r[c]=f,k.onResourceLoad)){var e=[];x(this.depMaps,function(a){e.push(a.normalizedMap||a)});k.onResourceLoad(h, this.map,e)}D(c);this.defined=!0}this.defining=!1;this.defined&&!this.defineEmitted&&(this.defineEmitted=!0,this.emit("defined",this.exports),this.defineEmitComplete=!0)}}},callPlugin:function(){var a=this.map,b=a.id,d=q(a.prefix);this.depMaps.push(d);v(d,"defined",y(this,function(f){var l,d,e=g(ga,this.map.id),N=this.map.name,p=this.map.parentMap?this.map.parentMap.name:null,r=h.makeRequire(a.parentMap,{enableBuildCallback:!0});if(this.map.unnormalized){if(f.normalize&&(N=f.normalize(N,function(a){return c(a, p,!0)})||""),d=q(a.prefix+"!"+N,this.map.parentMap),v(d,"defined",y(this,function(a){this.map.normalizedMap=d;this.init([],function(){return a},null,{enabled:!0,ignore:!0})})),f=g(t,d.id)){this.depMaps.push(d);if(this.events.error)f.on("error",y(this,function(a){this.emit("error",a)}));f.enable()}}else e?(this.map.url=h.nameToUrl(e),this.load()):(l=y(this,function(a){this.init([],function(){return a},null,{enabled:!0})}),l.error=y(this,function(a){this.inited=!0;this.error=a;a.requireModules=[b]; E(t,function(a){0===a.map.id.indexOf(b+"_unnormalized")&&D(a.map.id)});B(a)}),l.fromText=y(this,function(f,c){var d=a.name,e=q(d),N=T;c&&(f=c);N&&(T=!1);u(e);w(m.config,b)&&(m.config[d]=m.config[b]);try{k.exec(f)}catch(g){return B(G("fromtexteval","fromText eval for "+b+" failed: "+g,g,[b]))}N&&(T=!0);this.depMaps.push(e);h.completeLoad(d);r([d],l)}),f.load(a.name,r,l,m))}));h.enable(d,this);this.pluginMaps[d.id]=d},enable:function(){aa[this.map.id]=this;this.enabling=this.enabled=!0;x(this.depMaps, y(this,function(a,b){var c,f;if("string"===typeof a){a=q(a,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap);this.depMaps[b]=a;if(c=g(S,a.id)){this.depExports[b]=c(this);return}this.depCount+=1;v(a,"defined",y(this,function(a){this.undefed||(this.defineDep(b,a),this.check())}));this.errback?v(a,"error",y(this,this.errback)):this.events.error&&v(a,"error",y(this,function(a){this.emit("error",a)}))}c=a.id;f=t[c];w(S,c)||!f||f.enabled||h.enable(a,this)}));E(this.pluginMaps,y(this,function(a){var b= g(t,a.id);b&&!b.enabled&&h.enable(a,this)}));this.enabling=!1;this.check()},on:function(a,b){var c=this.events[a];c||(c=this.events[a]=[]);c.push(b)},emit:function(a,b){x(this.events[a],function(a){a(b)});"error"===a&&delete this.events[a]}};h={config:m,contextName:b,registry:t,defined:r,urlFetched:X,defQueue:H,defQueueMap:{},Module:ea,makeModuleMap:q,nextTick:k.nextTick,onError:B,configure:function(a){a.baseUrl&&"/"!==a.baseUrl.charAt(a.baseUrl.length-1)&&(a.baseUrl+="/");var b=m.shim,c={paths:!0, bundles:!0,config:!0,map:!0};E(a,function(a,b){c[b]?(m[b]||(m[b]={}),Z(m[b],a,!0,!0)):m[b]=a});a.bundles&&E(a.bundles,function(a,b){x(a,function(a){a!==b&&(ga[a]=b)})});a.shim&&(E(a.shim,function(a,c){M(a)&&(a={deps:a});!a.exports&&!a.init||a.exportsFn||(a.exportsFn=h.makeShimExports(a));b[c]=a}),m.shim=b);a.packages&&x(a.packages,function(a){var b;a="string"===typeof a?{name:a}:a;b=a.name;a.location&&(m.paths[b]=a.location);m.pkgs[b]=a.name+"/"+(a.main||"main").replace(na,"").replace(V,"")});E(t, function(a,b){a.inited||a.map.unnormalized||(a.map=q(b,null,!0))});(a.deps||a.callback)&&h.require(a.deps||[],a.callback)},makeShimExports:function(a){return function(){var b;a.init&&(b=a.init.apply(ha,arguments));return b||a.exports&&ja(a.exports)}},makeRequire:function(a,n){function e(c,d,g){var m,p;n.enableBuildCallback&&d&&L(d)&&(d.__requireJsBuild=!0);if("string"===typeof c){if(L(d))return B(G("requireargs","Invalid require call"),g);if(a&&w(S,c))return S[c](t[a.id]);if(k.get)return k.get(h, c,a,e);m=q(c,a,!1,!0);m=m.id;return w(r,m)?r[m]:B(G("notloaded",'Module name "'+m+'" has not been loaded yet for context: '+b+(a?"":". Use require([])")))}Q();h.nextTick(function(){Q();p=u(q(null,a));p.skipMap=n.skipMap;p.init(c,d,g,{enabled:!0});I()});return e}n=n||{};Z(e,{isBrowser:F,toUrl:function(b){var d,e=b.lastIndexOf("."),n=b.split("/")[0];-1!==e&&("."!==n&&".."!==n||1e.attachEvent.toString().indexOf("[native code")||da?(e.addEventListener("load",b.onScriptLoad,!1),e.addEventListener("error",b.onScriptError,!1)):(T=!0,e.attachEvent("onreadystatechange",b.onScriptLoad));e.src=d;Q=e;I?D.insertBefore(e,I):D.appendChild(e);Q=null;return e}if(ka)try{importScripts(d),b.completeLoad(c)}catch(q){b.onError(G("importscripts","importScripts failed for "+ c+" at "+d,q,[c]))}};F&&!v.skipDataMain&&Y(document.getElementsByTagName("script"),function(b){D||(D=b.parentNode);if(P=b.getAttribute("data-main-rw"))return u=P,v.baseUrl||(J=u.split("/"),u=J.pop(),U=J.length?J.join("/")+"/":"./",v.baseUrl=U),u=u.replace(V,""),k.jsExtRegExp.test(u)&&(u=P),v.deps=v.deps?v.deps.concat(u):[u],!0});define=function(b,c,d){var g,e;"string"!==typeof b&&(d=c,c=b,b=null);M(c)||(d=c,c=null);!c&&L(d)&&(c=[],d.length&&(d.toString().replace(qa,"").replace(ra,function(b,d){c.push(d)}), c=(1===d.length?["require"]:["require","exports","module"]).concat(c)));T&&(g=Q||pa())&&(b||(b=g.getAttribute("data-requiremodule")),e=K[g.getAttribute("data-requirecontext")]);e?(e.defQueue.push([b,c,d]),e.defQueueMap[b]=!0):W.push([b,c,d])};define.amd={jQuery:!0};k.exec=function(b){return eval(b)};k(v)}})(this); /* ReWords_Dev */ (function() { require.config({ baseUrl: "/", paths: { 'kite': 'libs/kite'}, shim: { 'kite': { exports: 'kite'} }, skipDataMain: true }); require(['ht', 'rw', 'libs/kite'], function(HT, RW) { var kite; RW.start(); }); })(); define("rewords_dev", function(){}); define('HT/css',['ht','ht'],function() { return { getComputedSize: function(el) { var HT = require('ht'), el = HT.dom.el(el), result = { width: 0, height: 0, padding: [0, 0, 0, 0], border: [0, 0, 0, 0,], margin: [0,0,0,0] }; if(el == null) return; if (typeof document.defaultView == 'object' && typeof document.defaultView.getComputedStyle == 'function') { var computedSizes = document.defaultView.getComputedStyle(el, null), tmpHeight, tmpWidth, tmpPadding = [], tmpBorder = [], tmpMarg = []; tmpHeight = computedSizes.getPropertyValue("height"); tmpWidth = computedSizes.getPropertyValue("width"); HT.forEach(['padding-top', 'padding-right', 'padding-bottom', 'padding-left'], function(i, el) { var tmp = computedSizes.getPropertyValue(el); if ( tmp ) { tmpPadding.push(parseInt(tmp.split('px')[0], 10)); } else { tmpPadding.push(0); } }); result.padding = tmpPadding; HT.forEach(['margin-top', 'margin-right', 'margin-bottom', 'margin-left'], function(i, el) { var tmp = computedSizes.getPropertyValue(el); if ( tmp ) { tmpMarg.push(parseInt(tmp.split('px')[0], 10)); } else { tmpMarg.push(0); } }); result.margin = tmpMarg; HT.forEach(['border-top-width', 'border-right-width', 'border-bottom-width', 'border-left-width'], function(i, el) { var tmp = computedSizes.getPropertyValue(el); if ( tmp ) { tmpBorder.push(parseInt(tmp.split('px')[0], 10)); } else { tmpBorder.push(0); } }); result.border = tmpBorder; if(tmpWidth && tmpHeight && tmpWidth != 'auto' && tmpHeight != 'auto') { result.height = parseInt(tmpHeight.split('px')[0], 10); result.width = parseInt(tmpWidth.split('px')[0], 10); } else { if (el) { result.width = parseInt(el.offsetWidth, 10); result.height = parseInt(el.offsetHeight, 10); } } } else { if (el) { result.width = parseInt(el.offsetWidth, 10); result.height = parseInt(el.offsetHeight, 10); } } return result; }, hasClass: function(el, className) { var tmpHasClass = false, HT = require('ht'); el = HT.dom.el(el); if (HT.typeOf(className) == 'array'){ HT.forEach(className, function (i,clName){ tmpHasClass = tmpHasClass || HT.css.hasClass(el,clName); if (tmpHasClass) return tmpHasClass; }); return tmpHasClass; } className = ' ' + className + ' '; var elementClass; var classAttribute = el.getAttribute('class'); if (classAttribute != null) { //AdK zmiana 29.10.2016 było: elementClass = ' ' + classAttribute.value + ' '; elementClass = ' ' + classAttribute + ' '; } else { elementClass = ''; } return elementClass.indexOf(className) >= 0; } } }); define('HT/window',[],function() { var getWidth, getHeight, getSize, getScroll; getWidth = function getWidth() { if (self.innerWidth) { return self.innerWidth; } else if (document.documentElement && document.documentElement.clientWidth){ return document.documentElement.clientWidth; } else if (document.body) { return document.body.clientWidth; } return 0; }; getHeight = function getHeight() { if (self.innerHeight) { return self.innerHeight; } else if (document.documentElement && document.documentElement.clientHeight){ return document.documentElement.clientHeight; } else if (document.body) { return document.body.clientHeight; } return 0; }; var getSize = function getSize() { return { width: getWidth(), height: getHeight() }; } getScroll = function getScroll() { if (window.pageYOffset != undefined) { return {offsetX: window.pageXOffset, offsetY: window.pageYOffset}; } else { var sx, sy, d = document, r = d.documentElement, b = d.body; sx = r.scrollLeft || b.scrollLeft || 0; sy = r.scrollTop || b.scrollTop || 0; return {offsetX: sx, offsetY: sy}; } } return { getWidth: getWidth, getHeight: getHeight, getSize: getSize, getScroll: getScroll } }); define('HT/dom',['HT/css', 'HT/window'], function(HTcss, HTwnd) { var HTdom = { // core function - checks if parameter is DOM element, if not then get element by id, and if that fails throws exception el: function(element) { var res; if (typeof element == 'string' || typeof element == 'number') { res = document.getElementById(element); } else { res = element; } if (typeof res != 'object') { throw new Exception('element ' + element + ' not found'); } return res; }, findPos: function(elem) { var docElem, win, box = { top: 0, left: 0 }, doc = elem && elem.ownerDocument; if ( !doc ) { return box; } docElem = doc.documentElement; if ( typeof elem.getBoundingClientRect !== 'undefined' ) { box = elem.getBoundingClientRect(); } win = HTwnd.getScroll(); return { top: box.top + win.offsetY - docElem.clientTop, left: box.left + win.offsetX - docElem.clientLeft }; }, getElementsByClassName: function(e, className) { var result = [], recursive = true; if ("function" === typeof e.getElementsByClassName) { return e.getElementsByClassName(className); } for (var l = 0; l < e.childNodes.length; l++) { if (e.childNodes[l].nodeType == 1 && HTcss.hasClass(e.childNodes[l], className)) { result.push(e.childNodes[l]); } if (recursive && (e.childNodes[l].nodeType == 1)) { var subResults = HTdom.getElementsByClassName(e.childNodes[l], className); for (var r in subResults) { result.push(subResults[r]); } } } return result; } } return HTdom; }); define('HT/event',{ listeners: [], commonHandler: function(event, actionId) { return this.listeners[actionId].action(event); }, add: function(domElement, eventName, action) { var self = this; var listener = { eventName: eventName, action: action, domElement: domElement, handler: function(event) { return self.commonHandler(event, actionId); } }; var actionId = self.listeners.push(listener) - 1; // push returns length, so index will be -1 if (listener.domElement && listener.domElement.addEventListener) { listener.domElement.addEventListener(listener.eventName, listener.handler, false); } else if (listener.domElement && listener.domElement.attachEvent) { listener.domElement.attachEvent('on' + listener.eventName, listener.handler); } return actionId; }, remove: function(actionId) { var e = this.listeners[actionId]; if (typeof document.removeEventListener == "function") { e.domElement.removeEventListener(e.eventName, e.handler, false); } else { e.domElement.detachEvent('on' + e.eventName, e.handler); } delete(this.listeners[actionId]); } }); define('ht',['HT/css', 'HT/dom', 'HT/event', 'HT/window'], function(HTcss, HTdom, HTevent, HTwindow) { return { css: HTcss, dom: HTdom, event: HTevent, window: HTwindow, /** * src: http://javascript.crockford.com/remedial.html */ typeOf: function(value) { var s = typeof value; if (s === 'object') { if (value) { if (value instanceof Array) { s = 'array'; } } else { s = 'null'; } } return s; }, forEach: function (arr, callback) { var i, max, checkOwn = typeof arr.hasOwnProperty == 'function'; if (this.typeOf(arr) == 'array') { // faster version for Arrays for (i=0, max=arr.length; i 3){ // wordsToSend.push(v); // } // }); // }); return wordsToSend /////////////////////////////// OLD RANDOM WORDS /////////////////////////////// // var maxRand = intext.textNodes.length-1, // rand = 0 // node = null, // wordsToSend = []; // // for (i = 0; i <(wc*3); i++){ // rand = Math.floor((Math.random() * maxRand)); // // node = intext.textNodes[rand].node; // // var words = node.data.split(/[ ,.]+/); // // for (j = 0; j < 5; j++){ // var stop = false; // var myWord = words[Math.floor((Math.random() * (words.length-1)))]; // // if( myWord.length > 3 ){ // HT.forEach(intext.excWords, function(i, v){ // if( v == myWord){ // stop = true; // } // }); // // HT.forEach(wordsToSend, function(idx, v){ // if( v == myWord){ // stop = true; // } // }); // // if( !stop ){ // wordsToSend.push(myWord) // // j = 5; // // if ( !intext.usedNodes[rand] ){ // intext.usedNodes[rand] = true; // intext.offctxNodes.push (intext.textNodes[rand]) // } // // } // } // } // } // // if ( wordsToSend.length == 0 && redo ){ // var st = intext.getRandomWords(wc, false) // } else { // return wordsToSend // } }, prepareData_v2: function (data, ctx, wc, sid, campCounter, counter, allDataBox, offctx) { if ((counter + 1) < campCounter) { intext.pointer = 0; intext.findAll(data[counter + 1].searchText, ctx, data[counter + 1].campaign.campaign_id, campCounter, counter + 1, data, wc, sid, allDataBox, offctx); } else { intext.prepareData_v3(data, ctx, wc, sid, allDataBox, offctx); } }, prepareData_v3: function (data, ctx, wc, sid, allDataBox, offctx) { var allBudget = allDataBox[0], buffor = allDataBox[1], fullCampaigns = allDataBox[2], notFullCampaigns = allDataBox[3], bool = allDataBox[4], campCounter = allDataBox[5], emptyCampWords = allDataBox[6], twentyPerCent = allDataBox[7], wcModified = allDataBox[8], freeSlots = allDataBox[9]; // usuwa usuwa double konkretnych slow intext.careDoubles(); // dobranie losowo slow dla kampanii ktore maja ich najmniej, aby mialy szanse na wyswietlenie conajmniej w 20% if (twentyPerCent > 0) { var lowSecBuffor = 0, lowSecPreCount = [], lowSecWordCount = 0; HT.forEach(data, function (i, v) { if (intext.countedWords["c" + v.campaign.campaign_id] < twentyPerCent) { lowSecWordCount += intext.countedWords["c" + v.campaign.campaign_id]; } }); if (lowSecWordCount < twentyPerCent) { HT.forEach(data, function (i, v) { if (intext.countedWords["c" + v.campaign.campaign_id] < twentyPerCent) { emptyCampWords.push("c" + v.campaign.campaign_id); } }); HT.forEach(emptyCampWords, function (i, v) { var lowSecVal = (twentyPerCent / emptyCampWords.length) + lowSecBuffor lowSecPreCount[i] = Math.round(lowSecVal); lowSecBuffor = lowSecVal - lowSecPreCount[i]; if (lowSecPreCount[i] <= intext.countedWords[v]) { lowSecPreCount[i] = 0; } else { lowSecPreCount[i] -= intext.countedWords[v]; } }); HT.forEach(lowSecPreCount, function (i, v) { for (var j = 0; j < v; j++) { var tempBool = true; while (tempBool && intext.campaignWords[emptyCampWords[i]]) { var rand = Math.floor((Math.random() * (intext.campaignWords[emptyCampWords[i]].length))), word = intext.campaignWords[emptyCampWords[i]][rand]; for (var k = 0; k < intext.allCampWords.length; k++) { if (intext.allCampWords[k].startPointGlob == word.startPointGlob && (intext.countedWords['c' + intext.allCampWords[k].cid] > (wc - twentyPerCent))) { if (intext.allCampWords[k].cid != word.cid) { intext.countedWords['c' + word.cid]++; intext.countedWords['c' + intext.allCampWords[k].cid]--; intext.allCampWords[k].cid = word.cid; tempBool = false; } k = intext.allCampWords.length; } if (k + 1 == intext.allCampWords.length) { tempBool = false; } } tempBool = false; } } }); } } // sprawdzanie czy word count jest wiekszy niz liczba znalezionych slow if (intext.wCounter <= wc) { intext.finish(data, ctx, wc, sid, offctx); return; } // wybranie od 80% do 100% slow do podmiany ( w zaleznosci od wc) while (bool) { var allBudget = 0, tempWc = freeSlots, notFullCampaigns = []; HT.forEach(data, function (i, v) { if (!(fullCampaigns["c" + v.campaign.campaign_id] && fullCampaigns["c" + v.campaign.campaign_id] == 1 && intext.countedWords["c" + v.campaign.campaign_id] > 0)) { if (intext.countedWords["c" + v.campaign.campaign_id] > 0) { notFullCampaigns.push({campaign_id: v.campaign.campaign_id, daily_budget: v.campaign.daily_budget}); allBudget += v.campaign.daily_budget; } } }); HT.forEach(notFullCampaigns, function (i, v) { if (intext.countedWords["c" + v.campaign_id]) { var percent = v.daily_budget / allBudget, val = ((tempWc * percent) + buffor), round = Math.round(val); buffor = val - round; if (!(intext.toReplaceCount["c" + v.campaign_id])) intext.toReplaceCount["c" + v.campaign_id] = 0; if (round > intext.countedWords["c" + v.campaign_id]) { if (intext.countedWords["c" + v.campaign_id] >= (freeSlots)) { buffor = 0; intext.toReplaceCount["c" + v.campaign_id] += (freeSlots); freeSlots = 0; } else { buffor += (round - intext.countedWords["c" + v.campaign_id]); intext.toReplaceCount["c" + v.campaign_id] += intext.countedWords["c" + v.campaign_id]; fullCampaigns["c" + v.campaign_id] = 1; freeSlots -= intext.countedWords["c" + v.campaign_id]; } } else { if (round >= (freeSlots)) { buffor = 0; intext.toReplaceCount["c" + v.campaign_id] += (freeSlots); freeSlots = 0; } else { intext.toReplaceCount["c" + v.campaign_id] += round; freeSlots -= round; } } } else { intext.countedWords["c" + v.campaign_id] = 0; } }); if (!(Math.round(buffor) > 0)) bool = false; } // przypisanie 20% slow dla kampanii znikomej sile. var lowSecTempCounter = 0; while (twentyPerCent > 0) { HT.forEach(HT.objectKeys(intext.toReplaceCount), function (i, v) { if ((intext.toReplaceCount[v] <= lowSecTempCounter) && (intext.toReplaceCount[v] < intext.countedWords[v]) && (twentyPerCent > 0)) { intext.toReplaceCount[v]++; twentyPerCent--; } }); lowSecTempCounter++; if (lowSecTempCounter > 2) { lowSecTempCounter = intext.wCounter } } intext.finish(data, ctx, wc, sid, offctx); }, placeOnSite: function (campaign, wc) { var campWords = []; HT.forEach(intext.allCampWords, function (i, el) { if (el.cid == campaign.campaign_id) { campWords.push(el); } }); var stopLoop = 0; //if (campWords.length == 0) return; if (intext.wCounter <= wc) { HT.forEach(campWords, function (i, word) { intext.toReplace.push({stP: word.startPoint, endP: word.endPoint, node: word.node, randId: word.startPointGlob, w: word.w, cid: campaign.campaign_id}) }) } else { var wLeft = intext.toReplaceCount["c" + campaign.campaign_id]; while (wLeft > 0) { stopLoop++; if (stopLoop > 10) return; var interval = (intext.pointer / wLeft), wordTab = [], used = []; HT.forEach(campWords, function (fei, word) { for (var i = 0; i < wLeft; i++) { if ((interval * i) <= word.startPointGlob && word.startPointGlob < (interval * (i + 1))) { if (!wordTab[i]) wordTab[i] = []; wordTab[i].push({stP: word.startPoint, endP: word.endPoint, node: word.node, randId: word.startPointGlob, w: word.w, cid: campaign.campaign_id}); } } }); HT.forEach(wordTab, function (i, v) { if (!v) return; var rand = Math.floor((Math.random() * v.length)); used.push(v[rand].randId); intext.toReplace.push(v[rand]); wLeft--; }); HT.forEach(used, function (i, usedEl) { var elBool = true, indexPointer = 0; while (elBool) { if (usedEl == campWords[indexPointer].startPointGlob) { elBool = false; campWords.splice(indexPointer, 1); } indexPointer++; } }); } } }, replace: function (style, sid) { var nodes = [], tmp = true; var RW = require('rw'); for (var i = 0; i < intext.toReplace.length; i++) { tmp = true; for (var j = 0; j < nodes.length; j++) { if (intext.toReplace[i].node == nodes[j].node) { tmp = false; nodes[j].words.push({stP: intext.toReplace[i].stP, endP: intext.toReplace[i].endP, cid: intext.toReplace[i].cid}); } } if (tmp) { nodes.push({node: intext.toReplace[i].node, words: [{stP: intext.toReplace[i].stP, endP: intext.toReplace[i].endP, cid: intext.toReplace[i].cid}]}); } } HT.forEach(nodes, function (index, data) { var wordStart = [], replace = []; HT.forEach(data.words, function (i, val) { wordStart.push(val.stP); }); wordStar = wordStart.sort(function (a, b) { return b - a }); HT.forEach(wordStar, function (i, val) { HT.forEach(data.words, function (i, v) { if (val == v.stP) { replace.push(v); } }); }); nodes[index].words = replace; }); HT.forEach(nodes, function (i, val) { parentNode = val.node.parentNode; htmlReplacement = (function () { var wrap = document.createElement('div'), frag = document.createDocumentFragment(), html = val.node.data, charBuffCount = null; HT.forEach(val.words, function (i, w) { if (charBuffCount != null && (w.endP + intext.charMinCount) > charBuffCount) { return; } else { charBuffCount = w.stP; } var start = html.substring(0, w.stP), end = html.substring(w.endP + 1, html.length), mid = html.substring(w.stP, w.endP + 1), replacement = '', wIdx = mid.toLowerCase(); if (intext.isw) { replacement = '$1'; } else { replacement = '$1'; } if (!intext.foundWords[w.cid]) intext.foundWords[w.cid] = {}; if (!intext.foundWords[w.cid][wIdx]) { intext.foundWords[w.cid][wIdx] = 1 } else { intext.foundWords[w.cid][wIdx]++; } mid = mid.replace(new RegExp('(' + mid + ')', 'gi'), replacement); html = start.concat(mid); html = html.concat(end); }); wrap.innerHTML = html; while (wrap.firstChild) { frag.appendChild(wrap.firstChild); } return frag; })(); parentNode.insertBefore(htmlReplacement, val.node); parentNode.removeChild(val.node); }); }, /* findAll */ findAll: function (searchText, searchNode, cid, campCounter, campIndex, data, wc, sid, allDataBox, offctx) { var pattern = searchText, reg = intext.reg, cWords = []; if (!offctx) { var nodeArrLn = intext.textNodes.length; } else { var nodeArrLn = intext.textNodes.length; } HT.forEach(pattern, function (i, v) { if (!v || v.length == 0) { pattern.splice(i, 1); } }); intext.checkNode(pattern, 0, cid, cWords, reg, nodeArrLn, campCounter, campIndex, data, wc, sid, searchNode, allDataBox, 0, offctx); }, checkNode: function (pattern, counter, cid, cWords, reg, nodeArrLn, campCounter, campIndex, data, wc, sid, ctx, allDataBox, bpCounter, offctx) { var dataBuffor = "", isNotFound = true; if (intext.textNodes.length < 1) { return; } var node = intext.textNodes[counter].node; if (offctx) { if (bpCounter > 5) { (function () { setTimeout(function () { for (i = 0; i < node.data.length; i++) { // if ( !node.data.charAt(i).match(reg) ){ if (intext.isWhiteSpace(node.data.charCodeAt(i))) { dataBuffor = dataBuffor.concat(node.data.charAt(i)); } else { if (dataBuffor.length > 3) { var found = false; HT.forEach(intext.excWords, function (excei, v) { if (!found && dataBuffor.toLowerCase() == v.toLowerCase()) { found = true; } }) if (!found) { var tmpBool = true; var v = dataBuffor; if (!intext.campaignWords['c' + cid]) intext.campaignWords['c' + cid] = []; intext.campaignWords['c' + cid].push({w: v, startPointGlob: intext.pointer + i, startPoint: (i - v.length), endPoint: (i - 1), node: node, cid: cid}); HT.forEach(intext.allCampWords, function (index, val) { if (val.startPointGlob == (intext.pointer + i)) { if (Math.abs(intext.force["c" + cid] - intext.force["c" + val.cid]) < (0.5 / campCounter)) { if (intext.doubles["i" + index]) { intext.doubles["i" + index].cid.push(cid) } else { intext.doubles["i" + index] = {cid: [], idx: index}; intext.doubles["i" + index].cid.push(val.cid, cid) } } else if (intext.force["c" + cid] > intext.force["c" + val.cid]) { if (intext.countedWords["c" + cid]) { intext.countedWords["c" + cid]++; } else { intext.countedWords["c" + cid] = 1; } intext.countedWords["c" + val.cid]--; intext.allCampWords[index].cid = cid; if (intext.doubles["i" + index]) intext.doubles["i" + index].cid = []; } tmpBool = false; } }); if (tmpBool) { intext.allCampWords.push({w: v, startPointGlob: intext.pointer + i, startPoint: (i - v.length), endPoint: (i - 1), node: node, cid: cid}); intext.wCounter++; if (intext.countedWords["c" + cid]) { intext.countedWords["c" + cid]++; } else { intext.countedWords["c" + cid] = 1; } } } } dataBuffor = ""; } if (i == (node.data.length - 1)) { i++ if (dataBuffor.length > 3) { var found = false; HT.forEach(intext.excWords, function (excei, v) { if (!found && dataBuffor.toLowerCase() == v.toLowerCase()) { found = true; } }) if (!found) { var tmpBool = true; var v = dataBuffor; if (!intext.campaignWords['c' + cid]) intext.campaignWords['c' + cid] = []; intext.campaignWords['c' + cid].push({w: v, startPointGlob: intext.pointer + i, startPoint: (i - v.length), endPoint: (i - 1), node: node, cid: cid}); HT.forEach(intext.allCampWords, function (index, val) { if (val.startPointGlob == (intext.pointer + i)) { if (Math.abs(intext.force["c" + cid] - intext.force["c" + val.cid]) < (0.5 / campCounter)) { if (intext.doubles["i" + index]) { intext.doubles["i" + index].cid.push(cid) } else { intext.doubles["i" + index] = {cid: [], idx: index}; intext.doubles["i" + index].cid.push(val.cid, cid) } } else if (intext.force["c" + cid] > intext.force["c" + val.cid]) { if (intext.countedWords["c" + cid]) { intext.countedWords["c" + cid]++; } else { intext.countedWords["c" + cid] = 1; } intext.countedWords["c" + val.cid]--; intext.allCampWords[index].cid = cid; if (intext.doubles["i" + index]) intext.doubles["i" + index].cid = []; } tmpBool = false; } }); if (tmpBool) { intext.allCampWords.push({w: v, startPointGlob: intext.pointer + i, startPoint: (i - v.length), endPoint: (i - 1), node: node, cid: cid}); intext.wCounter++; if (intext.countedWords["c" + cid]) { intext.countedWords["c" + cid]++; } else { intext.countedWords["c" + cid] = 1; } } } } dataBuffor = ""; } } if (intext.allCampWords.length > 0) cWords.push(intext.allCampWords); intext.pointer += node.data.length; if ((counter + 1) < nodeArrLn) { intext.checkNode(pattern, counter + 1, cid, cWords, reg, nodeArrLn, campCounter, campIndex, data, wc, sid, ctx, allDataBox, bpCounter + 1, offctx); } else { intext.prepareData_v2(data, ctx, wc, sid, campCounter, campIndex, allDataBox, offctx); } }, 0) })(pattern, counter, cid, cWords, reg, nodeArrLn, campCounter, campIndex, data, wc, sid, ctx, allDataBox, intext.toReplace, intext.allCampWords, intext.countedWords, intext.toReplaceCount, intext.campaignWords, intext.sendWords, offctx); } else { (function () { for (i = 0; i < node.data.length; i++) { // if ( !node.data.charAt(i).match(reg) ){ if (intext.isWhiteSpace(node.data.charCodeAt(i))) { dataBuffor = dataBuffor.concat(node.data.charAt(i)); } else { if (dataBuffor.length > 3) { var found = false; HT.forEach(intext.excWords, function (excei, v) { if (!found && dataBuffor.toLowerCase() == v.toLowerCase()) { found = true; } }) if (!found) { var tmpBool = true; var v = dataBuffor.toLowerCase(); if (!intext.campaignWords['c' + cid]) intext.campaignWords['c' + cid] = []; intext.campaignWords['c' + cid].push({w: v, startPointGlob: intext.pointer + i, startPoint: (i - v.length), endPoint: (i - 1), node: node, cid: cid}); HT.forEach(intext.allCampWords, function (index, val) { if (val.startPointGlob == (intext.pointer + i)) { if (Math.abs(intext.force["c" + cid] - intext.force["c" + val.cid]) < (0.5 / campCounter)) { if (intext.doubles["i" + index]) { intext.doubles["i" + index].cid.push(cid) } else { intext.doubles["i" + index] = {cid: [], idx: index}; intext.doubles["i" + index].cid.push(val.cid, cid) } } else if (intext.force["c" + cid] > intext.force["c" + val.cid]) { if (intext.countedWords["c" + cid]) { intext.countedWords["c" + cid]++; } else { intext.countedWords["c" + cid] = 1; } intext.countedWords["c" + val.cid]--; intext.allCampWords[index].cid = cid; if (intext.doubles["i" + index]) intext.doubles["i" + index].cid = []; } tmpBool = false; } }); if (tmpBool) { intext.allCampWords.push({w: v, startPointGlob: intext.pointer + i, startPoint: (i - v.length), endPoint: (i - 1), node: node, cid: cid}); intext.wCounter++; if (intext.countedWords["c" + cid]) { intext.countedWords["c" + cid]++; } else { intext.countedWords["c" + cid] = 1; } } } } dataBuffor = ""; } if (i == (node.data.length - 1)) { i++ if (dataBuffor.length > 3) { var found = false; HT.forEach(intext.excWords, function (excei, v) { if (!found && dataBuffor.toLowerCase() == v.toLowerCase()) { found = true; } }) if (!found) { var tmpBool = true; var v = dataBuffor.toLowerCase(); if (!intext.campaignWords['c' + cid]) intext.campaignWords['c' + cid] = []; intext.campaignWords['c' + cid].push({w: v, startPointGlob: intext.pointer + i, startPoint: (i - v.length), endPoint: (i - 1), node: node, cid: cid}); HT.forEach(intext.allCampWords, function (index, val) { if (val.startPointGlob == (intext.pointer + i)) { if (Math.abs(intext.force["c" + cid] - intext.force["c" + val.cid]) < (0.5 / campCounter)) { if (intext.doubles["i" + index]) { intext.doubles["i" + index].cid.push(cid) } else { intext.doubles["i" + index] = {cid: [], idx: index}; intext.doubles["i" + index].cid.push(val.cid, cid) } } else if (intext.force["c" + cid] > intext.force["c" + val.cid]) { if (intext.countedWords["c" + cid]) { intext.countedWords["c" + cid]++; } else { intext.countedWords["c" + cid] = 1; } intext.countedWords["c" + val.cid]--; intext.allCampWords[index].cid = cid; if (intext.doubles["i" + index]) intext.doubles["i" + index].cid = []; } tmpBool = false; } }); if (tmpBool) { intext.allCampWords.push({w: v, startPointGlob: intext.pointer + i, startPoint: (i - v.length), endPoint: (i - 1), node: node, cid: cid}); intext.wCounter++; if (intext.countedWords["c" + cid]) { intext.countedWords["c" + cid]++; } else { intext.countedWords["c" + cid] = 1; } } } } dataBuffor = ""; } } if (intext.allCampWords.length > 0) cWords.push(intext.allCampWords); intext.pointer += node.data.length; if ((counter + 1) < nodeArrLn) { intext.checkNode(pattern, counter + 1, cid, cWords, reg, nodeArrLn, campCounter, campIndex, data, wc, sid, ctx, allDataBox, bpCounter + 1, offctx); } else { intext.prepareData_v2(data, ctx, wc, sid, campCounter, campIndex, allDataBox, offctx); } })(pattern, counter, cid, cWords, reg, nodeArrLn, campCounter, campIndex, data, wc, sid, ctx, allDataBox, intext.toReplace, intext.allCampWords, intext.countedWords, intext.toReplaceCount, intext.campaignWords, intext.sendWords, offctx); } } else { if (bpCounter > 5) { bpCounter = 0; (function () { setTimeout(function () { for (i = 0; i < node.data.length; i++) { // if ( !node.data.charAt(i).match(reg) ){ if (intext.isWhiteSpace(node.data.charCodeAt(i))) { dataBuffor = dataBuffor.concat(node.data.charAt(i)); } else { //console.log(dataBuffor, node.data.charAt(i)) HT.forEach(pattern, function (fei, v) { //if( dataBuffor.toLowerCase() == v.toLowerCase() && isNotFound) { if (dataBuffor == v && isNotFound) { var tmpBool = true, sendWord = dataBuffor.toLowerCase(); isNotFound = false; if (!intext.sendWords[cid]) intext.sendWords[cid] = []; if (!intext.sendWords[cid][sendWord]) { intext.sendWords[cid][sendWord] = 1; } else { intext.sendWords[cid][sendWord]++; } if (!intext.campaignWords['c' + cid]) intext.campaignWords['c' + cid] = []; intext.campaignWords['c' + cid].push({w: v, startPointGlob: intext.pointer + i, startPoint: (i - v.length), endPoint: (i - 1), node: node, cid: cid}); HT.forEach(intext.allCampWords, function (index, val) { if (val.startPointGlob == (intext.pointer + i)) { if (Math.abs(intext.force["c" + cid] - intext.force["c" + val.cid]) < (0.5 / campCounter)) { if (intext.doubles["i" + index]) { intext.doubles["i" + index].cid.push(cid) } else { intext.doubles["i" + index] = {cid: [], idx: index}; intext.doubles["i" + index].cid.push(val.cid, cid) } } else if (intext.force["c" + cid] > intext.force["c" + val.cid]) { if (intext.countedWords["c" + cid]) { intext.countedWords["c" + cid]++; } else { intext.countedWords["c" + cid] = 1; } intext.countedWords["c" + val.cid]--; intext.allCampWords[index].cid = cid; if (intext.doubles["i" + index]) intext.doubles["i" + index].cid = []; } tmpBool = false; } }); if (tmpBool) { intext.allCampWords.push({w: v, startPointGlob: intext.pointer + i, startPoint: (i - v.length), endPoint: (i - 1), node: node, cid: cid}); intext.wCounter++; if (intext.countedWords["c" + cid]) { intext.countedWords["c" + cid]++; } else { intext.countedWords["c" + cid] = 1; } } } }); isNotFound = true; dataBuffor = ""; } if (i == (node.data.length - 1)) { i++; HT.forEach(pattern, function (fei, v) { //if( dataBuffor.toLowerCase() == v.toLowerCase() && isNotFound) { if (dataBuffor == v && isNotFound) { var tmpBool = true, sendWord = dataBuffor.toLowerCase(); isNotFound = false; if (!intext.sendWords[cid]) intext.sendWords[cid] = []; if (!intext.sendWords[cid][sendWord]) { intext.sendWords[cid][sendWord] = 1; } else { intext.sendWords[cid][sendWord]++; } if (!intext.campaignWords['c' + cid]) intext.campaignWords['c' + cid] = []; intext.campaignWords['c' + cid].push({w: v, startPointGlob: intext.pointer + i, startPoint: (i - v.length), endPoint: (i - 1), node: node, cid: cid}); HT.forEach(intext.allCampWords, function (index, val) { if (val.startPointGlob == (intext.pointer + i)) { if (Math.abs(intext.force["c" + cid] - intext.force["c" + val.cid]) < (0.5 / campCounter)) { if (intext.doubles["i" + index]) { intext.doubles["i" + index].cid.push(cid) } else { intext.doubles["i" + index] = {cid: [], idx: index}; intext.doubles["i" + index].cid.push(val.cid, cid) } } else if (intext.force["c" + cid] > intext.force["c" + val.cid]) { if (intext.countedWords["c" + cid]) { intext.countedWords["c" + cid]++; } else { intext.countedWords["c" + cid] = 1; } intext.countedWords["c" + val.cid]--; intext.allCampWords[index].cid = cid; if (intext.doubles["i" + index]) intext.doubles["i" + index].cid = []; } tmpBool = false; } }); if (tmpBool) { intext.allCampWords.push({w: v, startPointGlob: intext.pointer + i, startPoint: (i - v.length), endPoint: (i - 1), node: node, cid: cid}); intext.wCounter++; if (intext.countedWords["c" + cid]) { intext.countedWords["c" + cid]++; } else { intext.countedWords["c" + cid] = 1; } } } }); dataBuffor = ""; isNotFound = true; } } if (intext.allCampWords.length > 0) cWords.push(intext.allCampWords); intext.pointer += node.data.length; if ((counter + 1) < nodeArrLn) { intext.checkNode(pattern, counter + 1, cid, cWords, reg, nodeArrLn, campCounter, campIndex, data, wc, sid, ctx, allDataBox, bpCounter + 1, offctx); } else { intext.prepareData_v2(data, ctx, wc, sid, campCounter, campIndex, allDataBox, offctx); } }, 0) })(pattern, counter, cid, cWords, reg, nodeArrLn, campCounter, campIndex, data, wc, sid, ctx, allDataBox, intext.toReplace, intext.allCampWords, intext.countedWords, intext.toReplaceCount, intext.campaignWords, intext.sendWords, offctx); } else { (function () { for (i = 0; i < node.data.length; i++) { // if ( !node.data.charAt(i).match(reg) ){ if (intext.isWhiteSpace(node.data.charCodeAt(i))) { dataBuffor = dataBuffor.concat(node.data.charAt(i)); } else { //console.log(dataBuffor, node.data.charAt(i)) HT.forEach(pattern, function (fei, v) { //if( dataBuffor.toLowerCase() == v.toLowerCase() && isNotFound) { if (dataBuffor == v && isNotFound) { var tmpBool = true, sendWord = dataBuffor.toLowerCase(); isNotFound = false; if (!intext.sendWords[cid]) intext.sendWords[cid] = []; if (!intext.sendWords[cid][sendWord]) { intext.sendWords[cid][sendWord] = 1; } else { intext.sendWords[cid][sendWord]++; } if (!intext.campaignWords['c' + cid]) intext.campaignWords['c' + cid] = []; intext.campaignWords['c' + cid].push({w: v, startPointGlob: intext.pointer + i, startPoint: (i - v.length), endPoint: (i - 1), node: node, cid: cid}); HT.forEach(intext.allCampWords, function (index, val) { if (val.startPointGlob == (intext.pointer + i)) { if (Math.abs(intext.force["c" + cid] - intext.force["c" + val.cid]) < (0.5 / campCounter)) { if (intext.doubles["i" + index]) { intext.doubles["i" + index].cid.push(cid) } else { intext.doubles["i" + index] = {cid: [], idx: index}; intext.doubles["i" + index].cid.push(val.cid, cid) } } else if (intext.force["c" + cid] > intext.force["c" + val.cid]) { if (intext.countedWords["c" + cid]) { intext.countedWords["c" + cid]++; } else { intext.countedWords["c" + cid] = 1; } intext.countedWords["c" + val.cid]--; intext.allCampWords[index].cid = cid; if (intext.doubles["i" + index]) intext.doubles["i" + index].cid = []; } tmpBool = false; } }); if (tmpBool) { intext.allCampWords.push({w: v, startPointGlob: intext.pointer + i, startPoint: (i - v.length), endPoint: (i - 1), node: node, cid: cid}); intext.wCounter++; if (intext.countedWords["c" + cid]) { intext.countedWords["c" + cid]++; } else { intext.countedWords["c" + cid] = 1; } } } }); isNotFound = true; dataBuffor = ""; } if (i == (node.data.length - 1)) { i++; HT.forEach(pattern, function (fei, v) { //if( dataBuffor.toLowerCase() == v.toLowerCase() && isNotFound) { if (dataBuffor == v && isNotFound) { var tmpBool = true, sendWord = dataBuffor.toLowerCase(); isNotFound = false; if (!intext.sendWords[cid]) intext.sendWords[cid] = []; if (!intext.sendWords[cid][sendWord]) { intext.sendWords[cid][sendWord] = 1; } else { intext.sendWords[cid][sendWord]++; } if (!intext.campaignWords['c' + cid]) intext.campaignWords['c' + cid] = []; intext.campaignWords['c' + cid].push({w: v, startPointGlob: intext.pointer + i, startPoint: (i - v.length), endPoint: (i - 1), node: node, cid: cid}); HT.forEach(intext.allCampWords, function (index, val) { if (val.startPointGlob == (intext.pointer + i)) { if (Math.abs(intext.force["c" + cid] - intext.force["c" + val.cid]) < (0.5 / campCounter)) { if (intext.doubles["i" + index]) { intext.doubles["i" + index].cid.push(cid) } else { intext.doubles["i" + index] = {cid: [], idx: index}; intext.doubles["i" + index].cid.push(val.cid, cid) } } else if (intext.force["c" + cid] > intext.force["c" + val.cid]) { if (intext.countedWords["c" + cid]) { intext.countedWords["c" + cid]++; } else { intext.countedWords["c" + cid] = 1; } intext.countedWords["c" + val.cid]--; intext.allCampWords[index].cid = cid; if (intext.doubles["i" + index]) intext.doubles["i" + index].cid = []; } tmpBool = false; } }); if (tmpBool) { intext.allCampWords.push({w: v, startPointGlob: intext.pointer + i, startPoint: (i - v.length), endPoint: (i - 1), node: node, cid: cid}); intext.wCounter++; if (intext.countedWords["c" + cid]) { intext.countedWords["c" + cid]++; } else { intext.countedWords["c" + cid] = 1; } } } }); dataBuffor = ""; isNotFound = true; } } if (intext.allCampWords.length > 0) cWords.push(intext.allCampWords); intext.pointer += node.data.length; if ((counter + 1) < nodeArrLn) { intext.checkNode(pattern, counter + 1, cid, cWords, reg, nodeArrLn, campCounter, campIndex, data, wc, sid, ctx, allDataBox, bpCounter + 1, offctx); } else { intext.prepareData_v2(data, ctx, wc, sid, campCounter, campIndex, allDataBox, offctx); } })(pattern, counter, cid, cWords, reg, nodeArrLn, campCounter, campIndex, data, wc, sid, ctx, allDataBox, intext.toReplace, intext.allCampWords, intext.countedWords, intext.toReplaceCount, intext.campaignWords, intext.sendWords, offctx); } } }, careDoubles: function () { var tempArr = [], max = 0; HT.forEach(HT.objectKeys(intext.doubles), function (noNeed, i) { tempArr.push(intext.doubles[i]); }); while (tempArr.length > 0) { max = tempArr.length; var less = null, rand = Math.floor(Math.random() * max); HT.forEach(tempArr[rand].cid, function (i, v) { if (i == 0) { less = v; } else { if (!intext.countedWords["c" + v]) intext.countedWords["c" + v] = 0; if (intext.countedWords["c" + v] < intext.countedWords["c" + less]) { intext.countedWords["c" + less]--; intext.countedWords["c" + v]++; intext.allCampWords[tempArr[rand].idx].cid = v; less = v; } } }); tempArr.splice(rand, 1); } }, /* attachEvents */ attachEvents: function (campaign, ctx, sid) { var RW = require('rw'), words = ctx.querySelectorAll('.rw_word'), display = intext.display, ism = intext.ismobile; HT.forEach(words, function (i, domWord) { if (typeof domWord == 'object') { if (!(domWord.getAttribute("data-cid") == campaign.campaign_id)) return; if (display == 1 || ism) { intext.display = 0; (function (word, domWord) { intext.showCreation(campaign, domWord, sid, word, false); setTimeout(function () { intext.hideCreation(campaign.campaign_id); }, intext.hideDisplay); })(domWord.childNodes[0], domWord); } (function (word) { HT.event.add(domWord, 'mouseover', function (e, t) { intext.showCreation(campaign, this.domElement, sid, word, true); }); })(domWord.childNodes[0]); HT.event.add(domWord, 'mouseout', function (e, t) { if (campaign.file_flash) { var extAr = campaign.file_flash.split('.'); var ex = extAr[extAr.length - 1]; if (ex.toLowerCase() == 'swf' || ex.toLowerCase() == 'flv') { setTimeout(function () { intext.hideCreation(campaign.campaign_id); }, 5000); } else { intext.hideCreation(campaign.campaign_id); } } else if (campaign.type == 6) { setTimeout(function () { intext.hideCreation(campaign.campaign_id); }, 5000); } else { intext.hideCreation(campaign.campaign_id); } }); (function (domWord) { HT.event.add(domWord, 'click', function () { if (campaign.is_word_link == 1) { try { if (campaign.clickUrl1) HT.jsonp(campaign.clickUrl1); if (campaign.clickUrl2) HT.jsonp(campaign.clickUrl2); if (campaign.clickUrl3) HT.jsonp(campaign.clickUrl3); if (campaign.clickCode1) eval(campaign.clickCode1); if (campaign.clickCode2) eval(campaign.clickCode2); if (campaign.clickCode3) eval(campaign.clickCode3); } catch (err) { RW.rwLog(err.message); } HT.jsonp(RW.url + "st.js?t=c&c=" + campaign.campaign_id + "&w=" + encodeURIComponent(domWord.childNodes[0].data.toLowerCase()) + "&s=" + sid); } else { return false; } }); })(domWord); } display = 0; }); }, showCreation: function (campaign, dom, sid, domW, sendStats) { var RW = require('rw'), pos = HT.dom.findPos(dom), adSize, linkSize, wndSize, scrollOffset, adPosTop, adPosLeft; if (window.innerWidth < 330) { var currentWindowWidth = window.innerWidth - 10, scalePrc = currentWindowWidth / 320; if (campaign.type == 254) { campaign.mobileWidth = 320 * scalePrc; campaign.mobileTopLineH = 31 * scalePrc; campaign.mobileTopFontS = 10 * scalePrc; campaign.mobileMainLinkHeight = 100 * scalePrc; campaign.mobileFont = 12 * scalePrc; campaign.campaign_imgWidth1 = campaign.campaign_imgWidth1 * scalePrc; campaign.campaign_imgHeight1 = campaign.campaign_imgWidth1 * scalePrc; if (campaign.title_size) { campaign.title_size = campaign.title_size * scalePrc; } else { campaign.title_size = 13 * scalePrc; } } else if (campaign.type == 253) { campaign.mobileWidth = 306 * scalePrc; campaign.mobileHeight = 289 * scalePrc; campaign.mobileTopLineH = 31 * scalePrc; campaign.mobileTopFontS = 10 * scalePrc; campaign.mobileMainLinkHeight = 250 * scalePrc; campaign.mobileMainLinkWidth = 300 * scalePrc; campaign.mobileMainImgHeight = 250 * scalePrc; campaign.mobileMainImgWidth = 300 * scalePrc; } else if (campaign.type == 255) { campaign.mobileWidth = 300 * scalePrc; campaign.mobileHeight = 88 * scalePrc; campaign.mobileTopLineH = 31 * scalePrc; campaign.mobileTopFontS = 10 * scalePrc; campaign.mobileMainLinkHeight = 50 * scalePrc; campaign.mobileFont = 12 * scalePrc; if (campaign.title_size) { campaign.title_size = campaign.title_size * scalePrc; } else { campaign.title_size = 13 * scalePrc; } } } if (!campaign.height) { if (campaign.file_flash) { campaign.height = 250; } else { campaign.height = 165; } } if (!campaign.width) { campaign.width = 300; } if (campaign.height < 70) campaign.height = 70; if (campaign.width < 200) campaign.width = 200; if (!intext.domAd['c' + campaign.campaign_id]) { intext.domAd['c' + campaign.campaign_id] = document.createElement('span'); intext.domAd['c' + campaign.campaign_id].style.display = 'inline-block'; intext.domAd['c' + campaign.campaign_id].style.display = 'none'; intext.domAd['c' + campaign.campaign_id].style.position = 'absolute'; HT.event.add(intext.domAd['c' + campaign.campaign_id], 'mouseover', function (e, t) { clearTimeout(intext.hideTimeout['c' + campaign.campaign_id]); }); HT.event.add(intext.domAd['c' + campaign.campaign_id], 'mouseout', function (e, t) { if (campaign.file_flash) { var extAr = campaign.file_flash.split('.'); var ex = extAr[extAr.length - 1]; if (ex.toLowerCase() == 'swf' || ex.toLowerCase() == 'flv') { setTimeout(function () { intext.hideCreation(campaign.campaign_id); }, 5000); } else { intext.hideCreation(campaign.campaign_id); } } else if (campaign.type == 6) { setTimeout(function () { intext.hideCreation(campaign.campaign_id); }, 5000); } else { intext.hideCreation(campaign.campaign_id); } }); HT.event.add(intext.domAd['c' + campaign.campaign_id], 'click', function () { try { if (campaign.clickUrl1) HT.jsonp(campaign.clickUrl1); if (campaign.clickUrl2) HT.jsonp(campaign.clickUrl2); if (campaign.clickUrl3) HT.jsonp(campaign.clickUrl3); if (campaign.clickCode1) eval(campaign.clickCode1); if (campaign.clickCode2) eval(campaign.clickCode2); if (campaign.clickCode3) eval(campaign.clickCode3); } catch (err) { RW.rwLog(err.message); } HT.jsonp(RW.url + "st.js?t=c&c=" + campaign.campaign_id + "&w=" + encodeURIComponent(domW.data.toLowerCase()) + "&s=" + sid); }); document.body.appendChild(intext.domAd['c' + campaign.campaign_id]); } // if(!intext.ismobile){ clearTimeout(intext.hideTimeout['c' + campaign.campaign_id]); // } try { if (campaign.showCode1) { eval(campaign.showCode1); } if (campaign.showCode2) { eval(campaign.showCode2); } if (campaign.showCode3) { eval(campaign.showCode3); } } catch (err) { RW.rwLog(err.message); } if (dom.getAttribute("adShown") == "0" && sendStats) { dom.setAttribute("adShown", "1"); if (campaign.showUrl1) { HT.jsonp(campaign.showUrl1); } if (campaign.showUrl2) { HT.jsonp(campaign.showUrl2); } if (campaign.showUrl3) { HT.jsonp(campaign.showUrl3); } HT.jsonp(RW.url + "st.js?t=s&c=" + campaign.campaign_id + "&w=" + encodeURIComponent(dom.childNodes[0].data.toLowerCase()) + "&s=" + sid); } if (campaign.file_flash) { //HT.jsonp(RW.url+"st.js?t=c&c="+campaign.campaign_id+"&w="+encodeURIComponent(domW.data.toLowerCase())+"&s="+sid); var clickTAG = null, fileEx = campaign.file_flash.split('.'); if (fileEx[fileEx.length - 1].toLowerCase() == "swf" || fileEx[fileEx.length - 1].toLowerCase() == "flv") { fileEx = false; clickTAG = escape(RW.url + "st.js?t=c&c=" + campaign.campaign_id + "&w=" + encodeURIComponent(domW.data.toLowerCase()) + "&s=" + sid) } else { clickTAG = "st.js?t=c&c=" + campaign.campaign_id + "&w=" + encodeURIComponent(domW.data.toLowerCase()) + "&s=" + sid; } campaign.fileEx = fileEx; campaign.clickTAG = clickTAG; //new SWF.embedSWF(RW.url+"upload/"+campaign.file_flash, campaign.flashBoxId, campaign.width, campaign.height, "9.0.0.0", false, flashvars, null , null); } //intext.domAd['c' + campaign.campaign_id].innerHTML = RW.render(campaign); // ================================================================================================================== // if ( typeof (campaign.smart) !== "undefined" && ( (typeof (campaign.smart) === "object" && campaign.smart !== null) || typeof (campaign.smart) === "boolean" ) ) { // Wywoływane, gdy reklamy smart zostały skonfigurowane if (typeof (campaign.smart) === "object") { // Szablon dymka intext.domAd['c' + campaign.campaign_id].innerHTML = RW.render(campaign, 'smart-in-text'); // Fix dla skaczącego okienka var original_smart_display = intext.domAd['c' + campaign.campaign_id].children[0].style.display; intext.domAd['c' + campaign.campaign_id].children[0].style.display = 'none'; var s1 = document.createElement('script'); s1.type = 'text/javascript'; s1.text += "var original_dw_intext = document.write;"; s1.text += "var original_gebi_intext = document.getElementById;"; s1.text += "var writes = [];"; s1.text += "document.write = function(text) {"; s1.text += "document.querySelector('div.smart_intext_" + campaign.campaign_id + "').innerHTML += text;"; s1.text += "};"; s1.text += "document.getElementById = function(id) {"; s1.text += "return document.querySelector('div.smart_intext_" + campaign.campaign_id + "').querySelector('#'+id);"; s1.text += "};"; // WYŁĄCZONY SKRYPT NIE WIEM PO CO ON // intext.domAd['c' + campaign.campaign_id].appendChild(s1); var s2 = document.createElement('script'); s2.type = 'text/javascript'; // s2.src = '//prg.smartadserver.com/ac?out=js&async=1&nwid=2642&siteid=235489&pgid=935094&fmtid=55970&tgt=' + campaign.smart.tgt + '&visit=m&tmstp=' + new Date().getTime() + '&clcturl=' + campaign.smart.clcturl + ''; // s2.src = 'https://prg.smartadserver.com/ac?out=js&async=1&nwid=' + campaign.smart.nwid + '&siteid=' + campaign.smart.siteid + '&pgid=' + campaign.smart.pgid + '&fmtid=' + campaign.smart.fmtid + '&tgt=' + campaign.smart.tgt + '&visit=m&tmstp=' + new Date().getTime() + '&clcturl=' + campaign.smart.clcturl + ''; s2.src = 'https://prg.smartadserver.com/ac?out=js&async=1&nwid=' + campaign.smart.nwid + '&siteid=' + campaign.smart.siteid + '&pgid=' + campaign.smart.pgid + '&fmtid=' + campaign.smart.fmtid + '&visit=m&tmstp=' + new Date().getTime() + ''; s2.onload = function () { if (typeof (sas_noad) != "undefined") { // Smart zwraca, że nie ma reklam do wyświetlenia // Usuń informacje od smart delete sas_noad; // Wyświetl ReWords intext.domAd['c' + campaign.campaign_id].innerHTML = RW.render(campaign); // Cache - nie pytaj ponownie o reklamy smart, gdy nie dostaliśmy ich za pierwszym razem // campaign.smart = false; } else { // Fix dla skaczącego okienka intext.domAd['c' + campaign.campaign_id].children[0].style.display = original_smart_display; var smart_ad_element = document.querySelector('div.smart_intext_' + campaign.campaign_id); // Fix iframe height +2px if (smart_ad_element.querySelector('iframe')) { smart_ad_element.style.height = (smart_ad_element.querySelector('iframe').clientHeight) + 'px'; } // Cache - nie pytaj ponownie o reklamy smart, gdy już zostały pobrane campaign.smart = true; } // Przelicz rozmiary i odpowiednie umieszczenie computeAdSizeAndPosition(); // WYŁĄCZONY WRITE ZE WZGLĘDU NA WYŁĄCZONY SKRYPT // document.write = original_dw_intext; // document.getElementById = original_gebi_intext; }; s2.onerror = function () { // Nie można połączyć się z smart! // Wyświetl ReWords intext.domAd['c' + campaign.campaign_id].innerHTML = RW.render(campaign); // Przelicz rozmiary i odpowiednie umieszczenie computeAdSizeAndPosition(); // WYŁĄCZONY WRITE ZE WZGLĘDU NA WYŁĄCZONY SKRYPT // document.write = original_dw_intext; // document.getElementById = original_gebi_intext; }; intext.domAd['c' + campaign.campaign_id].appendChild(s2); } else { if (campaign.smart === false) { intext.domAd['c' + campaign.campaign_id].innerHTML = RW.render(campaign); } } } else { // Wywoływane, gdy konfiguracja smarta nie jest zdefiniowana intext.domAd['c' + campaign.campaign_id].innerHTML = RW.render(campaign); } // ================================================================================================================== // function computeAdSizeAndPosition() { // Fix zIndex intext.domAd['c' + campaign.campaign_id].children[0].style.zIndex = 9999999; intext.domAd['c' + campaign.campaign_id].style.visibility = 'hidden'; intext.domAd['c' + campaign.campaign_id].style.display = 'block'; adSize = HT.css.getComputedSize(intext.domAd['c' + campaign.campaign_id]); wndSize = HT.window.getSize(); scrollOffset = HT.window.getScroll(); adPosTop = pos.top - adSize.height; if (intext.takeBodyH) { var bodyPos = HT.dom.findPos(document.body) adPosTop = adPosTop - bodyPos.top; } if (adPosTop < scrollOffset.offsetY) { linkSize = HT.css.getComputedSize(dom); adPosTop = pos.top + linkSize.height; if (intext.takeBodyH) { var bodyPos = HT.dom.findPos(document.body) adPosTop = adPosTop - bodyPos.top; } } adPosLeft = pos.left; if (adPosLeft + adSize.width > wndSize.width) { adPosLeft = scrollOffset.offsetX + wndSize.width - adSize.width - 20; } if (adPosLeft < 0) { adPosLeft = 0; } intext.domAd['c' + campaign.campaign_id].style.top = adPosTop + 'px'; intext.domAd['c' + campaign.campaign_id].style.left = adPosLeft + 'px'; intext.domAd['c' + campaign.campaign_id].style.visibility = 'visible'; var size = HT.css.getComputedSize(intext.domAd['c' + campaign.campaign_id]); // if ((size.height - campaign.height) > 25) campaign.height = size.height; // if ((size.width - campaign.width) > 25) campaign.width = size.width; RW.rwClose(intext.domAd['c' + campaign.campaign_id]); if (campaign.type == 6) { eval(campaign.js_content); } } computeAdSizeAndPosition(); }, hideCreation: function (id) { if (!intext.domAd['c' + id]) return; intext.hideTimeout['c' + id] = setTimeout(function () { intext.domAd['c' + id].style.display = 'none'; }, 500); }, debug: function () { var RW = require('rw'); RW.rwLog("allCampWords ", intext.allCampWords); RW.rwLog("campaignWords", intext.campaignWords); RW.rwLog("foundWords", intext.foundWords); RW.rwLog("wCounter ", intext.wCounter); RW.rwLog("pointer ", intext.pointer); RW.rwLog("textNodes ", intext.textNodes); RW.rwLog("countedWords ", intext.countedWords); RW.rwLog("toReplaceCount ", intext.toReplaceCount); RW.rwLog("force ", intext.force); RW.rwLog("toReplace ", intext.toReplace); RW.rwLog("sendWords", intext.sendWords); }, isWhiteSpace: function (cc) { return ((cc >= 48 && cc <= 57) || (cc >= 65 && cc <= 90) || (cc >= 192 && cc <= 382) || (cc >= 1025 && cc <= 1119) || (cc >= 97 && cc <= 122)); // return ( cc >= 65 && cc <= 90 ) || ( cc >= 97 && cc <= 122 ) } } return intext; }); define('RW/inimage',['ht', 'rw'], function (HT, RW) { var inImage = { domAds: [], sendWords: {}, reg: null, process: function (campaigns, ctx, sid, textNodes, offctx, reg) { inImage.reg = reg; inImage.prepareImages(campaigns, ctx, sid, textNodes, 0, offctx) return 0; }, prepareImages: function (campaigns, ctx, sid, textNodes, counter, offctx) { (function (campaigns, ctx, sid, textNodes, counter, offctx) { setTimeout(function () { var campaign = campaigns[counter]; var images = inImage.findImages(campaign, ctx, offctx), contextWords = null; if (!inImage.sendWords["toSend"]) inImage.sendWords["toSend"] = {}; inImage.sendWords["toSend"][campaign.campaign_id] = campaign.sendWords; if (!inImage.sendWords[campaign.campaign_id]) inImage.sendWords[campaign.campaign_id] = []; contextWords = inImage.contextWords(campaign.wordGroups, ctx, textNodes, campaign.campaign_id); if (false === images) { // return; } else { if (images.matched) { inImage.showCreation(campaign, images.imgs, ctx, sid); } else if (contextWords) { inImage.showCreation(campaign, images.imgs, ctx, sid, contextWords); } } if (campaigns.length > (counter + 1)) { inImage.prepareImages(campaigns, ctx, sid, textNodes, counter + 1, offctx) } else if (!offctx) { inImage.sendWordsToMC(sid); //inImage.debug(); } }, 0); //Increase counter for each loop.splice })(campaigns, ctx, sid, textNodes, counter, offctx) }, sendWordsToMC: function (sid) { var RW = require('rw'), mcBuffor = ""; HT.forEach(HT.objectKeys(inImage.sendWords), function (noNeed, cid) { if (!inImage.sendWords["toSend"][cid]) return; HT.forEach(HT.objectKeys(inImage.sendWords[cid]), function (noNeed, a) { if (!(mcBuffor == "")) { mcBuffor = mcBuffor.concat("|" + a); } else { mcBuffor = mcBuffor.concat(a); } }); if (inImage.sendWords[cid]) { if (mcBuffor == "") { mcBuffor = RW.urlToSend; } HT.jsonp(RW.url + "mc.js?u=" + RW.urlToSend + "&c=" + cid + "&w=" + encodeURIComponent(mcBuffor) + "&s=" + sid); } mcBuffor = ""; }); }, findImages: function (campaign, ctx, offctx) { var images = ctx.getElementsByTagName('img'), result = {matched: [], notmatched: []}, adWidth = 0, adHeight = 0; if (!campaign.image_coverage_h) { campaign.image_coverage_h = 75; } if (!campaign.image_coverage_v) { campaign.image_coverage_v = 75; } if (!campaign.height && campaign.type != 50) { campaign.height = 165; } else { campaign.height = 250; } if (!campaign.width && campaign.type != 50) { campaign.width = 310; } else { campaign.width = 300; } if (campaign.height < 70) campaign.height = 70; if (campaign.width < 300) campaign.width = 301; HT.forEach(images, function (i, img) { var size = HT.css.getComputedSize(img), matches, matched = false; if (!size) return; adWidth = (size.width); adHeight = (size.height * campaign.image_coverage_v) / 100; if (campaign.type == 53) { if ((campaign.html_width > adWidth) || (campaign.html_height > adHeight)) { return; } } else if ((campaign.width > adWidth) || (campaign.height > adHeight)) { return; } if (!inImage.checkParent(img)) return; if (offctx) { result.matched.push({dom: img, width: size.width, height: size.height, words: 'rw_inimage', padding: size.padding, border: size.border, margin: size.margin}); } else { HT.forEach(campaign.wordGroups, function (wid, word) { if (matched) return; if (img.title == word) { result.matched.push({dom: img, width: size.width, height: size.height, words: word, padding: size.padding, border: size.border, margin: size.margin}); if (!inImage.sendWords[campaign.campaign_id][word]) { inImage.sendWords[campaign.campaign_id][word] = 1; } else { inImage.sendWords[campaign.campaign_id][word]++; } matched = true; } }); } if (!matched) { result.notmatched.push({dom: img, width: size.width, height: size.height, padding: size.padding, border: size.border, margin: size.margin}); } }); if (result.matched.length + result.notmatched.length == 0) { return false; } return { matched: result.matched.length > 0, imgs: (result.matched.length > 0) ? result.matched : result.notmatched } }, checkParent: function (domNode) { if (HT.css.hasClass(domNode, 'rw_inimage')) return false; if (!domNode.parentNode) return true; if (domNode.parentNode.tagName == 'BODY') return true return inImage.checkParent(domNode.parentNode); }, /* based on http://james.padolsey.com/javascript/find-and-replace-text-with-javascript/ */ contextWords: function (searchText, ctx, textNodes, cid) { var reg = inImage.reg, pattern = searchText, result = null; HT.forEach(textNodes, function (fei, data) { var dataBuffor = "", node = data.node, isNotFound = true; for (i = 0; i < node.data.length; i++) { if (!node.data.charAt(i).match(reg)) { dataBuffor = dataBuffor.concat(node.data.charAt(i)); } else { HT.forEach(pattern, function (fei, v) { if (dataBuffor.toLowerCase() == v.toLowerCase() && isNotFound) { var sendWord = dataBuffor.toLowerCase(); isNotFound = false; result = sendWord; if (!inImage.sendWords[cid][sendWord]) { inImage.sendWords[cid][sendWord] = 1; } else { inImage.sendWords[cid][sendWord]++; } } }); isNotFound = true; dataBuffor = ""; } if (i == (node.data.length - 1)) { i++; HT.forEach(pattern, function (fei, v) { if (dataBuffor.toLowerCase() == v.toLowerCase() && isNotFound) { var sendWord = dataBuffor.toLowerCase(); result = sendWord; isNotFound = false; if (!inImage.sendWords[cid][sendWord]) { inImage.sendWords[cid][sendWord] = 1; } else { inImage.sendWords[cid][sendWord]++; } } }); isNotFound = true; dataBuffor = ""; } } }); return result; }, showCreation: function (campaign, images, ctx, sid, contextWords) { var RW = require('rw'), ctrlClose, img = images[0], nctx, newImageContainer = document.createElement('span'), ad = document.createElement('span'), word = ""; if (campaign.showCode) RW.addCode(campaign.showCode); if (contextWords) { var word = contextWords.toLowerCase(); if (word == null || word == "") { word = 'rw_inimage'; } HT.jsonp(RW.url + "st.js?t=g&c=" + campaign.campaign_id + "&w=" + word + "&s=" + sid); HT.jsonp(RW.url + "st.js?t=s&c=" + campaign.campaign_id + "&w=" + word + "&s=" + sid); word = contextWords.toLowerCase(); } else { var imgWord = img.dom.title.toLowerCase(); if (imgWord == "") imgWord = 'rw_inimage'; HT.jsonp(RW.url + "st.js?t=g&c=" + campaign.campaign_id + "&w=" + imgWord + "&s=" + sid); HT.jsonp(RW.url + "st.js?t=s&c=" + campaign.campaign_id + "&w=" + imgWord + "&s=" + sid); word = img.dom.title.toLowerCase(); } HT.event.add(ad.firstChild, 'click', function () { var redirectFunction = 'cb' + (new Date()).getTime(); eval(redirectFunction + '=RW.redirect'); if (campaign.codeClick1) RW.addCode(campaign.codeClick1); if (campaign.codeClick2) RW.addCode(campaign.codeClick2); if (word == null || word == "") { word = 'rw_inimage'; } HT.jsonp(RW.url + "st.js?t=c&c=" + campaign.campaign_id + "&w=" + encodeURIComponent(word) + "&s=" + sid); }); newImageContainer.style.position = img.dom.style.position ? img.dom.style.position : ''; newImageContainer.style.display = img.dom.style.display ? img.dom.style.display : 'inline-block'; newImageContainer.setAttribute("class", "rwStopProp rw_inimage"); newImageContainer.style.position = 'relative'; newImageContainer.style.height = (img.height + img.padding[0] + img.padding[2] + img.border[0] + img.border[2]) + 'px'; newImageContainer.style.width = (img.width + img.padding[0] + img.padding[2] + img.border[0] + img.border[2]) + 'px'; newImageContainer.style.left = 0 + 'px'; newImageContainer.innerHTML = img.dom.outerHTML; newImageContainer.appendChild(ad); nctx = img.dom.parentNode; nctx.insertBefore(newImageContainer, img.dom); nctx.removeChild(img.dom); if (campaign.opacity) { campaign.cssOpacity = campaign.opacity / 100; } if (campaign.type == 1 || campaign.type == 50 || campaign.type == 101 || campaign.type == 151 || campaign.type == 54 || campaign.type == 5) { campaign.flashBoxId = "c" + campaign.campaign_id + "r" + (new Date()).getTime() + "t" + campaign.type; if (campaign.file_flash) { //var clickTAG = escape(campaign.url); var clickTAG = null, fileEx = campaign.file_flash.split('.'); if (word == null || word == "") { word = 'rw_inimage' } if (fileEx[fileEx.length - 1].toLowerCase() == "swf" || fileEx[fileEx.length - 1].toLowerCase() == "flv") { fileEx = false; clickTAG = escape(RW.url + "st.js?t=c&c=" + campaign.campaign_id + "&w=" + encodeURIComponent(word.toLowerCase()) + "&s=" + sid) } else { clickTAG = "st.js?t=c&c=" + campaign.campaign_id + "&w=" + encodeURIComponent(word.toLowerCase()) + "&s=" + sid; } campaign.fileEx = fileEx; campaign.clickTAG = clickTAG; //new SWF.embedSWF(RW.url+"upload/"+campaign.file_flash, campaign.flashBoxId, 300, 250, "9.0.0.0", false, flashvars, null, null); } ad.innerHTML = RW.render(campaign); } else { ad.innerHTML = RW.render(campaign); ad.style.display = 'inline-block'; ad.style.position = 'absolute'; if (campaign.type == 53) { ad.style.width = campaign.html_width + 'px'; ad.style.height = (campaign.html_height) + 'px'; ad.style.top = Math.round((img.height - campaign.html_height) / 2) + 'px'; ad.style.left = Math.round((img.width - campaign.html_width) / 2) + 'px'; } else { ad.style.width = img.width + 'px'; ad.style.height = (campaign.height + 2) + 'px'; ad.style.bottom = (img.padding[2] + img.border[2]) + 'px'; ad.style.left = img.padding[3] + img.border[3] + img.margin[3] + 'px'; } } // ================================================================================================================== // if (typeof (campaign.smart) !== "undefined" && campaign.smart !== null) { // Wywoływane, gdy reklamy smart zostały skonfigurowane // Fix przed ładowaniem z smarta ad.style.display = 'none'; ad.innerHTML = RW.render(campaign, 'smart-in-image'); var s1 = document.createElement('script'); s1.type = 'text/javascript'; s1.text += "var original_dw_intext = document.write;"; s1.text += "var original_gebi_intext = document.getElementById;"; s1.text += "var writes = [];"; s1.text += "document.write = function(text) {"; s1.text += "document.querySelector('div.smart_inimage_" + campaign.campaign_id + "').innerHTML += text;"; s1.text += "};"; s1.text += "document.getElementById = function(id) {"; s1.text += "return document.querySelector('div.smart_inimage_" + campaign.campaign_id + "').querySelector('#'+id);"; s1.text += "};"; // WYŁĄCZONY SKRYPT // ad.appendChild(s1); var s2 = document.createElement('script'); s2.type = 'text/javascript'; // s2.src = 'https://prg.smartadserver.com/ac?out=js&async=1&nwid=' + campaign.smart.nwid + '&siteid=' + campaign.smart.siteid + '&pgid=' + campaign.smart.pgid + '&fmtid=' + campaign.smart.fmtid + '&tgt=' + campaign.smart.tgt + '&visit=m&tmstp=' + new Date().getTime() + '&clcturl=' + campaign.smart.clcturl + ''; s2.src = 'https://prg.smartadserver.com/ac?out=js&async=1&nwid=' + campaign.smart.nwid + '&siteid=' + campaign.smart.siteid + '&pgid=' + campaign.smart.pgid + '&fmtid=' + campaign.smart.fmtid + '&visit=m&tmstp=' + new Date().getTime() + ''; s2.onload = function () { // Fix przed ładowaniem z smarta //ad.style.display = 'inline-block'; if (typeof (sas_noad) != "undefined") { // Smart zwraca, że nie ma reklam do wyświetlenia // Usuń informacje od smart delete sas_noad; // Wyświetl ReWords ad.innerHTML = RW.render(campaign); } else { var smart_ad_element = document.querySelector('div.smart_inimage_' + campaign.campaign_id); // Fix iframe height +2px if (smart_ad_element.querySelector('iframe')) { smart_ad_element.style.height = (smart_ad_element.querySelector('iframe').clientHeight) + 'px'; } // Fix container size and position ad.style.width = smart_ad_element.clientWidth + 'px'; ad.style.height = smart_ad_element.clientHeight + 'px'; ad.style.top = Math.round((img.height - smart_ad_element.clientHeight) / 2) + 'px'; ad.style.left = Math.round((img.width - smart_ad_element.clientWidth) / 2) + 'px'; } // WYŁĄCZONY WRITE ZE WZGLĘDU NA WYŁĄCZONY SKRYPT // document.write = original_dw_intext; // document.getElementById = original_gebi_intext; }; s2.onerror = function () { // Nie można połączyć się z smart! // Fix przed ładowaniem reklam ad.style.display = 'inline-block'; // Wyświetl ReWords ad.innerHTML = RW.render(campaign); // // WYŁĄCZONY WRITE ZE WZGLĘDU NA WYŁĄCZONY SKRYPT // document.write = original_dw_intext; // document.getElementById = original_gebi_intext; }; ad.appendChild(s2); } else { // Wywoływane, gdy konfiguracja smarta nie jest zdefiniowana ad.innerHTML = RW.render(campaign); } // ================================================================================================================== // // NA SZYBKO! Sztuczne opóźnienie dodania eventu do guzika zamykania reklamy setTimeout(function () { ctrlClose = ad; RW.rwClose(ctrlClose); ctrlClose = ad.getElementsByClassName('inclose')[0]; HT.event.add(ctrlClose, 'click', function (ev) { ev.stopPropagation(); ad.style.display = 'none'; return false; }); }, 2000); if (campaign.duration) { setTimeout(function () { ad.style.display = 'none'; }, campaign.duration * 1000); } }, // hideCreation: function() { // if (!intext.domAd) return; // intext.domAd.style.display = 'none'; // }, debug: function () { var RW = require('rw'); // RW.rwLog("debug_inImage"); // RW.rwLog("force ",inImage.force); // RW.rwLog("images ",inImage.images); // RW.rwLog("order", inImage.order); // RW.rwLog("end_debug_inImage"); RW.rwLog("sendWords", inImage.sendWords); } } return inImage; }); define('RW/area',['ht', 'rw'], function(HT, RW) { var area = { process: function(campaigns, sid) { var ctx = document.querySelector('.rw_area'); if(!ctx) { return null; } area.createAd(campaigns, ctx, sid); area.sendStats(campaigns, sid); }, createAd: function(campaigns, ctx, sid) { var RW = require('rw'), ad = document.createElement('span'); HT.forEach(campaigns, function(i, campaign){ campaign.url =(RW.url+"st.js?t=c&c="+campaign.campaign_id+"&w="+encodeURIComponent('rwarea')+"&s="+sid); if (campaign.file_flash) { campaign.flashBoxId = "c"+campaign.campaign_id+"r"+(new Date()).getTime()+"t"+campaign.type; var clickTAG = null, fileEx = campaign.file_flash.split('.'); if (fileEx[fileEx.length-1].toLowerCase() == "swf") { fileEx = false; clickTAG = escape(RW.url+"st.js?t=c&c="+campaign.campaign_id+"&w="+encodeURIComponent('rwarea')+"&s="+sid); } else { clickTAG = "st.js?t=c&c="+campaign.campaign_id+"&w="+encodeURIComponent('rwarea')+"&s="+sid } campaign.fileEx = fileEx; campaign.clickTAG = clickTAG; } }); ad.innerHTML = RW.render(campaigns); ctx.appendChild(ad); HT.forEach(campaigns, function(i, campaign){ if (campaign.file_flash) { if(!campaign.image_coverage_v){ campaign.image_coverage_v = 300; } if(!campaign.image_coverage_h){ campaign.image_coverage_h =250; } //new SWF.embedSWF(RW.url+"upload/"+campaign.file_flash,campaign.flashBoxId, campaign.image_coverage_v, campaign.image_coverage_h, "9.0.0.0", false, flashvars, null, null); } }); }, sendStats: function(campaigns, sid) { var RW = require('rw'); HT.forEach(campaigns, function(i, campaign){ HT.jsonp(RW.url+"st.js?t=g&c="+campaign.campaign_id+"&w="+encodeURIComponent('rwarea')+"&s="+sid); HT.jsonp(RW.url+"st.js?t=s&c="+campaign.campaign_id+"&w="+encodeURIComponent('rwarea')+"&s="+sid); var domel = document.getElementById('rwc'+campaign.campaign_id); try { if( campaign.showUrl1 ) HT.jsonp(campaign.showUrl1); if( campaign.showUrl2 ) HT.jsonp(campaign.showUrl2); if( campaign.showUrl3 ) HT.jsonp(campaign.showUrl3); if( campaign.showCode1 ) eval(campaign.showCode1); if( campaign.showCode2 ) eval(campaign.showCode2); if( campaign.showCode3 ) eval(campaign.showCode3); } catch(err) { RW.rwLog(err.message); } HT.event.add(domel, 'click', function() { try { if( campaign.clickUrl1 ) HT.jsonp(campaign.clickUrl1); if( campaign.clickUrl2 ) HT.jsonp(campaign.clickUrl2); if( campaign.clickUrl3 ) HT.jsonp(campaign.clickUrl3); if( campaign.clickCode1 ) eval(campaign.clickCode1); if( campaign.clickCode2 ) eval(campaign.clickCode2); if( campaign.clickCode3 ) eval(campaign.clickCode3); } catch(err) { RW.rwLog(err.message); } }); }); } }; return area; }); define('RW/area_img',['ht', 'rw'], function(HT, RW) { var area_img = { process: function(campaigns, sid) { var ctx = document.querySelector('.rw_area_img'); if(!ctx) { return null; } area_img.createAd(campaigns, ctx, sid); area_img.sendStats(campaigns,sid); }, createAd: function(campaigns, ctx, sid) { var RW = require('rw'), ad = document.createElement('span'); HT.forEach(campaigns, function(i, campaign){ campaign.url =(RW.url+"st.js?t=c&c="+campaign.campaign_id+"&w="+encodeURIComponent('rwarea')+"&s="+sid); }); ad.innerHTML = RW.render(campaigns); ctx.appendChild(ad); }, sendStats: function(campaigns, sid) { var RW = require('rw'); HT.forEach(campaigns, function(i, campaign){ HT.jsonp(RW.url+"st.js?t=g&c="+campaign.campaign_id+"&w="+encodeURIComponent('rwarea')+"&s="+sid); HT.jsonp(RW.url+"st.js?t=s&c="+campaign.campaign_id+"&w="+encodeURIComponent('rwarea')+"&s="+sid); var domel = document.getElementById('rwc'+campaign.campaign_id); try { if( campaign.showUrl1 ) HT.jsonp(campaign.showUrl1); if( campaign.showUrl2 ) HT.jsonp(campaign.showUrl2); if( campaign.showUrl3 ) HT.jsonp(campaign.showUrl3); if( campaign.showCode1 ) eval(campaign.showCode1); if( campaign.showCode2 ) eval(campaign.showCode2); if( campaign.showCode3 ) eval(campaign.showCode3); } catch(err) { RW.rwLog(err.message); } HT.event.add(domel, 'click', function() { try { if( campaign.clickUrl1 ) HT.jsonp(campaign.clickUrl1); if( campaign.clickUrl2 ) HT.jsonp(campaign.clickUrl2); if( campaign.clickUrl3 ) HT.jsonp(campaign.clickUrl3); if( campaign.clickCode1 ) eval(campaign.clickCode1); if( campaign.clickCode2 ) eval(campaign.clickCode2); if( campaign.clickCode3 ) eval(campaign.clickCode3); } catch(err) { RW.rwLog(err.message); } }); }); } }; return area_img; }); define('RW/area_logo',['ht', 'rw'], function(HT, RW) { var area_logo = { process: function(campaigns, sid) { var ctx = document.querySelector('.rw_area_logo'); if(!ctx) { return null; } area_logo.createAd(campaigns, ctx, sid); area_logo.sendStats(campaigns,sid); }, createAd: function(campaigns, ctx, sid) { var RW = require('rw'), ad = document.createElement('span'); HT.forEach(campaigns, function(i, campaign){ campaign.url =(RW.url+"st.js?t=c&c="+campaign.campaign_id+"&w="+encodeURIComponent('rwarea')+"&s="+sid); }); ad.innerHTML = RW.render(campaigns); ctx.appendChild(ad); }, sendStats: function(campaigns, sid) { var RW = require('rw'); HT.forEach(campaigns, function(i, campaign){ HT.jsonp(RW.url+"st.js?t=g&c="+campaign.campaign_id+"&w="+encodeURIComponent('rwarea')+"&s="+sid); HT.jsonp(RW.url+"st.js?t=s&c="+campaign.campaign_id+"&w="+encodeURIComponent('rwarea')+"&s="+sid); var domel = document.getElementById('rwc'+campaign.campaign_id); try { if( campaign.showUrl1 ) HT.jsonp(campaign.showUrl1); if( campaign.showUrl2 ) HT.jsonp(campaign.showUrl2); if( campaign.showUrl3 ) HT.jsonp(campaign.showUrl3); if( campaign.showCode1 ) eval(campaign.showCode1); if( campaign.showCode2 ) eval(campaign.showCode2); if( campaign.showCode3 ) eval(campaign.showCode3); } catch(err) { RW.rwLog(err.message); } HT.event.add(domel, 'click', function() { try { if( campaign.clickUrl1 ) HT.jsonp(campaign.clickUrl1); if( campaign.clickUrl2 ) HT.jsonp(campaign.clickUrl2); if( campaign.clickUrl3 ) HT.jsonp(campaign.clickUrl3); if( campaign.clickCode1 ) eval(campaign.clickCode1); if( campaign.clickCode2 ) eval(campaign.clickCode2); if( campaign.clickCode3 ) eval(campaign.clickCode3); } catch(err) { RW.rwLog(err.message); } }); }); } }; return area_logo; }); define('RW/area_text',['ht', 'rw'], function(HT, RW) { var area_text = { process: function(campaigns, sid) { var ctx = document.querySelector('.rw_area_text'); if(!ctx) { return null; } area_text.createAd(campaigns, ctx, sid); area_text.sendStats(campaigns, sid); }, createAd: function(campaigns, ctx, sid) { var RW = require('rw'), ad = document.createElement('span'); HT.forEach(campaigns, function(i, campaign){ campaign.url =(RW.url+"st.js?t=c&c="+campaign.campaign_id+"&w="+encodeURIComponent('rwarea')+"&s="+sid); }); ad.innerHTML = RW.render(campaigns); ctx.appendChild(ad); }, sendStats: function(campaigns, sid) { var RW = require('rw'); HT.forEach(campaigns, function(i, campaign){ HT.jsonp(RW.url+"st.js?t=g&c="+campaign.campaign_id+"&w="+encodeURIComponent('rwarea')+"&s="+sid); HT.jsonp(RW.url+"st.js?t=s&c="+campaign.campaign_id+"&w="+encodeURIComponent('rwarea')+"&s="+sid); var domel = document.getElementById('rwc'+campaign.campaign_id); try { if( campaign.showUrl1 ) HT.jsonp(campaign.showUrl1); if( campaign.showUrl2 ) HT.jsonp(campaign.showUrl2); if( campaign.showUrl3 ) HT.jsonp(campaign.showUrl3); if( campaign.showCode1 ) eval(campaign.showCode1); if( campaign.showCode2 ) eval(campaign.showCode2); if( campaign.showCode3 ) eval(campaign.showCode3); } catch(err) { RW.rwLog(err.message); } HT.event.add(domel, 'click', function() { try { if( campaign.clickUrl1 ) HT.jsonp(campaign.clickUrl1); if( campaign.clickUrl2 ) HT.jsonp(campaign.clickUrl2); if( campaign.clickUrl3 ) HT.jsonp(campaign.clickUrl3); if( campaign.clickCode1 ) eval(campaign.clickCode1); if( campaign.clickCode2 ) eval(campaign.clickCode2); if( campaign.clickCode3 ) eval(campaign.clickCode3); } catch(err) { RW.rwLog(err.message); } }); }); } }; return area_text; }); define('RW/area_ex_logo',['ht', 'rw'], function(HT, RW) { var area_ex_logo = { process: function(campaigns, sid) { var ctx = document.querySelector('.rw_area_exlogo'); if(!ctx) { return null; } area_ex_logo.createAd(campaigns, ctx, sid); area_ex_logo.sendStats(campaigns,sid); }, createAd: function(campaigns, ctx, sid) { var RW = require('rw'), ad = document.createElement('span'); HT.forEach(campaigns, function(i, campaign){ campaign.url =(RW.url+"st.js?t=c&c="+campaign.campaign_id+"&w="+encodeURIComponent('rwarea')+"&s="+sid); }); ad.innerHTML = RW.render(campaigns); ctx.appendChild(ad); }, sendStats: function(campaigns, sid) { var RW = require('rw'); HT.forEach(campaigns, function(i, campaign){ HT.jsonp(RW.url+"st.js?t=g&c="+campaign.campaign_id+"&w="+encodeURIComponent('rwarea')+"&s="+sid); HT.jsonp(RW.url+"st.js?t=s&c="+campaign.campaign_id+"&w="+encodeURIComponent('rwarea')+"&s="+sid); var domel = document.getElementById('rwc'+campaign.campaign_id); try { if( campaign.showUrl1 ) HT.jsonp(campaign.showUrl1); if( campaign.showUrl2 ) HT.jsonp(campaign.showUrl2); if( campaign.showUrl3 ) HT.jsonp(campaign.showUrl3); if( campaign.showCode1 ) eval(campaign.showCode1); if( campaign.showCode2 ) eval(campaign.showCode2); if( campaign.showCode3 ) eval(campaign.showCode3); } catch(err) { RW.rwLog(err.message); } HT.event.add(domel, 'click', function() { try { if( campaign.clickUrl1 ) HT.jsonp(campaign.clickUrl1); if( campaign.clickUrl2 ) HT.jsonp(campaign.clickUrl2); if( campaign.clickUrl3 ) HT.jsonp(campaign.clickUrl3); if( campaign.clickCode1 ) eval(campaign.clickCode1); if( campaign.clickCode2 ) eval(campaign.clickCode2); if( campaign.clickCode3 ) eval(campaign.clickCode3); } catch(err) { RW.rwLog(err.message); } }); }); } }; return area_ex_logo; }); define('RW/area_ex_img',['ht', 'rw'], function(HT, RW) { var area_ex_img = { process: function(campaigns, sid) { var ctx = document.querySelector('.rw_area_eximg'); if(!ctx) { return null; } area_ex_img.createAd(campaigns, ctx, sid); area_ex_img.sendStats(campaigns,sid); }, createAd: function(campaigns, ctx, sid) { var RW = require('rw'), ad = document.createElement('span'); HT.forEach(campaigns, function(i, campaign){ campaign.url =(RW.url+"st.js?t=c&c="+campaign.campaign_id+"&w="+encodeURIComponent('rwarea')+"&s="+sid); }); ad.innerHTML = RW.render(campaigns); ctx.appendChild(ad); }, sendStats: function(campaigns, sid) { var RW = require('rw'); HT.forEach(campaigns, function(i, campaign){ HT.jsonp(RW.url+"st.js?t=g&c="+campaign.campaign_id+"&w="+encodeURIComponent('rwarea')+"&s="+sid); HT.jsonp(RW.url+"st.js?t=s&c="+campaign.campaign_id+"&w="+encodeURIComponent('rwarea')+"&s="+sid); var domel = document.getElementById('rwc'+campaign.campaign_id); try { if( campaign.showUrl1 ) HT.jsonp(campaign.showUrl1); if( campaign.showUrl2 ) HT.jsonp(campaign.showUrl2); if( campaign.showUrl3 ) HT.jsonp(campaign.showUrl3); if( campaign.showCode1 ) eval(campaign.showCode1); if( campaign.showCode2 ) eval(campaign.showCode2); if( campaign.showCode3 ) eval(campaign.showCode3); } catch(err) { RW.rwLog(err.message); } HT.event.add(domel, 'click', function() { try { if( campaign.clickUrl1 ) HT.jsonp(campaign.clickUrl1); if( campaign.clickUrl2 ) HT.jsonp(campaign.clickUrl2); if( campaign.clickUrl3 ) HT.jsonp(campaign.clickUrl3); if( campaign.clickCode1 ) eval(campaign.clickCode1); if( campaign.clickCode2 ) eval(campaign.clickCode2); if( campaign.clickCode3 ) eval(campaign.clickCode3); } catch(err) { RW.rwLog(err.message); } }); }); } }; return area_ex_img; }); define('RW/area_mobile',['ht', 'rw'], function(HT, RW) { var area_mobile = { process: function(campaigns, sid, el_class) { // if( sid == 5301 ) { console.log('el', el_class) } var ctx = document.querySelector('.'+el_class); if(!ctx) { return null; } area_mobile.createAd(campaigns, ctx, sid); area_mobile.sendStats(campaigns, sid, el_class ); }, createAd: function(campaigns, ctx, sid) { var RW = require('rw'), ad = document.createElement('span'); HT.forEach(campaigns, function(i, campaign){ campaign.url =(RW.url+"st.js?t=c&c="+campaign.campaign_id+"&w="+encodeURIComponent('rwmobile')+"&s="+sid); if (window.innerWidth < 330) { console.log('run'); var currentWindowWidth = window.innerWidth - 10, scalePrc = currentWindowWidth/320; if (campaign.type == 250) { campaign.mobileWidth = 300 * scalePrc; campaign.mobileHeight = 250 * scalePrc; campaign.mobileMainImgHeight = 300 * scalePrc; campaign.mobileMainImgWidth = 250 * scalePrc; } else if (campaign.type == 251) { campaign.mobileWidth = 320 * scalePrc; campaign.mobileHeight = 100 * scalePrc; campaign.mobileFont = 12 * scalePrc; campaign.mobileMainLinkHeight = 94 * scalePrc; campaign.mobileMainLinkWidth = 298 * scalePrc; campaign.mobileImgContainerHeight = 80 * scalePrc; campaign.mobileImgContainerWidth = 120 * scalePrc; campaign.campaign_imgWidth1 = campaign.campaign_imgWidth1 * scalePrc; campaign.campaign_imgHeight1 = campaign.campaign_imgWidth1 * scalePrc; campaign.mobileBoxContentWidth = 170 * scalePrc; } else if (campaign.type == 252) { campaign.mobileWidth = 300 * scalePrc; campaign.mobileHeight = 50 * scalePrc; campaign.mobileFont = 11 * scalePrc; campaign.mobileBoxContentWidth = 293 * scalePrc; campaign.mobileBoxContentHeight = 47 * scalePrc; } } }); ad.innerHTML = RW.render([campaigns[0]]); ctx.appendChild(ad); }, sendStats: function(campaigns, sid, el_class ) { var RW = require('rw'); HT.forEach(campaigns, function(i, campaign){ // HT.jsonp(RW.url+"st.js?t=g&c="+campaign.campaign_id+"&w="+encodeURIComponent(el_class)+"&s="+sid); HT.jsonp(RW.url+"st.js?t=s&c="+campaign.campaign_id+"&w="+encodeURIComponent(el_class)+"&s="+sid); var domel = document.getElementById('rwc'+campaign.campaign_id); try { if( campaign.showUrl1 ) HT.jsonp(campaign.showUrl1); if( campaign.showUrl2 ) HT.jsonp(campaign.showUrl2); if( campaign.showUrl3 ) HT.jsonp(campaign.showUrl3); if( campaign.showCode1 ) eval(campaign.showCode1); if( campaign.showCode2 ) eval(campaign.showCode2); if( campaign.showCode3 ) eval(campaign.showCode3); } catch(err) { RW.rwLog(err.message); } HT.event.add(domel, 'click', function() { try { if( campaign.clickUrl1 ) HT.jsonp(campaign.clickUrl1); if( campaign.clickUrl2 ) HT.jsonp(campaign.clickUrl2); if( campaign.clickUrl3 ) HT.jsonp(campaign.clickUrl3); if( campaign.clickCode1 ) eval(campaign.clickCode1); if( campaign.clickCode2 ) eval(campaign.clickCode2); if( campaign.clickCode3 ) eval(campaign.clickCode3); } catch(err) { RW.rwLog(err.message); } }); }); } }; return area_mobile ; }); define('RW/layer',['ht', 'rw'], function(HT, RW) { var layer = { process: function(campaigns, sid) { var ctx = document.querySelector('.rw_layer'); if(!ctx) { return null; } layer.createAd(campaigns, ctx, sid); layer.sendStats(campaigns, sid); }, createAd: function(campaigns, ctx, sid) { var RW = require('rw'), ad = document.createElement('span'), box = document.createElement('span'); ctx.appendChild(box); ctx = box; HT.forEach(campaigns, function(i, campaign){ campaign.url =(RW.url+"st.js?t=c&c="+campaign.campaign_id+"&w="+encodeURIComponent('rwlayer')+"&s="+sid); if (campaign.file_flash) { campaign.flashBoxId = "c"+campaign.campaign_id+"r"+(new Date()).getTime()+"t"+campaign.type; var clickTAG = null, fileEx = campaign.file_flash.split('.'); if (fileEx[fileEx.length-1].toLowerCase() == "swf") { fileEx = false; clickTAG = escape(RW.url+"st.js?t=c&c="+campaign.campaign_id+"&w="+encodeURIComponent('rwlayer')+"&s="+sid); } else { clickTAG = "st.js?t=c&c="+campaign.campaign_id+"&w="+encodeURIComponent('rwlayer')+"&s="+sid } campaign.fileEx = fileEx; campaign.clickTAG = clickTAG; } }); ctx.setAttribute('id', 'rw_layer') ctx.style.position = "fixed"; ctx.style.bottom= 0; ctx.style.zIndex = "999"; if(campaigns[0].type == 155) { if (campaigns[0].html_width < 260 ){ campaigns[0].html_width = 260; } ctx.style.left= "-"+(campaigns[0].html_width+10)+"px"; ctx.style.width = (campaigns[0].html_width+10) + "px"; } else { ctx.style.left= -305 + "px"; ctx.style.width = 305 + "px" } ctx.style.background = 'none'; ad.innerHTML = RW.render(campaigns); ctx.appendChild(ad); HT.forEach(campaigns, function(i, campaign){ if (campaign.file_flash) { if(!campaign.image_coverage_v){ campaign.image_coverage_v = 300; } if(!campaign.image_coverage_h){ campaign.image_coverage_h = 250; } //new SWF.embedSWF(RW.url+"upload/"+campaign.file_flash,campaign.flashBoxId, campaign.image_coverage_v, campaign.image_coverage_h, "9.0.0.0", false, flashvars, null, null); } }); RW.rwClose(ad); layer.showAndHide(ctx); }, sendStats: function(campaigns, sid) { var RW = require('rw'); HT.forEach(campaigns, function(i, campaign){ HT.jsonp(RW.url+"st.js?t=g&c="+campaign.campaign_id+"&w="+encodeURIComponent('rwlayer')+"&s="+sid); HT.jsonp(RW.url+"st.js?t=s&c="+campaign.campaign_id+"&w="+encodeURIComponent('rwlayer')+"&s="+sid); var domel = document.getElementById('rwc'+campaign.campaign_id); try { if( campaign.showUrl1 ) HT.jsonp(campaign.showUrl1); if( campaign.showUrl2 ) HT.jsonp(campaign.showUrl2); if( campaign.showUrl3 ) HT.jsonp(campaign.showUrl3); if( campaign.showCode1 ) eval(campaign.showCode1); if( campaign.showCode2 ) eval(campaign.showCode2); if( campaign.showCode3 ) eval(campaign.showCode3); } catch(err) { RW.rwLog(err.message); } HT.event.add(domel, 'click', function() { try { if( campaign.clickUrl1 ) HT.jsonp(campaign.clickUrl1); if( campaign.clickUrl2 ) HT.jsonp(campaign.clickUrl2); if( campaign.clickUrl3 ) HT.jsonp(campaign.clickUrl3); if( campaign.clickCode1 ) eval(campaign.clickCode1); if( campaign.clickCode2 ) eval(campaign.clickCode2); if( campaign.clickCode3 ) eval(campaign.clickCode3); } catch(err) { RW.rwLog(err.message); } }); }); }, showAndHide: function(ctx){ window.onscroll = function(e){ var documentHeight = document.body.offsetHeight, halfHeight = documentHeight/5, //element =ctx, element = document.getElementById('rw_layer'), visible = parseInt(element.style.left); if (window.pageYOffset>=halfHeight && visible < 0) { slideAnimation(element,170,true); } else if (window.pageYOffset<=halfHeight && visible >= 0) { slideAnimation(element,170,false); } } function slideAnimation(el,speed,typeAnimation) { var elWidth = parseInt(el.style.width); var posStart = -elWidth, posEnd = 0, i, posActual; if(!speed)speed=250; if(!i) { i = setInterval(function(){ posActual = parseInt(el.style.left); if(typeAnimation) { // wysuń if(posActual < posEnd) { posActual += posEnd - posActual >2 ? 3 : posEnd - posActual; el.style.display = 'block'; el.style.left = posActual + 'px'; } else { clearInterval(i); i = null; } } if(!typeAnimation) { // wsuń if(posActual > posStart) { posActual -= posActual - posStart >2 ? 3 : posActual - posStart; el.style.left = posActual + 'px'; } else { clearInterval(i); i = null; } } },Math.round(speed/(posEnd-posStart)*2)); } } } }; return layer; }); define('RW/layer_ex_logo',['ht', 'rw'], function(HT, RW) { var layer_ex_logo = { process: function(campaigns, sid) { var ctx = document.querySelector('.rw_layer_logo'); if(!ctx) { return null; } layer_ex_logo.createAd(campaigns, ctx, sid); layer_ex_logo.sendStats(campaigns, sid); }, createAd: function(campaigns, ctx, sid) { var RW = require('rw'), ad = document.createElement('span'), box = document.createElement('span'); ctx.appendChild(box); ctx = box; HT.forEach(campaigns, function(i, campaign){ campaign.url = (RW.url+"st.js?t=c&c="+campaign.campaign_id+"&w="+encodeURIComponent('rwarea')+"&s="+sid); }); ctx.setAttribute('id', 'rw_layer_logo') ctx.style.position = "fixed"; ctx.style.height = 450 + 'px'; ctx.style.bottom= 0 +'px'; ctx.style.left= (-250 + "px"); ctx.style.width = 250 + "px"; ctx.style.background = 'none'; ad.innerHTML = RW.render(campaigns); ctx.appendChild(ad); RW.rwClose(ctx); layer_ex_logo.showAndHide(ctx); }, sendStats: function(campaigns, sid) { var RW = require('rw'); HT.forEach(campaigns, function(i, campaign){ HT.jsonp(RW.url+"st.js?t=g&c="+campaign.campaign_id+"&w="+encodeURIComponent('rwlayer')+"&s="+sid); HT.jsonp(RW.url+"st.js?t=s&c="+campaign.campaign_id+"&w="+encodeURIComponent('rwlayer')+"&s="+sid); var domel = document.getElementById('rwc'+campaign.campaign_id); try { if( campaign.showUrl1 ) HT.jsonp(campaign.showUrl1); if( campaign.showUrl2 ) HT.jsonp(campaign.showUrl2); if( campaign.showUrl3 ) HT.jsonp(campaign.showUrl3); if( campaign.showCode1 ) eval(campaign.showCode1); if( campaign.showCode2 ) eval(campaign.showCode2); if( campaign.showCode3 ) eval(campaign.showCode3); } catch(err) { RW.rwLog(err.message); } HT.event.add(domel, 'click', function() { try { if( campaign.clickUrl1 ) HT.jsonp(campaign.clickUrl1); if( campaign.clickUrl2 ) HT.jsonp(campaign.clickUrl2); if( campaign.clickUrl3 ) HT.jsonp(campaign.clickUrl3); if( campaign.clickCode1 ) eval(campaign.clickCode1); if( campaign.clickCode2 ) eval(campaign.clickCode2); if( campaign.clickCode3 ) eval(campaign.clickCode3); } catch(err) { RW.rwLog(err.message); } }); }); }, showAndHide: function(ctx){ window.onscroll = function(e){ var documentHeight = document.body.offsetHeight, halfHeight = documentHeight/5, //element =ctx, element = document.getElementById('rw_layer_logo'), visible = parseInt(element.style.left); if (window.pageYOffset>=halfHeight && visible < 0) { slideAnimation(element,170,true); } else if (window.pageYOffset<=halfHeight && visible >= 0) { slideAnimation(element,170,false); } } function slideAnimation(el,speed,typeAnimation) { var elWidth = parseInt(el.style.width); var posStart = -elWidth, posEnd = 0, i, posActual; if(!speed)speed=150; if(!i) { i = setInterval(function(){ posActual = parseInt(el.style.left); if(typeAnimation) { // wysuń if(posActual < posEnd) { posActual += posEnd - posActual >2 ? 3 : posEnd - posActual; el.style.display = 'block'; el.style.left = posActual + 'px'; } else { clearInterval(i); i = null; } } if(!typeAnimation) { // wsuń if(posActual > posStart) { posActual -= posActual - posStart >2 ? 3 : posActual - posStart; el.style.left = posActual + 'px'; } else { clearInterval(i); i = null; } } },Math.round(speed/(posEnd-posStart)*2)); } } } }; return layer_ex_logo; }); define('RW/layer_ex_img',['ht', 'rw'], function(HT, RW) { var layer_ex_img = { process: function(campaigns, sid) { var ctx = ctx = document.querySelector('.rw_layer_img'); if(!ctx) { return null; } layer_ex_img.createAd(campaigns, ctx, sid); layer_ex_img.sendStats(campaigns, sid); }, createAd: function(campaigns, ctx, sid) { var RW = require('rw'), ad = document.createElement('span'), box = document.createElement('span'); ctx.appendChild(box); ctx = box; HT.forEach(campaigns, function(i, campaign){ campaign.url =(RW.url+"st.js?t=c&c="+campaign.campaign_id+"&w="+encodeURIComponent('rwarea')+"&s="+sid); }); ctx.setAttribute('id', 'rw_layer_img') ctx.style.position = "fixed"; ctx.style.bottom= 0; ctx.style.left= (-250 + "px"); ctx.style.width = 250 + "px" ctx.style.background = 'none'; ad.innerHTML = RW.render(campaigns); ctx.appendChild(ad); RW.rwClose(ctx); layer_ex_img.showAndHide(ctx); }, sendStats: function(campaigns, sid) { var RW = require('rw'); HT.forEach(campaigns, function(i, campaign){ HT.jsonp(RW.url+"st.js?t=g&c="+campaign.campaign_id+"&w="+encodeURIComponent('rwlayer')+"&s="+sid); HT.jsonp(RW.url+"st.js?t=s&c="+campaign.campaign_id+"&w="+encodeURIComponent('rwlayer')+"&s="+sid); var domel = document.getElementById('rwc'+campaign.campaign_id); try { if( campaign.showUrl1 ) HT.jsonp(campaign.showUrl1); if( campaign.showUrl2 ) HT.jsonp(campaign.showUrl2); if( campaign.showUrl3 ) HT.jsonp(campaign.showUrl3); if( campaign.showCode1 ) eval(campaign.showCode1); if( campaign.showCode2 ) eval(campaign.showCode2); if( campaign.showCode3 ) eval(campaign.showCode3); } catch(err) { RW.rwLog(err.message); } HT.event.add(domel, 'click', function() { try { if( campaign.clickUrl1 ) HT.jsonp(campaign.clickUrl1); if( campaign.clickUrl2 ) HT.jsonp(campaign.clickUrl2); if( campaign.clickUrl3 ) HT.jsonp(campaign.clickUrl3); if( campaign.clickCode1 ) eval(campaign.clickCode1); if( campaign.clickCode2 ) eval(campaign.clickCode2); if( campaign.clickCode3 ) eval(campaign.clickCode3); } catch(err) { RW.rwLog(err.message); } }); }); }, showAndHide: function(ctx){ window.onscroll = function(e){ var documentHeight = document.body.offsetHeight, halfHeight = documentHeight/5, //element =ctx, element = document.getElementById('rw_layer_img'), visible = parseInt(element.style.left); if (window.pageYOffset>=halfHeight && visible < 0) { slideAnimation(element,170,true); } else if (window.pageYOffset<=halfHeight && visible >= 0) { slideAnimation(element,170,false); } } function slideAnimation(el,speed,typeAnimation) { var elWidth = parseInt(el.style.width); var posStart = -elWidth, posEnd = 0, i, posActual; if(!speed)speed=250; if(!i) { i = setInterval(function(){ posActual = parseInt(el.style.left); if(typeAnimation) { // wysuń if(posActual < posEnd) { posActual += posEnd - posActual >2 ? 3 : posEnd - posActual; el.style.display = 'block'; el.style.left = posActual + 'px'; } else { clearInterval(i); i = null; } } if(!typeAnimation) { // wsuń if(posActual > posStart) { posActual -= posActual - posStart >2 ? 3 : posActual - posStart; el.style.left = posActual + 'px'; } else { clearInterval(i); i = null; } } },Math.round(speed/(posEnd-posStart)*2)); } } } }; return layer_ex_img; }); define('RW/doubleBB',['ht', 'rw'], function(HT, RW) { var area = { process: function(campaigns, sid) { var ctx = document.querySelector('.rw_dbb'); if(!ctx) { return null; } area.createAd(campaigns, ctx, sid); area.sendStats(campaigns, sid); }, createAd: function(campaigns, ctx, sid) { var RW = require('rw'), ad = document.createElement('span'); HT.forEach(campaigns, function(i, campaign){ campaign.url =(RW.url+"st.js?t=c&c="+campaign.campaign_id+"&w="+encodeURIComponent('rwdbb')+"&s="+sid); if (campaign.file_flash) { campaign.flashBoxId = "c"+campaign.campaign_id+"r"+(new Date()).getTime()+"t"+campaign.type; var clickTAG = null, fileEx = campaign.file_flash.split('.'); if (fileEx[fileEx.length-1].toLowerCase() == "swf") { fileEx = false; clickTAG = escape(RW.url+"st.js?t=c&c="+campaign.campaign_id+"&w="+encodeURIComponent('rwdbb')+"&s="+sid); } else { clickTAG = "st.js?t=c&c="+campaign.campaign_id+"&w="+encodeURIComponent('rwdbb')+"&s="+sid } campaign.fileEx = fileEx; campaign.clickTAG = clickTAG; } }); ad.innerHTML = RW.render(campaigns); ctx.appendChild(ad); HT.forEach(campaigns, function(i, campaign){ if (campaign.file_flash) { if(!campaign.image_coverage_v){ campaign.image_coverage_v = 750; } if(!campaign.image_coverage_h){ campaign.image_coverage_h =250; } //new SWF.embedSWF(RW.url+"upload/"+campaign.file_flash,campaign.flashBoxId, campaign.image_coverage_v, campaign.image_coverage_h, "9.0.0.0", false, flashvars, null, null); } }); }, sendStats: function(campaigns, sid) { var RW = require('rw'); HT.forEach(campaigns, function(i, campaign){ HT.jsonp(RW.url+"st.js?t=g&c="+campaign.campaign_id+"&w="+encodeURIComponent('rwdbb')+"&s="+sid); HT.jsonp(RW.url+"st.js?t=s&c="+campaign.campaign_id+"&w="+encodeURIComponent('rwdbb')+"&s="+sid); var domel = document.getElementById('rwc'+campaign.campaign_id); try { if( campaign.showUrl1 ) HT.jsonp(campaign.showUrl1); if( campaign.showUrl2 ) HT.jsonp(campaign.showUrl2); if( campaign.showUrl3 ) HT.jsonp(campaign.showUrl3); if( campaign.showCode1 ) eval(campaign.showCode1); if( campaign.showCode2 ) eval(campaign.showCode2); if( campaign.showCode3 ) eval(campaign.showCode3); } catch(err) { RW.rwLog(err.message); } HT.event.add(domel, 'click', function() { try { if( campaign.clickUrl1 ) HT.jsonp(campaign.clickUrl1); if( campaign.clickUrl2 ) HT.jsonp(campaign.clickUrl2); if( campaign.clickUrl3 ) HT.jsonp(campaign.clickUrl3); if( campaign.clickCode1 ) eval(campaign.clickCode1); if( campaign.clickCode2 ) eval(campaign.clickCode2); if( campaign.clickCode3 ) eval(campaign.clickCode3); } catch(err) { RW.rwLog(err.message); } }); }); } }; return area; }); define('config',{ stopWords: [''], emitter: document.location.protocol + '//adserwer.xwords.pl/', photoEmitter: document.location.protocol + '//adserwer.xwords.pl/upload', customLogo: ['big_rwrds_logo.png', 'small_rwrds_logo.png'], reg: (/[^a-zA-Z0-9_ćžđšŽĆČŠĐÕÄÖÜõäöüÓóĄąĘꣳŃńŚśŹźŻżАаБбВвГгДдЃѓЕеЖжЗзЅѕИиЈјКкЛлЉљМмНнЊњОоПпРрСсТтЌќУуФфХхЦцЧчЏџШшАаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя*?\/]/), prod: true }); define( 'libs/md5',{ get: md5 }) function md5cycle(x, k) { var a = x[0], b = x[1], c = x[2], d = x[3]; a = ff(a, b, c, d, k[0], 7, -680876936); d = ff(d, a, b, c, k[1], 12, -389564586); c = ff(c, d, a, b, k[2], 17, 606105819); b = ff(b, c, d, a, k[3], 22, -1044525330); a = ff(a, b, c, d, k[4], 7, -176418897); d = ff(d, a, b, c, k[5], 12, 1200080426); c = ff(c, d, a, b, k[6], 17, -1473231341); b = ff(b, c, d, a, k[7], 22, -45705983); a = ff(a, b, c, d, k[8], 7, 1770035416); d = ff(d, a, b, c, k[9], 12, -1958414417); c = ff(c, d, a, b, k[10], 17, -42063); b = ff(b, c, d, a, k[11], 22, -1990404162); a = ff(a, b, c, d, k[12], 7, 1804603682); d = ff(d, a, b, c, k[13], 12, -40341101); c = ff(c, d, a, b, k[14], 17, -1502002290); b = ff(b, c, d, a, k[15], 22, 1236535329); a = gg(a, b, c, d, k[1], 5, -165796510); d = gg(d, a, b, c, k[6], 9, -1069501632); c = gg(c, d, a, b, k[11], 14, 643717713); b = gg(b, c, d, a, k[0], 20, -373897302); a = gg(a, b, c, d, k[5], 5, -701558691); d = gg(d, a, b, c, k[10], 9, 38016083); c = gg(c, d, a, b, k[15], 14, -660478335); b = gg(b, c, d, a, k[4], 20, -405537848); a = gg(a, b, c, d, k[9], 5, 568446438); d = gg(d, a, b, c, k[14], 9, -1019803690); c = gg(c, d, a, b, k[3], 14, -187363961); b = gg(b, c, d, a, k[8], 20, 1163531501); a = gg(a, b, c, d, k[13], 5, -1444681467); d = gg(d, a, b, c, k[2], 9, -51403784); c = gg(c, d, a, b, k[7], 14, 1735328473); b = gg(b, c, d, a, k[12], 20, -1926607734); a = hh(a, b, c, d, k[5], 4, -378558); d = hh(d, a, b, c, k[8], 11, -2022574463); c = hh(c, d, a, b, k[11], 16, 1839030562); b = hh(b, c, d, a, k[14], 23, -35309556); a = hh(a, b, c, d, k[1], 4, -1530992060); d = hh(d, a, b, c, k[4], 11, 1272893353); c = hh(c, d, a, b, k[7], 16, -155497632); b = hh(b, c, d, a, k[10], 23, -1094730640); a = hh(a, b, c, d, k[13], 4, 681279174); d = hh(d, a, b, c, k[0], 11, -358537222); c = hh(c, d, a, b, k[3], 16, -722521979); b = hh(b, c, d, a, k[6], 23, 76029189); a = hh(a, b, c, d, k[9], 4, -640364487); d = hh(d, a, b, c, k[12], 11, -421815835); c = hh(c, d, a, b, k[15], 16, 530742520); b = hh(b, c, d, a, k[2], 23, -995338651); a = ii(a, b, c, d, k[0], 6, -198630844); d = ii(d, a, b, c, k[7], 10, 1126891415); c = ii(c, d, a, b, k[14], 15, -1416354905); b = ii(b, c, d, a, k[5], 21, -57434055); a = ii(a, b, c, d, k[12], 6, 1700485571); d = ii(d, a, b, c, k[3], 10, -1894986606); c = ii(c, d, a, b, k[10], 15, -1051523); b = ii(b, c, d, a, k[1], 21, -2054922799); a = ii(a, b, c, d, k[8], 6, 1873313359); d = ii(d, a, b, c, k[15], 10, -30611744); c = ii(c, d, a, b, k[6], 15, -1560198380); b = ii(b, c, d, a, k[13], 21, 1309151649); a = ii(a, b, c, d, k[4], 6, -145523070); d = ii(d, a, b, c, k[11], 10, -1120210379); c = ii(c, d, a, b, k[2], 15, 718787259); b = ii(b, c, d, a, k[9], 21, -343485551); x[0] = add32(a, x[0]); x[1] = add32(b, x[1]); x[2] = add32(c, x[2]); x[3] = add32(d, x[3]); } function cmn(q, a, b, x, s, t) { a = add32(add32(a, q), add32(x, t)); return add32((a << s) | (a >>> (32 - s)), b); } function ff(a, b, c, d, x, s, t) { return cmn((b & c) | ((~b) & d), a, b, x, s, t); } function gg(a, b, c, d, x, s, t) { return cmn((b & d) | (c & (~d)), a, b, x, s, t); } function hh(a, b, c, d, x, s, t) { return cmn(b ^ c ^ d, a, b, x, s, t); } function ii(a, b, c, d, x, s, t) { return cmn(c ^ (b | (~d)), a, b, x, s, t); } function md51(s) { txt = ''; var n = s.length, state = [1732584193, -271733879, -1732584194, 271733878], i; for (i=64; i<=s.length; i+=64) { md5cycle(state, md5blk(s.substring(i-64, i))); } s = s.substring(i-64); var tail = [0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0]; for (i=0; i>2] |= s.charCodeAt(i) << ((i%4) << 3); tail[i>>2] |= 0x80 << ((i%4) << 3); if (i > 55) { md5cycle(state, tail); for (i=0; i<16; i++) tail[i] = 0; } tail[14] = n*8; md5cycle(state, tail); return state; } /* there needs to be support for Unicode here, * unless we pretend that we can redefine the MD-5 * algorithm for multi-byte characters (perhaps * by adding every four 16-bit characters and * shortening the sum to 32 bits). Otherwise * I suggest performing MD-5 as if every character * was two bytes--e.g., 0040 0025 = @%--but then * how will an ordinary MD-5 sum be matched? * There is no way to standardize text to something * like UTF-8 before transformation; speed cost is * utterly prohibitive. The JavaScript standard * itself needs to look at this: it should start * providing access to strings as preformed UTF-8 * 8-bit unsigned value arrays. */ function md5blk(s) { /* I figured global was faster. */ var md5blks = [], i; /* Andy King said do it this way. */ for (i=0; i<64; i+=4) { md5blks[i>>2] = s.charCodeAt(i) + (s.charCodeAt(i+1) << 8) + (s.charCodeAt(i+2) << 16) + (s.charCodeAt(i+3) << 24); } return md5blks; } var hex_chr = '0123456789abcdef'.split(''); function rhex(n) { var s='', j=0; for(; j<4; j++) s += hex_chr[(n >> (j * 8 + 4)) & 0x0F] + hex_chr[(n >> (j * 8)) & 0x0F]; return s; } function hex(x) { for (var i=0; i> 16) + (y >> 16) + (lsw >> 16); return (msw << 16) | (lsw & 0xFFFF); } } ; define('rw',['ht', 'RW/intext', 'RW/inimage', 'RW/area', 'RW/area_img', 'RW/area_logo', 'RW/area_text', 'RW/area_ex_logo', 'RW/area_ex_img', 'RW/area_mobile', 'RW/layer', 'RW/layer_ex_logo', 'RW/layer_ex_img', 'RW/doubleBB', 'config', 'libs/md5', ], function ( HT, RW_inText, RW_inImage, RW_area, RW_areaImg, RW_areaLogo, RW_areaText, RW_areaExLogo, RW_areaExImg, RW_areaMobile, RW_layer, RW_layerExLogo, RW_layerExImg, RW_doubleBB, config, md5 ) { var RW = { url: config.emitter, photoUrl: config.photoEmitter, templates: {}, sid: null, textNodes: [], urlToSend: "", transparency: 0, process: function (data) { RW.transparency = data.transparency; var ctx = document.querySelector(data.ctx); RW.templates = data.t; RW.prepareFunctions(); RW.sendNodes(data, ctx); }, isMobile: function () { var check = false; if (typeof window.orientation !== 'undefined') return true; (function (a) { if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0, 4))) check = true })(navigator.userAgent || navigator.vendor || window.opera); return check; }, prepareFunctions: function () { var flvFunction = document.createElement('script'); flvFunction.id = 'rwVidNavFunc'; flvFunction.innerHTML = ""; flvFunction.innerHTML += 'function callExternalInterface(player, method){document.getElementById(player)[method]();}'; document.body.appendChild(flvFunction); }, sendNodes: function (data, ctx) { var stats = {}, inTextCampaigns = [], inImageCampaigns = [], areaCampaigns = [], areaRectImgCampaigns = [], areaRectFlashCampaigns = [], areaImgCampaigns = [], areaLogoCampaigns = [], areaTextCampaigns = [], areaExLogoCampaigns = [], areaExImgCampaigns = [], areaMobile250Campaigns = [], areaMobile100Campaigns = [], areaMobile50Campaigns = [], layerCampaigns = [], layerRectFlashCampaigns = [], layerRectImgCampaigns = [], layerExLogoCampaigns = [], layerExImgCampaigns = [], layerAdds = [], areaHtmlCampaigns = [], layerHtmlCampaigns = [], vidCampaigns = [], mobileCampaigns = [], doubleBBCampaigns = [], ctxRwArea = document.querySelector('.rw_area'), ctxDBB = document.querySelector('.rw_dbb'), ctxRwLayerImg = document.querySelector('.rw_layer_img'), ctxRwLayerLogo = document.querySelector('.rw_layer_logo'), ctxRwLayer = document.querySelector('.rw_layer'), rwForces = [], rwForcesArea = [], rwForcesC = [], rwForcesAreaC = [], rwForcesDBB = [], areaToSend = "", layerToSend = "", layerBuff = 0, areaBuff = 0; rwForcesArea['rwAreaForce'] = 0; rwForcesArea['rwAreaFlashForce'] = 0; rwForcesArea['rwAreaImgForce'] = 0; rwForcesArea['rwAreaHtmlForce'] = 0; rwForcesArea['rwDoubleBBForce'] = 0; rwForces['rwLayerForce'] = 0; rwForces['rwLayerRectImgForce'] = 0; rwForces['rwLayerRectFlashForce'] = 0; rwForces['rwLayerImgForce'] = 0; rwForces['rwLayerLogoForce'] = 0; rwForces['rwLayerHtmlForce'] = 0; rwForcesAreaC['rwAreaForceCount'] = 0; rwForcesAreaC['rwAreaFlashForceCount'] = 0; rwForcesAreaC['rwAreaImgForceCount'] = 0; rwForcesAreaC['rwAreaHtmlForceCount'] = 0; rwForcesAreaC['rwDoubleBBForceCount'] = 0; rwForcesC['rwLayerForceCount'] = 0; rwForcesC['rwLayerRectImgForceCount'] = 0; rwForcesC['rwLayerRectFlashForceCount'] = 0; rwForcesC['rwLayerImgForceCount'] = 0; rwForcesC['rwLayerLogoForceCount'] = 0; rwForcesC['rwLayerHtmlForceCount'] = 0; rwForcesC['vidForceCount'] = 0; rwForcesC['vidForce'] = 0; var doNodeSelector = {intext: false, inimage: false}; var mobile = RW.isMobile(); //if( RW.sid == 5301 ) mobile = true; HT.forEach(data.c, function (cid, campaign) { var searchText = []; if (campaign.wordGroups == ' ') campaign.wordGroups = ''; if (mobile == false && campaign.type >= 250 && campaign.type <= 255) { return; } else if (mobile == true && (campaign.type < 250 || campaign.type > 255)) { return; } searchText = campaign.wordGroups; if (campaign.type >= 0 && campaign.type < 50) { inTextCampaigns.push({searchText: searchText, campaign: campaign}); } else if (campaign.type >= 253 && campaign.type <= 255) { inTextCampaigns.push({searchText: searchText, campaign: campaign}); } else if (campaign.type >= 50 && campaign.type < 100) { inImageCampaigns.push(campaign); } else if (campaign.type == 100 && ctxRwArea != null) { areaCampaigns.push(campaign); rwForcesArea['rwAreaForce'] += campaign.daily_budget; rwForcesAreaC['rwAreaForceCount']++; } else if (campaign.type == 101 && ctxRwArea != null) { areaRectFlashCampaigns.push(campaign); rwForcesArea['rwAreaFlashForce'] += campaign.daily_budget; rwForcesAreaC['rwAreaFlashForceCount']++; } else if (campaign.type == 102 && ctxRwArea != null) { areaRectImgCampaigns.push(campaign); rwForcesArea['rwAreaImgForce'] += campaign.daily_budget; rwForcesAreaC['rwAreaImgForceCount']++; } else if (campaign.type == 103) { areaImgCampaigns.push(campaign); } else if (campaign.type == 104) { areaLogoCampaigns.push(campaign); } else if (campaign.type == 105) { areaTextCampaigns.push(campaign); } else if (campaign.type == 106) { areaExLogoCampaigns.push(campaign); } else if (campaign.type == 107) { areaExImgCampaigns.push(campaign); } else if (campaign.type == 108 && ctxRwArea != null) { areaHtmlCampaigns.push(campaign); rwForcesArea['rwAreaHtmlForce'] += campaign.daily_budget; rwForcesAreaC['rwAreaHtmlForceCount']++; } else if (campaign.type == 150 && ctxRwLayer != null) { layerCampaigns.push(campaign); rwForces['rwLayerForce'] += campaign.daily_budget; rwForcesC['rwLayerForceCount']++; } else if (campaign.type == 151 && ctxRwLayer != null) { layerRectFlashCampaigns.push(campaign); rwForces['rwLayerRectFlashForce'] += campaign.daily_budget; rwForcesC['rwLayerRectFlashForceCount']++; } else if (campaign.type == 152 && ctxRwLayer != null) { layerRectImgCampaigns.push(campaign); rwForces['rwLayerRectImgForce'] += campaign.daily_budget; rwForcesC['rwLayerRectImgForceCount']++; } else if (campaign.type == 153 && ctxRwLayerLogo != null) { layerExLogoCampaigns.push(campaign); rwForces['rwLayerLogoForce'] += campaign.daily_budget; rwForcesC['rwLayerLogoForceCount']++; } else if (campaign.type == 154 && ctxRwLayerImg != null) { layerExImgCampaigns.push(campaign); rwForces['rwLayerImgForce'] += campaign.daily_budget; rwForcesC['rwLayerImgForceCount']++; } else if (campaign.type == 155 && ctxRwLayerImg != null) { layerHtmlCampaigns.push(campaign); rwForces['rwLayerHtmlForce'] += campaign.daily_budget; rwForcesC['rwLayerHtmlForceCount']++; } else if (campaign.type == 250) { // CHANE TO ONE areaMobile250Campaigns.push(campaign); } else if (campaign.type == 251) { areaMobile100Campaigns.push(campaign); } else if (campaign.type == 252) { areaMobile50Campaigns.push(campaign); } else if (campaign.type == 301 && ctxDBB != null) { doubleBBCampaigns.push(campaign); rwForcesArea['rwDoubleBBForce'] += campaign.daily_budget; rwForcesAreaC['rwDoubleBBForceCount']++; } }); HT.forEach(HT.objectKeys(rwForces), function (id, index) { if (rwForcesC[index + 'Count'] > 0 && layerBuff < (rwForces[index] / rwForcesC[index + 'Count'])) { layerBuff = (rwForces[index] / rwForcesC[index + 'Count']); layerToSend = index; } }); HT.forEach(HT.objectKeys(rwForcesArea), function (id, index) { if (rwForcesAreaC[index + "Count"] > 0 && areaBuff < (rwForcesArea[index] / rwForcesAreaC[index + "Count"])) { areaBuff = (rwForcesArea[index] / rwForcesAreaC[index + "Count"]); areaToSend = index; } }); if (inTextCampaigns.length > 0) { //RW_inText.process(inTextCampaigns, ctx, data.wc, RW.sid, data.style, RW.textNodes, data.isw); doNodeSelector.intext = true; //doNodeSelector.inTextCamp = inTextCampaigns; //doNodeSelector.isw = data.isw; //doNodeSelector.style = data.style; // doNodeSelector.wc = data.wc; } if (inImageCampaigns.length > 0) { //RW_inImage.process(inImageCampaigns, ctx, RW.sid, RW.textNodes); doNodeSelector.inimage = true; //doNodeSelector.inImageCamp = inImageCampaigns; } if (areaCampaigns.length > 0 && areaToSend == 'rwAreaForce') { RW_area.process(areaCampaigns, RW.sid); } if (areaRectImgCampaigns.length > 0 && areaToSend == 'rwAreaImgForce') { RW_area.process(areaRectImgCampaigns, RW.sid); } if (areaRectFlashCampaigns.length > 0 && areaToSend == 'rwAreaFlashForce') { RW_area.process(areaRectFlashCampaigns, RW.sid); } if (doubleBBCampaigns.length > 0) { // && areaToSend == 'rwDoubleBBForce') { <- nigdy nie spełniony - rwAreaFlashForce RW_doubleBB.process(doubleBBCampaigns, RW.sid); } if (areaImgCampaigns.length > 0) { RW_areaImg.process(areaImgCampaigns, RW.sid); } if (areaLogoCampaigns.length > 0) { RW_areaLogo.process(areaLogoCampaigns, RW.sid); } if (areaTextCampaigns.length > 0) { RW_areaText.process(areaTextCampaigns, RW.sid); } if (areaExLogoCampaigns.length > 0) { RW_areaExLogo.process(areaExLogoCampaigns, RW.sid); } if (areaExImgCampaigns.length > 0) { RW_areaExImg.process(areaExImgCampaigns, RW.sid); } if (layerCampaigns.length > 0 && layerToSend == 'rwLayerForce') { RW_layer.process(layerCampaigns, RW.sid); } if (layerRectImgCampaigns.length > 0 && layerToSend == 'rwLayerRectImgForce') { RW_layer.process(layerRectImgCampaigns, RW.sid); } if (layerRectFlashCampaigns.length > 0 && layerToSend == 'rwLayerRectFlashForce') { RW_layer.process(layerRectFlashCampaigns, RW.sid); } if (layerExLogoCampaigns.length > 0 && layerToSend == 'rwLayerLogoForce') { RW_layerExLogo.process(layerExLogoCampaigns, RW.sid); } if (layerExImgCampaigns.length > 0 && layerToSend == 'rwLayerImgForce') { RW_layerExImg.process(layerExImgCampaigns, RW.sid); } if (layerHtmlCampaigns.length > 0 && layerToSend == 'rwLayerHtmlForce') { RW_layer.process(layerHtmlCampaigns, RW.sid); } if (areaHtmlCampaigns.length > 0 && areaToSend == 'rwAreaHtmlForce') { RW_area.process(areaHtmlCampaigns, RW.sid); } if (vidCampaigns.length > 0) { RW_video.process(vidCampaigns, RW.sid); } if (mobileCampaigns.length > 0) { RW_mobile.process(mobileCampaigns, RW.sid); } // mobile if (areaMobile250Campaigns.length > 0) { RW_areaMobile.process(areaMobile250Campaigns, RW.sid, 'rw_mobile'); } if (areaMobile100Campaigns.length > 0) { RW_areaMobile.process(areaMobile100Campaigns, RW.sid, 'rw_mobile_logo'); } if (areaMobile50Campaigns.length > 0) { RW_areaMobile.process(areaMobile50Campaigns, RW.sid, 'rw_mobile_text'); } if ((doNodeSelector.intext || doNodeSelector.inimage) && ctx) { RW.nodeSelector(ctx, data.nodeln); //, [[ctx,0]], 1, true, doNodeSelector, ctx, 10); var stop = false; config.stopWords = data.stopWords; stop = RW.stopWords(config); if (stop) return; if (inImageCampaigns.length > 0) { RW_inImage.process(inImageCampaigns, ctx, RW.sid, RW.textNodes, data.off_img_context, config.reg); } if (inTextCampaigns.length > 0) { var ism = RW.isMobile(); RW_inText.process(inTextCampaigns, ctx, data.wc, RW.sid, data.style, RW.textNodes, data.isw, data.offctx, data.excWords, config.reg, data.display, data.display_time, ism); } } }, rwClose: function (creation, cb) { var domClose = HT.dom.getElementsByClassName(creation, 'rwCtrlClose'); HT.forEach(domClose, function (i, e) { HT.event.add(e, 'click', function (ev) { creation.style.display = 'none'; if (ev.stopPropagation) { ev.stopPropagation(); } if (ev.cancelBubble != null) { ev.cancelBubble = true; } return false; }); }); var domCustLog = HT.dom.getElementsByClassName(creation, 'rwStopProp'); HT.forEach(domCustLog, function (i, e) { HT.event.add(e, 'click', function (ev) { if (ev.stopPropagation) { ev.stopPropagation(); } if (ev.cancelBubble != null) { ev.cancelBubble = true; } return false; }); }); }, rwLog: function () { if (config.prod) return; //console.log.apply(null, arguments); }, // do wyszukiwania nodeow textowych nodeSelector: function (node, minNodeLn) { var childNodes = node.childNodes, excludes = 'html,head,style,title,link,meta,script,object,iframe,h1,h2,h3,h4,h5,h6,a,header,footer,label,menu,nav,textarea', excludedClass = ['rw_word', 'rw_inimage', 'rw_intext', 'menu', 'title'], cnLength = childNodes.length, currentNode, parentNode; for (var i = 0; i < cnLength; i++) { currentNode = childNodes[i]; // rekurencja if ((currentNode.nodeType === 1) && ((excludes + ',').indexOf(currentNode.nodeName.toLowerCase() + ',') === -1) && (!HT.css.hasClass(currentNode, excludedClass))) { arguments.callee(currentNode, minNodeLn); } if (currentNode.nodeType !== 3) { continue; } if (currentNode.length > minNodeLn) { RW.textNodes.push({node: currentNode}); } } }, // stopuje kampanie jak trafi na stopWords z cfg stopWords: function (pattern) { var stop = false; HT.forEach(RW.textNodes, function (fei, data) { var dataBuffor = "", node = data.node, reg = config.reg; var wList = node.data.split(reg); var lowerWList = wList.map(function (val) { return val.toLowerCase(); }) for (var i = 0; i < pattern.stopWords.length; i++) { if (lowerWList.indexOf(pattern.stopWords[i]) > -1) { stop = true; break; } } }); // // for ( i = 0 ; i < node.data.length ; i++){ // if ( !node.data.charAt(i).match(reg) ){ // dataBuffor = dataBuffor.concat(node.data.charAt(i) ); // } else { // HT.forEach(pattern.stopWords, function(fei, v) { // if( dataBuffor.toLowerCase() == v.toLowerCase() ) { // stop = true; // return; // } // }); // dataBuffor = ""; // } // if ( i == (node.data.length-1)) { // i++; // HT.forEach(pattern.stopWords, function(fei, v) { // if( dataBuffor.toLowerCase() == v.toLowerCase() ) { // stop = true; // return; // } // }); // dataBuffor = ""; // } // } // }); return stop; }, render: function (campaign, templateOverride) { templateOverride = (typeof (templateOverride) !== 'undefined') ? templateOverride : false; //campaign.imgUrl = RW.url; var newImgUrl = 'http://files.xwords.pl/'; if (HT.typeOf(campaign) == 'array') { var campaigns = {}; campaigns.campaigns = campaign; campaigns.customLogoImgLeft = campaign[0].customLogoImgLeft; if (campaign[0].customLogoUrlLeft) { campaigns.customLogoUrlLeft = campaign[0].customLogoUrlLeft; } else { campaigns.customLogoUrlLeft = "http://xwords.pl"; } if (campaign[0].customLogoImgRight) { campaigns.customLogoImgRight = campaign[0].customLogoImgRight; } else { if (campaign[0].type < 50) { campaigns.customLogoImgRight = config.customLogo[0]; } else { campaigns.customLogoImgRight = config.customLogo[1]; } } if (campaign[0].customLogoUrlRight) { campaigns.customLogoUrlRight = campaign[0].customLogoUrlRight; } else { campaigns.customLogoUrlRight = "http://xwords.pl"; } campaigns.campaignType = campaign[0].type; campaigns.transparency = RW.transparency; campaigns.customTitle = campaign[0].customTitle; campaigns.creation_color = campaign[0].creation_color; campaigns.customLogoTextRight = campaign[0].customLogoTextRight; campaigns.customLogoTextLeft = campaign[0].customLogoTextLeft; if (!campaigns.customLogoTextRight) campaigns.customLogoTextRight = 'xwords.pl'; campaigns.imgUrl = RW.url; campaigns.photoUrl = RW.photoUrl; campaigns.campaigns[0].photoUrl = RW.photoUrl; if (campaign.type == 4 || campaign.type == 53 || campaign.type == 108 || campaign.type == 155) { if (campaign.html_height != null && campaign.html_height >= 60) { campaigns.html_height = campaign.html_height; } else { campaigns.html_height = 60; campaign.html_height = 60; } if (campaign.html_width != null && campaign.html_width >= 300) { campaigns.html_widtht = campaign.html_width; } else { campaigns.html_widtht = 300; campaign.html_width = 300; } campaigns.html_heightContainer = campaign.html_height + 40; campaigns.html_widthContainer = campaign.html_width + 10; } HT.forEach(campaigns.campaigns, function (cid, campaign) { campaign.imgUrl = RW.url; campaign.photoUrl = RW.photoUrl; campaign.campaignType = campaign.type; }); if (templateOverride) { // template override return kite(RW.templates[templateOverride], campaigns); } return kite(RW.templates[campaigns.campaigns[0].template], campaigns); } else { var campaigns = {}; campaigns.campaigns = []; campaigns.customLogoImgLeft = campaign.customLogoImgLeft; if (campaign.customLogoUrlLeft) { campaigns.customLogoUrlLeft = campaign.customLogoUrlLeft; } else { campaigns.customLogoUrlLeft = "http://xwords.pl"; } if (campaign.customLogoImgRight) { campaigns.customLogoImgRight = campaign.customLogoImgRight; } else { if (campaign.type < 50) { campaigns.customLogoImgRight = config.customLogo[0]; } else { campaigns.customLogoImgRight = config.customLogo[1]; } } if (campaign.customLogoUrlRight) { campaigns.customLogoUrlRight = campaign.customLogoUrlRight; } else { campaigns.customLogoUrlRight = "http://xwords.pl"; } if (campaign.type == 4 || campaign.type == 53 || campaign.type == 108 || campaign.type == 155) { if (campaign.html_height != null && campaign.html_height >= 60) { campaigns.html_height = campaign.html_height; } else { campaigns.html_height = 60; campaign.html_height = 60; } if (campaign.html_width != null && campaign.html_width >= 300) { campaigns.html_widtht = campaign.html_width; } else { campaigns.html_widtht = 300; campaign.html_width = 300; } campaigns.html_heightContainer = campaign.html_height + 40; campaigns.html_widthContainer = campaign.html_width + 10; } campaigns.customLogoTextRight = campaign.customLogoTextRight; campaigns.customLogoTextLeft = campaign.customLogoTextLeft; if (!campaigns.customLogoTextRight) campaigns.customLogoTextRight = 'xwords.pl'; if (!campaigns.customLogoTextLeft) campaigns.customLogoTextLeft = ''; campaigns.transparency = RW.transparency; campaigns.customTitle = campaign.customTitle; campaigns.imgUrl = RW.url; campaigns.photoUrl = RW.photoUrl; campaigns.creation_color = campaign.creation_color; campaigns.campaignType = campaign.type; campaigns.campaigns[0] = campaign; campaigns.campaigns[0].imgUrl = RW.url; campaigns.campaigns[0].photoUrl = RW.photoUrl; campaigns.campaigns[0].campaignType = campaign.type; campaigns.mobileWidth = campaign.mobileWidth; campaigns.mobileTopLineH = campaign.mobileTopLineH; campaigns.mobileTopFontS = campaign.mobileTopFontS; campaigns.mobileMainLinkHeight = campaign.mobileMainLinkHeight; campaigns.mobileFont = campaign.mobileFont; campaigns.mobileHeight = campaign.mobileHeight; campaigns.mobileMainLinkWidth = campaign.mobileMainLinkWidth; campaigns.mobileMainImgHeight = campaign.mobileMainImgHeight; campaigns.mobileMainImgWidth = campaign.mobileMainImgWidth; campaigns.mobileImgContainerHeight = campaign.mobileImgContainerHeight; campaigns.mobileImgContainerWidth = campaign.mobileImgContainerWidth; campaigns.mobileBoxContentWidth = campaign.mobileBoxContentWidth; campaigns.mobileBoxContentHeight = campaign.mobileBoxContentHeight; if (templateOverride) { // template override return kite(RW.templates[templateOverride], campaigns); } return kite(RW.templates[campaign.template], campaigns); } }, getSiteId: function getSiteId() { var scripts = document.getElementsByTagName('script'), re = /rewords(.*)\.js(\?cid=\d*)$/i, match; for (var i = 0, max = scripts.length; i < max; i++) { if (!scripts[i].src) continue; match = scripts[i].src.match(re); if (match && match[2]) { return HT.getParameterByName('cid', match[2]); } } ; return false; }, redirect: function (data) { // ta funkcja chyba juz jest nieuzywana // data.url=data.url.replace("[[rw_sid]]", RW.sid); window.open(data.url, '__blank'); }, start: function () { var counter = 0, cjs = function () { RW.sid = RW.getSiteId(); if (RW.sid > 0) { clearInterval(cjsInterval); var processFunction = 'cb' + (new Date()).getTime(); RW.urlToSend = md5.get(document.URL, 10); eval(processFunction + '=RW.process'); var isMobile = 0; if (RW.isMobile() == true) { isMobile = 1; } //if (RW.sid == 5301) { isMobile = 1; } HT.jsonp(RW.url + 'c.js?s=' + encodeURIComponent(RW.sid) + '&u=' + RW.urlToSend + '&m=' + isMobile, processFunction); } counter++; if (counter == 10) { clearInterval(cjsInterval); RW.rwLog('Site have loading problem, fix it to run ReWords.'); } } var cjsInterval = setInterval(cjs, 1000); //HT.jsonp(RW.url + 'stats.js', processFunction); cjs(); } }; return RW; }); /* Kite Is a Template Engine Copyright (c) 2011 Andrew Fedoniouk, http://terrainformatica.com/ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ // KiTE home: http://code.google.com/p/kite/ (kite = function(template, /*optional*/ data) { var out = ""; // out buffer var parts = []; // compiled template parts var root = null; // root data object var context = null; // current context data object var context_index = 0; // current context index var context_set = null; // current set (array) being processed var formatters = kite.formatters || {}; function log(text) { //if(console) console.log("kite:" + text); } if( template.charAt(0) == "#" ) { // template is defined by id of