﻿// JScript File

var VolOnUrl = 'PSTV-VolOn.png';
var VolOffUrl = 'PSTV-VolOff.png';
var PlayButtonUrl = 'PSTV-Play.png';
var PauseButtonUrl = 'PSTV-Pause.png';
var VolBallUrl = 'PSTV-VolBall.png';
var VolSliderUrl = 'PSTV-VolBar.png';

var wmpfschecker = 0;

var MuteState = 0;
var PlayState = 0;
var PreMuteVol = 50;
var CurrentVolume = 50;

var volMin = 528;
var volLength = 37;
var volMax = volMin + volLength;

var posMin = 45;
var posLength = 200;
var posMax = posMin + posLength;

function InitialiseControls()
{
    VolOnUrl = ResourceUrl + 'PSTV-VolOn.png';
    VolOffUrl = ResourceUrl + 'PSTV-VolOff.png';
    PlayButtonUrl = ResourceUrl + 'PSTV-Play.png';
    PauseButtonUrl = ResourceUrl + 'PSTV-Pause.png';
    VolBallUrl = ResourceUrl + 'PSTV-VolBall.png';
    VolSliderUrl = ResourceUrl + 'PSTV-VolBar.png';
    
    SetVolume(CurrentVolume);
    SetVolumeSlider();
    
    if (EnableSearch)
    {
        getObj('V3SearchButton').style.display = '';
    }
    else
    {
        getObj('V3SearchButton').style.display = 'none';
    }
    
    if (EnableSettings)
    {
        getObj('V3SettingsButton').style.display = '';
    }
    else
    {
        getObj('V3SettingsButton').style.display = 'none';
    }
}

function writeHTML(a)
{
    document.write(a)
}

function _setText(itemtitle, newtext)
{
    
    if (document.getElementById(itemtitle) != null)
    {
        if (document.getElementById(itemtitle).innerText != null)
        {
            document.getElementById(itemtitle).innerText = newtext;
        }
        else if (document.getElementById(itemtitle).innerHTML != null)
        {
            document.getElementById(itemtitle).innerHTML = newtext;
        }
    }
}

function SetTitle(newtitle)
{
    _setText('ItemLabel', newtitle);
}

function SetTimePosition(newtime)
{
    _setText('TimeLabel', newtime);
}

function padZero(input)
{
    if (input < 10)
    {
        return '0' + String(input);
    }
    else
    {
        return input;
    }
}

function PauseVideo()
{
    if ((g_CurrentContentType == 'video') && (document.getElementById('VidPlayer') != null))
    {
        if (document.getElementById('VidPlayer').playState == 3)
        {
            document.getElementById('VidPlayer').controls.pause();
            document.getElementById('PlayPause').src = PlayButtonUrl;
            UpdateVolume();
        }
        else if (document.getElementById('VidPlayer').playState == 2)
        {
            document.getElementById('VidPlayer').controls.play();
            document.getElementById('PlayPause').src = PauseButtonUrl;
            UpdateVolume();
        }
    }
    else if (g_CurrentContentType == 'flvideo')
    {
        var flvid = getFlashMovieObject('FLVidPlayer');
        if (flvid != null)
        {
            var vidState = flvid.vidGetState();
            if (vidState == 3)
            {
                flvid.vidPause();
                document.getElementById('PlayPause').src = PlayButtonUrl;
                UpdateVolume();
            }
            else if (vidState == 2)
            {
                flvid.vidPlay();
                document.getElementById('PlayPause').src = PauseButtonUrl;
                UpdateVolume();
            }
            
        }
    }
    else if (g_CurrentContentType == 'rss')
    {
        if (PlayState == 1)
        {
            PlayState = 0;
            document.getElementById('PlayPause').src = PlayButtonUrl;
            if (timeFlipTimer != 0)
                window.clearTimeout(timeFlipTimer);
        }
        else if (PlayState == 0)
        {
            PlayState = 1;
            document.getElementById('PlayPause').src = PauseButtonUrl;
            RssShowTime(g_FlipperTime);
            g_FlipperTime = g_FlipperTime - 1;
            FlipTimer();
        }
        
    }
    else if ((g_CurrentContentType == 'image') || (g_CurrentContentType == 'url') || (g_CurrentContentType == 'html'))
    {
        if (PlayState == 1)
        {
            PlayState = 0;
            document.getElementById('PlayPause').src = PlayButtonUrl;
            if (timeFlipTimer != 0)
                window.clearTimeout(timeFlipTimer);
        }
        else if (PlayState == 0)
        {
            PlayState = 1;
            document.getElementById('PlayPause').src = PauseButtonUrl;
            g_FlipperTime = g_FlipperTime - 1;
            FlipTimer();
        }
        
    }
   
}

function FullScreenVideo()
{
    if ((document.getElementById('VidPlayer') != null))
    {
        if (document.getElementById('VidPlayer').playState == 3)
        {
            document.getElementById('VidPlayer').uiMode = 'mini';
            document.getElementById('VidPlayer').fullScreen = true;
            g_WMVFullScreen = true;
            document.getElementById('VidPlayer').stretchToFit = true;
            wmpfschecker = window.setTimeout('CheckFS();', 1000);
        }
    }
}

function CheckFS()
{
    if(wmpfschecker != 0)
    {
        window.clearTimeout(wmpfschecker);
        wmpfschecker = 0;
    }
    
    var wmpvidObj = document.getElementById('VidPlayer');
    if (wmpvidObj != null)
    {
        if (wmpvidObj.playState == 3)
        {
            if (wmpvidObj.fullScreen == false)
            {
                document.getElementById('VidPlayer').uiMode = 'none';
                g_WMVFullScreen = false;
            }
            else
            {
                wmpfschecker = window.setTimeout('CheckFS();', 1000);
            }
        }
    }
}


function UpdateVolume()
{
    try
    {
        var VidPlayer = document.getElementById('VidPlayer');
        if (VidPlayer != null)
        {
            if (VidPlayer.settings != null)
            {
                if(MuteState == 1)
	            {
	                document.getElementById('MuteButton').src = VolOffUrl;
                    document.getElementById('VolBall').style.display = 'none';
                    document.getElementById('VolSlider').style.display = 'none';
		            VidPlayer.settings.mute = true;
	            }
	            else if (MuteState == 0)
	            {
	                
	                document.getElementById('MuteButton').src = VolOnUrl; 
                    document.getElementById('VolBall').style.display = 'inline';
                    document.getElementById('VolSlider').style.display = 'inline';
                    VidPlayer.settings.mute = false;
                    SetVolume(CurrentVolume);
                    SetVolumeSlider();
                }
            }
        }
        else if (g_CurrentContentType == 'flvideo')
        {
            var flvid = getFlashMovieObject('FLVidPlayer');
            if (flvid != null)
            {
                if(MuteState == 1)
	            {
	                document.getElementById('MuteButton').src = VolOffUrl;
                    document.getElementById('VolBall').style.display = 'none';
                    document.getElementById('VolSlider').style.display = 'none';
                    SetFlashVolume(0);
	                
	            }
	            else if (MuteState == 0)
	            {
	                document.getElementById('MuteButton').src = VolOnUrl; 
                    document.getElementById('VolBall').style.display = 'inline';
                    document.getElementById('VolSlider').style.display = 'inline';
                    SetFlashVolume(CurrentVolume);
                    SetVolumeSlider();
	            }
            }
        }
        
        document.getElementById('MuteButton').style.display = 'inline';
    }
    catch(e)
    {
        //TODO: Do someothing useful with this knowledge        
        // alrt(e.message);
    }
}

function GoMute()
{

    if((document.getElementById('VidPlayer') != null))
    {
        if (document.getElementById('VidPlayer').settings.mute)
        {
            document.getElementById('VidPlayer').settings.mute = false;
            document.getElementById('MuteButton').src = VolOnUrl;
            document.getElementById('VolBall').style.display = 'inline';
            document.getElementById('VolSlider').style.display = 'inline';
	        MuteState = 0;
	        SetVolume(CurrentVolume);
            SetVolumeSlider();
        }
        else
        {
            document.getElementById('VidPlayer').settings.mute = true;
            document.getElementById('MuteButton').src = VolOffUrl;
            document.getElementById('VolBall').style.display = 'none';
            document.getElementById('VolSlider').style.display = 'none';
	        MuteState = 1;            
            
        }
    }
    else if (g_CurrentContentType == 'flvideo')
    {
        var flvid = getFlashMovieObject('FLVidPlayer');
        if (flvid != null)
        {
            if (MuteState == 1)
            {
                document.getElementById('MuteButton').src = VolOnUrl;
                document.getElementById('VolBall').style.display = 'inline';
                document.getElementById('VolSlider').style.display = 'inline';
                SetVolume(PreMuteVolume);
                SetVolumeSlider();
                MuteState = 0;
            }
            else
            {
            
                document.getElementById('MuteButton').src = VolOffUrl;
                document.getElementById('VolBall').style.display = 'none';
                document.getElementById('VolSlider').style.display = 'none';
                PreMuteVolume = GetFlashVolume();
                SetVolume(0);
                MuteState = 1;
            }
        }
    }
    else
    {
        if (MuteState == 1)
            {
                document.getElementById('MuteButton').src = VolOnUrl;
                document.getElementById('VolBall').style.display = 'inline';
                document.getElementById('VolSlider').style.display = 'inline';
                MuteState = 0;
            }
            else
            {
                
                document.getElementById('MuteButton').src = VolOffUrl;
                document.getElementById('VolBall').style.display = 'none';
                document.getElementById('VolSlider').style.display = 'none';
                MuteState = 1;
            }
    }
}

function GoMoreInfo()
{
    window.open('LinkUrl.aspx?ctid=' + g_CurrentContentID);
}

var nn6=document.getElementById&&!document.all;
var isdrag=false;
var posDrag = false;
var x,tx;
var dobj;

function selectmouse(e) 
{
  var fobj       = nn6 ? e.target : event.srcElement;
  var topelement = nn6 ? "HTML" : "BODY";
  
  if(fobj.id == 'VolBall' || fobj.id == 'PosBall')
  {

    isdrag = true;
    dobj = fobj;
    tx = parseInt(dobj.style.left+0);
    

    x = nn6 ? e.clientX : event.clientX;
    
    if (fobj.id == 'PosBall')
      {
        posDrag = true;
        var posR = document.getElementById('PosReading');
        posR.innerHTML = GetTimeInContent(tx);
        var newPos = (tx + 16);
        posR.style.left = newPos + 'px';
        posR.style.display = 'inline';
        
        if (g_CurrentContentType == 'flash')
        {
            posDrag = false;
            isDrag = false;
            return false;
        }
      }

    document.onmousemove=movemouse;
    return false;
  }
}

function movemouse(e)
{
  if (isdrag)
  {
    var newPos = nn6 ? tx + e.clientX - x : tx + event.clientX - x;
    if(dobj.id == 'VolBall')
    {
	    if (newPos < volMin) newPos = volMin;
	    if (newPos > volMax) newPos = volMax;
	}
	else if (dobj.id == 'PosBall')
    {
	    if (newPos < posMin) newPos = posMin;
	    if (newPos > posMax) newPos = posMax;
	    
	    var rPos = (newPos + 16);
	    document.getElementById('PosReading').style.left = rPos + 'px';
	    document.getElementById('PosReading').innerHTML = GetTimeInContent(newPos);
	}
    dobj.style.left = newPos + 'px';
    return false;
  }
}

function GetTimeInContent(newPos)
{
    var secs = Math.round((((((newPos - posMin) * 100) / (posMax - posMin)) * g_CurrentContentDuration) / 100));
    return padZero(Math.floor(secs / 60)) + ':' + padZero((secs % 60));
}

function dragEnd(e)
{
    if (isdrag)
    {
        isdrag=false;
        
        var newPos = nn6 ? tx + e.clientX - x : tx + event.clientX - x;
        
        if (dobj.id == 'PosBall')
        {
            var actualValue = (((newPos - posMin) * 100) / (posMax - posMin));
            SetPositionPercent(Math.round(actualValue));
	        posDrag = false;
	        document.getElementById('PosReading').style.display = 'none';
        }
        else if (dobj.id == 'VolBall')
        {
            var actualValue = (((newPos - volMin) * 100) / (volMax - volMin));
            CurrentVolume = Math.round(actualValue);
            PreMuteVolume = Math.round(actualValue);
		    SetVolume(CurrentVolume);
        }
    }
}

function CancelDrag()
{
    isdrag = false;
    posDrag = false;
}

function SetVolumeSlider()
{
    var sliderObject = document.getElementById('VolBall');
    
    if (document.getElementById('VidPlayer') != null)
    {
        var vol = document.getElementById('VidPlayer').settings.volume;
        sliderObject.style.left = volMin + ((vol / 100) * volLength) + 'px';
    }
    else if (g_CurrentContentType == 'flvideo')
    {
        var flvid = getFlashMovieObject('FLVidPlayer');
        if (flvid != null)
        {
            var vol = GetFlashVolume();
            sliderObject.style.left = volMin + ((vol / 100) * volLength) + 'px';
        }
    }
    else
    {
        var vol = CurrentVolume;
        sliderObject.style.left = volMin + ((vol / 100) * volLength) + 'px';
    }
}

function SetVolume(level)
{
    
    if(level < 0) level = 0;
    if(level > 100) level = 100;
    
    if (document.getElementById('VidPlayer') != null)
    {
    
        document.getElementById('VidPlayer').settings.volume = level;
    }
    else if (g_CurrentContentType == 'flvideo')
    {
    
        var flvid = getFlashMovieObject('FLVidPlayer');
    
        if (flvid != null)
        {
            SetFlashVolume(level);
        }
    }
    else
    {
        
    }
}

function GetFlashVolume()
{
    var flvid = getFlashMovieObject('FLVidPlayer');
    return (parseFloat(flvid.vidGetVolume()));
}

function SetFlashVolume(level)
{
    var flvid = getFlashMovieObject('FLVidPlayer');
    flvid.vidSetVolume(level);
}

function SetDragPosition(newPos)
{
    if (!posDrag)
    {
        var sliderObject = document.getElementById('PosBall');
        
        var newpos = posMin + ((newPos / 100) * posLength);
        sliderObject.style.left = newpos + 'px';
    }
}


function HideAllVideoControls()
{
    document.getElementById('FullScreenButton').style.display = 'none';
    document.getElementById('PlayPause').style.display = 'none';
    document.getElementById('MuteButton').style.display = 'none';
    document.getElementById('VolBall').style.display = 'none';
    document.getElementById('VolSlider').style.display = 'none';
    document.getElementById('PosBall').style.display = 'none';
    document.getElementById('FFButton').style.display = 'none';
    document.getElementById('RWButton').style.display = 'none';
}

function HideFullScreen()
{
    document.getElementById('FullScreenButton').style.display = 'none';
}

function ShowFullScreen(is_enabled)
{
    if (is_enabled)
    {
        document.getElementById('FullScreenButton').style.display = '';
        document.getElementById('FullScreenButton').style.cursor = 'pointer';
        document.getElementById('FullScreenButton').src = ResourceUrl + 'PSTV-FullScreen_En.png';
    }
    else
    {
        document.getElementById('FullScreenButton').style.cursor = 'default';
        document.getElementById('FullScreenButton').src = ResourceUrl + 'PSTV-FullScreen_Dis.png';
    }
       
}


        
function SetIE6Images()
{
    
    document.getElementById('GuideTopBar').style.backgroundImage = 'url(controls_IE6/Guide-Top.gif)';
    document.getElementById('GuideMiddleBar').style.backgroundImage = 'url(controls_IE6/Guide-mid.gif)';
    document.getElementById('GuideBottomBar').style.backgroundImage = 'url(controls_IE6/Guide-bottom.gif)';
    
    document.getElementById('ContactTopBar').style.backgroundImage = 'url(controls_IE6/Guide-Top.gif)';
    document.getElementById('ContactMiddleBar').style.backgroundImage = 'url(controls_IE6/Guide-mid.gif)';
    document.getElementById('ContactBottomBar').style.backgroundImage = 'url(controls_IE6/Guide-bottom.gif)';
}

var progMin = 0;
var progMax = 208;

var lastProgWidth = 0;

function SetProgressBarInPercent(progresspercent)
{
    var newProgWidth = Math.round(((progresspercent * (progMax - progMin)) / 100));
    if (newProgWidth != lastProgWidth)
    {
        lastProgWidth = newProgWidth;
        document.getElementById('ProgressBar').style.width = newProgWidth + 'px';
    }
}