function isDefined(property) {
  return (typeof property != 'undefined');
}

var Bookmark = function() {
	return {
		AddBookmark : function(url, title) {
                    var useragent = navigator.userAgent.toLowerCase();
                    var Mac = (useragent.indexOf('mac')!=-1);
                    var Safari = (useragent.indexOf('webkit')!=-1);
                    var Konqueror = (useragent.indexOf('konqueror')!=-1);
                   
                    if(window.external && (!document.createTextNode ||(typeof(window.external.AddFavorite)=='unknown'))) {
                        window.external.AddFavorite(url, title); 
                    } else if(window.opera) {
                        void(0);
                    } else if((window.home || Safari) && Mac) {
                        alert('Please press Command/Cmd + D to bookmark this page.');
                    } else if((window.home || Safari) && !Mac) {  
                        alert('Please press CTRL + D to bookmark this page.');
                    } else if(!window.print || Mac) {
                        alert('Please press Command/Cmd + D to bookmark this page.'); 
                    } else if(Konqueror) {
                        alert('Please press CTRL + B to bookmark this page.');   
                    } else {
                        alert('In order to bookmark this site, please do so manually from your browser');
                    }
        },
        getBookmarkImage: function () {
             var images = new Array();
             if (isDefined(document.getElementsByTagName)) {
                images = document.getElementsByTagName('img');
             }else {
                images = document.images;
             }
             for (var i = 0; i < images.length; i++) {
                var image = images[i];
                if ( image.className == "addBookmark"){
                    image.onclick = function(){Bookmark.AddBookmark(self.location.href, self.document.title)};
                }
             }
        },
        addLoadEvent: function (func) {
                   var oldonload = window.onload;
                   if (typeof window.onload != 'function') {
                       window.onload = func;
                   }
                   else {
                       window.onload = function() {
                           oldonload();
                           func();
                       }
                   }
        }
    }
}();
Bookmark.addLoadEvent(Bookmark.getBookmarkImage);