﻿BenefulMap.ModalConfirmRemoval = BenefulMap.Modal.extend({
	init: function(modalTitle, modalElements, modalOptions, snippetPath, params) {
		this._super( modalTitle, modalElements, modalOptions, snippetPath, params);
		this.confirmButton = this.getModalDiv() + " .continue";
		this.context;
		this.spotId;
	},
	getConfirmButton: function() {
		return this.confirmButton;
	},
	setConfirmButton: function(newConfirmButton) {
		this.confirmButton = newConfirmButton;
	},
	getContext: function() {
		return this.context;
	},
	setContext: function(newContext) {
		this.context = newContext;
	},
	getSpotId: function() {
		return parseInt(this.spotId);
	},
	setSpotId: function(newSpotId) {
		this.spotId = parseInt(newSpotId);
	},
	addModalListeners: function() {
		this._super();
		var self = this;
		$(this.getConfirmButton()).click( function(event) {
			event.preventDefault();
			self.processRemoval();
		});
	},
	processRemoval: function() {
		var self = this;
		switch( this.getContext() ) {
			case "favorite": 
						WagWorld.Web.AjaxUtility.RemoveFavorite(this.getSpotId(), function(result) {
							console.log(result);
							self.close();
							location.reload();
						});
						break;
            case "photo": 
						WagWorld.Web.AjaxUtility.RemovePhoto(this.getSpotId(), function(result) {
							console.log(result);
							self.close();
							location.reload();
						});
						break;
			case "review":
						WagWorld.Web.AjaxUtility.RemoveReview(this.getSpotId(), function(result) {
							console.log(result);
							self.close();
							location.reload();
						});
						break;
			case "clear":
						WagWorld.Web.AjaxUtility.ClearRecentlyViewed( function(result) {
							console.log(result);
							self.close();
							location.reload();
						});
			case "spot":
			            console.log("spot context");
			            WagWorld.Web.AjaxUtility.RemoveSpot(this.getSpotId(), function(result) {
							console.log(result);
							self.close();
							//location.reload();
						});
			default:
						break;
		}
	},
	addModalTargetListener: function() {
		var self = this;
		$(this.targetEl).live('click', function(event) {
			event.preventDefault();
			self.setFiredTarget(this);
			self.setContext( $(this).attr("rel") );
			var params = self.getParams();
			params.context = self.getContext();
			self.setParams(params);
			self.setSpotId( $(this).attr("id"));
			self.populate();
		});
	}
});
