// Copyright (c) 2004 gocept gmbh & co. kg
// See also LICENSE.txt
// $Id: js_menues.js.dtml 3255 2005-08-18 12:12:47Z zagy $


function cleanMenu(menu) {
    // remove all options from given menu 
    if (menu == void(0)) {
        return 0;
    }
    menu.selectedInded = -1;
    while (menu.options.length > 0) {
        menu.options[0] = null;
    }
    return 0;
}

function getDocument(method) {
    var url, request;
    base = document.getElementsByTagName('html')[0].
        getElementsByTagName('head')[0].
        getElementsByTagName('base')[0];
    url = base.getAttribute('href')
    url = url + '/' + method
    request = Sarissa.getXmlHttpRequest();
    request.open('GET', url, false);
    request.send(null);
    if (request.status != 200) {
        return void(0);
    }            
    xml = request.responseXML;
    return xml;
}

function setClass() {
    // set category list, called onChange of school menu
    var menu_class, cats, node, id, name;
    menu_class = document.getElementById('menu_class');
    subject = document.getElementById('schoolsubject');
    cleanMenu(subject);
    class_value = menu_class.options[menu_class.selectedIndex].value;
    xml = getDocument('xml_getSubjects?class_value=' + class_value)
    cats = xml.firstChild.nextSibling; // IE variant
    if (cats == null) {  // Mozilla variant
        cats = xml.firstChild;
    }
    for (var i=0; i<cats.childNodes.length; i++) {
        node = cats.childNodes[i];
        if (node.nodeName != 'cat') {
            continue;
        }
        id = node.getAttribute('id');
        name = node.getAttribute('name');
        subject.options[subject.options.length] = new Option(name, id);
    }
}


