﻿// Play a sound plugin.
// Ref: http://urbanoalvarez.es/blog/2010/05/03/play-a-sound-via-javascript/
// Modified by Pandasam cc. Added load option.
//
// option to enable/disable sounds:
//
// $.sound.enabled = false;
// $.sound.enabled = true

(function($) {
$.sound = {
	tracks: {},
	enabled: true,
	template: function(src) {
		return '<embed style="height:0" loop="false" src="' + src + '" autostart="true" hidden="true"/>';
	},
	templateLoad: function(src) {
		return '<embed style="height:0" loop="false" src="' + src + '" autostart="false" hidden="true"/>';
	},
	load: function(url, options){
		var settings = $.extend({ url: url, timeout: 2000 }, options);
		var element = $.browser.msie
		  	? $('<bgsound/>').attr({ src: settings.url, loop: 0, autostart: false })
		  	: $(this.templateLoad(settings.url));
		element.appendTo("body");
		element.remove();
		return element;
	},
	play: function(url, options){
		if (!this.enabled) return;
		var settings = $.extend({ url: url, timeout: 2000 }, options);
		if(settings.track){
			if (this.tracks[settings.track]) {
				var current = this.tracks[settings.track];
				current.Stop && current.Stop();
				current.remove();
			}
		}
		var element = $.browser.msie
		  	? $('<bgsound/>').attr({ src: settings.url, loop: 1, autostart: true })
		  	: $(this.template(settings.url));
		element.appendTo("body");
		if (settings.track) { this.tracks[settings.track] = element; }
//		setTimeout(function() {
//			element.remove();
//		}, options.timeout)
		return element;
	}
};
})(jQuery);

