
/*
 * Starts loading of categories by given categoryID
 */
function categoryLister(evt) {
    var catid;
    if(!evt) {
        catid = 0;
    } else {
        catid = new String(evt.target.id);
        catid = catid.replace('cat_', '');
    }

    var id;
    id = dojo.byId('categoryLister');
    id.innerHTML = 'Laster...';
    getCategoriesFromXML(catid);
}

/*
 * Performs HTTP-request to category service
 */
function getCategoriesFromXML(id) {
    var selectedCatId = dojo.byId('selectedCategory');
    var container = dojo.byId('ajaxCategoryChooserData');
    
    if(id > 0) {
        container.value = id;
        selectedCatId.value = container.value;
    }
    else {
        container.value = selectedCatId.value;
        id = container.value;
    }

    dojo.xhrGet({
        url:  '/bruktmarked/nyAnnonse/?module=ClassifiedsCategoryBrowser&service=' + id,
        handleAs: 'xml',
        handle: printCategories,
        mimetype: "application/xml "
    });
}

/*
 * Builds up a list of categories, inited by getCategoriesFromXML(int) method.
 */
function printCategories(response, ioArgs) {
    var items;
    var id;

    items = response.getElementsByTagName("item");
    id = dojo.byId('categoryLister');
    
    id.innerHTML = '<li>Valgt kategori: <b>' + 
        items[0].getElementsByTagName("name")[0].firstChild.nodeValue + '</b>' +
        '&nbsp;(<a href="#1" id="cat_1">Velg annen kategori</a>)</li>';

    if(items.length > 1) {
        for(i=1; i< items.length;i++) {
            catId = items[i].getElementsByTagName("id")[0].firstChild.nodeValue;
            if(i >= 1 && catId !=1) {
                id.innerHTML += '<li><a href="#'+catId+'" id="cat_'+catId+'">'+items[i].getElementsByTagName("name")[0].firstChild.nodeValue+'</a></li>';
            }
        }
    }
    id.innerHTML += '</ul>';


    for(i=0; i<items.length;i++) {
        catId = items[i].getElementsByTagName("id")[0].firstChild.nodeValue;
        element = dojo.byId('cat_'+catId);
        if (element != null) {
            dojo.connect(element, "onclick", categoryLister);
        }
    }
}
