function changeCategory(element, pageID){
    // change selected element
    var li = element.parentNode;
    var ul = li.parentNode;
    var liList = ul.childNodes;
    for (var i = 0; i < liList.length; i++) {
        if (liList[i].className != null) {
            liList[i].className = liList[i].className.replace(" selected", "");
            liList[i].className = liList[i].className.replace("selected", "");
        }
    }
    li.className += " selected";
    
    Lantmannen.Web.Web.Apps.Dictionary.Dictionary.GetItems(pageID, languageBranch, getDictionaryItems_callback);
}

function getDictionaryItems_callback(result){
    if (result.value != null) {
        var oldDefList = document.getElementById("dict-list");
        var parent = oldDefList.parentNode;
        
        var newDefList = document.createElement("dl");
        newDefList.id = "dict-list";
        for (var i = 0; i < result.value.length; i++) {
            var dictItem = result.value[i];
            
            // dt
            var dt = document.createElement("dt");
            if (i % 2 != 0) dt.className = "even";
            var dtText = document.createTextNode(dictItem.Heading);
            dt.appendChild(dtText);
            newDefList.appendChild(dt);
            
            // dd
            var dd = document.createElement("dd");
            if (i % 2 != 0) dd.className = "even";
            
            // dd - img
            if (dictItem.ImageUrl != "") {
                var img = document.createElement("img");
                img.setAttribute("height", "63px");
                img.setAttribute("width", "63px");
                img.setAttribute("src", dictItem.ImageUrl);
                if (dictItem.AlternateText != "" && dictItem.AlternateText != "undefined") {
                    img.setAttribute("alt", dictItem.AlternateText);
                }
                dd.appendChild(img);
            }
            
            // dd - p
            var p = document.createElement("p");
            var pText = document.createTextNode(dictItem.Body);
            p.appendChild(pText);
            dd.appendChild(p);
            
            // dd - ul
            if (dictItem.Links.length > 0) {
                var label = document.createElement("label");
                var labelTextNode = document.createTextNode(labelText);
                label.appendChild(labelTextNode);
                dd.appendChild(label);
                
                var ul = document.createElement("ul");
                for (var j = 0; j < dictItem.Links.length; j++) {
                    var link = dictItem.Links[j];
                    var li = document.createElement("li");
                    var a = document.createElement("a");
                    a.setAttribute("href", link.Value);
                    var aText = document.createTextNode(link.Key);
                    a.appendChild(aText);
                    li.appendChild(a);
                    ul.appendChild(li);
                }
                dd.appendChild(ul);
            }
            
            newDefList.appendChild(dd);
        }
        parent.replaceChild(newDefList, oldDefList);
        objPageInitializer.OnLoad();
    }
}