﻿var currentTrackID = 0;
var intervalID = 0;
var playLength = 30000;
var piIntervalID = 0;

function processPlayPause(trackID)
{
  if (currentTrackID != trackID)
  {
	  reset(currentTrackID);
      playAudio(trackID);
	  intervalID = setInterval ( "pauseAudio()", playLength );
  }
  else
  {
      pauseAudio();
  }
}

function playAudio(trackID)
{
  currentTrackID = trackID;
  var t = $("track"+trackID);
  t.style.backgroundPosition = "bottom"; // To get the Pause button
  getFlexApp('WidgetAudioPlayer').playAudio(trackID);
  
  indicateProgress(trackID);
}

function pauseAudio()
{
	//alert("pauseAudio");
	clearInterval(intervalID);
	clearInterval(piIntervalID);
	
	reset(currentTrackID);
    currentTrackID = 0;
	getFlexApp('WidgetAudioPlayer').pause();
}

function reset(trackID)
{
	if (trackID != 0)
	{
		var t = $("track"+trackID);
		t.style.backgroundPosition = "top"; // To get the Play button
		
		var progressIndicator = $("piContainer"+trackID);
        progressIndicator.style.visibility = "hidden";
	}
}

function indicateProgress(trackID)
{
    //alert("indicateProgress: " + trackID);
    var piID = "progress"+trackID;
    var piContainerID = "piContainer"+trackID;
    
    var progressIndicator = $(piContainerID);
    progressIndicator.style.visibility = "visible";

    myJsProgressBarHandler.setPercentage(piID,'0');
    
    var interval = playLength/100;
    piIntervalID = setInterval ( "incrementProgressIndicator()", interval); // every 500 milliseconds
    
}

function incrementProgressIndicator()
{
    var piID = "progress"+currentTrackID;
    myJsProgressBarHandler.setPercentage(piID,'+1');
}

// This function returns the appropriate reference, 
// depending on the browser.
function getFlexApp(appName)
{
  if (navigator.appName.indexOf ("Microsoft") !=-1)
  {
	return $(appName);
  } 
  else 
  {
    return document[appName];
  }
}