//need AC_RunActiveContent.js
var MP3PlayerEngine = new (function(){
	var pub = this;
	var silentIconUrl = '/images/player_icons/silent.gif';
	var playingIconUrl = '/images/player_icons/playing.gif';
	var flashModuleId_;
	var lastHtmlElement_;
	var isPlaying_ = false;
	var iconCounter_ = 0;
	var nonstopPlayingEngineId;
	
	// player initialized
	pub.onMp3PlayerInitComplete = function(flashModuleId)
	{
		if (flashModuleId_) {
			//alert('Music flash player engine error: more than one player instance on this page is not allowed.');
		}
		flashModuleId_=flashModuleId;
		mp3player.addListener('onID3', 'MP3PlayerEngine.onLoadId3Tag');
		mp3player.addListener('onLoad', 'MP3PlayerEngine.onLoad');
		mp3player.addListener('onSoundComplete', 'MP3PlayerEngine.onSoundComplete');
	};
	// loaded mp3-header with music info
	pub.onLoadId3Tag = function(id3tag, flashModuleId, eventName)
	{
		//id3tag - it's a String, catching from mp3-file
		//if id3 tag is absent, then this evend didn't rise
	};		
	// file loaded successfully/unsuccessfully
	pub.onLoad = function(isLoaded, flashModuleId, eventName)
	{
		if (!isLoaded) { // mp3-file is bad or absent
			isPlaying_=false;
			setSilentIcon();
		}
	};
	// sound playinn complete
	pub.onSoundComplete = function(id3tag, flashModuleId, eventName)
	{
		setSilentIcon();
	};
	
	pub.insertPlaySoundIconHtml = function()
	{
		document.write(
			getIconHtmlCode(silentIconUrl)
		);
	};

	pub.onPlayIconClick = function(htmlElement, soundFileUrl)
	{
		if (!flashModuleId_) {
			alert('Sorry, music player is not loaded yet.');
			return;
		}
		clearTimeout(nonstopPlayingEngineId);
		if (lastHtmlElement_ == htmlElement) {
			if (isPlaying_) {
				mp3player.stopPlaying();
				setSilentIcon();
			} else {
				mp3player.startPlaying();
				setPlayingIcon();
			}
			isPlaying_=!isPlaying_;
		} else {
			mp3player.loadSound(soundFileUrl, true);
			setSilentIcon();
			lastHtmlElement_ = htmlElement;
			setPlayingIcon();
			isPlaying_=true;
		}
	};
	
	pub.getNextIconHtmlElementId = function()
	{
		var result = iconCounter_;
		iconCounter_++;
		return getIconHtmlElementIdByNumber(result);
	};
	
	pub.startPlayMusicFromIconNum = function(playbackNumber)
	{
		if (isPlaying_) {
			clearTimeout(nonstopPlayingEngineId);
			mp3player.stopPlaying();
			setSilentIcon();
			isPlaying_=false;
		}
		var iconId = getIconHtmlElementIdByNumber(playbackNumber);
		var icon = document.getElementById(iconId);
		icon.onclick();
		playbackNumber++;
		if (playbackNumber<iconCounter_)
		{
			nonstopPlayingEngineId = setTimeout(
				'MP3PlayerEngine.startPlayMusicFromIconNum('+playbackNumber+')',
				30000
			);
		}
	};
	
	var getIconHtmlElementIdByNumber = function(num)
	{
		return 'MP3PlayerEngine_MusicIcon_'+num;
	};
	
	var setSilentIcon = function()
	{
		if (!lastHtmlElement_) return;
		lastHtmlElement_.innerHTML=getIconHtmlCode(silentIconUrl);
	};
	
	var setPlayingIcon = function()
	{
		if (!lastHtmlElement_) return;
		lastHtmlElement_.innerHTML=getIconHtmlCode(playingIconUrl);
	};
	
	var getIconHtmlCode = function(iconUrl)
	{
		var altText = "Listen...";
		return (
			'<img'
				+' src="'+iconUrl+'"'
				+' alt="'+altText+'"'
				+' title="'+altText+'"'
				+' border="0"'
				+' width="13"'
				+' height="13"'
				+' hspace="3"'
				+' style="cursor:hand; cursor:pointer; padding: 0; margin: 0;"'
			+' />'
		);
	};
	
})();


if (AC_FL_RunContent == 0) {
	alert("This page requires AC_RunActiveContent.js.");
} else {
	document.write('<span style="position: absolute;">');
	AC_FL_RunContent(
		'FLASHVARS', 'mp3PlayerId=mp3player&mp3PlayerInitCompleteFunctionName=MP3PlayerEngine.onMp3PlayerInitComplete',
		'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0',
		'width', '1',
		'height', '1',
		'src', 'mp3player',
		'quality', 'high',
		'pluginspage', 'http://www.macromedia.com/go/getflashplayer',
		'align', 'middle',
		'play', 'true',
		'loop', 'true',
		'scale', 'showall',
		'wmode', 'transparent',
		'devicefont', 'false',
		'id', 'mp3player',
		'bgcolor', '#ffffff',
		'name', 'mp3player',
		'menu', 'true',
		'allowFullScreen', 'false',
		'allowScriptAccess','always',
		'movie', '/js/flash/mp3player',
		'salign', ''
	);
	document.write('</span>');
}