AddEventListener = function(object, action, func, prop)
{
    if (object.addEventListener) // standardizovany postup
    {
        object.addEventListener(action, func, prop);
        return true;
    }
    else if (object.attachEvent)  // microsoft postup
    {
        object.attachEvent("on"+action, func);
        return true;
    } else {
        // report problem
        return false;
    }
}

var newshidden = true;

function ToggleLinkText()
{
    if (newshidden) return "Show news archive";
    else            return "Hide news archive";
}

function ToggleNewsDiv()
{
    var divcont = window.document.getElementById("archive-events");
    var ptext = window.document.getElementById("togglelink");
    if (newshidden) {
        divcont.style.display = "none";
    }
    else { 
        divcont.style.display = "";
    }
    ptext.removeChild(ptext.firstChild);
    ptext.appendChild(window.document.createTextNode(ToggleLinkText()));
}

function ToggleNews(e)
{
    newshidden = !newshidden;
    ToggleNewsDiv();
    if (e.preventDefault) e.preventDefault(); else return false;
}

function AttachEvents(e)
{
    var ptext = window.document.createTextNode(ToggleLinkText());
    var a = window.document.createElement("a");
    a.setAttribute("href", "#");
    a.appendChild(ptext);
    a.id = "togglelink";

    var p = window.document.createElement("p");
    p.appendChild(a);

    var divcont = window.document.getElementById("archive-events");
    divcont.parentNode.insertBefore(p, divcont);
    newshidden = true;
    ToggleNewsDiv();
    
    AddEventListener(a, "click", ToggleNews, false);
}

if (!AddEventListener(window, "load", AttachEvents, false))
{
    if (!AddEventListener(document, "load", AttachEvents, false))
    {
        ; // report problem
    }
}
