﻿/// <reference name="MicrosoftAjax.js"/>
(function ($) {
	$.fn.media = function (settings) {
		var $this = $(this);
		var body = $(document.body);
		var win = $(window);
		var audioMp3 = $(this).find('a[href$=mp3],a[href$=wav]');
		var videoWmv = $(this).find('div[src$=wmv],div[src$=avi]');

		// Default settings
		var defaults = {};
		settings = $.extend(true, {}, defaults, settings);

		// Init embed object
		var audioTemplate = $('<embed id="__embed_audio" hidden="true" autostart="true"/>');
		var videoHtml = '<embed id="__embed_video" wmode="transparent" autosize="true" windowlessvideo="-1" src="{0}"/>';

		// Init audio links
		audioMp3
			.addClass('play')
			.css({
				'display': 'inline-block',
				'width': '26px',
				'height': '25px',
				'vertical-align': 'middle',
				'background': 'url(../Img/IMedia.png) no-repeat'
			})
			.html('')
			.data('playing', false)
			.bind('media_play', Function.createDelegate(this, function (e) {
				var button = $(e.currentTarget);
				var playing = button.data('playing');
				var src = button.attr('href');
				$('#__embed_audio').remove();
				var embed = audioTemplate.clone();
				embed.attr('src', src);
				embed.appendTo(body);
				button.css({ 'background-position': '0 -50px' });
				button.data('playing', true);
			}))
			.bind('media_stop', Function.createDelegate(this, function (e) {
				var button = $(e.currentTarget);
				$('#__embed_audio').remove();
				button.css({ 'background-position': '0 0' });
				button.data('playing', false);
			}))
			.click(Function.createDelegate(this, function (e) {
				e.preventDefault();
				var button = $(e.currentTarget);
				var playing = button.data('playing');
				if (!playing) {
					$(window).trigger('media_stop');
					button.trigger('media_play');
				} else {
					$(window).trigger('media_stop');
				}
			}));

		$(window).bind('media_stop', function () {
			audioMp3.trigger('media_stop');
		});

		// Init video
		videoWmv
			.each(Function.createDelegate(this, function (i, n) {
				var div = $(n);
				var src = div.attr('src');
				var embed = $(String.format(videoHtml, src));
				embed.insertAfter(div);
			}));

		return $this;
	}
})(jQuery);

