var pc_unico_pre = pc_unico_pre || {}; pc_unico_pre.protocol = ('https:' == document.location.protocol ? 'https://' : 'http://'); pc_unico_pre.base_url = "ad.payclick.it/extra/"; pc_unico_pre.ch_url = 'https://ad2.payclick.it/extra/adt_v2/adt_v2_ch.php'; pc_unico_pre.bootstrap_url = 'http://ad.payclick.it/extra/unico/20160415/adt_special_post_js.php'; pc_unico_pre.nuggad_ws_url = pc_unico_pre.protocol + 'payclick.nuggad.net/rc'; pc_unico_pre.nuggad_ws_timeout_observer = pc_unico_pre.nuggad_ws_timeout_observer || {}; pc_unico_pre.nuggad_npbt = pc_unico_pre.nuggad_npbt || null; pc_unico_pre.jsonp_request = (function(){ var that = {}; that.send = function(src, options) { var callback_name = options.callbackName || 'callback', on_success = options.onSuccess || function(){}, on_timeout = options.onTimeout || function(){}, timeout = options.timeout || 10; // sec var timeout_trigger = window.setTimeout(function(){ window[callback_name] = function(){}; on_timeout(); }, timeout * 1000); window[callback_name] = function(data){ window.clearTimeout(timeout_trigger); on_success(data); }; var script = document.createElement('script'); script.type = 'text/javascript'; script.async = true; var sendString = [], sendData = options.data; if( typeof sendData === "string" ){ var tmpArr = String.prototype.split.call(sendData,'&'); for(var i = 0, j = tmpArr.length; i < j; i++){ var datum = tmpArr[i].split('='); sendString.push(encodeURIComponent(datum[0]) + "=" + encodeURIComponent(datum[1])); } }else if( typeof sendData === 'object' && !( sendData instanceof String || (FormData && sendData instanceof FormData) ) ){ for (var k in sendData) { var datum = sendData[k]; if( Object.prototype.toString.call(datum) == "[object Array]" ){ for(var i = 0, j = datum.length; i < j; i++) { sendString.push(encodeURIComponent(k) + "[]=" + encodeURIComponent(datum[i])); } }else{ sendString.push(encodeURIComponent(k) + "=" + encodeURIComponent(datum)); } } } sendString = '&' + sendString.join('&'); script.src = src + "?callback=" + encodeURIComponent(options.callbackName) + sendString; document.getElementsByTagName('head')[0].appendChild(script); }; return that; })(); pc_unico_pre.pullNuggAd = function(nuggsid) { var timeout = 3; if (typeof nuggsid === "undefined") { pc_unico_pre.bootstrap(); return; }; pc_unico_pre.nuggad_ws_timeout_observer = { func: window.setTimeout(function () { //console.log('nugg too low'); //aptrace.zones[data_dict.zoneid].states['nugg_ws_timedout'] = { ts: aptrace.init_ts }; pc_unico_pre.bootstrap(); }, timeout * 1000) }; pc_unico_pre.nuggad_ws_timeout_observer.func; /*aptrace.zones[data_dict.zoneid].states['nugg_ws_starting'] = { ts: aptrace.init_ts };*/ pc_unico_pre.jsonp_request.send(pc_unico_pre.nuggad_ws_url, { // callbackName: 'pc_unico_pre.nugg_cb_'+data_dict.zoneid+new Date().getTime(), callbackName: 'pc_unico_pre.nugg_cb', data: { nuggn: '1764752390', nuggsid: nuggsid, nuggrid: encodeURIComponent(window.document.URL), format: 'jsonp' } }); }; pc_unico_pre.nugg_cb = pc_unico_pre.nugg_cb || function(pred) { // Invio variabile nugg.ad al ws di pull /*console.log(pc_unico_pre.nuggad_ws_timeout_observer.data_dict); console.log(pred.n_pbt);*/ window.clearTimeout(pc_unico_pre.nuggad_ws_timeout_observer.func); if (typeof pred.n_pbt === 'string') { // pc_unico_pre.nuggad_npbt = "a22=0;d1=2;d10=2;d11=0;d12=1;d13=0;d14=0;d15=0;d2=2;d3=1;d4=0;d7=1;d8=1;d9=1;f1=1;f2=0;f3=0;g1=1;g2=1;g3=1;g4=1;g5=0;i11=3;i13=3;i14=3;i15=3;i17=3;i18=3;i2=3;i21=3;i23=3;i26=3;i27=3;i29=3;i36=3;i62=3;i9=3;n1=0;n2=0;n3=0;n4=1;n5=0;n6=1;n7=1;n8=1;n9=1"; // console.log('setto n_pby:'+pred.n_pbt); pc_unico_pre.nuggad_npbt = pred.n_pbt; } //aptrace.zones[data_dict.zoneid].states['nugg_ws_success'] = { ts: aptrace.init_ts }; pc_unico_pre.bootstrap(); }; pc_unico_pre.jsonp_request.send(pc_unico_pre.ch_url, { callbackName: 'pc_unico_ch_'+new Date().getTime(), data: { chan: 16295 }, onSuccess: function (nuggsid) { pc_unico_pre.pullNuggAd(nuggsid); }, onTimeout: function(){ pc_unico_pre.bootstrap(); }, timeout: 2 }); pc_unico_pre.bootstrap = function() { var send_data = { chan: 16295, a_aid: '0d9b40c2' }; if(pc_unico_pre.nuggad_npbt != null ) send_data['ng'] = pc_unico_pre.nuggad_npbt; // set array nuggad per pull pc_unico_pre.jsonp_request.send(pc_unico_pre.bootstrap_url, { callbackName: 'pc_unico_bootstrap_'+new Date().getTime(), data: send_data }); };