﻿// Removes IE activation on all activeX objects
objects = document.getElementsByTagName("object");
for (var i = 0; i < objects.length; i++)
{
    objects[i].outerHTML = objects[i].outerHTML;
}

// Generelle funktioner
var indexArray = new Array();
var slideArray = new Array();

function getValue(node){
    if(node){
        return node.text;
    }
    return ""
}

function parseEdlList(p_edlDoc){
    
    indexArray = new Array();
    slideArray = new Array();
    var indexCount = 0;
    var slideshowCount = 0;
    
    if (browserType == "IE"){    
        var objNodeList = p_edlDoc.selectNodes("//edl/item");   
        for(var i=0;i<objNodeList.length;i++)
        {
            var _starttime = getValue(objNodeList[i].selectSingleNode('starttime'));
            var _endtime = getValue(objNodeList[i].selectSingleNode('endtime'));
            var _comment = getValue(objNodeList[i].selectSingleNode('comment'));
            var _visible = getValue(objNodeList[i].selectSingleNode('visible'));
            var _targetId = getValue(objNodeList[i].selectSingleNode('target_dataid'));        
                           
            var _secStart = Math.floor(MMSSFFToFrames(_starttime)/25);
            var _secEnd = Math.floor(MMSSFFToFrames(_endtime)/25);
            
            // SlideShow List
            if (_targetId != "" && _targetId != "0"){        
            
                var _type = getValue(objNodeList[i].selectSingleNode('value/@type'));
                var _value = getValue(objNodeList[i].selectSingleNode('value'));
            
                slideArray[slideshowCount] = {start:_secStart,end:_secEnd,assetid:_targetId,type:_type,content:_value};
                slideshowCount++;
            }
                   
            // Index list
            if (_visible.toLowerCase() == "true"){
               indexArray[indexCount] = {index:_comment,position:_secStart}; 
               indexCount++;
            } 
        }
    }else{
        // FireFox, parser xml på en anden måde.
    }
    
    clearSlideShowProcedure();
    
    totalSlides = slideArray.length;       
    if (totalSlides>0){       
        doSlideShow = true;
    }else{        
        doSlideShow = false;
    }      
    //showSlideShow();
    
    // INIT Index List
    if (indexArray.length > 0){
        setupIndexList();
    } 
}

function setupIndexList(){    
    var outputStr = "<table cellspacing='0' cellpadding='0' style='width:100%;'>";
    for (var i=0; i<indexArray.length; i++){        
        outputStr += "<tr><td align='left' style='width:100%' class='indexListmouseOut' onmouseover='this.className=\"indexListmouseOver\"' onmouseout='this.className=\"indexListmouseOut\"' onclick='javascript:goToPosition("+ indexArray[i].position +")'>";
        outputStr += "<table cellspacing='0' cellpadding='0' style='width:100%;'>";
                    
        outputStr += "<tr><td align='left' style='width:15%' xclass='indexListTd'>" + SecToMMSSFF(indexArray[i].position) + "</td>";
        outputStr += "<td align='left' style='width:85%;padding-left:4px;' xclass='indexListTd'>" + indexArray[i].index + "</td></tr>";

        outputStr += "</table>";
        outputStr += "</td></tr>";        
    }
    outputStr += "</table>";
    document.getElementById('indexList').innerHTML = outputStr;
    //toggleIndexlist('');
    //toggleReklamer("none");
}

var currentSlideIndex = 0;
var showingIndex = -1;
var totalSlides = 0;
var slideShowContentDivId = "slideshowContent";

function resetSlideShow(){
	document.getElementById(slideShowContentDivId).innerHTML = "";
    currentSlideIndex = 0;
    showingIndex = -1;	
}

function clearSlideShowProcedure() {
	document.getElementById(slideShowContentDivId).innerHTML = "";
}
	
function UpdateSlideShow() {
	var blnHaltProcedure = false;
	if (currentSlideIndex <= totalSlides && totalSlides > 0) {
	    if (PlayerObj && PlayerObj.PlayState == 3) {
		    if (currentSlideIndex>=totalSlides){
		        currentSlideIndex--;
		        blnHaltProcedure=true;
		    }
    		
		    if (PlayerObj.controls.currentPosition >= slideArray[currentSlideIndex].end) {
			    document.getElementById(slideShowContentDivId).innerHTML = "";
			    toggleSlideShow("None");
			    currentSlideIndex++;		
			    if (blnHaltProcedure) { clearSlideShowProcedure(); }		
		    }
    		
		    if (currentSlideIndex < totalSlides) {
			    if (PlayerObj.controls.currentPosition >= slideArray[currentSlideIndex].start) {			        		    			        
			        if (currentSlideIndex != showingIndex){			           
			            if (slideArray[currentSlideIndex].type == "Image"){
			                document.getElementById(slideShowContentDivId).innerHTML = "<img src='" + imageBasePath + slideArray[currentSlideIndex].content + "'>";
			            }else if (slideArray[currentSlideIndex].type == "Html"){
			                document.getElementById(slideShowContentDivId).innerHTML = slideArray[currentSlideIndex].content;	
			            }
			            showingIndex = currentSlideIndex;
			            toggleSlideShow('');
			        }
			    }
		    }	
	    }
	} else {
		clearSlideShowProcedure();
	}		
}

function FindCurrentSlideShowIndex(intSec) {
	for (var j=0; j<totalSlides; j++) {
		if (slideArray[j].start <= intSec <= slideArray[j].end) {
			currentSlideIndex = j;
			return null;			
		}
	}
}	
	
function StartSlideShow() {    
	if (totalSlides > 0 && PlayerObj) {	
		FindCurrentSlideShowIndex(PlayerObj.controls.currentPosition);
    }
}

// ******* //
// Quality //
// ******* //
var speedImage = document.getElementById('SpeedImg');
var currentQualityStr = "";

if (currentQuality){
    setQuality(currentQuality);
}
///FUSK til 1MB
function setQuality(id){ 
   
    switch(id){
        case "kval128":
            speedImage.src = "App_Themes/fmc/images/speed_1.gif";                       
            currentQualityStr = "128 kbit";
            xslClassLib.transcodeDestinationId = 24;
            xslClassLib.targetmediaformatid = video128MediaFormatId;
            createCookie("speed","92160",10);            
            break;
        case "kval256":
            speedImage.src = "App_Themes/fmc/images/speed_2.gif";                       
            currentQualityStr = "256 kbit";
            xslClassLib.transcodeDestinationId = 24;
            xslClassLib.targetmediaformatid = video256MediaFormatId;
            createCookie("speed","225280",10);
            break;
        case "kval512":
            speedImage.src = "App_Themes/fmc/images/speed_3.gif";           
            currentQualityStr = "512 kbit";
            xslClassLib.transcodeDestinationId = 24;
            xslClassLib.targetmediaformatid = video512MediaFormatId;
            createCookie("speed","491520",10);
            break;
        case "kval1024":
            speedImage.src = "App_Themes/fmc/images/speed_4.gif";           
            currentQualityStr = "1 mbit";
            xslClassLib.targetmediaformatid = video1024MediaFormatId;
            xslClassLib.transcodeDestinationId = videoBasePath1mb;
            createCookie("speed","1048576",10);
            break;        
    }
    
    document.getElementById('afspilningDiv').innerHTML = currentQualityStr;
    
    if (document.getElementById('tbCurrentVideo')){ 
        var currAssetPlaying = document.getElementById('tbCurrentVideo').value;
        if (currAssetPlaying != ""){            
            xslClassLib.assetId = currAssetPlaying.split(";")[0];
            xslClassLib.layoutFolderId = currAssetPlaying.split(";")[1];
            xslClassLib.SetMediaUrlInPlayer();
        }
    }
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires;
}




// **************** //
//TOGGLE DIV LAYERS //
// **************** //
function toggleIndexlist(state){
   
    document.getElementById('indexList').style.display = state;
}

function toggleReklamer(state){
    document.getElementById('reklamerDiv').style.display = state;
}

function toggleTeaser(state){
    document.getElementById('TeaserLayer').style.display = state;
}

function toggleVideoLayer(state){
    if (browserType == "IE"){
        document.getElementById('VideoPlayer').style.display = state;
    }
}

function toggleSlideShow(state){    
    document.getElementById('SlideshowPanel').style.display = state;
}

function toggleBuffering(state){   
    if (browserType == "IE"){     
        toggleTeaser("none");
        document.getElementById('BufferingLayer').style.display = state;
    }
}

function showIndex(){
    if (indexArray.length > 0){
        toggleIndexlist('');
        // toggleReklamer("none")
                        
        // changeIndexViewState("on");
    }else{
        toggleIndexlist("none");
        toggleReklamer('')   
        
        // changeIndexViewState("off");        
    }
}

function changeIndexViewState(state){
    if (state=="off"){
        document.getElementById('prevstep_btn').className = "indexPrevOffBtn";
        document.getElementById('prevstep_btn').src = "App_Themes/fmc/images/mediaPlayer/controls/prevStepOff_btn.gif";
        document.getElementById('prevstep_btn').title = "";
        
        document.getElementById('nextstep_btn').className = "indexNextOffBtn";
        document.getElementById('nextstep_btn').src = "App_Themes/fmc/images/mediaPlayer/controls/nextStepOff_btn.gif";
        document.getElementById('nextstep_btn').title = "";
    }else{
        document.getElementById('prevstep_btn').className = "indexPrevBtn";
        document.getElementById('prevstep_btn').src = "App_Themes/fmc/images/mediaPlayer/controls/prevStep_btn.gif";
        document.getElementById('prevstep_btn').title = "Forrig index";
        
        document.getElementById('nextstep_btn').className = "indexNextBtn";
        document.getElementById('nextstep_btn').src = "App_Themes/fmc/images/mediaPlayer/controls/nextStep_btn.gif";
        document.getElementById('nextstep_btn').title = "Næste index";
    }
}

function showSlideShow(){
    if (doSlideShow){        
        toggleSlideShow('');
    }else{
        toggleSlideShow("none");
    }
}

// konventerere sekunder om til en tidsstreng mm:ss
function SecToMMSSFF(SecIn)
{
	var HH,MM,SS,FF;
	if (SecIn > 0) 
	{
		HH = Math.floor(SecIn/3600);
		MM = Math.floor((SecIn - HH*3600)/60);
		SS = Math.floor((SecIn - HH*3600)-(MM*60));
		FF = Math.round((SecIn - MM*60 - HH*3600 - SS)/0.04);
		if (FF > 24) { FF = 0;SS+=1;}		
	} else
	{
		HH=0;MM=0;SS=0;FF=0;
	}
	if (HH < 10) { HH = '0' + HH;}
	if (MM < 10) { MM = '0' + MM;}
	if (SS < 10) { SS = '0' + SS;}
	if (FF < 10) { FF = '0' + FF;}
	return (MM+':'+SS);
}

function MMSSFFToFrames(strTimeCode)
{
	
	var intFrames = 0;
	var arrTime;
	arrTime = strTimeCode.split(":");
	intFrames = parseFloat(arrTime)  * 90000;
	intFrames = parseFloat(intFrames) + (parseFloat(arrTime[1]) * 1500);
	intFrames = intFrames + (parseFloat(arrTime[2]) * 25);
	intFrames = intFrames + parseFloat(arrTime[3]);
	return intFrames;
	
}