/*********************************************************
      Versao: 2008.1
     Projeto: Sessions Tools
  Criado por: alex.sevilla@gmail.com
Data criacao: 4/05/2008
Alterado por: 
   Descricao: javascript functions for mp3 player
*********************************************************
                 http://www.solucionator.com
*********************************************************/	
var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;

var sPlayerSrc = 'inc/sp';//path for the tool.swf - without the .swf

var iPlayerCount = 0;//how many files have being created on the page
var aPlayers = new Array();//this is the player container

var sPlayerRootID = 'playerGadget';//id radical for the objects and divs
var sPlayerContainerClass = 'playerGadget';// is the class for the div container
var sPlayerWrapperClass = 'playerGadget';// is the class for the wrapper, recomended using the same as the container

var iPlayerWidth = '25px';// will use the hole extension of the div wrapper
var iPlayerHeight = '25px';// will use the hole extension of the div wrapper

var aPlayerFlashVars = new Array();//sets the variables for the tool

var jsReady = false;

function newMP3(sFileUrl, sTitle){
	iPlayerCount ++;
	aPlayerFlashVar = new Array();
	sPlayerContainerID = sPlayerRootID + 'Container' + iPlayerCount;
	sPlayerWrapperID = sPlayerRootID + 'Wrapper' + iPlayerCount;
	sPlayerObjectID = sPlayerRootID + 'Obj' + iPlayerCount;
	
	if(iPlayerCount == 1){
		setFlashPlayer(sFileUrl);
	}
	
	setPlayerContainer(sPlayerContainerClass, sPlayerContainerID,sPlayerWrapperClass, sPlayerWrapperID);

	setPlayerIcon(sFileUrl, sTitle);
	
	closeContainer();
	var oMP3 = ({object: sPlayerObjectID, file: sFileUrl, playing:false});
	aPlayers.push(oMP3);
	try{
	  document.getElementById(sPlayerObjectID).focus();
	  document.getElementById(sPlayerObjectID).blur();
    }catch(e){
	  eval(sPlayerObjectID).focus();
	  eval(sPlayerObjectID).blur();
	}
}

function setFlashPlayer(sFile){
	aPlayerFlashVar.addVar('file', sFile);

	if (AC_FL_RunContent == 0) {
		alert("This page requires AC_RunActiveContent.js.");
	} else {
		AC_FL_RunContent(
			'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0',
			'width', iPlayerWidth,
			'height', iPlayerHeight,
			'src', sPlayerSrc,
			'quality', 'high',
			'pluginspage', 'http://www.macromedia.com/go/getflashplayer',
			'align', 'middle',
			'play', 'true',
			'loop', 'true',
			'scale', 'noscale',
			'wmode', 'transparent',
			'devicefont', 'false',
			'class', 'mp3Player',
			'id', sPlayerSrc,
			'name', sPlayerSrc,
			'menu', 'false',
			'allowFullScreen', 'false',
			'allowScriptAccess','always',
			'movie', sPlayerSrc,
			'salign', 'lt',
			'flashVars', aPlayerFlashVar.getVars()
			); //end AC code
	}
}

function setPlayerContainer(sContClass, sContID,sWrapClass, sWrapID){
  sHtml = '<div class="' + sContClass + '" id="' + sContID + '">' + "\r";
  sHtml += '<div class="' + sWrapClass + '" id="' + sWrapID + '">' + "\r";
  document.write(sHtml);
}

function closeContainer(){
  sHtml = '</div>' + "\r";
  sHtml += '</div>' + "\r";
  document.write(sHtml);
}

function setPlayerIcon(sUrl, sTitle){
  sHtml = '<div class="play" id="' + sPlayerObjectID + '" onClick="playMusic(this)"><span>' + sTitle + '</span></div>';
  document.write(sHtml);
}

Array.prototype.addVar = function(sName, sValue){
  this.push({name: sName, value:sValue});
}

Array.prototype.getVars = function(){
  sGet = '';
  for(i = 0; i < this.length; i++){
    if(i>0){
      sGet+= "&";
    }
    sGet += this[i].name + '=' + this[i].value;
  }
  return sGet; 
}

Array.prototype.inArray = function(sVal){
  bResp = false;
  for(i = 0; i < this.length; i++){
    bResp = (this[i] == sVal)?true:false;
  }
  return bResp;
}

Array.prototype.resetPlayer = function(sVal){
  sFile = 'stop';
  sH = '';
  for(i = 0; i < this.length; i++){
	if(sVal == this[i].object && this[i].playing == false){
	  document.getElementById(this[i].object).className = "stop";
	  sFile = this[i].file;
	  this[i].playing = true;
	  
    } else {
	  document.getElementById(this[i].object).className = "play";
	  this[i].playing = false;
	}
	sH += "\r\n" + this[i].playing + " + " + this[i].object + " + " + this[i].file;
  }
  //alert(sH);
  return sFile;
}

Array.prototype.setPlaying = function(sFile){
  sH = '';
  for(i = 0; i < this.length; i++){
	if(sFile == this[i].file){
	  document.getElementById(this[i].object).className = "stop";
	  this[i].playing = true;
    } else {
	  document.getElementById(this[i].object).className = "play";
	  this[i].playing = false;
	}
	sH += "\r\n" + this[i].playing + " + " + this[i].object + " + " + this[i].file;
  }
  //alert(sH);
  return;
}

Array.prototype.getURL = function(sID){
  for(i = 0; i < this.length; i++){
	if(sID == this[i].object){
	  return this[i].file;
    }
  }
  return false;
}


function isReady() {
  return jsReady;
}
function pageInit() {
  jsReady = true;
}
function player(movieName) {
  if (navigator.appName.indexOf("Microsoft") != -1) {
	 return window[movieName];
  } else {
	 return document[movieName];
  }
}
function playMusic(obj) {
    file = aPlayers.resetPlayer(obj.id); 
	if(file == 'stop'){
      player(sPlayerSrc).stopMusic();
	} else {
	  player(sPlayerSrc).playMusic(file);
	}
}
function showPlaying(sFile) {
  aPlayers.setPlaying(sFile);
}
function pauseMusic() {
  aPlayers.resetPlayer(1);
}