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

        var id;
        id = $('categoryLister');
        id.html('Laster...');
        getCategoriesFromXML(catid);
    }

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

        jQuery.ajax({
            url:  '/bruktmarked/nyAnnonse/?module=ClassifiedsCategoryBrowser&service=' + id,
            dataType: 'xml',
            success: printCategories
        });
    }

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

        items = response.getElementsByTagName("item");
        id = $('#categoryLister')[0];
        
        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 = $('#cat_'+catId)[0];
            if (element != null) {
                $(element).bind("click", categoryLister);
            }
        }
    }
})(jQuery);

