/**
 * MP3Player Tag to Flashplayer Converter and Manager
 *
 * This Class Generates Flash Mp3 Players and Manages them
 * If you start another stream the others will stop playing
 * You can generate Players using <player file=""> tags.
 *
 *
 * <p><b>Company:&nbsp;</b>
 * SAT, Research Studios Austria</p>
 *
 * <p><b>Copyright:&nbsp;</b>
 * (c) 2007</p>
 *
 * <p><b>last modified:</b><br/>
 * $Author: $<br/>
 * $Date: $<br/>
 * $Revision: $</p>
 *
 * @author David Mann
 */
 
playerManager = Class.create();
playerManager.prototype = {
  initialize: function() {
  	this.addStartUpAction(this.createFlashPlayers);
  },
  
  createFlashPlayers: function(){
  	var playerTags = $$("div.Mp3Player");
	
  	for(var i=0; i<playerTags.length; i++) {
  		var playerTag = playerTags[i];
	  	playerTag.innerHTML = "<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0\" width=\"16\" height=\"19\" id=\"player"+i+"\" align=\"middle\">" +
			"<param name=\"allowScriptAccess\" value=\"sameDomain\" />" +
			"<param name=\"movie\" value=\"swf/miniplayer.swf?soundFile="+ playerTag.getAttribute("file") +"&idOfThisPlayer="+i+"\" />"+
			"<param name=\"quality\" value=\"high\" />"+
			"<param name=\"bgcolor\" value=\"#777777\" />" +
			"<embed swliveconnect=\"true\" src=\"swf/miniplayer.swf?soundFile="+ playerTag.getAttribute("file") +"&idOfThisPlayer="+i+"\" quality=\"high\" bgcolor=\"#777777\" width=\"16\" height=\"19\" name=\"player"+i+"\" align=\"middle\" allowScriptAccess=\"sameDomain\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" />" +
			"</object>";
  	}
  },
  
  getFlashMovieObject: function(movieName)
  {
	  if (window.document[movieName]) 
	  {
	      return window.document[movieName];
	  }
	  if (navigator.appName.indexOf("Microsoft Internet")==-1)
	  {
	    if (document.embeds && document.embeds[movieName])
	      return document.embeds[movieName]; 
	  }
	  else
	  {
	    return document.getElementById(movieName);
	  }
  },
   
  resetAll:function(idOfPlayingPlayer){
  	var playerTags = $$("div.Mp3Player");
  	new Ajax.Request("clickTrack.form?logType=play&trackId="+playerTags[idOfPlayingPlayer].getAttribute("trackid"), {});
  	for(var i=0; i<playerTags.length; i++) {
  		
  		if(i!=idOfPlayingPlayer){
  			this.getFlashMovieObject("player"+i).SetVariable("jsPauseConnect", "1");
  		}
  	}

  },
  
  addStartUpAction:function(f) { 
  	var old = window.onload;
	if (typeof old != 'function') window.onload = f;
	else { window.onload = function() { old(); f() }}
  }
};

var globalPlayerManager = new playerManager();

