BR.Profile = BR.Control.extend({
    options: {
        heading: 'Profile',
        divId: 'profile_div'
    },

    onAdd: function (map) {
        L.DomUtil.get('profile_upload').onsubmit = L.bind(this._submit, this);
        L.DomUtil.get('clear').onclick = L.bind(this.clear, this);


        return BR.Control.prototype.onAdd.call(this, map);
    },

    clear: function(evt) {
        evt.preventDefault();
        document.profile_upload.profile.value = null;

        this.fire('clear');
    },

    _submit: function(evt) {
        var form = evt.target || evt.srcElement,
            profile = document.profile_upload.profile.value;

        evt.preventDefault();

        this.fire('update', { profileText: profile });
    }
});

BR.Profile.include(L.Mixin.Events);
