var plotter = function(select$) {
	select$.each(function() {
		var match = $(this).attr('id').match(/^plot(?:_info_|-)(([^_]+)_(\d+)[_x](\d+))$/);
		var showName = $(document.getElementById('show-' + match[1])).attr('data-rawname');
		$(this).qtip({
			content: {
				text: function(event, api) {
					// deferred object ensuring the request is only made once
					$.ajax({
						url: $.SickGear.Root + '/home/plot-details',
						type: 'GET',
						data: {
							tvid_prodid: match[2],
							episode: match[4],
							season: match[3]
						}
					})
					.then(function(content) {
						// Set the tooltip content upon successful retrieval
						api.set('content.text', ('undefined' === typeof(showName) ? ''
							: ('' !== content ? '<b class="boldest">' + showName + '</b>' : showName))
							+ ('' !== content ? ' ' + content : ''));
					}, function(xhr, status, error) {
						// Upon failure... set the tooltip content to the status and error value
						api.set('content.text', status + ': ' + error);
					});
					return 'Loading...'; // Set initial text
				}
			},
			show: {
				solo: true
			},
			position: {
				viewport: $(window),
				my: 'left center',
				adjust: {
					y: -10,
					x: 0
				}
			},
			style: {
				classes: 'qtip-dark qtip-rounded qtip-shadow'
			}
		});
	});
};
$(function () { plotter($('.plotInfo, .plot-daybyday')) });