(function($){
$.fn.socialSharePrivacy = function(options){
var defaults = {
'services' : {
'facebook' : {
'status' : 'on',
'app_id' : '',
'dummy_img' : 'empfehlen.png',
'txt_info' : '2 Klicks für mehr Datenschutz: Erst wenn Sie hier klicken, wird der Button aktiv und Sie können Ihre Empfehlung an Facebook senden. Schon beim Aktivieren werden Daten an Dritte übertragen – siehe i.',
'txt_fb_off' : 'nicht mit Facebook verbunden',
'txt_fb_on' : 'mit Facebook verbunden',
'perma_option' : 'on',
'display_name' : 'Facebook',
'referrer_track' : ''
},
'twitter' : {
'status' : 'on',
'dummy_img' : 'tweet.png',
'txt_info' : '2 Klicks für mehr Datenschutz: Erst wenn Sie hier klicken, wird der Button aktiv und Sie können Ihre Empfehlung an Twitter senden. Schon beim Aktivieren werden Daten an Dritte übertragen – siehe i.',
'txt_twitter_off' : 'nicht mit Twitter verbunden',
'txt_twitter_on' : 'mit Twitter verbunden',
'perma_option' : 'on',
'display_name' : 'Twitter',
'reply_to' : '',
'tweet_text' : getTweetText,
'referrer_track' : ''
},
'gplus' : {
'status' : 'on',
'dummy_img' : 'gplusone.png',
'txt_info' : '2 Klicks für mehr Datenschutz: Erst wenn Sie hier klicken, wird der Button aktiv und Sie können Ihre Empfehlung an Google+ senden. Schon beim Aktivieren werden Daten an Dritte übertragen – siehe i.',
'txt_gplus_off' : 'nicht mit Google+ verbunden',
'txt_plus_on' : 'mit Google+ verbunden',
'perma_option' : 'on',
'display_name' : 'Google+',
'referrer_track' : ''
}
},
'info_link' : 'http://www.heise.de/ct/artikel/2-Klicks-fuer-mehr-Datenschutz-1333879.html',
'txt_help' : 'Wenn Sie diese Felder durch einen Klick aktivieren, werden Informationen an Facebook, Twitter oder Google in die USA übertragen und unter Umständen auch dort gespeichert. Näheres erfahren Sie durch einen Klick auf das i.',
'settings_perma' : 'Dauerhaft aktivieren und Datenübertragung zustimmen:',
'cookie_path' : '/',
'cookie_domain' : document.location.host,
'cookie_expires' : '365'
};
var options = $.extend(true, defaults, options);
var script = document.getElementsByTagName('script'), path;
for (var i = 0, iMax = script.length; i < iMax; i++) {
var regexp = /click-socialmedia-buttons\/js\/social_bookmarks\.js$/g,
src = script[i].src;
if(regexp.test(src)) {
path = src.split('/');
path.pop();
path.pop();
path = path.join('/') + '/';
}
}
if(options.services.facebook.status == 'on' || options.services.twitter.status == 'on' || options.services.gplusone.status == 'on'){
$('head').append('');
$(this).prepend('
');
var context = $('.social_share_privacy_area', this);
var uri = document.location.href;
var canonical = $("link[rel=canonical]").attr("href");
if(canonical) {
// if(canonical.indexOf("http") <= 0) {
// canonical = document.location.protocol + "//" + document.location.host + document.location.port + canonical;
// }
uri = canonical;
}
}
// Text kuerzen und am Ende mit … versehen, sofern er abgekuerzt werden musste
function abbreviateText(text, length){
var abbreviated = decodeURIComponent(text);
if(abbreviated.length <= length){
return text;
}
var lastWhitespaceIndex = abbreviated.substring(0, length - 1).lastIndexOf(' ');
abbreviated = encodeURIComponent(abbreviated.substring(0, lastWhitespaceIndex)) + "…";
return abbreviated;
}
// Meta-Wert abfragen
function getMeta(name){
var metaContent = jQuery('meta[name="' + name + '"]').attr('content');
return metaContent ? metaContent : '';
}
function getTweetText(){
// Titel aus und wenn vorhanden, sonst
var title = getMeta('DC.title');
var creator = getMeta('DC.creator');
if(title.length > 0){
if(creator.length > 0){
title = title+' - '+creator;
}
} else {
title = $('title').text();
}
return encodeURIComponent(title);
}
return this.each(function(){
// Facebook
if(options.services.facebook.status == 'on'){
// Kontrolle ob Facebook App-ID hinterlegt ist, da diese noetig fuer den Empfehlen-Button ist
if(options.services.facebook.app_id != '__FB_APP-ID__'){
var fb_enc_uri = encodeURIComponent(uri+options.services.facebook.referrer_track);
var fb_code = '';
var fb_dummy_btn = '';
context.append('