function PlaceCreator(Parent) {
    var pc;

    var submit = function() {
        var name = $('input[name=name]', pc).val();

        if (name.length > 0) {
            var location = $('input[name=location]', pc).val();
            var website = $('input[name=website]', pc).val();
            $.post('/api/place',
                   {cmd:'create', name:name, location:location, website:website},
                   function(data) {
                       window.location = '/place/'+data.id;
                   },
                   'json');
        }
        return false;
    };

    var loadTemplate = function(data) {
        pc = $(data).appendTo(Parent);

        $('a.show', pc).click(
            function() { $('a.show', pc).hide();
                         $('div.form', pc).show();
                         $('input[name=name]', pc).focus();
                         return false; });

        $('a.cancel', pc).click(
            function() { $('div.form', pc).hide();
                         $('a.show', pc).show();
                         return false; });

        $('a.submit', pc).click(submit);
    };

    $.get('/'+stv+'/html/placecreator.html', [], loadTemplate);
};

$(function() {
    $('<h1>Places</h1>').appendTo('#view');
    var creatordiv = $('<div/>').appendTo('#view');
    get_user('placecreator', function() { PlaceCreator(creatordiv); });
    $.getJSON(data_uri, [],
              function(data) {
                  PlaceTable($('<div/>').appendTo('#view'),
                             data.places);
              });
});

