﻿
var timeOutID;
var PlayerRetryCount = 0;
var PlayerObj;
var timerPlayer;



function setPlayerObj(){
    
    //if (browserType == "IE"){  
        PlayerObj = document.getElementById('VideoPlayer');
        //alert('setPlayerObj: Her skal der være et object: ' + PlayerObj);
        //alert('setPlayerObj: Her skal der være noget andet: '+ PlayerObj.controls);            
    //}else{
    //    
    //    PlayerObj = document.VideoPlayer;
    //}
    if (PlayerObj == null)
    {
        timeOutID = setInterval('initPlayerObj()',500);
    }
}

function initPlayerObj(){    
    if(PlayerObj!=document.getElementById('VideoPlayer')){                
        PlayerObj = document.getElementById('VideoPlayer');
    }else{
        
        clearInterval(timeOutID);
    }    
    PlayerRetryCount++;
    if (PlayerRetryCount>100){
        clearInterval(timeOutID);
    }
    //alert('initPlayerObj: Her skal der være et object: ' + PlayerObj);
    //alert('initPlayerObj: Her skal der være noget andet: '+ PlayerObj.controls);
}
//*******************************//
// Function til flere tekster i  //
// afspilningsdiv                //
//*******************************//

var VideoTitle = "";
var CopyrightStr = "Forsvarskanalen © 2007"

var tempCounter = 0;

function SetAfspilningsDiven()
{
    tempObj = document.getElementById('afspilningDiv')
    if (tempCounter>2)
        tempCounter = 0
        
    if (tempObj)
    {
        switch(tempCounter)
        {
            case 0:
                tempObj.innerHTML = CopyrightStr;
            break;    
            
            case 1:
                if (VideoTitle != "")
                    tempObj.innerHTML = VideoTitle;
                else
                {
                    tempObj.innerHTML = currentQualityStr;
                    tempCounter += 1
                }
            break;
            
            default:
                tempObj.innerHTML = currentQualityStr;
            break;
        }
        tempCounter += 1;    
    }
    
}

setInterval('SetAfspilningsDiven()',5000);

// *********************** //
// EVENTS state, bufferígn //
// *********************** //
function stateEvent(state)
{
    if (browserType == "Firefox")
    {
        PlayerObj.PlayState = state;
    }
    
    //alert('PlayerObj: ' + PlayerObj.PlayState + ' state: ' + state);    
    switch (state){	   
	    case 1:
		    // Playback stopped
		    
		    updatePlayPauseView();
		    document.getElementById('afspilningDiv').innerHTML = "Afspilning stoppet";
		  
		    if (browserType == "IE"){
		        toggleTeaser('');	  
                toggleVideoLayer("none");
            }
            
            
            toggleIndexlist("none");
            //changeIndexViewState("off"); 
            
            newCommercial();
            toggleReklamer('');   
            
            toggleSlideShow("none");
            resetSlideShow();                     
            
		    break;
    		
	    case 2:
		    // Pause				   
		    document.getElementById('afspilningDiv').innerHTML = "Pause";
		    break;

	    case 3: 
	        // alert(state);
	        
		    // Playing		    
		    if (!timerPlayer){
		       timerPlayer = setInterval('showTime()',500);
		    }
		    
		    // validateMute();
		    
		    toggleBuffering("none");
		    
		    updatePlayPauseView();
		    document.getElementById('afspilningDiv').innerHTML = "Afspiller " + currentQualityStr;
		    StartSlideShow();
		    
		    toggleTeaser("none");
            toggleVideoLayer('');
            
            showIndex();
            //showSlideShow();
		    break;

	    case 8:
		    // Playback is ended
		    updatePlayPauseView();		    
		    break;    	  
	}
}

function bufferEvent(Start)
{
    //alert(Start);
    // Event som optræder 2 gange i en stream load.
	// 1: Buffer start (Start==true)
	// 2: Buffer end (Start==false) 			
	if(Start)
    {
        document.getElementById('afspilningDiv').innerHTML = "Buffering...";
        
        toggleVideoLayer("none");
        toggleBuffering('');        
        
	    //TimerHtml("0%");	
	    //window.clearInterval(buffer);
	    //buffer =  window.setInterval("UpdateBP()", 100)
    }
    else
    { 	                         
    }
}  

// ********** //
// EVENTS END //
// ********** //

function loadMovie(p_url, p_edlDoc, assetObj){
    
    // assetObj har følgende properties:
    // assetId;
    // layoutFolderId;
    // languageId;
    // customer;
    // transcodeDestinationId;
    // targetmediaformatid;
    // metafieldLabelId;
    
    document.getElementById('tbCurrentVideo').value = assetObj.assetId + ";" + assetObj.layoutFolderId;
    // Split edl listen op, i en index liste og en slideshow liste
    parseEdlList(p_edlDoc);
    
    //alert(videoBasePath + p_url);
    PlayerObj.URL = videoBasePath + p_url;
    //alert('doPlay: ' + PlayerObj.controls);
    doPlay();
    
    validateMute();
    
    // Sæt timeren igang
    timerPlayer = setInterval('showTime()',500);
}

function loadDeepLinkMovie(){
    document.getElementById('tbCurrentVideo').value = _assetId + ";" + _layoutFolderId; 

    parseEdlList(setXmlDoc(_deepEdl));    
        
    PlayerObj.URL = _deepUrl;
    //alert('loadDeepLinkMovie: ' + PlayerObj);    
    doPlay();
    
    validateMute();
    
    // Sæt timeren igang
    timerPlayer = setInterval('showTime()',500);
}

function loadLiveStream(p_streamUrl){   

    parseEdlList(setXmlDoc(""));  

    PlayerObj.URL = p_streamUrl;
    //alert('loadLiveStream: ' + PlayerObj.Url);    
    doPlay();
    
    validateMute();
    
    // Sæt timeren igang
    timerPlayer = setInterval('showTime()',500);
}

function setXmlDoc(result)
{
    var parser;
    var XMLDoc;
     
	try{
        parser = new DOMParser()
        XMLDoc = parser.parseFromString(result,"text/xml")        
    }
    catch(e){
        try{
           XMLDoc = new ActiveXObject("Msxml2.DOMDocument.4.0");
           XMLDoc.loadXML(result)
        }
        catch(e)
        {
            try{
                XMLDoc = new ActiveXObject("Msxml2.DOMDocument.3.0");
                XMLDoc.loadXML(result)
            }
            catch(e){
                XMLDoc = new ActiveXObject("Microsoft.XmlDOM");
                XMLDoc.loadXML(result)
            }
        }
        if (document.implementation && document.implementation.createDocument) {
           XMLDoc = document.implementation.createDocument("","doc",null);
            XMLDoc.load(result) 
        }        
    }    
    
    return XMLDoc;
}

function showTime(){   

	var _state = PlayerObj.PlayState;	
	if (_state == 2 || _state == 1 ||_state == 0 || _state == 3)
	{
	    if (timeFormat = 1)
	    {
	        document.getElementById('videoTime').innerHTML = SecToMMSSFF(PlayerObj.controls.currentPosition);
	    }else{
		    document.getElementById('videoTime').innerHTML = SecToMMSSFF(PlayerObj.controls.currentPosition)+ " / " + SecToMMSSFF(PlayerObj.currentMedia.duration);
		}
	}
	
	if (doSlider != false){
	    UpdateSlider();
	}
	
	if (doSlideShow){
	    UpdateSlideShow();
	}
}

function UpdateSlider()
{
    
    //alert(document.getElementById('VideoPlayer').controls.currentPosition + "      " + PlayerObj.controls.currentPosition);


	intPos = PlayerObj.controls.currentPosition;
	intLength = PlayerObj.currentMedia.duration;
	intPercent = Math.round((intPos * 100) / intLength);

    if (window.n_activeSliderId == null) {
        A_SLIDERS[0].f_setValue(intPercent);
    }
}

// Hopper til et bestemt sted i medie filen.
function SetMediaPlayerPosition(intPosition)
{
	intLength = PlayerObj.currentMedia.duration;
	intPosition = Math.round(intLength * intPosition / 100);
	goToPosition(intPosition);
}

function goToPosition(sec){
    PlayerObj.controls.currentPosition = sec
    doPlay();
}

/////////////////////
// Buttonsfunction //
/////////////////////

function doPlayPause(){   
    var _state = PlayerObj.PlayState;
    if (_state == 3){
        PlayerObj.controls.pause();        
    }else{
        PlayerObj.controls.play();        
    }    
    updatePlayPauseView()
}

function updatePlayPauseView()
{ 
    var _state = PlayerObj.PlayState;
    if (_state == 3){  
        document.getElementById('play_btn').src = "App_Themes/fmc/images/mediaplayer/controls/pause_btn.gif";        
        document.getElementById('play_btn').title = "Pause";        
        
    }else{        
        document.getElementById('play_btn').src = "App_Themes/fmc/images/mediaplayer/controls/play_btn.gif";
        document.getElementById('play_btn').title = "Afspil";    
    }    
}

function doPlay(){
    //alert('doPlay: ' + PlayerObj.controls);
    PlayerObj.controls.play();
}

function doPause(){
    //alert('doPlay: ' + PlayerObj.controls);       
    PlayerObj.controls.pause();    
}

function doStop(){
    //alert('doPlay: ' + PlayerObj.controls);
    var _state = PlayerObj.PlayState;   
	if (_state == 2 || _state == 3)
	{	
        PlayerObj.controls.stop();
    }
    
}

function doFullscreenWMV(){
    var _state = PlayerObj.PlayState; 
	if (_state == 2 || _state == 3)
	{	
        PlayerObj.fullScreen = true;
    }
}

function validateMute(){    
    if (muteState){
            PlayerObj.settings.mute = true;        
    }else{
            PlayerObj.settings.mute = false;        
    }
}

var muteState = false;
function doMute(obj){
    if (PlayerObj.settings.mute){
        PlayerObj.settings.mute = false;        
        obj.className = "muteOff";
        muteState = false;
    }else{
        PlayerObj.settings.mute = true;
        obj.className = "muteOn";
        muteState = true;
    }    
}

function doMute2(obj){    
    if (PlayerObj.settings.mute){
        PlayerObj.settings.mute = false;
        obj.src = "App_Themes/fmc/images/mediaplayer/controls/muteOff_btn.gif";                
        obj.title = "Slå lyden fra";
          muteState = false;
    }else{
        PlayerObj.settings.mute = true;
        obj.src = "App_Themes/fmc/images/mediaplayer/controls/muteOn_btn.gif";                
        obj.title = "Slå lyden til";
        muteState = true;
    }    
}

function setVolume(intPercent){	    
	try
	{
		PlayerObj.settings.volume = intPercent;
	}
	catch(e)
	{
	}	
}

function prevIndex(){
    if (indexArray.length >0){
      num = indexArray.length;
      for (var i=(num-1); i>0; i--){
            var currPos = PlayerObj.controls.currentPosition;        
            if (currPos-1 > indexArray[i].position){
                goToPosition(indexArray[i].position);
                break;   
            }
            
        }  
    }
}

function nextIndex(){
    if (indexArray.length >0){
        for (var i=0; i<indexArray.length; i++){
            var currPos = PlayerObj.controls.currentPosition;        
            if (currPos < indexArray[i].position){
                goToPosition(indexArray[i].position);
                break;   
            }
            
        }
    }
}