var Notifications = {};

$(document).ready(function () {
	if (!window.webkitNotifications) {
		return;
	}

	var notificationsEnabled = (window.webkitNotifications.checkPermission() === 0),
	    toggle = $('#toggle_notifications');

	toggle.show();
	updateMenuTitle();
	$(transmission).bind('downloadComplete seedingComplete', function (event, torrent) {
		if (notificationsEnabled) {
		var title = (event.type == 'downloadComplete' ? 'Download' : 'Seeding') + ' complete',
			content = torrent.getName(),
			notification;

		notification = window.webkitNotifications.createNotification('style/transmission/images/logo.png', title, content);
		notification.show();
		setTimeout(function () {
		  notification.cancel();
		}, 5000);
	};
	});

	function updateMenuTitle() {
		toggle.html((notificationsEnabled ? 'Disable' : 'Enable') + ' Notifications');
	}

	Notifications.toggle = function () {
		if (window.webkitNotifications.checkPermission() !== 0) {
			window.webkitNotifications.requestPermission(function () {
				notificationsEnabled = (window.webkitNotifications.checkPermission() === 0);
				updateMenuTitle();
			});
		} else {
			notificationsEnabled = !notificationsEnabled;
			updateMenuTitle();
		}
	};
});
