(function($){function Bookmark(){this._defaults={sites:[],icons:'bookmarks.png',iconSize:16,target:'_blank',compact:true,popup:false,popupText:'Bookmark this site...',addFavorite:false,favoriteText:'Favorite',favoriteIcon:0,addEmail:false,emailText:'E-Mail',emailIcon:1,emailSubject:'Interessante Seite',emailBody:'Ich dachte, dass Sie diese Seite vielleicht auch interessiert:\n\n{u}',manualBookmark:'Please close this dialog and\npress Ctrl-D to bookmark this page.',url_to_page:''};this._sites={'alltagz':{display:'Alltagz',icon:71,url:'http://www.alltagz.de/bookmarks/?action=add&address=http://{l}&title={t}'},'blinklist':{display:'BlinkList',icon:4,url:'http://www.blinklist.com/index.php?Action=Blink/addblink.php&Url={l}&Title={t}'},'delicious':{display:'del.icio.us',icon:7,url:'http://del.icio.us/post?url={l}&title={t}'},'facebook':{display:'Facebook',icon:11,url:'http://de.facebook.com/sharer.php?u={l}&title={t}'},'favoriten':{display:'Favoriten',icon:73,url:'http://www.favoriten.de/url-hinzufuegen.html?bm_url=http://{l}&bm_titlet={t}'},'furl':{display:'Furl',icon:15,url:'http://www.furl.net/storeIt.jsp?t={t}&u=http://{l}'},'google':{display:'Google',icon:16,url:'http://www.google.com/bookmarks/mark?op=edit&bkmk={l}&title={t}'},'icio':{display:'Icio',icon:72,url:'http://www.icio.de/add.php?url={l}'},'linkarena':{display:'Linkarena',icon:70,url:'http://linkarena.com/bookmarks/addlink/?url=http://{l}&title={t}'},'misterwong':{display:'Mr. Wong',icon:22,url:'http://www.mister-wong.de/index.php?action=addurl&bm_url=http://{l}&bm_description={t}'},'myspace':{display:'MySpace',icon:25,url:'http://www.myspace.com/Modules/PostTo/Pages/?c=http://{l}&t={t}'},'technorati':{display:'Technorati',icon:38,url:'http://www.technorati.com/faves?add=http://{l}'},'twitthis':{display:'TwitThis',icon:45,url:'http://twitthis.com/twit?url=http://{l}'},'webnews':{display:'Webnews',icon:69,url:'http://www.webnews.de/einstellen?url={l}&title={t}'},'yahoobm':{display:'Yahoo',icon:60,url:'http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&u={l}&t={t}'},'yigg':{display:'Yigg',icon:61,url:'http://www.yigg.de/neu?exturl=http://{l}&exttitle={t}'}};}
$.extend(Bookmark.prototype,{markerClassName:'hasBookmark',setDefaults:function(settings){extendRemove(this._defaults,settings||{});return this;},addSite:function(id,display,icon,url){this._sites[id]={display:display,icon:icon,url:url};return this;},getSites:function(){return this._sites;},_attachBookmark:function(target,settings){target=$(target);if(target.hasClass(this.markerClassName)){return;}
target.addClass(this.markerClassName);this._updateBookmark(target,settings);},_changeBookmark:function(target,settings){target=$(target);if(!target.hasClass(this.markerClassName)){return;}
this._updateBookmark(target,settings);},_updateBookmark:function(target,settings){settings=extendRemove(extendRemove({},this._defaults),settings);var sites=settings.sites;if(sites.length==0){$.each(this._sites,function(id){sites.push(id);});}
var html=(settings.popup?'<span class="bookmark_popup_text">'+
settings.popupText+'</span><div class="bookmark_popup">':'')+'<ul class="bookmark_list'+(settings.compact?' bookmark_compact':'')+'">';var addSite=function(display,icon,url,onclick){var html='<li><a href="'+url+'"'+(onclick?' onclick="'+onclick+'"':(settings.target?' target="'+settings.target+'"':''))+'>';if(icon!=null){if(typeof icon=='number'){html+='<span title="'+display+'" style="background: '+'transparent url('+settings.icons+') no-repeat -'+
(icon*settings.iconSize)+'px 0px;'+
($.browser.mozilla&&$.browser.version<'1.9'?' padding-left: '+settings.iconSize+'px; padding-bottom: '+
Math.max(0,(settings.iconSize/2)-5)+'px;':'')+'"></span>';}
else{html+='<img src="'+icon+'" alt="'+display+'" title="'+
display+'"'+(($.browser.mozilla&&$.browser.version<'1.9')||($.browser.msie&&$.browser.version<'7.0')?' style="vertical-align: bottom;"':($.browser.msie?' style="vertical-align: middle;"':($.browser.opera||$.browser.safari?' style="vertical-align: baseline;"':'')))+'/>';}
html+=(settings.compact?'':' ');}
html+=(settings.compact?'':display)+'</a></li>';return html;};if(settings.addFavorite){html+=addSite(settings.favoriteText,settings.favoriteIcon,'#','jQuery.bookmark._addFavourite()');}
if(settings.addEmail){html+=addSite(settings.emailText,settings.emailIcon,'mailto:?subject='+escape(settings.emailSubject)+'&body='+
escape(settings.emailBody.replace(/{u}/,"http://"+settings.url_to_page).replace(/{t}/,document.title)));}
var allSites=this._sites;$.each(sites,function(index,id){var site=allSites[id];if(site){html+=addSite(site.display,site.icon,site.url.replace(/{u}/,escape(window.location.href)).replace(/{t}/,escape(document.title)).replace(/{l}/,settings.url_to_page));}});html+='</ul>'+(settings.popup?'</div>':'');target.html(html);if(settings.popup){$(target).click(function(){var target=$(this);var offset=target.offset();var extras=$.bookmark._getExtras(target);$('.bookmark_popup',target).css('left',offset.left).css('top',offset.top+target.height()+extras[1]).toggle();});}},_getExtras:function(elem){var convert=function(value){return{thin:1,medium:2,thick:3}[value]||value;};return[parseInt(convert(elem.css('border-left-width')))+
parseInt(convert(elem.css('border-right-width')))+
parseInt(elem.css('padding-left'))+parseInt(elem.css('padding-right')),parseInt(convert(elem.css('border-top-width')))+
parseInt(convert(elem.css('border-bottom-width')))+
parseInt(elem.css('padding-top'))+parseInt(elem.css('padding-bottom'))];},_destroyBookmark:function(target){target=$(target);if(!target.hasClass(this.markerClassName)){return;}
target.removeClass(this.markerClassName);target.empty();},_addFavourite:function(){if($.browser.msie){window.external.addFavorite(window.location.href,document.title);}
else{alert(this._defaults.manualBookmark);}}});function extendRemove(target,props){$.extend(target,props);for(var name in props){if(props[name]==null){target[name]=null;}}
return target;}
$.fn.bookmark=function(options){var otherArgs=Array.prototype.slice.call(arguments,1);return this.each(function(){if(typeof options=='string'){$.bookmark['_'+options+'Bookmark'].apply($.bookmark,[this].concat(otherArgs));}
else{$.bookmark._attachBookmark(this,options||{});}});};$.bookmark=new Bookmark();})(jQuery);
