// Iterate over each video and look for playlist videos
function linkifyCouncilVideos() {
	$('object[type=application/x-shockwave-flash]').each(function() {
		var param = $(this).find('param[value^=streamer]');
		if (param.length)
			var file = $(param).val().match(/file=(.+getPlaylist\.cfm[^&]+\d+)/);
	
		// Add link to videos
		if (file) {
			var playlist = decodeURIComponent(file[1]);
			//console.info(playlist);
	
			// Get XML contents of playlist
			$.ajax({
				url: playlist,
				context: this,
				success: function(data) {
					// Extract filename of first playlist item from <media:content> element
					// Firefox and Internet Explorer require the media prefix, but Chrome and Opera only work w/o it
					var filename = $('media\\:content,content', data).first().attr('url');
					var parts = filename.match(/cc(\d{2})(\d{2})(\d{2})(.*)/);
	
					// Abort if playlist is not a city council playlist
					if (!parts) return;
	
					var year = 2000 + parseInt(parts[3], 10);
					//console.log(filename);
	
					// Create link container and set CSS properties
					var link = "http://media.portlandoregon.gov/video/CityCouncil/" + year + "/" + filename;
					var container = $('<div><a href="#">Download video</a></div>');
					$(container).width( $(this).width() )
						.css('padding', '2px 0')
						.css('text-align', 'right')
						.css('font-size', '80%')
						.css('background-color', '#ddd')
						.css('border', '1px solid #999')
						.css('border-top', 'none');
					$(container).children('a').first().css('margin', '0 5px')
						.attr('href', link);
					if ($.browser.mozilla) {
						$(container).width( $(this).width()-2 );
					}
					if ($.browser.msie) {
						$(container).width( $(this).width()+2 );
					}
	
					// Add container to video object and set CSS properties
					$(this).after(container)
						.css('border', '1px solid #999')
						.css('border-bottom', 'none');
				}
			});
		}
	
	});
};