// JavaScript Document // With instagram function imperaSocial_imperaSocial_timeDifference(previous, ytext, mtext, dtext, htext, mintext, sectext, apptext) { var msPerMinute = 60 * 1000; var msPerHour = msPerMinute * 60; var msPerDay = msPerHour * 24; var msPerMonth = msPerDay * 30; var msPerYear = msPerDay * 365; var elapsed = new Date().getTime() - previous; if (elapsed < msPerMinute) { return Math.round(elapsed/1000) + sectext } else if (elapsed < msPerHour) { return Math.round(elapsed/msPerMinute) + mintext; } else if (elapsed < msPerDay ) { return Math.round(elapsed/msPerHour ) + htext; } else if (elapsed < msPerMonth) { return apptext + Math.round(elapsed/msPerDay) + dtext; } else if (elapsed < msPerYear) { return apptext + Math.round(elapsed/msPerMonth) + mtext; } else { return apptext + Math.round(elapsed/msPerYear ) + ytext; } } function imperaSocial_toTimestamp(strDate){ var datum = Date.parse(strDate); if (isNaN(datum)) datum = new Date(strDate.substr(0, 10).replace(/-/g, '/')); return datum; } (function($){ $.fn.extend({ imperaSocial: function(options) { var defaults = { id: 0, fbid: 0, fburl: "", blogAmount: 10, flickrAmount: 10, youtubeAmount: 10, facebookAmount: 10, facebookTxtLimit: 0, instagramAmount: 10, nextText: '', prevText: '', nextIcon:null, prevIcon:null, blocks: ["facebook", "youtube", "blog", "flickr", "instagram"], flickrWrapAmount: 0, blogWrapAmount: 0, youtubeWrapAmount: 0, facebookWrapAmount: 0, instagramWrapAmount: 0, flickrImgType: 'm', blogTitle: 'blog', flickrTitle: 'flickr', youtubeTitle: 'youtube', facebookTitle: 'facebook', instagramTitle: 'facebook', textYearsAgo: ' years ago', textMonthsAgo: ' months ago', textDaysAgo: ' days ago', textHoursAgo: ' hours ago', textMinutesAgo: ' minutes ago', textSecondsAgo: ' seconds ago', textApproximately: 'approximately ', dateoutputtype: 'text', runWhenDone: null } imperaSocialOptions2 = $.extend(defaults, options); imperaSocialContainer2 = $(this); return this.each(function() { var imperaSocialOptions = $.extend({}, imperaSocialOptions2);; var imperaSocialContainer = imperaSocialContainer2; var container = $("
"); var loaded = 0; container.attr("class", "imperaSocialContainer"); for (var i = 0; i < imperaSocialOptions.blocks.length; i++) { block = $("
"); block.addClass("imperaSocial_provider imperaSocial_provider_" + imperaSocialOptions.blocks[i]); var blockTitle = ""; switch(imperaSocialOptions.blocks[i]) { case "facebook": blockTitle = imperaSocialOptions.facebookTitle; break; case "youtube": blockTitle = imperaSocialOptions.youtubeTitle; break; case "blog": blockTitle = imperaSocialOptions.blogTitle; break; case "flickr": blockTitle = imperaSocialOptions.flickrTitle; break; default: blockTitle = imperaSocialOptions.blocks[i]; } block.html("" + blockTitle + ""); var content = $("
"); content.attr("class", "imperaSocial_content"); if (imperaSocialOptions.blocks[i] == "youtube") { $.ajax({ url: 'http://widgets.impera.se/social/json.asp?fetch=youtube&amount=' + imperaSocialOptions.blogAmount + '&id=' + imperaSocialOptions.id + '&jsoncallback=?', dataType: 'json', invokedata: { data1: 'youtube' }, success: function(data) { var items = []; var tempitems = []; for (var x = 0; x < data.length; x++) { $.each(data[x], function(key, val) { if (key == "url") { url = val; } if (key == "data") { blockdata = val; blockcode = $('
'); var title = $("
"); var description = $("
"); var videoid = ""; for (var y = 0; y < blockdata.length; y++) { $.each(blockdata[y], function(key, val) { if (key == "title") { title.html(val); } if (key == "description") { description.html(val); } if (key == "video_id") { videoid = val; } }); } $(title).appendTo(blockcode); $('').appendTo(blockcode); $(description).appendTo(blockcode); if (imperaSocialOptions.youtubeWrapAmount > 0) { if (x % imperaSocialOptions.youtubeWrapAmount == 0 && tempitems.length > 0) { items.push('
' + tempitems.join('') + '
'); tempitems = []; } tempitems.push(blockcode.html()); } else { items.push(blockcode.html()); } } }); } if (tempitems.length > 0) { items.push('
' + tempitems.join('') + '
'); } $(items.join('')).appendTo(imperaSocialContainer.children().children(".imperaSocial_provider_" + this.invokedata.data1).children(".imperaSocial_content")); loaded++; if(loaded == imperaSocialOptions.blocks.length) { if (imperaSocialOptions.runWhenDone != null) { imperaSocialOptions.runWhenDone(); } } } }); } else if (imperaSocialOptions.blocks[i] == "facebook") { $.ajax({ url: 'http://widgets.impera.se/social/json.asp?fetch=facebook&amount=' + imperaSocialOptions.facebookAmount + '&fbtxtlimit=' + imperaSocialOptions.facebookTxtLimit + '&fbid=' + imperaSocialOptions.fbid + '&fburl=' + encodeURIComponent(imperaSocialOptions.fburl) + '&jsoncallback=?', dataType: 'json', invokedata: { data1: 'facebook' }, success: function(fbdata) { var fbdata2 = fbdata; var items = []; var tempitems = []; for (var x = 0; x < fbdata2.length; x++) { var name = $('
'); var message = $('
'); var date = $('
'); var userid = ""; $.each(fbdata2[x], function(key, val) { blockcode = $('
'); if (key == "name") { name.html(val); } if (key == "userid") { userid = val; } if (key == "message") { message.html(val); } if (key == "date") { date.html(imperaSocial_imperaSocial_timeDifference( val * 1000, imperaSocialOptions.textYearsAgo, imperaSocialOptions.textMonthsAgo, imperaSocialOptions.textDaysAgo, imperaSocialOptions.textHoursAgo, imperaSocialOptions.textMinutesAgo, imperaSocialOptions.textSecondsAgo, imperaSocialOptions.textApproximately )); } }); $(name).appendTo(blockcode); $(message).appendTo(blockcode); $(date).appendTo(blockcode); if (imperaSocialOptions.facebookWrapAmount > 0) { if (x % imperaSocialOptions.facebookWrapAmount == 0 && tempitems.length > 0) { items.push('
' + tempitems.join('') + '
'); tempitems = []; } tempitems.push(blockcode.html()); } else { items.push(blockcode.html()); } } if (tempitems.length > 0) { items.push('
' + tempitems.join('') + '
'); } $(items.join('')).appendTo(imperaSocialContainer.children().children(".imperaSocial_provider_" + this.invokedata.data1).children(".imperaSocial_content")); console.log(imperaSocialContainer); loaded++; if(loaded == imperaSocialOptions.blocks.length) { if (imperaSocialOptions.runWhenDone != null) { imperaSocialOptions.runWhenDone(); } } } }); } else if (imperaSocialOptions.blocks[i] == "blog") { $.ajax({ url: 'http://widgets.impera.se/social/json.asp?fetch=blog&amount=' + imperaSocialOptions.blogAmount + '&id=' + imperaSocialOptions.id + '&jsoncallback=?', dataType: 'json', invokedata: { data1: 'blog' }, success: function(data) { var items = []; var tempitems = []; for (var x = 0; x < data.length; x++) { var title = $("
"); var description = $("
"); var user = $("
"); var date = $("
"); var username = ""; var userid = ""; $.each(data[x], function(key, val) { if (key == "url") { url = val; } if (key == "date" && imperaSocialOptions.dateoutputtype == 'date' ) { timestamp = val; } else if (key == "date") { timestamp = imperaSocial_toTimestamp(val); } if (key == "data") { blockdata = val; blockcode = $('
'); for (var y = 0; y < blockdata.length; y++) { $.each(blockdata[y], function(key, val) { if (key == "title") { title.html(val); } if (key == "description") { description.html(val); } if (key == "writer") { username = val; } if (key == "blog") { userid = val; } }); } } }); if (imperaSocialOptions.dateoutputtype == 'date' ) { date.html(timestamp.toString()); } else { date.html(imperaSocial_imperaSocial_timeDifference( timestamp, imperaSocialOptions.textYearsAgo, imperaSocialOptions.textMonthsAgo, imperaSocialOptions.textDaysAgo, imperaSocialOptions.textHoursAgo, imperaSocialOptions.textMinutesAgo, imperaSocialOptions.textSecondsAgo, imperaSocialOptions.textApproximately )); } $(title).html('' + $(title).html() + ''); $(title).appendTo(blockcode); $(description).appendTo(blockcode); $(date).appendTo(blockcode); user.html('' + username + ''); $(user).appendTo(blockcode); if (imperaSocialOptions.blogWrapAmount > 0) { if (x % imperaSocialOptions.blogWrapAmount == 0 && tempitems.length > 0) { items.push('
' + tempitems.join('') + '
'); tempitems = []; } tempitems.push(blockcode.html()); } else { items.push(blockcode.html()); } } if (tempitems.length > 0) { items.push('
' + tempitems.join('') + '
'); } $(items.join('')).appendTo(imperaSocialContainer.children().children(".imperaSocial_provider_" + this.invokedata.data1).children(".imperaSocial_content")); loaded++; if(loaded == imperaSocialOptions.blocks.length) { if (imperaSocialOptions.runWhenDone != null) { imperaSocialOptions.runWhenDone(); } } } }); } else if (imperaSocialOptions.blocks[i] == "flickr") { $.ajax({ url: 'http://widgets.impera.se/social/json.asp?fetch=flickr&amount=' + imperaSocialOptions.flickrAmount + '&id=' + imperaSocialOptions.id + '&jsoncallback=?', dataType: 'json', invokedata: { data1: "flickr" }, success: function(data) { var items = []; var tempitems = []; for (var x = 0; x < data.length; x++) { $.each(data[x], function(key, val) { if (key == "url") { url = val; } if (key == "data") { blockdata = val; blockcode = $('
'); var title = $("
"); var description = $("
"); var user = $("
"); var username = ""; var userid = ""; var title_str = ""; for (var y = 0; y < blockdata.length; y++) { $.each(blockdata[y], function(key, val) { if (key == "title") { title.html(val); title_str = val; } if (key == "description") { description.html(val); } if (key == "username") { username = val; } if (key == "userid") { userid = val; } }); } var blockLink = $(''); if (imperaSocialOptions.flickrWrapAmount > 0) { if (x % imperaSocialOptions.flickrWrapAmount == (imperaSocialOptions.flickrWrapAmount - 1) && tempitems.length > 0) { $(blockLink).addClass("last"); } } $(blockLink).appendTo(blockcode); $(title).appendTo(blockcode); $(description).appendTo(blockcode); user.html('' + username + ''); $(user).appendTo(blockcode); if (imperaSocialOptions.flickrWrapAmount > 0) { if (x % imperaSocialOptions.flickrWrapAmount == 0 && tempitems.length > 0) { items.push('
' + tempitems.join('') + '
'); tempitems = []; } tempitems.push(blockcode.html()); } else { items.push(blockcode.html()); } } }); } if (tempitems.length > 0) { items.push('
' + tempitems.join('') + '
'); } $(items.join('')).appendTo(imperaSocialContainer.children().children(".imperaSocial_provider_" + this.invokedata.data1).children(".imperaSocial_content")); loaded++; if(loaded == imperaSocialOptions.blocks.length) { if (imperaSocialOptions.runWhenDone != null) { imperaSocialOptions.runWhenDone(); } } } }); } else if (imperaSocialOptions.blocks[i] == "instagram") { $.ajax({ url: 'http://widgets.impera.se/social/json.asp?fetch=instagram&amount=' + imperaSocialOptions.instagramAmount + '&id=' + imperaSocialOptions.id + '&jsoncallback=?', dataType: 'json', invokedata: { data1: "instagram" }, success: function(data) { var items = []; var tempitems = []; for (var x = 0; x < data.length; x++) { var html = ''; if (imperaSocialOptions.instagramWrapAmount > 0) { if (x % imperaSocialOptions.instagramWrapAmount == 0 && tempitems.length > 0) { items.push('
' + tempitems.join('') + '
'); tempitems = []; } tempitems.push(html); } else { items.push(html); } } if (tempitems.length > 0) { items.push('
' + tempitems.join('') + '
'); } $(items.join('')).appendTo(imperaSocialContainer.children().children(".imperaSocial_provider_" + this.invokedata.data1).children(".imperaSocial_content")); loaded++; if(loaded == imperaSocialOptions.blocks.length) { if (imperaSocialOptions.runWhenDone != null) { imperaSocialOptions.runWhenDone(); } } } }); } if (imperaSocialOptions.prevText != "") { navleft = $(imperaSocialOptions.prevText); } else { navleft = $(""); navleft.attr("src", imperaSocialOptions.prevIcon); } navleft.addClass("imperaSocial_navPrev"); if (imperaSocialOptions.prevText != "") { navright = $(imperaSocialOptions.nextText); } else { navright = $(""); navright.attr("src", imperaSocialOptions.nextIcon); } navright.addClass("imperaSocial_navNext"); navigation = $("
"); navigation.addClass("imperaSocial_navigation"); navleft.appendTo(navigation); navright.appendTo(navigation); content.appendTo(block); navigation.appendTo(block); block.appendTo(container); } $(container).appendTo(this); }); } }); })(jQuery);