/* RequireJS 2.1.6 Copyright (c) 2010-2012, 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(ba){function J(b){return"[object Function]"===N.call(b)}function K(b){return"[object Array]"===N.call(b)}function z(b,c){if(b){var d;for(d=0;dthis.depCount&&!this.defined){if(J(n)){if(this.events.error&&this.map.isDefine||h.onError!==ca)try{e=k.execCb(c,n,b,e)}catch(d){a=d}else e=k.execCb(c,n,b,e);this.map.isDefine&&((b=this.module)&&void 0!==b.exports&&b.exports!== this.exports?e=b.exports:void 0===e&&this.usingExports&&(e=this.exports));if(a)return a.requireMap=this.map,a.requireModules=this.map.isDefine?[this.map.id]:null,a.requireType=this.map.isDefine?"define":"require",w(this.error=a)}else e=n;this.exports=e;if(this.map.isDefine&&!this.ignore&&(r[c]=e,h.onResourceLoad))h.onResourceLoad(k,this.map,this.depMaps);y(c);this.defined=!0}this.defining=!1;this.defined&&!this.defineEmitted&&(this.defineEmitted=!0,this.emit("defined",this.exports),this.defineEmitComplete= !0)}}else this.fetch()}},callPlugin:function(){var a=this.map,b=a.id,d=l(a.prefix);this.depMaps.push(d);u(d,"defined",v(this,function(e){var n,d;d=this.map.name;var g=this.map.parentMap?this.map.parentMap.name:null,C=k.makeRequire(a.parentMap,{enableBuildCallback:!0});if(this.map.unnormalized){if(e.normalize&&(d=e.normalize(d,function(a){return c(a,g,!0)})||""),e=l(a.prefix+"!"+d,this.map.parentMap),u(e,"defined",v(this,function(a){this.init([],function(){return a},null,{enabled:!0,ignore:!0})})), d=m(q,e.id)){this.depMaps.push(e);if(this.events.error)d.on("error",v(this,function(a){this.emit("error",a)}));d.enable()}}else n=v(this,function(a){this.init([],function(){return a},null,{enabled:!0})}),n.error=v(this,function(a){this.inited=!0;this.error=a;a.requireModules=[b];H(q,function(a){0===a.map.id.indexOf(b+"_unnormalized")&&y(a.map.id)});w(a)}),n.fromText=v(this,function(e,c){var d=a.name,g=l(d),i=Q;c&&(e=c);i&&(Q=!1);s(g);t(j.config,b)&&(j.config[d]=j.config[b]);try{h.exec(e)}catch(D){return w(B("fromtexteval", "fromText eval for "+b+" failed: "+D,D,[b]))}i&&(Q=!0);this.depMaps.push(g);k.completeLoad(d);C([d],n)}),e.load(a.name,C,n,j)}));k.enable(d,this);this.pluginMaps[d.id]=d},enable:function(){W[this.map.id]=this;this.enabling=this.enabled=!0;z(this.depMaps,v(this,function(a,b){var c,e;if("string"===typeof a){a=l(a,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap);this.depMaps[b]=a;if(c=m(P,a.id)){this.depExports[b]=c(this);return}this.depCount+=1;u(a,"defined",v(this,function(a){this.defineDep(b, a);this.check()}));this.errback&&u(a,"error",v(this,this.errback))}c=a.id;e=q[c];!t(P,c)&&(e&&!e.enabled)&&k.enable(a,this)}));H(this.pluginMaps,v(this,function(a){var b=m(q,a.id);b&&!b.enabled&&k.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){z(this.events[a],function(a){a(b)});"error"===a&&delete this.events[a]}};k={config:j,contextName:b,registry:q,defined:r,urlFetched:V,defQueue:I,Module:$,makeModuleMap:l, nextTick:h.nextTick,onError:w,configure:function(a){a.baseUrl&&"/"!==a.baseUrl.charAt(a.baseUrl.length-1)&&(a.baseUrl+="/");var b=j.pkgs,c=j.shim,e={paths:!0,config:!0,map:!0};H(a,function(a,b){e[b]?"map"===b?(j.map||(j.map={}),S(j[b],a,!0,!0)):S(j[b],a,!0):j[b]=a});a.shim&&(H(a.shim,function(a,b){K(a)&&(a={deps:a});if((a.exports||a.init)&&!a.exportsFn)a.exportsFn=k.makeShimExports(a);c[b]=a}),j.shim=c);a.packages&&(z(a.packages,function(a){a="string"===typeof a?{name:a}:a;b[a.name]={name:a.name, location:a.location||a.name,main:(a.main||"main").replace(ka,"").replace(fa,"")}}),j.pkgs=b);H(q,function(a,b){!a.inited&&!a.map.unnormalized&&(a.map=l(b))});if(a.deps||a.callback)k.require(a.deps||[],a.callback)},makeShimExports:function(a){return function(){var b;a.init&&(b=a.init.apply(ba,arguments));return b||a.exports&&da(a.exports)}},makeRequire:function(a,f){function d(e,c,g){var i,j;f.enableBuildCallback&&(c&&J(c))&&(c.__requireJsBuild=!0);if("string"===typeof e){if(J(c))return w(B("requireargs", "Invalid require call"),g);if(a&&t(P,e))return P[e](q[a.id]);if(h.get)return h.get(k,e,a,d);i=l(e,a,!1,!0);i=i.id;return!t(r,i)?w(B("notloaded",'Module name "'+i+'" has not been loaded yet for context: '+b+(a?"":". Use require([])"))):r[i]}M();k.nextTick(function(){M();j=s(l(null,a));j.skipMap=f.skipMap;j.init(e,c,g,{enabled:!0});E()});return d}f=f||{};S(d,{isBrowser:A,toUrl:function(b){var d,f=b.lastIndexOf("."),g=b.split("/")[0];if(-1!==f&&(!("."===g||".."===g)||1g.attachEvent.toString().indexOf("[native code"))&&!Z?(Q=!0,g.attachEvent("onreadystatechange",b.onScriptLoad)):(g.addEventListener("load",b.onScriptLoad,!1),g.addEventListener("error",b.onScriptError,!1)),g.src=d,M=g,E?y.insertBefore(g,E):y.appendChild(g), M=null,g;if(ea)try{importScripts(d),b.completeLoad(c)}catch(l){b.onError(B("importscripts","importScripts failed for "+c+" at "+d,l,[c]))}};A&&O(document.getElementsByTagName("script"),function(b){y||(y=b.parentNode);if(L=b.getAttribute("data-main"))return s=L,u.baseUrl||(F=s.split("/"),s=F.pop(),ga=F.length?F.join("/")+"/":"./",u.baseUrl=ga),s=s.replace(fa,""),h.jsExtRegExp.test(s)&&(s=L),u.deps=u.deps?u.deps.concat(s):[s],!0});define=function(b,c,d){var h,g;"string"!==typeof b&&(d=c,c=b,b=null); K(c)||(d=c,c=null);!c&&J(d)&&(c=[],d.length&&(d.toString().replace(ma,"").replace(na,function(b,d){c.push(d)}),c=(1===d.length?["require"]:["require","exports","module"]).concat(c)));if(Q){if(!(h=M))R&&"interactive"===R.readyState||O(document.getElementsByTagName("script"),function(b){if("interactive"===b.readyState)return R=b}),h=R;h&&(b||(b=h.getAttribute("data-requiremodule")),g=G[h.getAttribute("data-requirecontext")])}(g?g.defQueue:U).push([b,c,d])};define.amd={jQuery:!0};h.exec=function(b){return eval(b)}; h(u)}})(this); /* ReWords_Dev */ (function() { require.config({ baseUrl: "/", paths: { 'kite': 'libs/kite'}, shim: { 'kite': { exports: 'kite'} } }); 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,] }; 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 = []; 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(['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.getAttributeNode('class'); if (classAttribute != null) { elementClass = ' ' + classAttribute.value + ' '; } 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 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); 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); }, 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){ var pattern = searchText, reg = new RegExp("(\[^a-zA-Z0-9_ćžđšŽĆČŠĐÕÄÖÜõäöüÓóĄąĘꣳŃńŚśŹźŻżАаБбВвГгДдЃѓЕеЖжЗзЅѕИиЈјКкЛлЉљМмНнЊњОоПпРрСсТтЌќУуФфХхЦцЧчЏџШшАаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя*?\])", "gi"), cWords = [] 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); }, checkNode: function(pattern, counter, cid, cWords, reg, nodeArrLn, campCounter, campIndex, data, wc, sid, ctx, allDataBox, bpCounter) { var dataBuffor = "", node = intext.textNodes[counter].node, isNotFound = true; if(bpCounter > 300) { bpCounter = 0; (function(){ setTimeout(function(){ 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) { 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); } else { intext.prepareData_v2( data, ctx, wc, sid, campCounter, campIndex, allDataBox); } },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); } else { (function(){ 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) { 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); } else { intext.prepareData_v2( data, ctx, wc, sid, campCounter, campIndex, allDataBox); } })(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); } }, 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'); HT.forEach(words, function(i, domWord) { if (typeof domWord == 'object') { if ( !(domWord.getAttribute("data-cid") == campaign.campaign_id) ) return; (function(word) { HT.event.add(domWord, 'mouseover', function(e, t) { intext.showCreation(campaign, this.domElement, sid, word); }); })(domWord.childNodes[0]); HT.event.add(domWord, 'mouseout', function(e, t) { 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); } }); }, showCreation: function(campaign, dom, sid, domW) { var RW = require('rw'), pos = HT.dom.findPos(dom), adSize, linkSize, wndSize, scrollOffset, adPosTop, adPosLeft; 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) { 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]); } 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") { 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); 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 (adPosTop < scrollOffset.offsetY) { linkSize = HT.css.getComputedSize(dom); adPosTop = pos.top + linkSize.height; } adPosLeft = pos.left; if (adPosLeft + adSize.width > wndSize.width) { adPosLeft = scrollOffset.offsetX + wndSize.width - adSize.width - 20; } 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]); }, 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); } } return intext; }); define('RW/inimage',['ht', 'rw'], function(HT, RW) { var inImage = { domAds: [], sendWords: {}, process: function(campaigns, ctx, sid, textNodes) { // HT.forEach(campaigns, function(fei, campaign){ // var images = inImage.findImages(campaign, ctx), // 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; // } // // if (images.matched) { // inImage.showCreation(campaign, images.imgs, ctx, sid); // // } else if (contextWords) { // // inImage.showCreation(campaign, images.imgs, ctx, sid, contextWords); // } // }); inImage.prepareImages(campaigns, ctx, sid, textNodes, 0) return 0; }, prepareImages: function(campaigns, ctx, sid, textNodes, counter){ (function(){ setTimeout(function(){ var campaign = campaigns[counter]; var images = inImage.findImages(campaign, ctx), 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; } 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) } else { inImage.sendWordsToMC(sid); //inImage.debug(); } }, 0); //Increase counter for each loop.splice })() }, 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 ) { 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; 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 } ); 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 } ); } }); 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 = new RegExp("(\[^a-zA-Z0-9_ćžđšŽĆČŠĐÕÄÖÜõäöüÓóĄąĘꣳŃńŚśŹźŻżАаБбВвГгДдЃѓЕеЖжЗзЅѕИиЈјКкЛлЉљМмНнЊњОоПпРрСсТтЌќУуФфХхЦцЧчЏџШш*?\])", "gi"), 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) { HT.jsonp(RW.url+"st.js?t=g&c="+campaign.campaign_id+"&w="+contextWords.toLowerCase()+"&s="+sid); HT.jsonp(RW.url+"st.js?t=s&c="+campaign.campaign_id+"&w="+contextWords.toLowerCase()+"&s="+sid); word = contextWords.toLowerCase(); } else { HT.jsonp(RW.url+"st.js?t=g&c="+campaign.campaign_id+"&w="+img.dom.title.toLowerCase()+"&s="+sid); HT.jsonp(RW.url+"st.js?t=s&c="+campaign.campaign_id+"&w="+img.dom.title.toLowerCase()+"&s="+sid); word = img.dom.title.toLowerCase(); } HT.event.add(ad, '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); 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","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.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 (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] + 'px'; } } ctrlClose = ad; RW.rwClose(ctrlClose); ctrlClose = ad.getElementsByClassName('rwCtrlClose')[0]; HT.event.add(ctrlClose, 'click', function() { ad.style.display = 'none'; }) 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/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; 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( 'config',{ stopWords: ['almatur'], emitter: 'http://178.33.53.47/', customLogo: ['big_rwrds_logo.png', 'small_rwds_logo.png'], 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/layer', 'RW/layer_ex_logo', 'RW/layer_ex_img', 'config', 'libs/md5', ], function( HT, RW_inText, RW_inImage, RW_area, RW_areaImg, RW_areaLogo, RW_areaText, RW_areaExLogo, RW_areaExImg, RW_layer, RW_layerExLogo, RW_layerExImg, config, md5 ) { var RW = { url: config.emitter, 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); }, 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 = [], layerCampaigns = [], layerRectFlashCampaigns = [], layerRectImgCampaigns = [], layerExLogoCampaigns = [], layerExImgCampaigns = [], layerAdds =[], areaHtmlCampaigns =[], layerHtmlCampaigns = [], ctxRwArea = document.querySelector('.rw_area'), ctxRwLayerImg = document.querySelector('.rw_layer_img'), ctxRwLayerLogo = document.querySelector('.rw_layer_logo'), ctxRwLayer = document.querySelector('.rw_layer'), rwForces = [], rwForcesArea = [], rwForcesC = [], rwForcesAreaC = [], areaToSend ="", layerToSend ="", layerBuff = 0, areaBuff = 0; rwForcesArea['rwAreaForce'] = 0; rwForcesArea['rwAreaFlashForce'] = 0; rwForcesArea['rwAreaImgForce'] = 0; rwForcesArea['rwAreaHtmlForce'] = 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; rwForcesC['rwLayerForceCount'] = 0; rwForcesC['rwLayerRectImgForceCount'] = 0; rwForcesC['rwLayerRectFlashForceCount'] = 0; rwForcesC['rwLayerImgForceCount'] = 0; rwForcesC['rwLayerLogoForceCount'] = 0; rwForcesC['rwLayerHtmlForceCount'] = 0; var doNodeSelector = {intext:false, inimage:false}; var stop = false; stop = RW.stopWords(config); if (stop) return; HT.forEach(data.c, function(cid, campaign) { var searchText = []; if (campaign.wordGroups == ' ') campaign.wordGroups = ''; searchText = campaign.wordGroups; if (campaign.type>=0 && campaign.type<50) { 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']++; } }); 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 ( 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((doNodeSelector.intext || doNodeSelector.inimage) && ctx){ RW.nodeSelector(ctx); //, [[ctx,0]], 1, true, doNodeSelector, ctx, 10); if ( inTextCampaigns.length > 0 ) { RW_inText.process(inTextCampaigns, ctx, data.wc, RW.sid, data.style, RW.textNodes, data.isw); } if ( inImageCampaigns.length > 0 ) { RW_inImage.process(inImageCampaigns, ctx, RW.sid, RW.textNodes); } } }, 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(); } }); }); 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(); } }); }); }, rwLog: function(){ if(config.prod) return; console.log.apply(null, arguments); }, // do wyszukiwania nodeow textowych nodeSelector: function(node){ 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); } if (currentNode.nodeType !== 3) { continue; } if(currentNode.length > 100){ 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 = new RegExp("(\[^a-zA-Z0-9_ćžđšŽĆČŠĐÕÄÖÜõäöüÓóĄąĘꣳŃńŚśŹźŻżАаБбВвГгДдЃѓЕеЖжЗзЅѕИиЈјКкЛлЉљМмНнЊњОоПпРрСсТтЌќУуФфХхЦцЧчЏџШшАаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя*?\/]/)", "gi"); 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) { //campaign.imgUrl = RW.url; var newImgUrl = 'http://files.rewords.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://rewords.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://rewords.pl"; } campaigns.campaignType = campaign[0].type; campaigns.transparency = RW.transparency; campaigns.customTitle = campaign[0].customTitle; campaigns.customLogoTextRight = campaign[0].customLogoTextRight; campaigns.customLogoTextLeft = campaign[0].customLogoTextLeft; if (!campaigns.customLogoTextRight ) campaigns.customLogoTextRight = 'rewords.pl'; if (!campaigns.customLogoTextLeft ) campaigns.customLogoTextLeft = 'rewords.pl'; campaigns.imgUrl = newImgUrl; 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 = newImgUrl; campaign.campaignType = campaign.type; }); 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://rewords.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://rewords.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 = 'rewords.pl'; if (!campaigns.customLogoTextLeft ) campaigns.customLogoTextLeft = 'rewords.pl'; campaigns.transparency = RW.transparency; campaigns.customTitle = campaign.customTitle; campaigns.imgUrl = newImgUrl; campaigns.campaignType = campaign.type; campaigns.campaigns[0] = campaign; campaigns.campaigns[0].imgUrl = newImgUrl; campaigns.campaigns[0].campaignType = campaign.type; 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'); HT.jsonp(RW.url + 'c.js?s=' + encodeURIComponent(RW.sid) +'&u=' + RW.urlToSend, 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