if(typeof(_fskparameters)=='undefined') { _fskparameters=[]; }if(typeof(fskLib)=='undefined') { fskLib=jQuery; }_fskparameters['_server']='http://api.freeskreen.com';_fskparameters['_pid']='27';_fskparameters['_flc']='NP-news';_fskparameters['_slc']='canada';_fskparameters['_manageUser']=false; _fskparameters['_ups']=''; _fskparameters['_sid']='ATFhwV0I1RfWjm9';_fskparameters['_eligibleConfig']='';_fskparameters['_confId']='';_fskparameters['_wallType']='';_fskparameters['_featuredOffer']=null;_fskparameters['_redeemUrl']='http://news.nationalpost.com/post-points';_fskparameters['_currentUser']=null;if(!_fskparameters['_clientUrlToLoad']) {_fskparameters['_clientUrlToLoad']='http://api.freeskreen.com/publisher/client?';} if(!_fskparameters['_userUrlToLoad']) {_fskparameters['_userUrlToLoad']='http://api.freeskreen.com/user/widget?';}if(!_fskparameters['_userUrlToLoadLogIn']) {_fskparameters['_userUrlToLoadLogIn']='http://api.freeskreen.com/user/widget/login?';}if(!_fskparameters['_signInUrlToLoad']) {_fskparameters['_signInUrlToLoad']='http://api.freeskreen.com/publisher/login?';}if(!_fskparameters['_pollUrlToLoad']) {_fskparameters['_pollUrlToLoad']='http://api.freeskreen.com/publisher/poll?';}_fskparameters['_zindex']=1100000; _fskparameters['_ut']='rlv5kY3D3PzYVekFql4TzfCJxvR2Fk';_fskparameters['_utid']='27';_fskparameters['_uts']='9a2d2fe3-cc52-4ccc-bd14-fbce3f3ecd30';if(jQuery('#fsk_user').length==0)jQuery('body').append('
');FSK_getcookie=function(a){var b=new RegExp(a+"=([^;]+)");var c=b.exec(document.cookie);return(c!=null)?unescape(c[1]):null;};FSK_getExtraParameters=function(){var a={p_cust:"",p_parent:""};try{var b=Postmedia.adConfig.keys;var c="loc=slice&";c+="nk="+(b.nk||"");c+="&aid="+(b.aid||"");c+="&author="+(b.author||"");c+="&pr="+(b.pr||"");c+="&ck="+(b.ck||"");c+="&sck="+(b.sck||"");c+="&page="+(b.page||"index");c+="&prtn=sc";c+="&ciab="+(typeof Postmedia.adConfig.keys.ciab!='undefined'?Postmedia.adConfig.keys.ciab.join(','):'');c+="&aam="+(FSK_getcookie("aam_dfp")||"").replace("aam=","");c+="&aamId="+(FSK_getcookie("aam_uuid")||"");a.p_cust=encodeURIComponent(c);}catch(d){}try{var e=encodeURIComponent(Postmedia.adConfig.site+(Postmedia.adConfig.zone[0]=="/"?"":"/")+Postmedia.adConfig.zone);a.p_parent=e;}catch(d){}return a;};function Fsk() { this.mainPanel; this.pageUrl = null; this.checked = {}; this.hasToRefresh = false; this.listeners = []; this.destructors = []; this.messageHandlers = {}; this.isMobile = { Android: function() { return navigator.userAgent.match(/Android/i); }, BlackBerry: function() { return navigator.userAgent.match(/BlackBerry/i); }, iOS: function() { return navigator.userAgent.match(/iPad|iPod|iPhone/i); }, Opera: function() { return navigator.userAgent.match(/Opera Mini/i); }, Windows: function() { return navigator.userAgent.match(/IEMobile/i); }, any: function() { return (_Fsk.isMobile.Android() || _Fsk.isMobile.BlackBerry() || _Fsk.isMobile.iOS() || _Fsk.isMobile.Opera() || _Fsk.isMobile.Windows()); }, iOSVersion: function() { var v = (navigator.appVersion).match(/OS (\d+)_(\d+)_?(\d+)?/); return [parseInt(v[1], 10), parseInt(v[2], 10), parseInt(v[3] || 0, 10)]; }, UAMobile: function() { var device = {}; try { if(_Fsk.isMobile.Android()) { device.os = 'Android'; device.osv = navigator.userAgent.match(/; Android (\d+(?:\.\d+)+)/i)[0].replace('; Android ', ''); } else if(_Fsk.isMobile.iOS()) { device.os = 'iOS'; device.osv = _Fsk.isMobile.iOSVersion(); device.make = 'Apple'; device.model = navigator.userAgent.match(/iPhone/i) ? 'iPhone' : (navigator.userAgent.match(/iPad/i) ? 'iPad' : (navigator.userAgent.match(/iPod/i) ? 'Ipod' : '')); } else if(_Fsk.isMobile.Windows()) { device.os = 'Windows'; } } catch(e) { console.log(e); } return device; } }; // Cookies this.sliceIdx = -2; if(window.location.hostname.match(/\.com\.br$/)) { this.sliceIdx = -3; } if (typeof(_fskparameters['_cDomain']) != 'undefined') { this.domain = _fskparameters['_cDomain']; } else { this.domain = location.host.split('.').slice(this.sliceIdx).join('.'); } if (this.domain.indexOf('.') == -1) { this.domain = undefined; } // ut if (typeof(_fskparameters['_ut']) != 'undefined') { var expire = new Date(); expire.setDate(expire.getDate() + 30); document.cookie='fsk_ut_' + _fskparameters['_utid'] + '=' + _fskparameters['_ut'] + ';expires='+expire.toUTCString() + (this.domain ? ';domain=.' + this.domain : '') + ';path=/'; } // uts if (typeof(_fskparameters['_uts']) != 'undefined') { var expire = new Date(); expire.setMinutes(expire.getMinutes() + 30); document.cookie='fsk_uts=' + _fskparameters['_uts'] + ';expires='+expire.toUTCString() + (this.domain ? ';domain=.' + this.domain : '') + ';path=/'; } this.getFSLC = function() { return "&flc=" + encodeURIComponent(_fskparameters['_flc']) + "&slc=" + encodeURIComponent(_fskparameters['_slc']); }; this.getLocation = function(href) { var l = document.createElement("a"); l.href = href; return l; }; this.ontouchmove = function(e) { if(_Fsk.isOpened) { e.preventDefault(); } }; this._addMessageHandler = function(event, func) { if (typeof(_Fsk.messageHandlers[event]) == 'undefined') { _Fsk.messageHandlers[event] = []; } _Fsk.messageHandlers[event].push(func); } this.registerMessageHandler = function(event, func) { if (typeof(event) == "string") { _Fsk._addMessageHandler(event, func); } else { _Fsk.each(event, function(idx, item) { _Fsk._addMessageHandler(item, func); }); } } this.fskMessageListener = function(event) { if (!event.data || typeof event.data != 'string') { return; } if (_Fsk.getLocation(event.origin).hostname != _Fsk.getLocation(_fskparameters['_server']).hostname && _Fsk.getLocation(event.origin).hostname != _Fsk.getLocation('http://sb.freeskreen.com').hostname) { return; } try { var eventObj = JSON.parse(event.data); if (typeof(eventObj.ns) != 'undefined' && eventObj.ns == "FSK" && typeof(_Fsk.messageHandlers[eventObj.ev]) != 'undefined') { _Fsk.each(_Fsk.messageHandlers[eventObj.ev], function(idx, func) { func(eventObj); }); return; } } catch(e) {} if (event.data.indexOf('fsk_') != 0) { return; } var hash = event.data; if (_Fsk.messageHash != hash) { _Fsk.messageHash = hash; if (_Fsk.messageHash.indexOf('fsk_scroll_top') == 0) { window.scrollTo(0,0); return; } if (_Fsk.messageHash.indexOf('fsk_completed_') == 0) { var confId = _Fsk.messageHash.substring(14); _Fsk.completed(confId); return; } if (_Fsk.messageHash.indexOf('fsk_redirect_') == 0) { var url = _Fsk.messageHash.replace('fsk_redirect_', ''); window.location.href = url; return; } if (_Fsk.messageHash.indexOf('fsk_height_') == 0) { var height = _Fsk.messageHash.substring(11); _Fsk.updatePageSize(height); return; } _Fsk.each(_Fsk.listeners, function(idx, listener) { return !listener(_Fsk.messageHash); }); } }; this.scrollTop = function() { window.scrollTo(0,0); } this.getCookie = function(c_name) { var c_value = document.cookie; var c_start = c_value.indexOf(" " + c_name + "="); if (c_start == -1) { c_start = c_value.indexOf(c_name + "="); } if (c_start == -1) { c_value = null; } else { c_start = c_value.indexOf("=", c_start) + 1; var c_end = c_value.indexOf(";", c_start); if (c_end == -1) { c_end = c_value.length; } c_value = unescape(c_value.substring(c_start,c_end)); } return c_value; } this.completed = function(confId) { var value = this.getData('fsk_act'); var finalCookie = ""; var nowDate = Math.floor((new Date()).getTime() / 1000); _Fsk.each(value.split(";"), function(itemNo, item) { if (item == "") { return true; } if (item.indexOf(confId + '=') != 0) { finalCookie += item + ";"; return true; } item = item.split('=')[1]; var activity = item.split("|"); activity[0] = nowDate; activity[1] = 0; finalCookie += confId + '=' + activity.join("|") + ";"; }); if (finalCookie.indexOf(confId + '=') != 0 && finalCookie.indexOf(';' + confId + '=') <= 0) { finalCookie += confId + '=' + nowDate + "|0|" + nowDate + "|0;"; } this.setData('fsk_act', finalCookie); } this.started = function(confId) { var value = this.getData('fsk_act'); var finalCookie = ""; var nowDate = Math.floor((new Date()).getTime() / 1000); _Fsk.each(value.split(";"), function(itemNo, item) { if (item == "") { return true; } if (item.indexOf(confId + '=') != 0) { finalCookie += item + ";"; return true; } var conf = _fskparameters['_actConf']['' + confId].split("|"); item = item.split('=')[1]; var activity = item.split("|"); activity[3] = 0; if ((conf[2] != '' && nowDate - parseInt(activity[2]) >= parseInt(conf[2]))) { activity[2] = nowDate; activity[4] = 1; } else if (conf[2] != '' && conf[4] != '' && nowDate - parseInt(activity[2]) < parseInt(conf[2]) && parseInt(activity[4]) < parseInt(conf[4])) { activity[4] = parseInt(activity[4]) + 1; } else { activity[2] = nowDate; activity[4] = 0; } finalCookie += confId + '=' + activity.join("|") + ";"; }); if (finalCookie.indexOf(confId + '=') != 0 && finalCookie.indexOf(';' + confId + '=') <= 0) { finalCookie += confId + '=' + nowDate + "|0|" + nowDate + "|0;"; } this.setData('fsk_act', finalCookie); } this.refresh = function(confId) { var value = this.getData('fsk_act'); var finalCookie = ""; var nowDate = Math.floor((new Date()).getTime() / 1000); _Fsk.each(value.split(";"), function(itemNo, item) { if (item == "") { return true; } if (item.indexOf(confId + '=') != 0) { finalCookie += item + ";"; return true; } item = item.split('=')[1]; var activity = item.split("|"); activity[3] = parseInt(activity[3]) + 1; activity[1] = parseInt(activity[1]) + 1; finalCookie += confId + '=' + activity.join("|") + ";"; }); if (finalCookie.indexOf(confId + '=') != 0 && finalCookie.indexOf(';' + confId + '=') <= 0) { finalCookie += confId + '=' + "0|0|0|0|0"; } this.setData('fsk_act', finalCookie); } this.check = function(confId, isSB) { if (this.checked && this.checked[confId]) { return this.checked[confId]; } var value = this.getData('fsk_act'); var finalCookie = ""; var found = false; var nowDate = Math.floor((new Date()).getTime() / 1000); var eligible = false; if (typeof(_fskparameters['_actConf']) == 'undefined') { return false; } _Fsk.each(value.split(";"), function(itemNo, item) { if (item == "") { return true; } if (item.indexOf(confId + '=') != 0) { finalCookie += item + ";"; return true; } item = item.split('=')[1]; var activity = item.split("|"); var conf = _fskparameters['_actConf']['' + confId].split("|"); // eligibleDisplayRefresh var eligibleDisplayRefresh = (conf[3] != '' && (parseInt(activity[3]) >= parseInt(conf[3]))); // eligibleDisplayInterval if (activity.length < 5) { activity[4] = 0; } var eligibleDisplayInterval = (conf[2] != '' && nowDate - parseInt(activity[2]) >= parseInt(conf[2])); eligibleDisplayInterval = eligibleDisplayInterval || (conf[2] != '' && conf[4] != '' && nowDate - parseInt(activity[2]) < parseInt(conf[2]) && parseInt(activity[4]) < parseInt(conf[4])); // eligibleViewRefresh var eligibleViewRefresh = (conf[1] != '' && (parseInt(activity[1]) >= parseInt(conf[1]))); // eligibleViewInterval var eligibleViewInterval = (conf[0] != '' && nowDate - parseInt(activity[0]) >= parseInt(conf[0])); eligible = (conf[0] == '' && conf[1] == '' && conf[2] == '' && conf[3] == ''); eligible = eligible || (eligibleDisplayRefresh && eligibleDisplayInterval || eligibleDisplayRefresh && conf[2] == '' || eligibleDisplayInterval && conf[3] == ''); eligible = eligible || (eligibleViewRefresh && eligibleViewInterval || eligibleViewRefresh && conf[1] == '' || eligibleViewInterval && conf[0] == ''); if (eligible && !isSB) { activity[2] = nowDate; activity[3] = 0; } else { activity[1] = parseInt(activity[1]) + 1; activity[3] = parseInt(activity[3]) + 1; } finalCookie += confId + '=' + activity.join("|") + ";"; }); if (finalCookie.indexOf(confId + '=') != 0 && finalCookie.indexOf(';' + confId + '=') <= 0) { finalCookie += confId + '=' + "0|0|0|0|0;"; eligible = true; } this.setData('fsk_act', finalCookie); this.checked[confId] = eligible; return eligible; } this.getActivity = function(confId) { var value = this.getData('fsk_act'); var finalCookie = ""; _Fsk.each(value.split(";"), function(itemNo, item) { if (item == "") { return true; } if (item.indexOf(confId + '=') != 0) { return true; } finalCookie = item.split('=')[1]; }); return finalCookie; } this.parseVideos = function() { var data = this.getData('fsk_v'); var videos = {}; _Fsk.each(data.split(";"), function(itemNo, item) { if (item == "") { return true; } var v_id = item.split("=")[0]; videos[v_id] = {}; videos[v_id].id = v_id; var content = item.split("=")[1].split("|"); if (content.length > 0) { videos[v_id].timestamp = parseInt(content[0]); } if (content.length > 1) { videos[v_id].num = parseInt(content[1]); } }); return videos; } this.videosAsString = function(videos) { var finalData = ""; sVideos = Object.keys(videos).map(function(key){return videos[key]}).sort(function(a,b) { return parseInt(b.timestamp) - parseInt(a.timestamp) }); _Fsk.each(sVideos, function(itemNo, value) { if (itemNo > 19) { return true; } finalData += value.id + "="; finalData += value.timestamp; if (typeof(value.num) != "undefined") { finalData += "|" + value.num; } finalData += ";"; }); return finalData; } this.videoImpression = function(videoId) { var nowDate = Math.floor((new Date()).getTime() / 1000); var videos = this.parseVideos(); if (typeof(videos[videoId]) == "undefined") { videos[videoId] = {}; videos[videoId].id = parseInt(videoId); videos[videoId].num = 1; } else { if (typeof(videos[videoId].num) == "undefined") { videos[videoId].num = 0; } videos[videoId].num++; } videos[videoId].timestamp = nowDate; this.setData('fsk_v', this.videosAsString(videos)); } this.getData = function(key) { if(typeof(Storage) !== "undefined") { data = localStorage.getItem(key); } else { data = this.getCookie(key); } return (!data) ? "" : decodeURIComponent(data); } this.setData = function(key, value) { if(typeof(Storage) !== "undefined") { data = localStorage.setItem(key, encodeURIComponent(value)); } else { _Fsk.updateCookies(key, encodeURIComponent(value)); } } this.getVS = function() { if(typeof(Storage) !== "undefined") { return localStorage.fsk_v; } else { return this.getCookie("fsk_v"); } } this.updateCookies = function(key, value, isDelete) { if (isDelete) { document.cookie = key + '=; expires=Thu, 01 Jan 1970 00:00:01 GMT' + (this.domain ? ';domain=.' + this.domain : '') + ';path=/'; return; } var expire = new Date(); expire.setDate(expire.getDate() + 30); document.cookie=key + '=' + value + ';expires='+expire.toUTCString()+ (this.domain ? ';domain=.' + this.domain : '') + ';path=/'; } this.parseGetParameters = function parse(val) { var result = undefined, tmp = []; location.search .substr(1) .split("&") .forEach(function (item) { tmp = item.split("="); if (tmp[0] === val) result = decodeURIComponent(tmp[1]); }); return result; } this.getStdQueries = function(base, _fskconf) { var url = base; url += 'pid='+_fskparameters['_pid']; url += '&sid='+(typeof(_fskparameters['_sid']) != 'undefined' ? _fskparameters['_sid'] : ""); var ffc = _Fsk.parseGetParameters('fsk_force_campaign'); if (typeof(ffc) != 'undefined') { url += "&ffc=" + ffc; } if (typeof(base) != 'undefined') { if (( typeof(_fskconf) == 'undefined' || typeof(_fskconf['_splitboxUrlToLoad']) == 'undefined' ? (typeof(_fskparameters['_splitboxUrlToLoad']) != 'undefined') : true) && base == (typeof(_fskconf) == 'undefined' || typeof(_fskconf['_splitboxUrlToLoad']) == 'undefined' ? _fskparameters['_splitboxUrlToLoad'] : _fskconf['_splitboxUrlToLoad'])) { url += '&confId='+_fskconf['_spConfId']; url += '&a=' + encodeURIComponent(_Fsk.getActivity(_fskconf['_spConfId'])); } else if (typeof(_fskparameters['_slideboxUrlToLoad']) != 'undefined' && base == _fskparameters['_slideboxUrlToLoad']) { url += '&confId='+_fskconf['_sdConfId']; url += '&a=' + encodeURIComponent(_Fsk.getActivity(_fskconf['_sdConfId'])); } else if(typeof(_fskparameters['_overboxUrlToLoad']) != 'undefined' && base == _fskparameters['_overboxUrlToLoad']) { url += '&confId='+_fskconf['_ovConfId']; url += '&a=' + encodeURIComponent(_Fsk.getActivity(_fskconf['_ovConfId'])); } } if (_fskparameters['_ut']) { url += "&trackerId="+_fskparameters['_ut']; } if (_fskparameters['_uts']) { url += "&uts="+_fskparameters['_uts']; } url += _Fsk.getFSLC(); if (typeof(FSK_getExtraParameters) != 'undefined') { _Fsk.each(FSK_getExtraParameters(), function(key, value) { if (key.indexOf('p_') != 0) { key = 'p_' + key; } url += '&' + key + '=' + encodeURIComponent(value); }); } if (fskLib('meta[name="fsk-kw"]').length > 0 && url.indexOf('p_kw') == -1) { url += '&p_kw=' + encodeURIComponent(fskLib('meta[name="fsk-kw"]').attr('content')); } return url; } this.cleanup = function() { try { _Fsk.removeListeners([["message", _Fsk.fskMessageListener]]); } catch(e) {} _Fsk.each(_Fsk.destructors, function(idx, destructor) { try { destructor(); } catch(e) {} }); } this.addListeners = function(events, elem) { if (!elem) { elem = window; } _Fsk.each(events, function(idx0, event) { if (typeof(event[0]) == 'string') { elem.addEventListener ? elem.addEventListener(event[0], event[1], false) : elem.attachEvent(event.length == 3 ? event[2] : "on" + event[0], event[1]); } else { _Fsk.each(event[0], function(idx1, item) { elem.addEventListener ? elem.addEventListener(item, event[1], false) : elem.attachEvent("on" + item, event[1]); }); } }); } this.removeListeners = function(events, elem) { if (!elem) { elem = window; } _Fsk.each(events, function(idx0, event) { if (typeof(event[0]) == 'string') { elem.removeEventListener ? elem.removeEventListener(event[0], event[1]) : elem.detachEvent(event.length == 3 ? event[2] : "on" + event[0], event[1]); } else { _Fsk.each(event[0], function(idx1, item) { elem.removeEventListener ? elem.removeEventListener(item, event[1]) : elem.detachEvent("on" + item, event[1]); }); } }); } // iPhone fix to avoid issues with jQuery due to known bug: https://bugs.webkit.org/show_bug.cgi?id=142792 this.each = function(obj, callback) { if(navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPad/i)) { var keys = []; if (typeof(obj) != 'undefined' && obj.constructor === Array) { for(var i = 0; i < obj.length; i++) { keys.push(i); } } else { for(var o in obj) { keys.push(o); } } for(var i = 0; i < keys.length; i++) { callback(keys[i], obj[keys[i]]); } } else { fskLib.each(obj, callback); } } this.sendMessage = function(event, data, configId, dest) { dest.contentWindow.postMessage(JSON.stringify({ ns: "FSK", c: configId, ev: event, d: data }), dest.src); } this.isFskFrameOnScreen = function(elem, ratio){ var win = fskLib(window); var viewport = { top : win.scrollTop(), left : win.scrollLeft() }; viewport.right = viewport.left + win[0].innerWidth; viewport.bottom = viewport.top + win[0].innerHeight; var bounds = elem.offset(); bounds.right = bounds.left + elem.outerWidth(false); bounds.bottom = bounds.top + elem.outerHeight(false); isVisible = (!(viewport.right < bounds.left || viewport.left > bounds.right || viewport.bottom < bounds.top || viewport.top > bounds.bottom)); if (!isVisible) { return false; } visibleY = Math.min(bounds.bottom, viewport.bottom) - Math.max(bounds.top, viewport.top); visible = visibleY / elem.outerHeight(false); if (visible >= ratio) { return true; } if (isNaN(visible) && elem.height() == 0) { return true; } return false; }; } _Fsk = new Fsk(); document.ontouchmove = _Fsk.ontouchmove; if(window.postMessage) { _Fsk.addListeners([["message", _Fsk.fskMessageListener]]); }_Fsk.viewport = function() { var e = window, a = 'inner'; if ( !( 'innerWidth' in window ) ) { a = 'client'; e = document.documentElement || document.body; } return { width : e[ a+'Width' ] , height : e[ a+'Height' ] } } _Fsk.openOverlay = function(hash, errorMessage, uid) { if(!hash) { hash = '#'; } if(this.mainPanel) { document.body.removeChild(this.mainPanel); } this.mainPanel = document.createElement("DIV"); this.mainPanel.style.position = 'fixed'; this.mainPanel.style.background = 'transparent'; this.mainPanel.style.top = '0px'; this.mainPanel.style.left = '0px'; this.mainPanel.style.width = '100%'; this.mainPanel.style.height = '100%'; this.mainPanel.style.overflow = 'visible'; this.mainPanel.style.zIndex = _fskparameters['_zindex']; this.publisherFrame = document.createElement("IFRAME"); this.publisherFrame.id = 'fsk_publisher'; this.publisherFrame.name = 'fsk_publisher'; this.publisherFrame.allowTransparency= 'true'; var is_chrome = navigator.userAgent.indexOf('Chrome') > -1; var is_safari = navigator.userAgent.indexOf("Safari") > -1; if ((is_chrome)&&(is_safari)) {is_safari=false;} if (!is_safari || hash != '#fsk_sign_in' && hash != '#fsk_join') { this.mainPanel.style.display = 'none'; } var url = ""; if (hash == '#fsk_sign_in' || hash == '#fsk_join') { url = this.getStdQueries(_fskparameters['_signInUrlToLoad']); url += (errorMessage ? '&errorMessage=' + errorMessage : ''); url += (uid ? '&uid=' + uid : ''); } else { url = this.getStdQueries(_fskparameters['_clientUrlToLoad']); url += '&maxWidth=' + this.viewport()['width']; url += '&maxHeight=' + this.viewport()['height']; url += '&ups=' + _fskparameters['_ups']; this.refresh(_fskparameters['_spConfId']); } url += hash; this.publisherFrame.setAttribute("src", url); this.publisherFrame.style.opacity = '1'; this.publisherFrame.style.background = 'transparent'; this.publisherFrame.style.position = 'absolute'; this.publisherFrame.style.width = '100%'; this.publisherFrame.style.height = '100%'; this.publisherFrame.style.border = 'none'; this.publisherFrame.frameBorder = '0'; this.mainPanel.appendChild(this.publisherFrame); document.body.style.width ="100%"; document.body.style.height ="100%"; document.body.style.overflow ="hidden"; window.scrollTo(0,0); this.documentPosition = document.body.style.position; if(navigator.userAgent.match('CriOS')) { this.publisherFrame.style.height = fskLib('body').height() + "px"; } else { document.body.style.position = "fixed"; } document.body.appendChild(this.mainPanel); }; _Fsk.createPage = function(divId, pageName, logout) { this.pageDivId = divId; var divContainer = document.getElementById(divId); if(divContainer) { var pathToShow = ''; if(pageName == 'redeem') { var currentHash = window.location.hash; if( currentHash.indexOf('#fsk_offer/') === 0) { pathToShow += '/user/redeem/checkout?offerId=' + currentHash.split("/")[1] + '&'; window.location.hash = ''; } else { pathToShow += '/user/redeem?'; } }else { pathToShow += '/user/page/' + pageName + '?'; } pathToShow += 'pid='+_fskparameters['_pid']; pathToShow += '&sid='+_fskparameters['_sid']; pathToShow += '&confId='+_fskparameters['_confId']; var urlToShow = _fskparameters['_server']+pathToShow; if (this.pageFrame && this.pageFrame.getAttribute("src") != "") { this.pageFrame.setAttribute("src", urlToShow); return; } this.pageFrame = document.createElement("IFRAME"); this.pageFrame.id = 'fsk_'+pageName; this.pageFrame.name = 'fsk_'+pageName; this.pageFrame.setAttribute("src", urlToShow); this.pageFrame.style.width = '100%'; this.pageFrame.style.border = 'none'; this.pageFrame.frameBorder = '0'; divContainer.style.maxWidth = divContainer.style.width; divContainer.style.width = "100%"; divContainer.appendChild(this.pageFrame); } }; _Fsk.scanPages = function() { fskLib("div[id^='fsk_page_']").each(function(itemNo, item) { _Fsk.createPage(item.id, item.id.replace('fsk_page_', '')); }); }; _Fsk.logoutPage = function() { var pathToShow = '/user/logout?pid='+ _fskparameters['_pid']; pathToShow += '&sid='+_fskparameters['_sid']; var urlToShow = _fskparameters['_server']+pathToShow; pageFrame = document.createElement("IFRAME"); pageFrame.id = 'fsk_logout'; pageFrame.name = 'fsk_logout'; pageFrame.setAttribute("src", urlToShow); pageFrame.style.width = '100%'; pageFrame.style.height = '0px'; document.body.appendChild(pageFrame); } _Fsk.hide = function() { document.body.style.width = ""; document.body.style.height = ""; document.body.style.overflow = ""; _Fsk.publisherHash = null; if(this.mainPanel) { document.body.removeChild(this.mainPanel); this.mainPanel = null; } if(this.publisherTimer) { window.clearInterval(this.publisherTimer); } }; _Fsk.openSignIn = function(errorMessage) { _Fsk.openOverlay('#fsk_sign_in', errorMessage); }; _Fsk.openRedeemCode = function() { _Fsk.openOverlay('#fsk_redeem_code'); }; _Fsk.fireJoin = function() { if(_fskparameters['_manageUser']) { _Fsk.openOverlay('#fsk_join'); } else { FSK_callback_join(); } }; _Fsk.fireSignIn = function() { if(_fskparameters['_manageUser']) { _Fsk.openSignIn(); } else { FSK_callback_join(); } }; _Fsk.fireOpenOverlay = function() { _Fsk.openOverlay(); }; _Fsk.fireLogin = function(errorMessage) { if(_fskparameters['_manageUser']) { _Fsk.openSignIn(errorMessage); } else { FSK_callback_login(errorMessage); } }; _Fsk.fireLogout = function() { if(_fskparameters['_manageUser']) { _Fsk.logoutPage(); } else { FSK_callback_logout(); } }; _Fsk.fireLostPassword = function() { if(_fskparameters['_manageUser']) { _Fsk.openOverlay('#fsk_lost'); } else { } }; _Fsk.fireProfile = function() { if(_fskparameters['_manageUser']) { } else { FSK_callback_profile(); } }; _Fsk.fireUserRefresh = function(force) { _Fsk.scanUsers(force); fskLib("div[id^='fsk_page_']").each(function(itemNo, item) { try{ var fsk_frame_page = fskLib('#' + item.id + ' iframe')[0].contentWindow; fsk_frame_page.postMessage('fsk_user_refresh', '*'); } catch(e) {} }); }; _Fsk.updatePageSize = function(height) { if(height <= 0) { this.pageFrame.style.display = 'none'; } else { this.pageFrame.style.display = 'block'; this.newHeight = parseInt(height) + 50; this.pageFrame.style.height = (this.newHeight+'px'); } } _Fsk.scanUsers = function(force) { var userDivLogIn = document.getElementById('fsk_user_login'); var userDiv = document.getElementById('fsk_user'); if(userDivLogIn) { this.refreshUserDiv(userDivLogIn, 'fsk_frame_user_login', _fskparameters['_userUrlToLoadLogIn'], force); } if(userDiv) { this.refreshUserDiv(userDiv, 'fsk_frame_user', _fskparameters['_userUrlToLoad'], force); } }; _Fsk.refreshUserDiv = function(userDiv, frameId, urlToLoad, force) { if (userDiv.hasChildNodes()) { if (force) { userDiv.removeChild(document.getElementById(frameId)); } else { var fsk_frame_user = document.getElementById(frameId).contentWindow; fsk_frame_user.postMessage('fsk_user_refresh', 'https://' + _Fsk.getLocation(_fskparameters['_server']).hostname); return; } } _Fsk.userHash = null; this.userIframe = document.createElement("IFRAME"); this.userIframe.id = frameId; this.userIframe.name = frameId; var url = urlToLoad; url += 'pid='+_fskparameters['_pid']; url += '&sid='+_fskparameters['_sid']; this.userIframe.setAttribute("src", url); this.userIframe.style.width = '100%'; this.userIframe.style.height = '100%'; this.userIframe.style.border = 'none'; this.userIframe.frameBorder = '0'; this.userIframe.scrolling = 'no'; userDiv.appendChild(this.userIframe); }; _Fsk.loyaltyMessageListener = function(messageHash) { if (_Fsk.mainPanel && (_Fsk.messageHash.indexOf('fsk_login_') == 0 || _Fsk.messageHash.indexOf('fsk_close') == 0 || _Fsk.messageHash.indexOf('fsk_join_') == 0)) { _Fsk.hide(); _Fsk.fireUserRefresh(); } if (messageHash.indexOf('fsk_code_redeem') == 0) { _Fsk.openRedeemCode(); return true; } if (messageHash.indexOf('fsk_overlay_activated') == 0) { _Fsk.hasToRefresh = true; return true; } if (messageHash.indexOf('fsk_overlay_action_') == 0) { _Fsk.fireUserRefresh(true); _Fsk.hasToRefresh = true; if (messageHash.indexOf('fsk_overlay_action_login_') == 0) { var sessionId = messageHash.replace('fsk_overlay_action_login_', ''); _Fsk.updateCookies("fsk_sid", sessionId); } else { _Fsk.updateCookies("fsk_sid", "", true); } return true; } if (messageHash.indexOf('fsk_logged_') == 0) { var sessionId = messageHash.substring(11); _Fsk.updateCookies("fsk_sid", sessionId); window.location.reload() return true; } if (messageHash.indexOf('fsk_oauth_register=') == 0) { var uid = messageHash.replace('fsk_oauth_register=', ''); _Fsk.openOverlay('#fsk_join', undefined, uid); return true; } if (messageHash == 'fsk_logout') { _Fsk.updateCookies("fsk_sid", "", true); window.location.reload(); return true; } if (messageHash.indexOf('fsk_lost_pwd') == 0) { _Fsk.fireLostPassword(); return true; } if (messageHash.indexOf('fsk_redeem') == 0) { var url = _fskparameters['_redeemUrl']; var tokens = messageHash.split('_'); var hash = ""; if ((tokens.length - 1) == 3) { hash = '#fsk_offer/' + tokens[2]; } if (fskLib('#fsk_page_redeem').length > 0) { window.location.hash = hash; _Fsk.createPage('fsk_page_redeem', 'redeem'); } else { window.location.href = url + hash; } return true; } if (messageHash == 'fsk_show' && _Fsk.mainPanel) { _Fsk.mainPanel.style.display = 'block'; return true; } else if (messageHash.indexOf('fsk_refresh_user_') == 0) { _Fsk.fireUserRefresh(); return true; } else if (messageHash.indexOf('fsk_join_') == 0) { _Fsk.fireJoin(); return true; } else if (messageHash.indexOf('fsk_open_overlay_') == 0) { _Fsk.fireOpenOverlay(); return true; } else if (messageHash.indexOf('fsk_login_') == 0) { if (messageHash.indexOf('fsk_login_reason=') == 0) { _Fsk.fireLogin(messageHash.replace('fsk_login_reason=', '')); } else { _Fsk.fireLogin(); } return true; } else if (messageHash.indexOf('fsk_logout_') == 0) { _Fsk.fireLogout(); return true; } else if (messageHash.indexOf('fsk_profile_') == 0) { _Fsk.fireProfile(); return true; } else if (messageHash.indexOf('fsk_close') == 0) { document.body.style.position = _Fsk.documentPosition; if (_Fsk.hasToRefresh) { window.location.reload(); } else if(typeof(_Fsk.scanSplitBox) !== 'undefined') { _Fsk.scanSplitBox(true); } return true; } else if (messageHash.indexOf('fsk_code_redeem') == 0) { _Fsk.openRedeemCode(); } return false; } _Fsk.listeners.push(_Fsk.loyaltyMessageListener); _Fsk.getPageInfo = function() { return { "sessionId" : _fskparameters['_sid'], "currentUser" : _fskparameters['_currentUser'], "featuredOffer" : _fskparameters['_featuredOffer'], "onRedeemClicked" : function() { window.location.href = _fskparameters['_redeemUrl']; }, "onFeaturedOfferClicked" : function() { if(_Fsk.getPageInfo().featuredOffer != null) { window.location.href = _Fsk.getPageInfo().featuredOffer.link; } } }; } //init callback if(typeof(FSK_callback_join)=='undefined') { FSK_callback_join = function () { window.alert('Implement here the join callback'); } } if(typeof(FSK_callback_login)=='undefined') { FSK_callback_login = function () { window.alert('Implement here the login callback'); } } if(typeof(FSK_callback_logout)=='undefined') { FSK_callback_logout = function () { window.alert('Implement here the logout callback'); } } if(typeof(FSK_callback_profile)=='undefined') { FSK_callback_profile = function () { window.alert('Implement here the profile callback'); } } if(typeof(FSK_callback_page_info)=='undefined') { FSK_callback_page_info = function (pageInfo) { } } FSK_callback_page_info(_Fsk.getPageInfo()); var fsk_sid_cookie = _Fsk.getCookie("fsk_sid"); if (_fskparameters["_manageUser"] && fsk_sid_cookie && !_fskparameters["_currentUser"]) { _Fsk.updateCookies("fsk_sid", "", true); window.location.reload(); } else if(_fskparameters["_manageUser"] && _fskparameters["_currentUser"] && (!fsk_sid_cookie || fsk_sid_cookie != _fskparameters["_sid"]) ) { _Fsk.updateCookies("fsk_sid", _fskparameters["_sid"]); window.location.reload(); } var currentHash = window.location.hash; if( currentHash.indexOf('#fsk_act/') === 0 || currentHash.indexOf('#fsk_lost/') === 0) { //activation link _Fsk.openOverlay(currentHash); window.location.hash = ''; } else if(_fskparameters['_wallType'] != '') { if (_Fsk.check(parseInt(_fskparameters['_confId']))) { _Fsk.openOverlay('#fsk_'+_fskparameters['_wallType']); } else { _fskparameters['_walltype'] = ''; } } fskLib(document).ready(function() { _Fsk.scanPages(); _Fsk.scanUsers(); });