var undefined;

function updateTopics(topic, link) {
    var newArr = myTopics[topic];
//    alert (newArr);
    if(newArr == null || newArr == undefined) {
//        alert("In here");
        newArr = new Array();
        myTopics[topic] = newArr;
    }

    newArr[newArr.length] = link;
    //alert(newArr[newArr.length - 1].value + " " + newArr[newArr.length - 1].text);
    //alert(myTopics[topic][0].value);
}    

function newItem(itemTopics, count, showtopics, label) {
    document.write('<a name="' + count + '" href="#pagetop">Click To Go To The Top</a>');
    if(showtopics) {
        document.write(' - <b>Topics: ');
    }
    if(!label) {
        label = "Item " + (count+1);
    }
    var myOpt = new Option(count,label);
    //alert(myOpt.value + " " + myOpt.text);
    for(var i = 0; i < itemTopics.length; i++) {
        updateTopics(itemTopics[i], myOpt);
        if(showtopics) {
            if(i > 0) {
                document.write(", ");
            }
            document.write(itemTopics[i]);
        }
    }
    if(showtopics) {
        document.write("</b>");
    }
    document.write("<br>");
}

function updateTopicsBox() {
    var opts = document.select_form.topics.options;
    for(var i in myTopics) {
        var newOpt = new Option(i,i)
        opts[opts.length] = newOpt;
    }
}

function updateLinksBox(label) {
    //alert(label);
    //alert(myTopics[label][0].value);
    var opts = document.select_form.thelinks.options;
    for(var i = opts.length; i >= 0; i--) {
        opts[i] = null;
    }
    for(var i = 0; i < myTopics[label].length; i++) {
        opts[i] = new Option(myTopics[label][i].value, myTopics[label][i].text);
    }
}

function thelinksBoxOnClick(elem) {
    var selected = elem.options[elem.selectedIndex];
    location.href = "#" + selected.value;
}

function topicsBoxOnClick(elem) {
    var topic = document.select_form.topics;
    var selected = topic.options[topic.selectedIndex];
    updateLinksBox(selected.text);
}
