var AddToFavourites										= {
	sTitle : '',										// set default title
	sLink : '',											// set default link
	sTargetLinkList : 'footerList',						// this is the id of the ul that we are going ot plave our link in
	sTargetItemPrepend : 'addToFav',					// this is the list item we want to put our link after
	sNewLinkText : 'Add to Favourites',					// the text for this new link
	
	init : function () {
		// check for DOM support
		if(!document.getElementById || !document.createTextNode){return;}
		
		// set variables for function
		AddToFavourites.sLink							= window.location.href;
		AddToFavourites.sTitle							= AddToFavourites.getTitle();
		
		// add link to list
		if (AddToFavourites.checkBrowser()) {
			AddToFavourites.addBookmarkLink();
		}
	},
	
	getTitle : function () {
		var sTitle										= '';
		if (document.getElementsByTagName('title')) {
			var eTitle									= document.getElementsByTagName('title')[0];
			if (eTitle.childNodes.length) {
				sTitle									= eTitle.firstChild.data;
			}
			else if (eTitle.innerHTML) {
				sTitle									= eTitle.innerHTML;
			}			
		}
		
		return sTitle;
	},
	
	addBookmark : function () {
		if (window.sidebar) { // Mozilla Firefox Bookmark
			window.sidebar.addPanel(AddToFavourites.sTitle, AddToFavourites.sLink, "");
		}
		else if (window.external) { // IE Favorite
			window.external.AddFavorite(AddToFavourites.sLink, AddToFavourites.sTitle);
		}
		else if (window.opera) { // Opera Favourite
			window.sidebar.addPanel(AddToFavourites.sTitle, AddToFavourites.sLink, "");
		}
		return false;
 	},
 	
 	addBookmarkLink : function () {
 		// check it exists
 		if (!document.getElementById(AddToFavourites.sTargetLinkList) || !document.getElementById(AddToFavourites.sTargetItemPrepend)) {return;}
 		var eLinkList									= document.getElementById(AddToFavourites.sTargetLinkList);
 		var eListItem									= document.getElementById(AddToFavourites.sTargetItemPrepend);
 		var eNewLI										= document.createElement('li');
 		var eNewLink									= document.createElement('a');
		
 		//if opera add rel='sidebar', link, title etc
		if (window.opera){
			eNewLink.setAttribute('href', AddToFavourites.sLink);
			eNewLink.setAttribute('rel', 'sidebar');
			eNewLink.setAttribute('title', AddToFavourites.sTitle);
		}
		else{
			eNewLink.setAttribute('href', 'javascript:;');
		}
		
 		eNewLink.appendChild(document.createTextNode(AddToFavourites.sNewLinkText));
 		eNewLink.onclick								= function () {
			return AddToFavourites.addBookmark();
		}
		
		// NOTE: \u00a0 is unicode for a non-breaking space
		//eNewLI.appendChild(document.createElement('\u00a0'));
 		eNewLI.appendChild(eNewLink);
		//eNewLI.appendChild(document.createTextNode('\u00a0\u00a0/'));
 		
 		//eLinkList.insertBefore(eNewLI, eListItem); //changed to add to end of footer
		eLinkList.appendChild(eNewLI, eListItem);
		
 	},
 	
 	checkBrowser : function () {
 		var bPassed										= false;
 		if (window.external) {
 			bPassed										= true;
		}
		else  if (window.sidebar) {
			bPassed										= true;
		} 
		else  if (window.opera) {
			bPassed										= true;
		} 
		
		return bPassed;
 	}
};

WindowListener.add("load","AddToFavourites.init()");