(function($){
    /* Очищаем select */
    $.fn.clearSelect = function() {
        return this.each(function(){
            /* Проверяем является ли элемент select`ом */
            if(this.tagName=='SELECT') {
                this.options.length = 0;
                /* Блокируем на время заполнения */
                $(this).attr('disabled','disabled');
            }
        });
    }

    /* Удаляем старшие элементы */
    $.fn.clearField = function(selector) {
        /**
         * Ищем все элементы следующие за вызывавшим
         * и удовлеторяющие переданному селектору
         */
        this.nextAll(selector).remove();
        return this;
    }

    /* Заполняем select переданными данными */
    $.fn.fillSelect = function(dataArray) {
        return this.clearSelect().each(function(){
	    /* Проверяем является ли элемент select`ом */
            if(this.tagName=='SELECT') {
                var currentSelect = this;
                /* Добавляем пунтк меню "Выбрать..." */
                var start = new Option('Выбрать...', '-1');
                /* Устанавливаем этот option первым в списке */
                if($.support.cssFloat) {
                    currentSelect.add(start,null);
                } else {
                    currentSelect.add(start);
                }
                $.each(dataArray,function(index,data){
                    /* Если определено 'name' */
                    if(data.name) {
                        /* Создаем новый option */
                        var option = new Option(data.name,data.id);
                        /* Добавляем новый option к select`у */
                        if($.support.cssFloat) {
                            currentSelect.add(option,null);
                        } else {
                            currentSelect.add(option);
                        }
                    }
                });
                /* Выделяем первый элемент списка */
                $(this).removeAttr('disabled').find('option:first').attr('selected', 'selected');
            }
        });
    }
})(jQuery);

/* cuted function */

/* Добавляем обработчик событий при изменении пункта списка */
function clickEvent(select)
{
    var id = select.find('option:selected').attr('value');
    /**
     * Если id=-1, значит выбран пункт "Выбор.."
     * значит мы должны просто очистить старшие списки
     */
    if (id == '-1') {
    	select.clearField('select[name^=category]').clearField('span');
    	return false;
    }

    var level = parseInt(select.attr('name').replace('category_', '')) + 1;
    return getCategory(id, level);
}

$(document).ready(function(){
    /* Развешиваем обработчики */
    //$('select[name^=category] option').live("click", function(){
    //    var select = $(this).parents('select');
    //    var level = parseInt(select.attr('name').replace('category_', '')) + 1;
    //    return getCategory(select.find('option:selected').attr('value'), level);
    //})

    /* Получаем список категорий */
    getCategory(0, 0);
});
