var addBookmarkObj = {
linkText:'Bookmark this page',
addTextLink:function(parId){
var a=addBookmarkObj.makeLink(parId);
if(!a) return;
a.appendChild(document.createTextNode(addBookmarkObj.linkText));
},
addImageLink:function(parId,imgPath){
if(!imgPath || isEmpty(imgPath)) return;
var a=addBookmarkObj.makeLink(parId);
if(!a) return;
var img = document.createElement('img');
img.title = img.alt = addBookmarkObj.linkText;
img.src = imgPath;
a.appendChild(img);
},
makeLink:function(parId) {
if(!document.getElementById || !document.createTextNode) return null;
parId=((typeof(parId)=='string')&&!isEmpty(parId))
?parId:'bookmark_this_page';
var cont=document.getElementById(parId);
if(!cont) return null;
var a=document.createElement('a');
a.href=location.href;
if(window.opera) {
a.rel='sidebar'; 
} else {
a.onclick=function() {
addBookmarkObj.exec(this.href,this.title);
return false;
}
}
a.title=document.title;
return cont.appendChild(a);
},
exec:function(url, title) {
if (window.sidebar || !window.print) {
window.sidebar.addPanel(title, url, "%globals_site_url%");
}
else {
var ua=navigator.userAgent.toLowerCase();
var isKonq=(ua.indexOf('konqueror')!=-1);
var isSafari=(ua.indexOf('webkit')!=-1);
var isMac=(ua.indexOf('mac')!=-1);
var buttonStr=isMac?'Command/Cmd':'CTRL';

if(window.external && (!document.createTextNode ||
(typeof(window.external.AddFavorite)=='unknown'))) {
window.external.AddFavorite(url, title);
} else if(isKonq) {
alert('You need to press CTRL + B to bookmark this page.');
} else if(window.opera) {
void(0);
} else if(window.home || isSafari) {
alert('You need to press '+buttonStr+' + D to bookmark this page.');
} else if(!window.print || isMac) {
alert('You need to press Command/Cmd + D to bookmark this page.');    
} else {
alert('In order to bookmark this page you need to do so manually '+
'through your browser.');
}
}
}
}

function isEmpty(s){return ((s=='')||/^\s*$/.test(s));}

function dss_addEvent(el,etype,fn) {
if(el.addEventListener && (!window.opera || opera.version) &&
(etype!='load')) {
el.addEventListener(etype,fn,false);
} else if(el.attachEvent) {
el.attachEvent('on'+etype,fn);
} else {
if(typeof(fn) != "function") return;
if(typeof(window.earlyNS4)=='undefined') {
window.earlyNS4=((navigator.appName.toLowerCase()=='netscape')&&
(parseFloat(navigator.appVersion)<4.02)&&document.layers);
}
if((typeof(el['on'+etype])=="function")&&!window.earlyNS4) {
var tempFunc = el['on'+etype];
el['on'+etype]=function(e){
var a=tempFunc(e),b=fn(e);
a=(typeof(a)=='undefined')?true:a;
b=(typeof(b)=='undefined')?true:b;
return (a&&b);
}
} else {
el['on'+etype]=fn;
}
}
}

dss_addEvent(window,'load',addBookmarkObj.addTextLink);