﻿<!--

var _jre = false;
var _ocx = false;
var _noPlayer = false;
var Platform = PLATFORM_WINDOWS;
var _loaderCalled = false;

var AppletName = 'appletPlayer';
var OCXName = 'appletPlayer';

// this sets the default player embedding option
var PlayInBrowser = true;

// PlayerWidth and PlayerHeight control the width and height of the 
// player and background image when embedded in a browser
var PlayerWidth = 512;
var PlayerHeight = 384;

// PlaybackWidth and PlaybackHeight allow separate control of the player window
// when in windowed mode (not embedded). Also controls video surface area when embedded.
// Defaults to PlayerWidth,PlayerHeight when set to -1
var PlaybackWidth = -1;
var PlaybackHeight = -1; 

// various browser/java specific workaround flags
var JavaVersion = "";
var _browserIsIE7 = (navigator.appVersion.indexOf("MSIE 7.")==-1) ? false : true;
var _browserIsSafari3 = false;
var _javaIs16 = false;

var _macLoadedPercentage = 0;
var _statusCheckTimer = 0;
var _loadCheckTimer = 0;

var tailSlash = location.href.substring (0,location.href.length).lastIndexOf('/');
var tailQuest = location.href.substring (0,location.href.length).lastIndexOf('?');
if (tailQuest != -1 && tailQuest < tailSlash) {
    tailSlash = location.href.substring(0, tailQuest).lastIndexOf('/');
}
var eoURL = tailSlash;

// override BasePath and/or AppletPath to change sdk location
// BasePath is location of player component libs, and may be remote url
// AppletPath is location of player applet/ocx, and should be a relative path, on same domain as host page
var BasePath = unescape(location.href.substring(0, eoURL));
// var BasePath = "http://videos.01digital.com.br/sdk3517";
var AppletPath = "player"; 
// var AppletPath = "http://videos.01digital.com.br/sdk3517/player"; 

var PLATFORM_OTHER        = 0;
var PLATFORM_WINDOWS      = 1;
var PLATFORM_LINUX        = 2;
var PLATFORM_MACOSX_PPC   = 3;
var PLATFORM_MACOSX_INTEL = 4;
var PLATFORM_MAC          = 5;
var PLATFORM_SAFARI_3     = 6;

if (navigator.platform.indexOf("Win32") != -1)
    Platform = PLATFORM_WINDOWS;
else if (navigator.platform.indexOf("Linux") != -1)
    Platform = PLATFORM_LINUX;
else if (navigator.userAgent.indexOf("Mac OS X") != -1) {
    if(navigator.appVersion.indexOf("Safari") != -1 && navigator.appVersion.indexOf("Version/3") != -1)
        _browserIsSafari3 = true;
    if(navigator.platform.indexOf("PPC") != -1)
        Platform = PLATFORM_MACOSX_PPC;
    else if(navigator.platform.indexOf("Intel") != -1)
        Platform = PLATFORM_MACOSX_INTEL;
}
else if (navigator.userAgent.indexOf("MSIE 5.2") != -1)
    Platform = PLATFORM_MACOSX_PPC;
else if (navigator.platform.indexOf("Mac") != -1)
    Platform = PLATFORM_MAC;
else
    Platform = PLATFORM_OTHER;

function addEvent(event, elm, handler, bubble) 
{
    if (elm.addEventListener)
        elm.addEventListener(event, handler, bubble);
    else if (elm.attachEvent)
        elm.attachEvent("on"+event, handler);
}

function delEvent(event, elm, handler, bubble) 
{
    if (elm.removeEventListener)
        elm.removeEventListener(event, handler, bubble);
    else if (elm.detachEvent)
        elm.detachEvent("on"+event, handler);
}

function getPlayerObject()
{
    if(_ocx)
        return document.getElementById(OCXName);
    else {
        if(Platform == PLATFORM_MACOSX_PPC || Platform == PLATFORM_MACOSX_INTEL)
            return document[AppletName];
        else
            return document.getElementById(AppletName);
    }
}

function getInspector()
{
    return document.getElementById("inspector");
}

function insertInspectorAppletTag()
{
    // this logic assumes that if the user is running any browser other than IE7 we at least try
    // creating the inspector applet
    // else if we are using IE7, only try the applet tag if we can successfully instantiate the
    // sun jre active control

    if(_browserIsIE7) {
        try {
            // only use the jre object tag if we are using IE7 on something other than XP (that is, Vista or Server 2003)

            if(navigator.userAgent.indexOf("NT 5.1") == -1) {
                document.write("<object MAYSCRIPT=true classid='clsid:8AD9C840-044E-11D1-B3E9-00805F499D93' ID='inspector' NAME='inspector' width = '0' height = '0' style='position:absolute'>");
                document.write("<param name = 'code' value = 'InspectorApplet.class' archive = '"+AppletPath+"/InspectorApplet.jpeg' >");
                document.write("<param name = 'codebase' value = '"+AppletPath+"' >"); // This codebase must be AppletPath
                document.write("</object>");
            }
            else {
                document.write("<applet ID='inspector' NAME='inspector' codebase='"+AppletPath+"' code='InspectorApplet.class' archive = 'InspectorApplet.jpeg' width = '0' height = '0' style='position:absolute'></applet>");
            }
        }
        catch(e) {
        }
    }
    else
        document.write("<applet ID='inspector' NAME='inspector' codebase='"+AppletPath+"' code='InspectorApplet.class' archive = 'InspectorApplet.jpeg' width = '0' height = '0' style='position:absolute'></applet>");
}

function getPageElement(elementID)
{
    return document.getElementById(elementID);
}

function getRefToDiv(divID)
{
    if( document.layers )                                       //Netscape layers
        return document.layers[divID];
    if( document.getElementById )                               //DOM; IE5, NS6, Mozilla, Opera
        return document.getElementById(divID);
    if( document.all )                                          //Proprietary DOM; IE4
        return document.all[divID];
    if( document[divID] )                                       //Netscape alternative
        return document[divID];

    return false;
}

function startViaPopup(url, windowMode)
{
    window.open("launchclip.html?clipToPlay=" + url + "&windowMode=" + windowMode,
                "",
                "location=no, menubar=no, toolbar=no, status=no, width = 200, height = 30");
}

function PlayerInstanceOptions()
{
    this._url = "";
    this._xml = "";
    this._width = (PlaybackWidth == -1) ? PlayerWidth : PlaybackWidth;
    this._height = (PlaybackHeight == -1) ? PlayerHeight : PlaybackHeight;
    this._startFrame = 0;
    this._endFrame = 0;
    this._showEndPrompt = false;
    this._prebufferMS = 4000;
    this._inWindow = true;
    this._embedded = PlayInBrowser;
	this._escapeExitFullscreen = true;
    this._showSplash = true;
    this._splashDelay = 0;
    this._clientID = "";
    this._backgroundURL = BasePath + "/images/orientedplayerbg.jpeg"; // set _backgroundURL to "" for popup window (non embedded) playback with no background image
    this._pauseBarDisplay = 0;
    this._skinDisplay = 0;
    this._seekable = true;
    this._autoPlayLiveStream = false;
    this._params = "";
    //this._endScreenURL = "";
    this._backgroundColour = "";
    this._isOCX = false;
    

    this.playStream = function() {
        try {
            if(playerFinishedLoading()) {
                // do this here as well to work around jre 1.4.0.1 bugs

                onPlayerLoadComplete(); // ensure load has finished
            
                var playerObject = getPlayerObject();
            
                playerObject.terminate();

                if(this._inWindow)
                    playerObject.setFullscreenViewMode(0);
                else
                    playerObject.setFullscreenViewMode(1);
                
                playerObject.setSeekable(this._seekable==true);
                playerObject.setPauseBarDisplay(validateInt(this._pauseBarDisplay,0));
                playerObject.setSkinDisplay(validateInt(this._skinDisplay,0));
                playerObject.setShowSplashScreen(this._showSplash==true);
                playerObject.setPlaybackDims(validateInt(this._width,640), validateInt(this._height,480));	
                playerObject.setEmbedded(this._embedded==true);
                playerObject.setShowEndPrompt(this._showEndPrompt==true);
                playerObject.setStartFrame(validateInt(this._startFrame,0));
                playerObject.setEndFrame(validateInt(this._endFrame,0));
                playerObject.setPrebufferMS(validateInt(this._prebufferMS,4000));
                playerObject.setSplashDelay(validateInt(this._splashDelay,0));
                playerObject.setAutoPlayCompletedLiveStream(this._autoPlayLiveStream==true);
				playerObject.setEscapeExitFullscreen(this._escapeExitFullscreen==true);

                if(this._clientID == undefined) {
                    this._clientID = "";
                }				            
                if(this._params == undefined) {
                    this._params = "";
                }
                if(this._url == undefined) {
                    this._url = "";
                }
                if(this._xml == undefined) {
                    this._xml = "";
                }
				
                playerObject.setClientID(this._clientID);
                playerObject.setPlaybackParams(this._params);

                if(this._url != "") {
                    playerObject.setMediaURL(this._url);
                } else if(this._xml != "") {
                    playerObject.setPlaylistXML(this._xml);
                }

                // call asynchronously to avoid GDI thread deadlocks...(really)
                var callstring = "getPlayerObject().playClip()";
                setTimeout(callstring, 200);
            
                playerObject = null; // clear object
            }
            else
                alert("The Video Player has not finished loading");
        }
        catch(except) {
            alert("The Video Player has not finished loading");
        }
    }

    this.setOptions = function(URL, inWindow, startFrame, endFrame, prebufferMS, splashDelay, showEndPrompt, embedded, clientID, params) 
    {
        this._url = URL;
        this._inWindow = inWindow;
        this._startFrame = startFrame;
        this._endFrame = endFrame;
        this._prebufferMS = prebufferMS;
        this._splashDelay = splashDelay;
        this._showEndPrompt = showEndPrompt;
        this._embedded = embedded;
        this._clientID = clientID;
        this._params = params;
    } 
}

function playPressedFull(URL, inWindow, startFrame, endFrame, prebufferMS, splashDelay, showEndPrompt, embedded)
{
    var instanceOptions = new PlayerInstanceOptions();
			
	instanceOptions._escapeExitFullscreen = embedded;

    instanceOptions.setOptions(URL, inWindow, startFrame, endFrame, prebufferMS, splashDelay, showEndPrompt, embedded, "", "");
    instanceOptions.playStream();
}

function playPressed(URL, inWindow)
{
    var instanceOptions = new PlayerInstanceOptions();

    instanceOptions._url = URL;
    instanceOptions._inWindow = inWindow;
	instanceOptions._escapeExitFullscreen = PlayInBrowser;

    instanceOptions.playStream();
}

// this is used for pay-per-view tracking

function playPressedPPV(URL, inWindow, startFrame, endFrame, prebufferMS, splashDelay, showEndPrompt, embedded, clientID)
{
    var instanceOptions = new PlayerInstanceOptions();
	
	instanceOptions._escapeExitFullscreen = embedded;

    instanceOptions.setOptions(URL, inWindow, startFrame, endFrame, prebufferMS, splashDelay, showEndPrompt, embedded, clientID, "");
    instanceOptions.playStream();
}

function playPressedOpenURL(URL, inWindow, PostPlayURL)
{
    var playParams = "";

    if (PostPlayURL!=undefined && PostPlayURL!="")
        playParams = "/RUN:\"" + PostPlayURL + "\"";

    var instanceOptions = new PlayerInstanceOptions();

    instanceOptions._url = URL;
    instanceOptions._inWindow = inWindow;
    instanceOptions._params = playParams;
	instanceOptions._escapeExitFullscreen = PlayInBrowser;

    instanceOptions.playStream();
}

function validateInt(val, defValue)
{		
    if (val==undefined || val=="")
        return defValue;

    return val;
}

function stopPressed()
{
    try {
        if(getPlayerObject() != null)
            getPlayerObject().terminate();
    }
    catch(e) {
    }
}

function pausePressed()
{
    try {
        if(getPlayerObject() != null && getPlayerObject().getPlaybackStatus() != 2) // paused
            getPlayerObject().pause();
    }
    catch(e) {
    }
}

function resumePressed()
{
    try {
        if(getPlayerObject() != null && getPlayerObject().getPlaybackStatus() == 2) // paused
            getPlayerObject().resume();
    }
    catch(e) {
    }
}

function fullscreenPressed()
{
    //getPlayerObject().setEscapeExitFullscreen(true);
    //getPlayerObject().toggleFullscreen();
    try {
        getPlayerObject().setFullscreenViewMode(1);
    }
    catch(e) {
    }
}

// notification method provided for OS X applet implementation to call as we can't
// use standard liveconnect calls from JavaScript to Java on that platform

function setMacLoadedPercentage(percent)
{
    _macLoadedPercentage = percent;
}

function playerFinishedLoading()
{
    if(_ocx) {
        try {
            if((getPlayerObject().LibDownloadProgress < 100) || (getPlayerObject().LibDownloadProgress == undefined)) {
                return false;
            }
            else
                return true;
        }
        catch(except) {
            return false;
        }
    }
    else {
        if(Platform == PLATFORM_MACOSX_PPC || Platform == PLATFORM_MACOSX_INTEL) {
            if(_macLoadedPercentage < 100)
                return false;
            else
                return true;
        }
        else {
            try {
                if(getPlayerObject().getLoadedPercentage() < 100) 
                    return false;
                else
                    return true;
            }
            catch(except) {
                return false;
            } 
        } 
    }
}

function loadProgressUpdater() {
    if(_ocx) {
        try {
            if(getPlayerObject().LibDownloadProgress < 100) {
                getRefToDiv("LoadProgress").style.display = "block";
                getRefToDiv("LoadProgress").innerHTML = getPlayerObject().LibDownloadProgress + "% loaded";
                //setTimeout("loadProgressUpdater()", 1000);
            }
            else
                getRefToDiv("LoadProgress").innerHTML = "";
        }
        catch(except) {
            getRefToDiv("LoadProgress").innerHTML = "";
        }
    }
    else {
        if(Platform == PLATFORM_MACOSX_PPC || Platform == PLATFORM_MACOSX_INTEL)
            getRefToDiv("LoadProgress").innerHTML = _macLoadedPercentage + "% loaded";
        else {
            try {
                if(getPlayerObject().getLoadedPercentage() < 100) {
                    getRefToDiv("LoadProgress").style.display = "block";
                    getRefToDiv("LoadProgress").innerHTML = getPlayerObject().getLoadedPercentage() + "% loaded";
                    //setTimeout("loadProgressUpdater()", 1000);
                }
                else
                    getRefToDiv("LoadProgress").innerHTML = "";
            }
            catch(except) {
                getRefToDiv("LoadProgress").innerHTML = "";
            }
        }
    }
}

function PreloadDismiss(controlName)
{
    var agent = navigator.userAgent.toLowerCase();

    // even if the final applet is supposed to have zero width and height, MSIE wont
    // recognise the applet tag if they are initially so
    // the solution is to create the original tag with a width and height >= 1 and then
    // later set their true width and height

    try {
        if(_loadCheckTimer != 0) {
            clearInterval(_loadCheckTimer);
            _loadCheckTimer = 0;
        }

        // do this here as well to work around jre 1.4.0.1 bugs
        if(_javaIs140_01==false) {
        // set the load complete now if we are running in any other environment
        // otherwise the various play methods will initialise it
        onPlayerLoadComplete();
        }
        
        // resize the player and its div		
        getPlayerObject().width = PlayerWidth;
        getPlayerObject().height = PlayerHeight;
        
        /*getRefToDiv("VideoPlayerSection").style.width = "" + PlayerWidth + "px";
        getRefToDiv("VideoPlayerSection").style.height = "" + PlayerHeight +"px";
        
        if(!_ocx)
            getPlayerObject().setSize(PlayerWidth, PlayerHeight);*/
    }
    catch(except) {
        // do nothing
    }

    getRefToDiv("PreloadMessage").style.display = "none";
}

function checkLoad()
{
    if(_noPlayer) {
    }
    else {
        if(_ocx) {
            try {
                if(getPlayerObject().LibDownloadProgress > 99) {
                    PreloadDismiss(OCXName);
                }
                else {
                    getRefToDiv("PreloadMessage").style.display = "block";
                    loadProgressUpdater();
                }
            }
            catch(except) {
                getRefToDiv("PreloadMessage").style.display = "block";
            }
        }
        else {
            try {
                // have to work around a new bug in Safari 1.3
                // which causes applet accesses to lock the browser
                // hard

                if(Platform == PLATFORM_MACOSX_PPC || Platform == PLATFORM_MACOSX_INTEL) {
                    if(_macLoadedPercentage > 99) {
                        PreloadDismiss(AppletName);
                    }
                    else if (_browserIsSafari3==false) {
                        loadProgressUpdater();
                    }
                }
                else {
                    if(getPlayerObject().getLoadedPercentage() > 99) {
                        PreloadDismiss(AppletName);
                    }
                    else {
                        getInspector().style.display = "none";
                        getRefToDiv("PreloadMessage").style.display = "block";
                        loadProgressUpdater();
                    }
                }
            }
            catch(except) {
                // the browser appears to handle the security cert acceptance process synchronously when using the JRE
                // so we don't have a problem with calling this while the dialog is pending, while the MSJVM does...
                // so in IE we should leave the progress indicator visible and keep the checking processing running while in mozilla
                // we should simply remove the progress indicator when we get here

                if(_jre) {
                     loadProgressUpdater();
                    PreloadDismiss(AppletName);
                }
                else {
                    // this bit is reached as part of the normal checking process when the client is running
                    // IE + MSJVM

                    getRefToDiv("PreloadMessage").style.display = "block";
                    loadProgressUpdater();
                }
            }
        }
    }
}

function delayedPlay(url, inWindow)
{
    if(_noPlayer) {
    }
    else {
        if (false && _ocx) {
            try {
                document[OCXName].MediaURL;
                playPressed(url, inWindow);
            }
            catch(except) {
                setTimeout("delayedPlay('" + url + "'," + inWindow + ")", 1000);
            }
        }
        else {
            try {
                // for older versions
                getPlayerObject().setMediaURL("");

                playPressed(url, inWindow);
            }
            catch(except) {
                setTimeout("delayedPlay('" + url + "'," + inWindow + ")", 1000);
            }
        }
    }
}


function videoPlayerLoaderAutoPlay(autoPlayURL, inWindow, embedded)
{
	callPlayerLoader();

    try {
		if (playerFinishedLoading()) {
			var instanceOptions = new PlayerInstanceOptions();
			
			instanceOptions._url = autoPlayURL;
			instanceOptions._inWindow = inWindow;
			instanceOptions._embedded = embedded;
			instanceOptions._escapeExitFullscreen = embedded;
			
			instanceOptions.playStream();
		}
		else {
			setTimeout("videoPlayerLoaderAutoPlay('" + autoPlayURL + "'," + inWindow + "," + embedded + ")", 1000);			
		}
	}
    catch(except) {
		setTimeout("videoPlayerLoaderAutoPlay('" + autoPlayURL + "'," + inWindow + "," + embedded + ")", 1000);					
    }
}

function videoPlayerLoaderAutoPlayFull(autoPlayURL, startFrame, endFrame, clientID, showEndPrompt, prebufferMS, inWindow, embedded, params)
{
	callPlayerLoader();	
	
    try {
		if (playerFinishedLoading()) {
			var instanceOptions = new PlayerInstanceOptions();
			
			instanceOptions._escapeExitFullscreen = embedded;
			
			instanceOptions.setOptions(autoPlayURL, inWindow, startFrame, endFrame, prebufferMS, instanceOptions._splashDelay, showEndPrompt, embedded, clientID, params);
			instanceOptions.playStream();
		}
		else {
			setTimeout("videoPlayerLoaderAutoPlayFull('" + autoPlayURL + "'," + startFrame + "," + endFrame + ",'" + clientID + "'," + showEndPrompt + "," + prebufferMS + "," + inWindow + "," + embedded + ",'" + params + "')", 1000);			
		}
	} 
	catch (except) {
		setTimeout("videoPlayerLoaderAutoPlayFull('" + autoPlayURL + "'," + startFrame + "," + endFrame + ",'" + clientID + "'," + showEndPrompt + "," + prebufferMS + "," + inWindow + "," + embedded + ",'" + params + "')", 1000);
	}			
}

function videoPlayerLoaderAutoPlayFromFrame(autoPlayURL, inWindow, withinBrowser, fromFrame)
{
	callPlayerLoader();
	
    try {
		if (playerFinishedLoading()) {
		    var instanceOptions = new PlayerInstanceOptions();
    	
	    	instanceOptions._url = autoPlayURL;
	    	instanceOptions._inWindow = inWindow;
		    instanceOptions._embedded = withinBrowser;
    		instanceOptions._startFrame = fromFrame;
			instanceOptions._escapeExitFullscreen = withinBrowser;
	    
		    instanceOptions.playStream();	
		}
		else {
	        setTimeout("videoPlayerLoaderAutoPlayFromFrame('" + autoPlayURL + "', " + inWindow + ", " + withinBrowser + ", " + fromFrame + ")", 1000);
		}
	} 
	catch (except) {
        setTimeout("videoPlayerLoaderAutoPlayFromFrame('" + autoPlayURL + "', " + inWindow + ", " + withinBrowser + ", " + fromFrame + ")", 1000);
	}		
}

function callPlayerLoader()
{
	if (_loaderCalled == false) {
		videoPlayerLoader();
		_loaderCalled = true;		
	}
}

function callPlayerLoaderFull(instanceOptions)
{
	if (_loaderCalled == false) {
		videoPlayerLoaderFull(instanceOptions);
		_loaderCalled = true;		
	}
}

function getPlayerScript(autoPlayURL, params)
{
    var instanceOptions = new PlayerInstanceOptions();

    instanceOptions._url = autoPlayURL;
    instanceOptions._params = params;

    return getPlayerScriptFull(instanceOptions);
}

function getPlayerScriptFull(instanceOptions)
{
    var OCXClassID = 'C9727B50-30CC-48dd-BB01-3EC43897E3B7';
    var OCXArchive = AppletPath +'/player_ocx.jpeg';
    var MSJVMArchive = AppletPath +'/player_jni_ms.jpeg';
    var MacJVMArchive = AppletPath +'/player_jni_osx.jpeg';
    var MacIA32JVMArchive = AppletPath +'/player_jni_osx_ia32.jpeg';
    var SunJVMArchive = AppletPath +'/player_jni_win32.jpeg';
    var SunJRE_1_6_Alternate = AppletPath +'/player_jni_win32.jar';   // j2se 1.6 doesn't check for certs in archives that don't
                                                               // end in .jar
    var hackWidth = 1;
    var hackHeight = 1;
    var ComponentLoaded = false;
    var FailPageURL = "http://www.blopix.com/lulaofilhodobrasil/nao_compativel.html";

    var BackgroundURL = instanceOptions._backgroundURL;

    var ResourcesURL = BasePath + "/images/resources.jpeg";
    var SplashURL = BasePath + "/images/splash.jpeg";
    var EndscreenURL = BasePath + "/images/endscreen.jpeg";
    var LibURL = BasePath + "/player/win32lib.jpeg";
    var MSLibURL = BasePath + "/player/win32lib.jpeg";
    var OCXLibURL = BasePath + "/player/ocxlib.jpeg";
    var OSXLibURL = BasePath + "/player/osxlib.jpeg";
    var OSXIA32LibURL = BasePath + "/player/osxia32lib.jpeg";
    
    var BackgroundColour = instanceOptions._backgroundColour;
    if (BackgroundColour=="") {
        BackgroundColour = document.bgColor;
    }
    if (BackgroundColour=="" && window.getComputedStyle) {
        BackgroundColour = getComputedStyle(document.body,"").getPropertyValue("background-color");
    }
    
    var SelectedLibURL = "";
    var isOCXLib = false;

    var browsername = navigator.appName;
    var TagValue = "";
    var EndTagValue = "";
    var agent = navigator.userAgent.toLowerCase();

    _noPlayer = false;

    if(getInspector() != null) {
        _ocx = false;

        try {
            if(getInspector().isMSJVM()) {
                _jre = false;
            }
            else {
                _jre = true;
            }

            // JavaVersion must be a string, else safari crashes
            JavaVersion = "" + getInspector().getJavaVersion();
            
            getInspector().style.display = "none";

            if(JavaVersion.indexOf("1.6") != -1) {
                SunJVMArchive = SunJRE_1_6_Alternate;
                _javaIs16 = true;
            } 
        }
        catch(except) {
            if(agent.indexOf("msie") != -1) {
                _jre = false;
                _ocx = true;
            }
            else
                _jre = true;
        }
    }
    else {
            _jre = false;
            _ocx = true;
    }

    if(Platform == PLATFORM_WINDOWS) {
        if(agent.indexOf("opera") != -1) {
            TagValue = getPlayerAppletScript(SunJVMArchive,AppletName,hackWidth,hackHeight);		
            SelectedLibURL = LibURL;
            EndTagValue = '</APPLET>';
        }
        else if(agent.indexOf("msie") != -1) {
            if(_jre) {
                // tag for Sun JRE in IE
                TagValue = getPlayerObjectScript("","8AD9C840-044E-11D1-B3E9-00805F499D93",AppletName,hackWidth,hackHeight);	
                TagValue = TagValue + ('<param name="code" value="PlayerApplet.class">');
                TagValue = TagValue + ('<param name="archive" value="' + SunJVMArchive + '">');
                TagValue = TagValue + ('<param name="java_arguments" value="-Dsun.java2d.d3d=false">');

                SelectedLibURL = LibURL;
                EndTagValue = '</object>';
            }
            else if(_ocx) {
                // tag for ocx
                TagValue = getPlayerObjectScript(OCXArchive,OCXClassID,OCXName,hackWidth,hackHeight);	
                TagValue = TagValue + ('<param name="cabinets" value="ocx_play.ocx">');
                TagValue = TagValue + ('<param name="cabbase" value="ocx_play.ocx">');				
                SelectedLibURL = OCXLibURL;
                isOCXLib = true;
                EndTagValue = '</object>';
            }
            else {
                // tag for MSJVM
                TagValue = getPlayerAppletScript(MSJVMArchive, AppletName, hackWidth, hackHeight);		
                TagValue = TagValue + ('<param name="cabinets" value="' + MSJVMArchive + '"> ');
                SelectedLibURL = MSLibURL;
                EndTagValue = '</APPLET>';
            }
        }
        else {
            // tag to setup applet in gecko (aka Mozilla) based browsers
            TagValue = getPlayerAppletScript(SunJVMArchive, AppletName, hackWidth, hackHeight);

            TagValue = TagValue + ('<param name="java_arguments" value="-Dsun.java2d.d3d=false">');

            SelectedLibURL = LibURL;
            EndTagValue = '</APPLET>';
        }
    }
    else if(Platform == PLATFORM_MACOSX_PPC) {
        TagValue = getPlayerAppletScript(MacJVMArchive,AppletName,PlayerWidth,PlayerHeight);//instanceOptions._width,instanceOptions._height);		
        SelectedLibURL = OSXLibURL;
        EndTagValue = 'Java is not enabled in your browser!</APPLET>';
    }
    else if(Platform == PLATFORM_MACOSX_INTEL) {
        TagValue = getPlayerAppletScript(MacIA32JVMArchive,AppletName,PlayerWidth,PlayerHeight);//instanceOptions._width,instanceOptions._height);		
        SelectedLibURL = OSXIA32LibURL;
        EndTagValue = 'Java is not enabled in your browser!</APPLET>';
    }
    else {
        //document.writeln('Unfortunately, the Operating System you are currently using is unsupported.');
        _noPlayer = true;
        location.href = FailPageURL;
    }
    
    if (SelectedLibURL!="") {
        // add common parameters
        TagValue = TagValue + ('<param name="SPLASH_URL" value="' + SplashURL + '">');
        TagValue = TagValue + ('<param name="RESOURCES_URL" value="' + ResourcesURL + '">');
        TagValue = TagValue + ('<param name="LIB_URL" value="' + SelectedLibURL + '">');
        TagValue = TagValue + ('<param name="BACKGROUND_URL" value="' + BackgroundURL + '">');
        TagValue = TagValue + ('<param name="BACKGROUND_COLOUR" value="' + BackgroundColour + '">');
        TagValue = TagValue + ('<param name="ENDSCREEN_URL" value="' + EndscreenURL + '">');
        
        instanceOptions._isOCX = isOCXLib;

        TagValue = TagValue + EndTagValue;

        return TagValue;
    }

    return "";
}

function getPlayerAppletScript(archive,name,width,height)
{
    var result = ('<APPLET MAYSCRIPT=true ');
    result = result + ('CODE="PlayerApplet.class" ');
    result = result + ('ARCHIVE="' + archive + '" ');
    result = result + ('ID="' + name + '" ');
    result = result + ('NAME="' + name + '" ');
    result = result + ('WIDTH="'+ width +'" ');
    result = result + ('HEIGHT="' + height + '" >');
    result = result + ('<param name="ARCHIVE" value="' + archive + '">');
    result = result + ('<param name="CODE" value="PlayerApplet.class">');
    // CODEBASE should be host page location, do not use BasePath or AppletPath
    result = result + ('<param name="CODEBASE" value="' + unescape(location.href.substring(0, eoURL)) +  '">');
    return result;
}

function getPlayerObjectScript(codebase,clsid,name,width,height)
{
    var result = ('<object MAYSCRIPT=true ');
    result = result + ('ID="' + name + '" ');
    if (codebase!="") {
        result = result + ('CODEBASE="' + codebase + '" ');
    }
    result = result + ('CLASSID="CLSID:' + clsid + '" ');
    result = result + ('ID="' + name + '" ');
    result = result + ('WIDTH="'+ width +'" ');
    result = result + ('HEIGHT="' + height + '" >');
    result = result + ('<param name="NAME" value="' + name + '">');
    result = result + ('<param name="ID" value="' + name + '">');	
    return result;
}

function videoPlayerLoader()
{
    // force safari 3 to properly lay the page out if it hasn't yet

    var ignoreMe = document.body.offsetWidth;

    try {
        getRefToDiv("LoadProgress").style.display = "block";
        getRefToDiv("LoadProgress").innerHTML = "0% loaded";
    }
    catch(except) {
    }

    _loadCheckTimer = setInterval("checkLoad()", 1000);
    
    getRefToDiv("VideoPlayerSection").innerHTML = getPlayerScript("", "");
}

function videoPlayerLoaderFull(instanceOptions)
{
    // force safari 3 to properly lay the page out if it hasn't yet

    var ignoreMe = document.body.offsetWidth;

    try {
        getRefToDiv("LoadProgress").style.display = "block";
        getRefToDiv("LoadProgress").innerHTML = "0% loaded";
    }
    catch(except) {
    }

    _loadCheckTimer = setInterval("checkLoad()", 1000);
    
    getRefToDiv("VideoPlayerSection").innerHTML = getPlayerScriptFull(instanceOptions);
}

function videoPlayerUnloader()
{
    try {
        if(_statusCheckTimer != 0) {
            clearInterval(_statusCheckTimer);
            _statusCheckTimer = 0;
        }
    }
    catch(except) {
    }
}

function insertVideoPlayer()
{
    insertInspectorAppletTag();
    // create the dom element the player will be put into
    document.write("<DIV id = VideoPlayerSection></DIV>");	
    addEvent("load", window, function() {videoPlayerLoader();}, true);
    addEvent("unLoad", window, function() {videoPlayerUnloader();}, true);
}

function insertVideoPlayerAutoPlay(autoPlayURL, inWindow, embedded)
{
    insertInspectorAppletTag();
    // create the dom element the player will be put into
    document.write("<DIV id = VideoPlayerSection></DIV>");	
    addEvent("load", window, function() {videoPlayerLoaderAutoPlay(autoPlayURL, inWindow, embedded);}, true);
    addEvent("unLoad", window, function() {videoPlayerUnloader();}, true);
}

function insertVideoPlayerAutoPlayFull(autoPlayURL, startFrame, endFrame, clientID, showEndPrompt, prebufferMS, inWindow, embedded, params)
{
    insertInspectorAppletTag();
    // create the dom element the player will be put into
    document.write("<DIV id = VideoPlayerSection></DIV>");	
    addEvent("load", window, function() {videoPlayerLoaderAutoPlayFull(autoPlayURL, startFrame, endFrame, clientID, showEndPrompt, prebufferMS, inWindow, embedded, params);}, true);
    addEvent("unLoad", window, function() {videoPlayerUnloader();}, true);
}

function insertVideoPlayerAutoPlayFromFrame(autoPlayURL, inWindow, withinBrowser, fromFrame)
{
	insertInspectorAppletTag();
	// create the dom element the player will be put into
	document.write("<DIV id = VideoPlayerSection></DIV>");	
	addEvent("load", window, function() {videoPlayerLoaderAutoPlayFromFrame(autoPlayURL, inWindow, withinBrowser, fromFrame);}, true);
	addEvent("unLoad", window, function() {videoPlayerUnloader();}, true);
}

function insertPreloadMessage(visible)
{
    if (visible==false) {
        document.write("<div id='PreloadMessage' style='display:none;'>");	
    }
    else {
        document.write("<div id='PreloadMessage' style='display:block;'>");	
    }
    document.write("<div id='LoadProgress'>&nbsp;</div>");	
    // document.write("<p>There may be a delay of several seconds until you see a security<br/>");	
    // document.write("prompt asking your permission to run the Video Streaming player.<br/><br/>");	
    // document.write("PLEASE AUTHORISE THE POP UP PROMPT</p></div>");	
    document.write("Aguarde.<br/>");
    document.write("Carregando componente de vídeo.<br/>");	
    document.write("POR FAVOR AUTORIZE A INSTALAÇÃO.<br><span id=ocxtxt></span></div>");
}

// -- player meta apis

function PageQuery(q)
{
    if(q.length > 1)
        this.q = q.substring(1, q.length);
    else
        this.q = null;

    this.keyValuePairs = new Array();
    if(q) {
        for(var i=0; i < this.q.split("&").length; i++) {
            this.keyValuePairs[i] = this.q.split("&")[i];
        } // for
    }

    this.getKeyValuePairs = function() { return this.keyValuePairs; }

    this.getValue = function(s) {
        for(var j=0; j < this.keyValuePairs.length; j++) {
            if(this.keyValuePairs[j].split("=")[0] == s)
                return this.keyValuePairs[j].split("=")[1];
        }

        return -1;
    } // inner func

    this.getParameters = function() {
        var a = new Array(this.getLength());

        for(var j=0; j < this.keyValuePairs.length; j++) {
            a[j] = this.keyValuePairs[j].split("=")[0];
        } // for

        return a;
    } // inner func

    this.getLength = function() { return this.keyValuePairs.length; }
}

function queryString(key)
{
    var page = new PageQuery(window.location.search);

    return unescape(page.getValue(key));
}

function resizePlayer(width, height)
{
    PlaybackWidth = width;
    PlaybackHeight = height;

    if(getPlayerObject().width > 0 && getPlayerObject().height > 0) {
        getPlayerObject().width = width;
        getPlayerObject().height = height;
        
        getRefToDiv("VideoPlayerSection").style.width = "" + width + "px";
        getRefToDiv("VideoPlayerSection").style.height = "" + height +"px";

        if(!_ocx)
            getPlayerObject().setSize(width, height);

        window.scroll(0, 0);

        getPlayerObject().setPlaybackDims(width, height);
    }
}

function seekToNow()
{
	getPlayerObject().seekToLiveStream();
}

function seekToFrame(frame)
{
    getPlayerObject().setCurrentFrame(parseInt(frame.value));
}

function seekToTime(time)
{
    getPlayerObject().setUTCStreamTime(parseInt(time.value));
}

function seekBackward(amount)
{
    getPlayerObject().seekBackward(amount);
}

function seekForward(amount)
{
    getPlayerObject().seekForward(amount);
}

function showFrameRate()
{
    alert(getPlayerObject().getFrameRate());
}

function setVolume(percent)
{
    getPlayerObject().setVolume(percent);
}

function volumeIncreasePressed()
{
    setVolume(getPlayerObject().getVolume() + 10);
}

function volumeDecreasePressed()
{
    setVolume(getPlayerObject().getVolume() - 10);
}


// --
// -- event callback functions
// --

// called while the media is loading, use customMovieLoadPercentChangedHandler instead
function onPlayerMovieLoadPercentChanged(percent)
{
}

// called when a registered event occurs
function onPlayerEvent(eventName, eventData)
{
}

// called when player finishes or quits
function onPlayerExited()
{
}

// called when media changes in a playlist
function onPlayerMediaChanged()
{
    // use getPlayerObject().getPlaylistSequenceID() and getPlayerObject().getPlaylistMediaURL()
}

// called when user switches windowed<->fullscreen
function onPlayerViewModeChanged()
{
}

// called when media or playlist finishes
function customEOSHandler()
{
}

// called when media or playlist finishes, use customEOSHandler instead
function onPlayerEOS()
{
    customEOSHandler();
}

// called when the player has finished loading, this will get called multiple times
function onPlayerLoadComplete()
{
}

//-->
