+ return map;
+ },
+
+ deleteSuccess: function() {
+ this.deactivate();
+ $("message").setMessage(SyjStrings.deleteSuccess, "success");
+ },
+
+ deactivate: function() {
+ this.map.destroy();
+ this.elt.down('.title').update();
+ this.elt.down('.geom').update().setStyle({backgroundColor: 'gray'});
+ this.deleteHandler.stop();
+ this.elt.on('click', 'a', function(evt) { evt.stop(); });
+ this.elt.select('a').invoke('setStyle', {textDecoration: 'line-through'});
+ },
+
+ deleteFailure: function(transport) {
+ var httpCode = 0, message = "";
+ if (transport) {
+ httpCode = transport.getStatus();
+ }
+ switch (httpCode) {
+ case 0:
+ message = SyjStrings.notReachedError;
+ break;
+ case 400:
+ case 403:
+ location = loginlink();
+ return;
+ break;
+ case 404:
+ message = SyjStrings.requestError;
+ break;
+ case 410:
+ this.deactivate();
+ message = SyjStrings.gonePathError;
+ break;
+ case 500:
+ message = SyjStrings.serverError;
+ break;
+ default:
+ message = SyjStrings.unknownError;
+ break;
+ }
+ $("message").setMessage(message, "error");
+ },
+
+ remove: function(evt) {
+ evt.stop();
+ if (!confirm(SyjStrings.confirmDelete)) {
+ return;
+ }
+ var id = this.elt.getAttribute('data-id');
+
+ $("message").hide();
+ new Ajax.Request('path/' + id.toString() + '/delete', {
+ method: 'post',
+ onSuccess: this.deleteSuccess.bind(this),
+ onFailure: this.deleteFailure.bind(this)
+ });
+ }
+};