function decode_utf8( s )
{
return decodeURIComponent( escape( s ) );
}
function decode_utf8ie7iso885915(s) {
var tmp = escape(s)
.replace(/%3A/g, ":")
.replace(/%3B/g, ";")
.replace(/%3Cbr\/%3E/g, "
")
.replace(/%3D/g, "=")
.replace(/%3F/g, "?")
.replace(/%C2%A0/g, " ")
.replace(/%C2%A3/g, "£")
.replace(/%C2%A7/g, "§")
.replace(/%C2%B0/g, "°")
.replace(/%C2%u0153/g, "½")
.replace(/%C2%u017D/g, "'")
.replace(/%C3%A4/g, "ä")
.replace(/%C3%A5/g, "å")
.replace(/%C3%85/g, "Å")
.replace(/%C3%u0152/g, "ü")
.replace(/%C3%9C/g, "Ü")
.replace(/%C3%BB/g, "û")
.replace(/%C3%9B/g, "Û")
.replace(/%C3%u20AC/g, "ä")
.replace(/%C3%u2013/g, "Ö")
.replace(/%C3%u201E/g, "Ä")
.replace(/%C3%u2026/g, "Å")
.replace(/%C3%84/g, "Ä")
.replace(/%C3%B6/g, "ö")
.replace(/%C3%96/g, "Ö")
.replace(/%E2%82%AC/g, "€")
.replace(/%E2%80%93/g, "-")
.replace(/%E2%80%A2%09/g, "· ")
.replace(/%E2%80%A2/g, "·")
.replace(/%20/g, " ")
.replace(/%21/g, "!")
.replace(/%22/g, "\"")
.replace(/%23/g, "#")
.replace(/%24/g, "$")
.replace(/%25/g, "%")
.replace(/%26amp;/g, "&")
.replace(/%26euro;/g, "€")
.replace(/%26nbsp;/g, " ")
.replace(/%27/g, "'")
.replace(/%28/g, "(")
.replace(/%29/g, ")")
.replace(/%2C/g, ",")
.replace(/%5B/g, "[")
.replace(/%5C/g, "\\")
.replace(/%5D/g, "]")
.replace(/%5E/g, "^")
.replace(/%7B/g, "{")
.replace(/%7D/g, "}")
.replace(/%7E/g, "~");
return tmp;
}
cb00000000000000880002247e = {};
(function() {
function getScript(src,cb) {
var head = document.getElementsByTagName("head")[0];
var script = document.createElement("script");
script.type = "text/javascript";
script.language = "javascript";
script.charset = "utf-8";
script.src = src;
script.onload = script.onreadystatechange = function () {
script.onload = script.onreadystatechange = null;
setTimeout(cb,2000);
}
head.appendChild(script);
}
function run($) {
var docloc = document.location.href.split('://')[1].split('/')[0];
var dev = docloc == 'localhost' || docloc == '192.168.1.42' ? true : false;
var meta = $('head meta');
var charset = 'utf-8';
$.each(meta, function(i) {
var metac = meta[i].content.split('charset=')[1];
if (metac != undefined) {
charset = metac;
}
});
var groupId = 136;
//var widgetId = '00000000000000880002247e';
var widgetId = '00000000000000880002247e';
var widgetSize = '468x400';
var widgetLang = 'fi';
var siteType = '';
if (siteType == undefined || siteType == "") {
siteType = "sb";
}
var attType = 'old';
// remove borderwidth from banner width
var widgetWidth = parseInt(widgetSize.split("x")[0])-2;
var widgetHeight = parseInt(widgetSize.split("x")[1])-2;
var contentWidth = 100;
var contentHeight = 80;
if (widgetLang == "en") {
lang_sent_by = "Sent by: ";
} else if (widgetLang == "fi") {
lang_sent_by = "Lähettänyt: ";
}
// set banner properties
var pageSize = 4;
switch (widgetSize) {
case "980x120":
pageSize = 4;
attSize = "55x55";
fromPrefix = lang_sent_by;
break;
case "160x600":
pageSize = 6;
attSize = "0x0";
fromPrefix = "- ";
break;
case "300x250":
pageSize = 4;
attSize = "42x42";
fromPrefix = "- ";
break;
case "468x400":
pageSize = 10;
attSize = "50x50";
fromPrefix = "- ";
break;
case "140x350":
pageSize = 5;
attSize = "0x0";
fromPrefix = "- ";
break;
}
if (dev == true) {
var site = 'http://192.168.1.42:8080';
var csssite = 'http://192.168.1.42:8080';
foo = function(data) {
//alert(data.response["@result"] + ': site is set');
}
$.getScript(site+'/api/site/switch?site=kissa&callback=foo');
} else {
// REPORTER
if ($('script[src*=00000000000000880002247e]').attr('src').split('.sparkboxes.com')[1] != undefined) {
var site = $('script[src*=00000000000000880002247e]').attr('src').split('.sparkboxes.com')[0];
site += ".sparkboxes.com";
} else if ($('script[src*=00000000000000880002247e]').attr('src').split('.flockler.com')[1] != undefined) {
var site = $('script[src*=00000000000000880002247e]').attr('src').split('.flockler.com')[0];
site += ".flockler.com";
} else if ($('script[src*=00000000000000880002247e]').attr('src').split('.sparkboxes.net')[1] != undefined) {
var site = $('script[src*=00000000000000880002247e]').attr('src').split('.sparkboxes.net')[0];
site += ".sparkboxes.net";
}
var csssite = site;
}
if ((docloc == 'aamulehti.fi' || docloc == 'www.aamulehti.fi' || docloc == 'loopit.fi' || docloc == 'localhost' || docloc == '192.168.1.42') && widgetSize == '160x600') {
$('script[src*=00000000000000880002247e]').replaceWith(''
+ ''
+ '
');
} else {
$('script[src*=00000000000000880002247e]').replaceWith(''
+ '');
}
var colorSetters = {
bBgColor : [ '#_00000000000000880002247e.gspark.banner', 'background-color'],
bTitlebarBgColor : [ '#_00000000000000880002247e.gspark.banner .titlebar h2', 'background-color'],
bTitlebarTextColor : [ '#_00000000000000880002247e.gspark.banner .titlebar h2', 'color'],
bSparkBgColor : [ '#_00000000000000880002247e.gspark.banner .sparkBanner', 'background-color'],
bSparkTextColor : [ '#_00000000000000880002247e.gspark.banner .sparkBanner .cont td', 'color']
};
var colors = new Array();
var xcolors = new Array();
function getWidgetColors(widgetColors) {
$.each(widgetColors, function() {
k = $(this)[0];
v = $(this)[1];
colors[k] = v;
});
$.each(colorSetters, function (k, v) {
var css = {};
try {
//alert(k+ " " +v[1] + " "+ colors[k]);
css[v[1]] = ( (k.indexOf('Color') != -1) ? '#' : '') + colors[k];
$(v[0]).css(css);
} catch (error) {}
});
// set widget width and height
var wid = widgetWidth+"px";
var hei = widgetHeight+"px";
$('#_00000000000000880002247e').css('width', wid).css('height', hei);
var showAttachment = false;
var showAvatar = false;
if (colors.bImg == "attachment") {
showAttachment = true;
showAvatar = false;
$('#_00000000000000880002247e .sparks .banU').hide();
$('#_00000000000000880002247e .sparks .banI').show();
} else {
showAttachment = false;
showAvatar = true;
$('#_00000000000000880002247e .sparks .banI').hide();
$('#_00000000000000880002247e .sparks .banU').show();
}
if (attSize == "0x0") {
showAttachment = false;
showAvatar = false;
$('#_00000000000000880002247e .sparks .banI').hide();
$('#_00000000000000880002247e .sparks .banU').hide();
}
// set links
var sparks = $('#_00000000000000880002247e .sparks .sparkBanner');
$.each(sparks, function() {
var sid = parseInt( $(this).find('.sparkId').html() );
if (colors.bRedurl.split('?')[1] == "" || colors.bRedurl.split('?')[1] == undefined) {
var link = colors.bRedurl + '?openSpark=' + sid + '&banner=00000000000000880002247e';
} else {
var link = colors.bRedurl + '&openSpark=' + sid + '&banner=00000000000000880002247e';
}
$(this).find('.bannerLink').attr('href', link).attr('target', '_blank');
});
var titlebar = "";
if ($.browser.msie && $.browser.version < "7.1") {
if (charset == "iso-8859-15" || charset == "iso-8859-1" || charset == "ISO-8859-15" || charset == "ISO-8859-1") {
var btit = decode_utf8ie7iso885915(colors["bTitle"]);
} else {
var btit = colors["bTitle"];
}
} else {
var btit = colors["bTitle"];
}
titlebar += '';
titlebar += '
';
titlebar += '
';
$('#_00000000000000880002247e > .titleBar').html(titlebar);
return colors;
}
// banner link ie
$('#_00000000000000880002247e .sparkBanner').live('click', function() {
var sparkTitleLink = $(this).find('.sparkTitleLink').text();
if ($.browser.msie) {
var link = $(this).find('.bannerLink').attr('href');
window.open(link);
}
});
function setBannerCSS(cssData) {
var cssHtml = '';
$('head').append(cssHtml);
}
cb00000000000000880002247e.getBanner = function(data) {
var colorData = data.response.list[0].colors[0];
getWidgetColors(colorData);
var cssData = data.response.list[0].css;
if (cssData != "") {
setBannerCSS(cssData);
}
return colors;
}
cb00000000000000880002247e.listMediasBanner = function (data) {
nocache = Math.random();
var page = document.location.href.split("?page=")[1];
if (page == undefined) var page = 0;
//pageSize = '';
if (data.response.count <= pageSize || data.response.pageSize <= pageSize) {
pages00000000000000880002247e = 1;
fillers00000000000000880002247e = pageSize - data.response.count;
} else if (data.response.count < data.response.pageSize) {
pages00000000000000880002247e = Math.floor(data.response.pageSize / pageSize);
fillers00000000000000880002247e = pages00000000000000880002247e * pageSize - data.response.count;
} else {
pages00000000000000880002247e = Math.ceil(data.response.pageSize / pageSize);
fillers00000000000000880002247e = pages00000000000000880002247e * pageSize - data.response.pageSize;
}
var randomnumber=Math.floor(Math.random()*pages00000000000000880002247e);
if (randomnumber < 1) randomnumber = 1;
sparks = data.response.list;
var html = "";
$.each(sparks, function(i) {
if (i%pageSize == 0) {
if (i != 0) {
html += '';
}
html += '';
var currPageNum = i/pageSize+1;
if (currPageNum == pages00000000000000880002247e && fillers00000000000000880002247e > 0) {
for (ii=0;ii
';
html += '';
//$('#_'+widgetId+' .sparks').html(html);
$('#_00000000000000880002247e .sparks').html(html);
if (data.response.count <= pageSize || data.response.pageSize <= pageSize) {
// only one page, no rotation needed
var showPage = 1;
} else {
// rotate messages
var showPage = randomnumber;
rot_start();
$('#_00000000000000880002247e').hover(
function () {
clearInterval(rotator);
},
function () {
rot_start();
}
);
}
function rot_start() {
rotator = setInterval(function() {
if (showPage == pages00000000000000880002247e) {
showPage = 1;
} else {
showPage++;
}
rotate_banner(showPage);
}, 7200);
}
function rotate_banner(showPage) {
p = showPage - 1;
whei = widgetSize.split('x')[1];
$('#_00000000000000880002247e .sparks .bannerPage:visible').animate({
top: '+='+whei,
opacity: 0.25
}, 2500, function() {
$(this).hide();
$(this).css('top', '-'+whei+'px');
});
$('#_00000000000000880002247e .sparks .bannerPage:eq('+p+')').css('top', '-'+whei+'px').css('display', 'block');
$('#_00000000000000880002247e .sparks .bannerPage:eq('+p+')').animate({
top: '0',
opacity: 1.0
}, 2500, function() {
});
}
rotate_banner(showPage);
var wurl = site+'/api/widget/get?widget=00000000000000880002247e&callback=cb00000000000000880002247e.getBanner';
$.getScript(wurl);
showVisualContent();
}
function listMedias(groupId, pageSize) {
nocache = Math.random();
var page = document.location.href.split("?page=")[1];
if (page == undefined) var page = 0;
if (pageSize == undefined) var pageSize = 15;
//var url = site+'/api/media/list?sparkbox='+groupId+'&page='+page+'&pageSize='+pageSize+'&nocache='+nocache+'&callback=cb00000000000000880002247e.listMediasBanner';
var url = site+'/api/media/list/24h?sparkbox='+groupId+'&page='+page+'&nocache='+nocache+'&callback=cb00000000000000880002247e.listMediasBanner';
$.getScript(url);
}
cb00000000000000880002247e.showMedia = function (data) {
nocache = Math.random();
var page = document.location.href.split("?page=")[1];
if (page == undefined) var page = 0;
if (pageSize == undefined) var pageSize = 15;
sparks = data.response.list;
var html = "";
$.each(sparks, function(i) {
html += printSpark(data.response.list[i], contentWidth, contentHeight);
});
html += '';
$('#_00000000000000880002247e .sparks').html(html);
var wurl = site+'/api/widget/get?widget=00000000000000880002247e&callback=cb00000000000000880002247e.getBanner';
$.getScript(wurl);
showVisualContent();
}
function showMedia(mediaId) {
nocache = Math.random();
var page = document.location.href.split("?page=")[1];
if (page == undefined) var page = 0;
if (pageSize == undefined) var pageSize = 15;
var url = site+'/api/media/get?media='+mediaId+'&page='+page+'&pageSize='+pageSize+'&nocache='+nocache+'&callback=cb00000000000000880002247e.showMedia';
$.getScript(url);
}
/********************************************************/
/* SHOW IMAGES AND EMBEDS PAGED AT THE TOP OF THE SPARK */
/********************************************************/
function showVisualContent() {
var sparks = $('#_00000000000000880002247e .spark');
$.each(sparks, function() {
var sparkId = $(this).find('.sparkId').html();
var visuCount = parseInt( $(this).find('.imageWindow > div').length );
if (visuCount == 0) return;
visPager = "";
for (i=0;i'+p+'';
}
if (visuCount > 1) {
$(this).find('.imageWindowControls').html(visPager);
} else if (visuCount == 1) {
$(this).find('.imageWindow').css('border-top', 'none');
}
$(this).find('.imageWindow > div').hide();
$(this).find('.imageWindow').show();
$(this).find('.imageWindow div:eq(0)').show();
});
}
listMedias(groupId, pageSize);
// check attachment types and return them nicely
function checkAttachments(content, contentWidth, contentHeight) {
if (contentWidth == undefined) var contentWidth = 380;
atts = [];
var allAttachments = content;//content.split('\n\n')[1];
if (allAttachments == undefined) return;
var attachments = allAttachments.split('\n');
var attachcount = attachments.length-1;
atts["visual"] = "";
var ii = 0;
for (i=0; i h) {
style = "width: "+w+"px;";
} else {
style = "height: "+h+"px;";
}
atts["visual"] += '
';
} else {
atts["visual"] += '
';
}
}
ii++;
}
}
}
return atts;
}
function printSpark(spark, contentWidth, contentHeight) {
if (contentWidth == undefined) var contentWidth = 380;
if (contentHeight == undefined) var contentHeight = 200;
at = [];
var fullContent = spark.content.split('\n\n');
// text content
var mainContent = fullContent[0];
// got attachments? (embeds, links, files)
//if (fullContent[1] != "" && attSize != "0x0") {
if (fullContent[1] != "" && attSize != "0x0" && ( attType == 2 || attType == 'old' ) ) {
at = new checkAttachments(fullContent[1], contentWidth, contentHeight);
}
if (at["visual"] == undefined || at["visual"] == "" && attSize != "0x0" && ( attType == 2 || attType == 'old' ) ) {
var w = attSize.split('x')[0];
var h = attSize.split('x')[1];
if ($.browser.msie) {
at["visual"] = '
';
} else {
at["visual"] = '
';
}
}
html = "";
html += '';
return html;
}
}
if ((typeof jQuery) == 'undefined') {
getScript('http://savonsanomat.sparkboxes.com/static/js/jquery-1.4.2.min.js',function() {
run(jQuery);
$.getScript('http://savonsanomat.sparkboxes.com/static/js/jquery.cookie.js');
});
} else {
run(jQuery);
$.getScript('http://savonsanomat.sparkboxes.com/static/js/jquery.cookie.js');
}
})();