$(function () {
$.fn.socialSharePrivacy = function (settings) {
var defaults = {
'services' : {
'facebook' : {
'status' : 'on',
'dummy_img' : 'http://www.espira.ch/layout/facebook_like_en.png',
'txt_info' : '',
'txt_fb_off' : 'nicht mit Facebook verbunden',
'txt_fb_on' : 'mit Facebook verbunden',
'perma_option' : 'on',
'display_name' : 'Facebook',
'referrer_track' : '',
'language' : 'de_DE',
'action' : 'like'
},
},
'info_link' : '',
'txt_help' : '',
'settings_perma' : '',
'cookie_path' : '/',
'cookie_domain' : 'http://www.facebook.com/espira.ch',
'cookie_expires' : '365',
'css_path' : 'http://www.espira.ch/css/main.css'
};
var options = $.extend(true, defaults, settings);
var facebook_on = (options.services.facebook.status === 'on');
if (!facebook_on && !twitter_on && !gplus_on) {
return;
}
if (options.css_path.length > 0) {
if (document.createStyleSheet) {
document.createStyleSheet(options.css_path);
} else {
$('head').append(' ');
}
}
return this.each(function () {
$(this).prepend('
');
var context = $('.social_share_privacy_area', this);
var uri = options.uri;
if (typeof uri === 'function') {
uri = uri(context);
}
if (facebook_on) {
var fb_enc_uri = encodeURIComponent(uri + options.services.facebook.referrer_track);
var fb_code = '';
var fb_dummy_btn = ' ';
context.append('' + options.services.facebook.txt_info + ' ' + options.services.facebook.txt_fb_off + ' ' + fb_dummy_btn + '
');
var $container_fb = $('li.facebook', context);
$('li.facebook div.fb_like img.fb_like_privacy_dummy,li.facebook span.switch', context).live('click', function () {
if ($container_fb.find('span.switch').hasClass('off')) {
$container_fb.addClass('info_off');
$container_fb.find('span.switch').addClass('on').removeClass('off').html(options.services.facebook.txt_fb_on);
$container_fb.find('img.fb_like_privacy_dummy').replaceWith(fb_code);
} else {
$container_fb.removeClass('info_off');
$container_fb.find('span.switch').addClass('off').removeClass('on').html(options.services.facebook.txt_fb_off);
$container_fb.find('.fb_like').html(fb_dummy_btn);
}
});
}
var facebook_perma = (options.services.facebook.perma_option === 'on');
if (((facebook_on && facebook_perma))
&& (!$.browser.msie || ($.browser.msie && $.browser.version > 7.0))) {
var cookie_list = document.cookie.split(';');
var cookies = '{';
var i = 0;
for (; i < cookie_list.length; i += 1) {
var foo = cookie_list[i].split('=');
cookies += '"' + $.trim(foo[0]) + '":"' + $.trim(foo[1]) + '"';
if (i < cookie_list.length - 1) {
cookies += ',';
}
}
cookies += '}';
cookies = JSON.parse(cookies);
var $container_settings_info = $('li.settings_info', context);
$container_settings_info.find('.settings_info_menu').removeClass('perma_option_off');
$container_settings_info.find('.settings_info_menu').append('Einstellungen ');
var checked = ' checked="checked"';
if (facebook_on && facebook_perma) {
var perma_status_facebook = cookies.socialSharePrivacy_facebook === 'perma_on' ? checked : '';
$container_settings_info.find('form fieldset').append(
''
+ options.services.facebook.display_name + ' '
);
}
$container_settings_info.find('span.settings').css('cursor', 'pointer');
$($container_settings_info.find('span.settings'), context).live('mouseenter', function () {
var timeout_id = window.setTimeout(function () { $container_settings_info.find('.settings_info_menu').removeClass('off').addClass('on'); }, 500);
$(this).data('timeout_id', timeout_id);
});
$($container_settings_info, context).live('mouseleave', function () {
var timeout_id = $(this).data('timeout_id');
window.clearTimeout(timeout_id);
$container_settings_info.find('.settings_info_menu').removeClass('on').addClass('off');
});
$($container_settings_info.find('fieldset input')).live('click', function (event) {
var click = event.target.id;
var service = click.substr(click.lastIndexOf('_') + 1, click.length);
var cookie_name = 'socialSharePrivacy_' + service;
if ($('#' + event.target.id + ':checked').length) {
cookieSet(cookie_name, 'perma_on', options.cookie_expires, options.cookie_path, options.cookie_domain);
$('form fieldset label[for=' + click + ']', context).addClass('checked');
} else {
cookieDel(cookie_name, 'perma_on', options.cookie_path, options.cookie_domain);
$('form fieldset label[for=' + click + ']', context).removeClass('checked');
}
});
if (facebook_on && facebook_perma && cookies.socialSharePrivacy_facebook === 'perma_on') {
$('li.facebook span.switch', context).click();
}
}
}); // this.each(function ()
}; // $.fn.socialSharePrivacy = function (settings) {
if( $('#socialshareprivacy').length > 0 ) { $('#socialshareprivacy').socialSharePrivacy(); }
});