function playerInit(){
gTracker          = new Tracker(document.getElementById("TrackerBar"));
gLastBuffer       = 0;
gBufferTimer      = null;
gPlayerElem       = document.getElementById("player");
gLoadingTextElem  = document.getElementById("loadingText");
MediaPlayer.attachEvent("PlayStateChange", doPlayStateChange);
setInterval(doTracking, 100);
}

function playerVisible() {
    return (gPlayerElem.style.visibility != "hidden");
}

function updateBufferingProgress() {
    if (MediaPlayer && MediaPlayer.network) {
        var progress = MediaPlayer.network.bufferingProgress;
        if (progress > gLastBuffer) {
            gLastBuffer = progress;
            setBufferingProgress(progress);
        }
    }
}

function setBufferingProgress(progress) {
    var msg = (progress != 100)
        ? ("\n\n\n\n\n\nHenter film...\n\n" + progress + "%")
        : ("\n\n\n\n\n\nStarter film...\n\n");
    document.getElementById("loadingText").innerText =  msg;
}

function doTracking() {
    if (! (MediaPlayer && MediaPlayer.currentMedia && MediaPlayer.controls))
        return;
    var dur = MediaPlayer.currentMedia.duration;
    if (dur == 0 || pos == 0) {
        gTracker.setPct(0);
        document.getElementById("StatusText").innerText = "";
    } else {
        var pct = 0;
        var pos = MediaPlayer.controls.currentPosition;
        pct = pos / dur * 100;
        gTracker.setPct(pct);

        document.getElementById("StatusText").innerText = formatSecs(pos) + " / " + formatSecs(dur);
    }
}

function doPlayStateChange(newState) {
    switch (newState){

    case 0: // Undefined
        showBackground();
        PauseBtn();
        break;
    
    case 1: // Stopped
        PauseBtn();
        clearBufferingTimer();
        showBackground();
        break;

    case 6: // Buffering
    case 7: // Waiting
        if (!gBufferTimer)
            gBufferTimer = setInterval(updateBufferingProgress, 100);
        showLoadingText();
        break;

    case 3: // Playing
        showPlayer();
        clearBufferingTimer();
        PlayBtn();
        break;

    case 10: // Ready - at the end of the playlist
        // showBackground();
        PauseBtn();
        break;
    }   
}

function formatClipDuration(clip) {
    var Duration = (clip.outTime - clip.inTime) / 1000;
    return formatSecs(duration);
}


function formatSecs(secs) {
    mins = parseInt(secs / 60);
    secs = parseInt(secs % 60);
    if (secs < 10) secs = "0" + secs;
    return "" + mins + ":" + secs;
}

function doTrackerClick() {
    if (MediaPlayer.CurrentMedia) {
        var trackerBg = document.getElementById("TrackerBg");
        var frac = event.offsetX / trackerBg.offsetWidth;
        MediaPlayer.controls.CurrentPosition = frac * MediaPlayer.CurrentMedia.Duration;
    }
}

function doStop() {
    showBackground();
    MediaPlayer.controls.stop();
}

function doPlay() {
      MediaPlayer.controls.play();
}

function setStyle(elem, prop, val) {
    eval("document.getElementById(elem).style." + prop + " = val");
}

function changeClass(elem, val) {
    document.getElementById(elem).className = val;
}

function showBackground() {
    gPlayerElem.style.visibility = "visible";
    hidePlayer();
    hideLoadingText();
}

function hideBackground() {
    gPlayerElem.style.visibility = "hidden";
}

function showLoadingText() {
    gLoadingTextElem.style.visibility = "visible";
    hideBackground();
    hidePlayer();
}

function hideLoadingText() {
    gLoadingTextElem.style.visibility = "hidden";
}

function showPlayer() {
    gPlayerElem.style.visibility    = "visible";
    MediaPlayer.style.visibility    = "visible";
    hideLoadingText();
    hideBackground();
}

function hidePlayer() {
    MediaPlayer.style.visibility              = "hidden";
}

function clearBufferingTimer() {
    if (gBufferTimer != null) {
        clearInterval(gBufferTimer);
        gBufferTimer = null;
        gLastBuffer = 0;
        setBufferingProgress(0);
    }
}

function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

var preloadFlag = false;

function updateWeek(myTarget) {
      if (myTarget.id!=document.all.SelectedWeek.value){
            if(document.all.SelectedWeek.value!=0){
                  oldWeek   = document.all.SelectedWeek.value;
                  document.getElementById(oldWeek).src = "images/sydinvest_"+oldWeek+"_kort.gif";
            }
            document.all.SelectedWeek.value = myTarget.id;
      }
}

function changeImages(imgId, newImg) {
	if (imgId!=document.all.SelectedWeek.value) {
            document.images(imgId).src = newImg;
	}
}

function Tracker(barElem) {
    this.barElem         = barElem;
    this.setPct = function(percentage) {
	this.barElem.style.width = (percentage + "%");
    }

}

function playmedia(media){
      MediaPlayer.url = media;
      doPlay()
}

function PauseBtn(){
      MediaPlayer.controls.pause()
      BtnPause.style.display = 'none';
      BtnPlay.style.display = '';
}

function PlayBtn(){
      doPlay()
      BtnPlay.style.display = 'none';
      BtnPause.style.display = '';
}

function SoundOnBtn(){
      MediaPlayer.Settings.Mute = true;
      BtnSoundOn.style.display = 'none';
      BtnSoundOff.style.display = '';
}

function SoundOffBtn(){
      MediaPlayer.Settings.Mute = false;
      BtnSoundOff.style.display = 'none';
      BtnSoundOn.style.display = '';
}
