
$(function(){
 var bopen=false,bobj=null;
 var bdhtml='<div id="bkm-d">%links%</div>';
 var blhtml='<a href="%link%" id="bkm-l-%n%">&nbsp;</a>';
 var burl=[
  'http://www.stumbleupon.com/submit?url=%url%&title=%title%&newcomment=&tagnames=',
  'http://del.icio.us/post/?url=%url%&title=%title%&notes=&tags=,',
  'http://www.furl.net/savedialog.jsp?p=1&t=%title%&u=%url%&r=&v=1&c=&topics=&description=&keywords=,',
  'http://digg.com/submit?phase=2&url=%url%&title=%title%&bodytext=&topic=',
  'http://reddit.com/submit?url=%url%&title=%title%',
  'http://www.facebook.com/share.php?src=bm&u=%url%&t=%title%&sharer_popup_message=&v=3',
  'http://technorati.com/faves/?add=%url%'
 ];
 $('div.bookmark a').click(function(){
  if(bopen) 
   bclose();
  if(bobj && bobj==this){
   bobj=null;
   return false;
  }
  bopen=true;
  bobj=this;
  $(this).addClass('on');
  tmp=$(this).attr('rel').split('|');
  var url=tmp[0],title=tmp[1],html='';

  for(var n=0;n<burl.length;n++)
  html+=blhtml.replace(/%link%/g,burl[n].replace(/%url%/g,url).replace(/%title%/g,escape(title))).replace(/%n%/g,n);
  html=bdhtml.replace(/%links%/g,html);

  $(document.body).append(html);
  var _o=$(this).offset();
  var _l=parseInt(_o.left),_t=_o.top-182;
  $('#bkm-d').css({left:_l,top:_t});
 
  $(document).click(function(e){
   var _obj=e.target,_id=[],close=true;
   while(_obj.parentNode){
    _id[_id.length]=_obj.id;
    _obj=_obj.parentNode;
   }
   for(var q=0;q<_id.length;q++)
    if(_id[q].indexOf('bkm')>-1)
     close=false;
   if(close){
    bclose();
    bobj=null;
   }
  });
 });
 function bclose(){
  if($(bobj).length)
   $(bobj).removeClass('on');
  $('#bkm-d').remove();
  bopen=false;
 }
});