
function AddBookmark() 
{
	var PageURL = document.URL;
	var PageTitle = document.title;
	if (window.sidebar) 
	{
            window.sidebar.addPanel(PageTitle, PageURL,"");
            return false;
	} 
	else if(window.external.AddFavorite) 
	{
		window.external.AddFavorite(PageURL, PageTitle);
		return false;
	} 
	else 
	{
		return true;
	}
}

function getLinks(parent)
{
    var thisUrl = document.location.href;
    var links = []
    var children = parent.childElements();
    for (var i=0; i<children.length; i++)
    {
        var hash = children[i].hash ? children[i].hash : "#";
        if (thisUrl.indexOf("#") != -1)
            hash = "";

        if (children[i].nodeName.toLowerCase() == "a" &&  // this is an anchor
            children[i].href.length > 0 &&                // ... and it has a link set
            children[i].href != thisUrl + hash &&         // ... but not an internal
            children[i].href.indexOf("javascript") == -1) // ... and no javascript
        {
            links.push(children[i]);
        }

        if (children[i].childNodes.length != 0)
        {
            links = links.concat(getLinks(children[i]));
        }
    }
    return links;
}

function init()
{
    /**
     *  CSS3 selector emulation
     */
    var offspringConfiguration =
    {
        runningMode: 'full',
        autoStart: true,
        shouldRemoveOldOffspringClassesFirst: true
    }
    offspring.init();

    /**
     *  Print all anchors in the #links div below the content area
     */
    var rootEl = $("content");
    var links = getLinks(rootEl);
    var link_html = "";

    for (var i=0; i<links.length; i++)
    {
        var url = links[i].href;
        url = url.replace(/mailto\:/g, "");
        url = url.replace(/&type=\d+/g, "");

        links[i].innerHTML = links[i].innerHTML + ' <span class="linkref">[' + i + ']';
        links[i].href = "#";

        link_html = link_html + "[" + i + "] " + url + "<br />";
    }

    var thisUrl = document.location.href.replace(/(\?|&|&amp;)print=1(&|&amp;)no_cache=1/g, "");
    $("links").innerHTML = $("links").innerHTML.replace(/\{0\}/g, thisUrl);

    if (link_html.length == 0)
    {
        link_html = "-";
    }
    $("links").innerHTML = $("links").innerHTML.replace(/\{1\}/g, link_html);

    /**
     *  Open the print dialog
     */
    window.setTimeout(function() { window.print(); }, 1000);
}

// window.onload is sufficient here
window.onload = init;

