﻿
      // some variables to save
      var currentPosition;
      var currentVolume;
      var currentItem;
      var previousItem;
      
      function SyncTreeView(){
        for(var i=0;i<playList.length;i++)if(playList[i][1]==ItemType.VIDEO && playList[i][3]==currentItem) {
            SelectItem(i,true);
        }
      }
      
      function ShowClip(aClip){
        sendEvent('playitem',aClip+1)
      }

      // these functions are caught by the JavascriptView object of the player.
      function sendEvent(typ,prm) { thisMovie("mpl").sendEvent(typ,prm); };
      function getUpdate(typ,pr1,pr2,pid) {
      	if(typ == "time") { currentPosition = pr1; }
      	else if(typ == "volume") { currentVolume = pr1; }
      	else if(typ == "item") { 
          currentItem = pr1-1;
          if(!useBumper && currentItem<0) ShowClip(0)
          if(currentItem>=0)useBumper=false;
          if(previousItem!=currentItem){
        	 SyncTreeView();
        	 previousItem=currentItem;
      	 }
        }
      	var id = document.getElementById(typ);
      	id.innerHTML = typ+ ": "+Math.round(pr1);
      	pr2 == undefined ? null: id.innerHTML += ", "+Math.round(pr2);
      	if(pid != "null") {
      		document.getElementById("pid").innerHTML = "(received from the player with id <i>"+pid+"</i>)";
      	}
      };
      
      // These functions are caught by the feeder object of the player.
      function loadFile(obj) { thisMovie("mpl").loadFile(obj); };
      function addItem(obj,idx) { thisMovie("mpl").addItem(obj,idx); }
      function removeItem(idx) { thisMovie("mpl").removeItem(idx); }
      
      // This is a javascript handler for the player and is always needed.
      function thisMovie(movieName) {
          if(navigator.appName.indexOf("Microsoft") != -1) {
      		return window[movieName];
      	} else {
      		return document[movieName];
      	}
      };
      
      
      /// ************************* TREEVIEW
      
    var ItemType = { MENU:0, VIDEO:1 };
    var playList;
    var SelectedItem=null;
    var SelectedClip=null;
    
    function BuildTreeView(aPlayList,aTarget){
      var output="";
      var currentMenu=0;
      var prevSubmenu = false;
      var depth=0;
      playList=aPlayList;
      for(var i=0;i<aPlayList.length;i++){

        var myParent=aPlayList[i][0];
        if(myParent<currentMenu && prevSubmenu){
          output+="</div>";
          depth--;
          prevSubmenu=false;
        }

        if(aPlayList[i][1]==1){
          output+="<div id='treeViewItem_"+i+"' class='TreeViewItem' onmouseover='if(SelectedItem!="+i+")this.className=\"TreeViewItem_o\";' onmouseout='if(SelectedItem!="+i+")this.className=\"TreeViewItem\";' onclick='SelectItem(" + i + ")'>" + aPlayList[i][2] + "</div>";
        }

        if(myParent==-1 && depth>0)while(depth>0){output+="</div>";depth--;}
        
        if(aPlayList[i][1]==0){
          currentMenu=i;
          prevSubmenu=true;
          output+="<div id='treeViewSubMenuItem_"+i+"' class='TreeViewSubMenuItem' onmouseover='if(SelectedItem!="+i+")this.className=\"TreeViewSubMenuItem_o\";' onmouseout='if(SelectedItem!="+i+")this.className=\"TreeViewSubMenuItem\";' onClick='SelectItem(" + i + ")'>" + aPlayList[i][2] + "</div>" + 
                    "<div id='treeViewSubMenu_"+i+"' class='TreeViewSubMenu'>";
          depth++;
        }   
      }
      while(depth>0){output+="</div>";depth--;}
      document.getElementById(aTarget).innerHTML=output;
    }
                   
    function SelectItem(aId, dontUpdateClip){
      var selected=aId
      if(playList[selected][1]==ItemType.VIDEO)SelectedClip=selected;
      
      for(var i=playList.length-1;i>=0;i--){
        if(playList[i][1]==ItemType.VIDEO){
          if(i==selected){
            document.getElementById("treeViewItem_"+i).className="TreeViewItem_a"   // select item
            if( playList[i][0]>-1) selected=playList[i][0];  //select parent
            if(dontUpdateClip!=true)ShowClip(playList[i][3])
          }else{
            if(i==SelectedClip)
                document.getElementById("treeViewItem_"+i).className="TreeViewItem_a"     // select item
            else
                document.getElementById("treeViewItem_"+i).className="TreeViewItem"     // reset item
          }
        }
        if(playList[i][1]==ItemType.MENU){
          if(i==selected){
            document.getElementById("treeViewSubMenu_"+i).className="TreeViewSubMenu_a";   //select menu
            document.getElementById("treeViewSubMenuItem_"+i).className='TreeViewSubMenuItem_a';
            if(!isIE){
                var subItemLength=GetSubItemLength(i);
                document.getElementById("treeViewSubMenu_"+i).style.height=subItemLength;   //select menu
                document.getElementById("treeViewSubMenu_"+i).style.overflow="visible";   //select menu
            }
            if( playList[i][0]>-1) selected=playList[i][0];  //select parent    
          }else{
            document.getElementById("treeViewSubMenu_"+i).className="TreeViewSubMenu";   //reset menu
            document.getElementById("treeViewSubMenuItem_"+i).className='TreeViewSubMenuItem';
            if(!isIE){
                document.getElementById("treeViewSubMenu_"+i).style.height="0px";   //select menu
                document.getElementById("treeViewSubMenu_"+i).style.overflow="hidden";   //select menu
            }
          } 
        }
      }
      SelectedItem=aId;
    }
    
    function GetSubItemLength(item)
    {
        var l=0;
        for(var i=0;i<playList.length;i++){
            if(playList[i][0]==item){
                if(playList[i][1]==ItemType.MENU){
                    l+=menu_submenu_height;
                    l+=GetSubItemLength(i);
                }else
                    l+=menu_item_height;
            }
        }
        return l; 
    }
    
   function scroll(aSpeed){
      clearTimeout(myTimeId);
      if(paused && speed>10) speed--;
      if(!paused && speed<50) speed++;
      if(aSpeed==0){speed=0;}
      if(speed>0){
        var myObj0=document.all["Ticker1"]
        var myObj1=document.all["Ticker2"]
        if(divActive0){
          if(divActive1 && myObj1.style.pixelLeft< myObj0.style.pixelLeft)
            myObj0.style.pixelLeft=myObj1.style.pixelLeft+myObj1.clientWidth + scrollWidth/2;
          else
            myObj0.style.pixelLeft=myObj0.style.pixelLeft-1;
          if (myObj0.style.pixelLeft+myObj0.clientWidth<0) divActive0=false;
          if (myObj0.style.pixelLeft+myObj0.clientWidth<scrollWidth && !divActive1){
            divActive1=true;
            document.all["Ticker2"].style.pixelLeft=scrollWidth-20;
          }
        }
        if(divActive1){
          if(divActive0 && myObj0.style.pixelLeft< myObj1.style.pixelLeft)
            myObj1.style.pixelLeft=myObj0.style.pixelLeft+myObj0.clientWidth + scrollWidth/2; 
          else
            myObj1.style.pixelLeft=myObj1.style.pixelLeft-1;
          if (myObj1.style.pixelLeft+myObj1.clientWidth<0) divActive1=false;
          if (myObj1.style.pixelLeft+myObj1.clientWidth<scrollWidth && !divActive0){
            divActive0=true;
            document.all["Ticker1"].style.pixelLeft=scrollWidth-20;
          }
        }
      }
      myTimeId=setTimeout("scroll()",20);
    }
    
    function showNeedToKnow(){
        thisMovie("mpl").sendEvent("pause");
        document.getElementById("NeedToKnowDiv").style.visibility="visible";
        document.getElementById("playerDiv").style.visibility="hidden";   
    }
    
    function showVideo(){
        thisMovie("mpl").sendEvent("play");
        document.getElementById("NeedToKnowDiv").style.visibility="hidden";
        document.getElementById("playerDiv").style.visibility="visible";
        
    }
    
    function correctPNG(){
	    for(var i=0; i<document.images.length; i++){
	      var img = document.images[i]
	      var imgName = img.src.toUpperCase()
	      if (imgName.substring(imgName.length-3, imgName.length) == "PNG"){
	        // if <IE 5.5  -> img.src=imgName.substring(0, imgName.length-3)+"gif";
	        img.outerHTML = "<span style=\"width:" + img.width + "px; height:" + img.height + "px;"  + ";filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'" + img.src + "\', sizingMethod='scale');\"></span>" 
	        i--;
	      }
	    }
    }
    try{
	    window.attachEvent("onload", correctPNG);
    }catch(e){}