onNestedSelectReceived = function(container, data) {
    var container = $(container).empty();
    
    if ( container.attr('rel') ) $('[name='+container.attr('rel')+']').val(data.results.selection.id)
    
    container.append('<option value=""><!-- IE --></option>');
    
    if ( data.results.parent )
        container.append('<option value="' + data.results.parent.id + '" style="font-style: italic;">Go Back to ' + data.results.parent.name + '&hellip;</option>');
    
    if ( data.results.selection.id != 1 )
        container.append('<optgroup label="Current Selection"><option value="' + data.results.selection.id + '" selected="True">' + data.results.selection.name + '</option></optgroup>');
    
    if ( data.results.children.length ) {
        var subs = $('<optgroup label="' + data.results.term + '"></optgroup>');
        for ( var i in data.results.children ) {
            subs.append('<option value=' + data.results.children[i].id + '>' + data.results.children[i].name + '</option>')
        }
        container.append(subs);
    }
    
    /*
    if ( data.results.selection.id != 1 ) {
        container.selectedIndex = 2;
        // container.val(data.results.selection.id);
    } else container.val(''); // This is probably unnessicary.
    */
};

function multiSelect(base, kind) {
    function updateSelect() {
        $.getJSON(inLocationAPIBase + 'get' + kind, $.extend({selection: $(this).val()}, $.inLoc.settings), createSelect);
        $(this).nextAll().remove();
        $(this).prevAll('input').val($(this).val());
    }

    function createSelect(result) {
        if ( result.status != 'ok' || result.results.children.length == 0 ) return;
        var obj = $('<select size="5"></select>');
        for ( var i in result.results.children ) obj.append('<option value="' + result.results.children[i].id + '">' + result.results.children[i].name + '</option>');
        obj.change(updateSelect).appendTo($('.container', base));
    }

    $.getJSON(inLocationAPIBase + 'get' + kind, $.extend({}, $.inLoc.settings, {selection: $('input', base).val()}), createSelect);
    $('input', base).val('');
}
