/******************

 baf.js

 Добавляет в закладки и в избранное


 9 августа 2006 г.


 Миха Зимин

 mishundic@mail.ru

*******************/




var browser;
var a;
var title;
var url;


function getTopWin ()
{
    var windowManager = Components.classes['@mozilla.org/appshell/window-mediator;1'].getService();
    var windowManagerInterface = windowManager.QueryInterface(Components.interfaces.nsIWindowMediator);
    var topWindowOfType = windowManagerInterface.getMostRecentWindow("navigator:browser");
    
    if (topWindowOfType)
    {
        return topWindowOfType;
    }
    return null;
}

function setBookmark ()
{
    netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
    var w = getTopWin();
    var b = w.getBrowser();
    w.addBookmarkAs(b, false, false);
}



// Собственно добавляет

function addBookmark() 
{ 
	//Gecko
	if (browser == "Gecko") 
	{
		setBookmark();	
	}
	//IE4+ 
	else if (browser == "IE")
	{
		url = document.location.href;
		// Следующую строчку следует заменить, когда страница будет вылита
		window.external.AddFavorite(url, title);
	}
	//Opera7+ 
	else if (browser == "Opera") 
	{ 
		a.setAttribute('rel', 'sidebar'); 
		a.setAttribute('href', url);
		a.setAttribute('title', title); 
		a.click(); 
	} 
	else
	{
		return false;
	}

	return true;
}

// Если IE, то выводит -- add to favorites, если Gecho или Opera, то -- add bookmark. Если не может ничего добавить, то ничего вообще не выводит

function addBookmarkAnchor(_url)
{

	url = _url;
	
	//IE4+ 
	if (typeof window.external == "object")
	{
		browser = "IE";
		title = document.title;
	}
	//Opera7+ 
	else if (window.opera && document.createElement) 
	{ 
		a = document.createElement('A'); 
		if (!a) return false; //IF Opera 6 
		browser = "Opera";
		url = location.href;
		title = document.title;
	} 
	//Gecko
	else if (typeof netscape == "object") 
	{
		if (typeof netscape.security == "object")
		{
			browser = "Gecko";
		}
		else
		{
			return false;
		}
	}
	else
	{
		return false;
	}

	var str;
	
	if (browser == "IE")
	{
		str = "Добавить в избранное";
	}
	else if ((browser == "Gecko") || (browser == "Opera"))
	{
		str = "Добавить в закладки";
	}
	
	document.writeln('<A href="javascript: void(addBookmark())">' + str + '</A>');
	
	return true;

}