audioPlayer = function(player_id)
{
    this.tracks = new Array();
    this.currentTrack = false;
    this.nextTrack = false;
    this.firstTrack = 1;
    this.init = false;
    this.object = false;
    this.player_div = document.getElementById('audioPlayer_'+player_id);

    /**
     * Initialisation
     */
    this.onInit = function()
    {
        this.position = 0;
        //this.getElementsByClassName(this.player_div, 'controls')[0].style.visibility = "visible";
        this.object = document.getElementById('myFlash');
        this.object.width = 1;
        this.object.height = 1;
        this.loaded = 1;
    };

    this.onInitFail = function()
    {
        document.getElementById('audioPlayerObject_'+player_id).style.display = "none";
    };

    this.getElementsByClassName = function (oElm, strClassName)
    {
        if (document.getElementsByClassName)
        {
            return oElm.getElementsByClassName(strClassName);
        }

        var strTagName = "*";
        var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
        var arrReturnElements = new Array();

        strClassName = strClassName.replace(/\-/g, "\\-");

        var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
        var oElement;

        for (var i=0; i<arrElements.length; i++)
        {
            oElement = arrElements[i];
            if(oRegExp.test(oElement.className))
            {
                arrReturnElements.push(oElement);
            }
        }

        return (arrReturnElements);
    };

    this.humanTime = function(milli)
    {
        var min = Math.floor(milli / (1000 * 60));
        var sec = Math.floor(milli / 1000) % 60;
        return ( (min < 10) ? "0" + min : min ) + ":" + ( (sec < 10) ? "0" + sec : sec );
    };

    this.onID3 = function() { };

    this.onUpdate = function()
    {
        //this.player_div.className = this.player_div.className.replace(/[ ]*(paused|playing|waiting|$)/, this.isPlaying ? " playing" : " paused");

        document.getElementById("progress_play").style.width = Math.round((this.position / this.duration) * 100) + "%";
        //this.player_div.getElementsByTagName("h4")[0].innerHTML = this.isPlaying ? "Lecture - " + this.humanTime(this.position) + " / " + this.humanTime(this.duration) : "En pause";
    };

    this.onSoundComplete = function()
    {
        this.next();
    };

    this.play = function(Id)
    {
        if (!this.object) return true;


        if (Id == false)
        {
            this.nextTrack = 1
        }
        else
        {
          this.nextTrack = Id
        }
        
        if (this.nextTrack != this.currentTrack)
        {
          this.object.SetVariable("method:setUrl", this.tracks[this.nextTrack][0]);
        } 
        
        this.currentTrack= this.nextTrack;

                
         this.object.SetVariable("method:play", "");
         document.getElementById("play").style.display="none";
         document.getElementById("pause").style.display="block";
            
            
            

        return false;
    };
    
    this.pause = function(Id)
    {
        if (!this.object) return true;



           
                this.object.SetVariable("method:pause", "");
                document.getElementById("play").style.display="block";
                document.getElementById("pause").style.display="none";
            

            
            

        return false;
    };

    this.next = function()
    {

        next =  this.currentTrack + 1 ;
        if (this.currentTrack + 1 > 2) {
          next = 1;
        }

        this.play(next);
    };

    this.previous = function()
    {
      
      prev =  this.currentTrack - 1 ;
      if (this.currentTrack - 1 < 1) {
        prev = 2;
      }

        this.play(prev);
    };

    this.setPosition = function(e, o)
    {
        if (!this.object) return false;

        var curleft = 0;
        var curwidth = o.offsetWidth;

        if (o.offsetParent) {
            while (o.offsetParent) {
                curleft += o.offsetLeft;
                o = o.offsetParent;
            }
        }
        else if (o.x) curleft += o.x;

        var percent = ((e.clientX - curleft) / curwidth);
        var pos = Math.round(this.duration * percent);
        this.object.SetVariable("method:setPosition", pos);
    };
    
    this.setVolume = function(vol)
    {
        var pos = vol;
        if(pos <=100)
        {
          this.object.SetVariable("method:setVolume", pos);
        }
        
    };
};