<!--
    // (C) 2005 Vividas Technologies Pty Ltd
    var _jre = false;
    var Platform = PLATFORM_WINDOWS;
    var _ocx = false;
    var _noPlayer = false;
    var AppletName = 'appletPlayer';
    //var OCXName = 'ocxPlayer';
    var OCXName = 'appletPlayer';
    var PlayerWidth = 0;
    var PlayerHeight = 0;
    var PlaybackWidth = 0;        // these can be changed to allow
    var PlaybackHeight = 0;      // control of window mode playback size
    var PlayInBrowser = false;
    var JavaVersion = "";
    var _macLoadedPercentage = 0;
	var _IE7 = false;
	var _UpdateStarted = false;

    var _playlist = null;
    var _activePlaylistTrackIdx = 0;

    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 ClinetID = 0;

    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.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 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);
		} // if
	}

	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(_IE7) {
			try {
				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 = 'InspectorApplet.jpeg' >");
				document.write("</object>");
			}
			catch(e) {
			}
		}
		else
			document.write("<applet ID='inspector' NAME='inspector' 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 playPressedFull(URL, inWindow, startFrame, endFrame, prebufferMS, splashDelay, showEndPrompt, embedded)
    {
		try {
			PlayInBrowser = embedded;

			if(inWindow)
				getPlayerObject().setFullscreenViewMode(0);
			else
				getPlayerObject().setFullscreenViewMode(1);

			getPlayerObject().setPlaybackDims(PlaybackWidth, PlaybackHeight);
			getPlayerObject().setEmbedded(embedded);
			getPlayerObject().setShowEndPrompt(showEndPrompt);
			getPlayerObject().setStartFrame(startFrame);
			getPlayerObject().setEndFrame(endFrame);
			getPlayerObject().setPrebufferMS(prebufferMS);
			getPlayerObject().setMediaURL(URL);
			getPlayerObject().setSplashDelay(splashDelay);
			getPlayerObject().playClip();
		}
		catch(except) {
			alert("The Vividas Player has not finished loading");
		} // try - catch
    }

    function playPressed(URL, inWindow)
    {
    	playPressedFull(URL, inWindow, 0, 0, 5000, 0, false, PlayInBrowser);
    }

	// this is used for pay-per-view tracking

    function playPressedPPV(URL, inWindow, startFrame, endFrame, prebufferMS, splashDelay, showEndPrompt, embedded, clientID)
    {
		try {
			getPlayerObject().setClientID(clientID);

				if(inWindow)
                	getPlayerObject().setFullscreenViewMode(0);
                else
                	getPlayerObject().setFullscreenViewMode(1);

			getPlayerObject().setPlaybackDims(PlaybackWidth, PlaybackHeight);
			getPlayerObject().setEmbedded(embedded);
			getPlayerObject().setShowEndPrompt(showEndPrompt);
			getPlayerObject().setStartFrame(startFrame);
			getPlayerObject().setEndFrame(endFrame);
			getPlayerObject().setPrebufferMS(prebufferMS);
                        getPlayerObject().setMediaURL(URL);
			getPlayerObject().setSplashDelay(splashDelay);
                        getPlayerObject().playClip();
		}
		catch(except) {
			alert("The Vividas Player has not finished loading");
		} // try - catch
    }

    function playPressedOpenURL(URL, inWindow, PostPlayURL)
    {
		try {
			var width = PlaybackWidth;
			var height = PlaybackHeight;

			if(!PlayInBrowser && inWindow) {
				width = 640;
				height = 480;
			} // if

			if(false && _ocx) {

				// just test for presence first

				var test  = document[OCXName].MediaURL;

				if(test != null) {
					if(inWindow)
						document[OCXName].PlaybackParams = "/W /NOEND /size:" + width + "x" + height;
					else
						document[OCXName].PlaybackParams = "/NOEND";

					document[OCXName].PlaybackParams = " /RUN:\"" + PostPlayURL + "\"";

					document[OCXName].MediaURL = URL;

					document[OCXName].Play();
				}
				else {
				   	var callString = "playPressed('" + URL + "'," + inWindow + ")";
					setTimeout(callString, 500);
 				} // if
			}
			else {
				if(inWindow)
					getPlayerObject().setPlaybackParams("/W /NOEND /size:" + width + "x" + height + " /RUN:\"" + PostPlayURL + "\"");
				else
					getPlayerObject().setPlaybackParams("/NOEND" + " /RUN:\"" + PostPlayURL + "\"");

				getPlayerObject().setMediaURL(URL);
				getPlayerObject().playClip();
			} // if
		}
		catch(except) {
			alert("The Vividas Player has not finished loading");
		} // try - catch
    }

	function stopPressed()
	{
		getPlayerObject().terminate();
	}

	function pausePressed()
	{
		if(getPlayerObject().getPlaybackStatus() != 2) // paused
			getPlayerObject().pause();
	}

	function resumePressed()
	{
		if(getPlayerObject().getPlaybackStatus() == 2) // paused
			getPlayerObject().resume();
	}

	function fullscreenPressed()
	{
		getPlayerObject().setEscapeExitFullscreen(true);
		//getPlayerObject().toggleFullscreen();
		getPlayerObject().setFullscreenViewMode(1);
	}

	// 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 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 = "";
			} // try - catch
		}
		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 = "";
				} // try - catch
			} // if
		} // if
	}

	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 {
			getPlayerObject().width = PlayerWidth;
			getPlayerObject().height = PlayerHeight;
		}
		catch(except) {
			// do nothing
		} // try - catch

		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();
						setTimeout('checkLoad()', 1000);
					} // if
				}
				catch(except) {
					getRefToDiv("PreloadMessage").style.display = "block";
					setTimeout('checkLoad()', 1000);
				} // try - catch
			}
			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 {
    							getRefToDiv("PreloadMessage").style.display = "block";
    							loadProgressUpdater();
    							setTimeout('checkLoad()', 1000);
						} // if
					}
					else if(true || JavaVersion.indexOf("1.4.0_01") == -1) {
    						if(getPlayerObject().getLoadedPercentage() > 99) {
    							PreloadDismiss(AppletName);
    						}
    						else {
    							getInspector().style.display = "none";
    							getRefToDiv("PreloadMessage").style.display = "block";
    							loadProgressUpdater();
    							setTimeout('checkLoad()', 1000);
    						} // if
    					}
					else {
						loadProgressUpdater();
						PreloadDismiss(AppletName);
					} // if
				}
				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();
						setTimeout("checkLoad()", 500);
					} // if
				} // try - catch
			} // if
		} // if
	}

	function delayedPlay(url, inWindow) {
		if(_noPlayer) {
		}
		else {
			if (false && _ocx) {
				try {
					document[OCXName].MediaURL;
					playPressed(url, inWindow);
				}
				catch(except) {
					setTimeout("delayedPlay('" + url + "'," + inWindow + ")", 1000);
				} // try - catch
			}
			else {
				try {
					// for older versions
					getPlayerObject().setMediaURL("");

					playPressed(url, inWindow);
				}
				catch(except) {
					setTimeout("delayedPlay('" + url + "'," + inWindow + ")", 1000);
				} // try - catch
			} // if
		} // if
	}

	function vividasPlayerLoaderAutoPlay(autoPlayURL, inWindow, embedded)
	{
		var params = "";

		//params = "/NOEND /size:" + PlaybackWidth + "x" + PlaybackHeight

		vividasPlayerLoaderAutoPlayFull(autoPlayURL, 0, 0, "", false, 5000, inWindow, embedded, params);
	}

	function vividasPlayerLoaderAutoPlayFull(autoPlayURL, startFrame, endFrame, clientID, showEndPrompt, prebufferMS, inWindow, embedded, params)
	{
		setTimeout("checkLoad()", 1000);
		getRefToDiv('VividasPlayerSection').innerHTML = getPlayerScriptFull(autoPlayURL,
 																		  	params,
																			startFrame,
																	        endFrame,
																			clientID,
																			showEndPrompt,
																			prebufferMS,
																			inWindow,
																			 embedded);
	}

	function vividasPlayerLoaderAutoPlayFromFrame(autoPlayURL, inWindow, withinBrowser, fromFrame)
	{
		var params = "";

		PlayInBrowser = withinBrowser;

		if(inWindow)
			params = "/W /NOEND /size:" + PlayerWidth + "x" + PlayerHeight + " /FRAME:" + fromFrame
		else
			params = "/NOEND /size:" + PlayerWidth + "x" + PlayerHeight + " /FRAME:" + fromFrame

		setTimeout("checkLoad()", 1000);
		getRefToDiv('VividasPlayerSection').innerHTML = getPlayerScript(autoPlayURL, params);
	}

	function getPlayerScript(autoPlayURL, params)
	{
		return getPlayerScriptFull(autoPlayURL, params, PlaybackWidth, PlaybackHeight, 0, 0, "", false, 5000, false, false, params);
	}

	function generateAutoPlayParams(autoPlayURL, isOCX, width, height, startFrame, endFrame, clientID, showEndPrompt, prebufferMS, inWindow, embedded, otherParams)
	{
		var TagValue = "";

		if(autoPlayURL != null && autoPlayURL.length > 0) {
			TagValue = TagValue + ('<param name="AUTOPLAY_URL" value="' + autoPlayURL + '">');

			if(otherParams != null && otherParams.length > 0)
				TagValue = TagValue + ('<param name="AUTOPLAY_PARAMS" value="' + otherParams + '">');

			if(inWindow)
				TagValue = TagValue + ('<param name="FULLSCREEN_VIEWMODE" value="' + 0 + '">');
			else
				TagValue = TagValue + ('<param name="FULLSCREEN_VIEWMODE" value="' + 1 + '">');

			TagValue = TagValue + ('<param name="START_FRAME" value="' + startFrame + '">');
			TagValue = TagValue + ('<param name="END_FRAME" value="' + endFrame + '">');
			TagValue = TagValue + ('<param name="CLIENT_ID" value="' + clientID + '">');
			TagValue = TagValue + ('<param name="SHOW_END_PROMPT" value="' + showEndPrompt + '">');
			TagValue = TagValue + ('<param name="PREBUFFER_MS" value="' + prebufferMS + '">');
		}

		TagValue = TagValue + ('<param name="PLAYBACK_WIDTH" value="' + width + '">');
		TagValue = TagValue + ('<param name="PLAYBACK_HEIGHT" value="' + height + '">');

		if(embedded)
			TagValue = TagValue + ('<param name="EMBEDDED" value="true">');

		return TagValue;
	}

	function getPlayerScriptFull(autoPlayURL, params, startFrame, endFrame, clientID, showEndPrompt, prebufferMS, inWindow, embedded)
	{
	    var OCXClassID = '22055A00-27C0-438b-BF53-44E973A4C48A';
		var OCXArchive = 'player/vivid_ocx.jpeg';
		var MSJVMArchive = 'player/vivid_jni_ms.jpeg';
		var MacJVMArchive = 'player/vivid_jni_osx.jpeg';
        var SunJVMArchive = 'player/vivid_jni_win32.jpeg';
        var SunJRE_1_6_Alternate = 'player/vivid_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.vividas.com';

		var tailSlash = location.href.substring (0,location.href.length).lastIndexOf('/');
		var tailQuest = location.href.substring (0,location.href.length).lastIndexOf('?');

		var eoURL = 0;

		if(tailQuest != -1 && tailQuest < tailSlash)
			eoURL = location.href.substring(0, tailQuest).lastIndexOf('/');
		else
			eoURL = tailSlash;

		//var BackgroundURL = "";
		var BackgroundURL = unescape(location.href.substring(0, eoURL)) + "/playerbg.jpeg";
		//var BackgroundURL = unescape(location.href.substring(0, eoURL)) + "/test.jpeg";

		var SplashURL = unescape(location.href.substring(0, eoURL)) + "/splash.jpeg";
		//var SplashURL = "";
		var LibURL = unescape(location.href.substring(0, eoURL))  + "/player/win32lib.jpeg";
		var MSLibURL = unescape(location.href.substring(0, eoURL))  + "/player/win32lib.jpeg";
		var OCXLibURL = unescape(location.href.substring(0, eoURL))  + "/player/ocxlib.jpeg";
		var OSXLibURL = unescape(location.href.substring(0, eoURL))  + "/player/osxlib.jpeg";

        var browsername = navigator.appName;
		var TagValue = "";
		var agent = navigator.userAgent.toLowerCase();

		_noPlayer = false;

        if(getInspector() != null) {
            _ocx = false;

            try {
                if(getInspector().isMSJVM()) {
                    _jre = false;
                }
                else {
                    _jre = true;
                } // if

				JavaVersion = getInspector().getJavaVersion();

				getInspector().style.display = "none";

				if(JavaVersion.indexOf("1.6") != -1)
					SunJVMArchive = SunJRE_1_6_Alternate;
            }
            catch(except) {
				if(agent.indexOf("msie") != -1) {
					_jre = false;
					_ocx = true;
				}
				else
					_jre = true;
            } // try - catch
        }
		else {
				_jre = false;
				_ocx = true;
		} // if

        if(Platform == PLATFORM_WINDOWS) {
			if(agent.indexOf("opera") != -1) {
					TagValue = ('<APPLET MAYSCRIPT=true ID = "' + AppletName + '" NAME = "' + AppletName + '" CODE = PlayerApplet.class WIDTH = "' + PlayerWidth + '" HEIGHT = ' + (PlayerHeight) + '" ARCHIVE = "' + SunJVMArchive + '" >');
					TagValue = TagValue + ('<param name="SPLASH_URL" value="' + SplashURL + '">');
					TagValue = TagValue + ('<param name="LIB_URL" value="' + LibURL + '">');
					TagValue = TagValue + ('<param name="BACKGROUND_URL" value="' + BackgroundURL + '">');

					TagValue = TagValue + generateAutoPlayParams(autoPlayURL, false, PlaybackWidth, PlaybackHeight, startFrame, endFrame, clientID, showEndPrompt, prebufferMS, inWindow, embedded, params);

					TagValue = TagValue + ('</APPLET>');

					return TagValue;
			}
			else if(agent.indexOf("msie") != -1) {
				//_jre = false;
				//_ocx = true;

				if(_jre) {
					// tag for Sun JRE in IE

					TagValue = ('<object MAYSCRIPT=true classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" ID = "' + AppletName + '"');
					TagValue = TagValue + ('height="' + hackHeight + '" width="' + hackWidth + '" >');
					TagValue = TagValue + ('<param name="code" value="PlayerApplet.class">');
					TagValue = TagValue + ('<param name = "archive" value = "' + SunJVMArchive + '">');
					TagValue = TagValue + ('<param name="NAME" value="' + AppletName + '">');
					TagValue = TagValue + ('<param name="ID" value="' + AppletName + '">');
					TagValue = TagValue + ('<param name="SPLASH_URL" value="' + SplashURL + '">');
					TagValue = TagValue + ('<param name="BACKGROUND_URL" value="' + BackgroundURL + '">');
					TagValue = TagValue + ('<param name="LIB_URL" value="' + LibURL + '">');

					TagValue = TagValue + generateAutoPlayParams(autoPlayURL, false, PlaybackWidth, PlaybackHeight, startFrame, endFrame, clientID, showEndPrompt, prebufferMS, inWindow, embedded, params);

					TagValue = TagValue + ('</object>');

					return TagValue;
				}
				else if(_ocx) {
					// tag for ocx

					TagValue = ('<object id="' + OCXName + '"');
					TagValue = TagValue + ('width="' + hackWidth + '"');
					TagValue = TagValue + ('height="' + hackHeight + '"');
					TagValue = TagValue + ('classid="CLSID:' + OCXClassID + '"');
					TagValue = TagValue + ('codebase="' + OCXArchive + '" ');
					TagValue = TagValue + ('MAYSCRIPT=true >');

					TagValue = TagValue + ('<param name="cabinets" value="ocx_play.ocx">');
					TagValue = TagValue + ('<param name="cabbase" value="ocx_play.ocx">');
					TagValue = TagValue + ('<param name="NAME" value="' + OCXName + '">');
					TagValue = TagValue + ('<param name="ID" value="' + OCXName + '">');
					TagValue = TagValue + ('<param name="LIB_URL" value="' + OCXLibURL + '">');
					TagValue = TagValue + ('<param name="SPLASH_URL" value="' + SplashURL + '">');

					TagValue = TagValue + ('<param name="BACKGROUND_URL" value="' + BackgroundURL + '">');

					TagValue = TagValue + generateAutoPlayParams(autoPlayURL, true, PlaybackWidth, PlaybackHeight, startFrame, endFrame, clientID, showEndPrompt, prebufferMS, inWindow, embedded, params);

					TagValue = TagValue + ('</object>');
					return TagValue;
				}
				else {
					// tag for MSJVM

					TagValue = ('<APPLET MAYSCRIPT=true ALIGN="absmiddle" ID = "' + AppletName + '" NAME = "' + AppletName + '" CODE = PlayerApplet.class WIDTH = "' + hackWidth + '" HEIGHT = "' + hackHeight + '" ARCHIVE = "' + MSJVMArchive + '" > ');
					TagValue = TagValue + ('<param name="cabinets" value="' + MSJVMArchive + '"> ');
					TagValue = TagValue + ('<param name="SPLASH_URL" value="' + SplashURL + '">');
					TagValue = TagValue + ('<param name="BACKGROUND_URL" value="' + BackgroundURL + '">');

					TagValue = TagValue + ('<param name="LIB_URL" value="' + MSLibURL + '">');

					TagValue = TagValue + generateAutoPlayParams(autoPlayURL, false, PlaybackWidth, PlaybackHeight, startFrame, endFrame, clientID, showEndPrompt, prebufferMS, inWindow, embedded, params);

					TagValue = TagValue + ('</APPLET> ');

					//alert(TagValue);

					return TagValue;
				} // if
			}
			else {
				// tag to setup applet in gecko (aka Mozilla) based browsers

				TagValue = ('<APPLET MAYSCRIPT=true ');
				TagValue = TagValue + ('code="PlayerApplet.class" ');
				TagValue = TagValue + ('archive="' + SunJVMArchive + '" ');
				TagValue = TagValue + ('ID = "' + AppletName + '" ');
				TagValue = TagValue + ('height="' + hackHeight + '" ');
				TagValue = TagValue + ('width="'+ hackWidth +'" > ');

				TagValue = TagValue + ('<param name="LIB_URL" value="' + LibURL + '">');
				TagValue = TagValue + ('<param name="SPLASH_URL" value="' + SplashURL + '">');
				TagValue = TagValue + ('<param name="BACKGROUND_URL" value="' + BackgroundURL + '">');

				TagValue = TagValue + generateAutoPlayParams(autoPlayURL, false, PlaybackWidth, PlaybackHeight, startFrame, endFrame, clientID, showEndPrompt, prebufferMS, inWindow, embedded, params);

				TagValue = TagValue + ('</applet> ');

				return TagValue;
			} // if
		}
		else if(Platform == PLATFORM_MACOSX_PPC) {
			TagValue = '<APPLET MAYSCRIPT=true code = "PlayerApplet.class" archive = "' + MacJVMArchive + '" ID="' + AppletName + '" NAME="' + AppletName + '" WIDTH="' + PlaybackWidth + '" HEIGHT="' + PlaybackHeight + '"> <param name = "archive" value = "' + MacJVMArchive + '"> <param name = "code" value = "PlayerApplet.class">';

			TagValue = TagValue + ('<param name="SPLASH_URL" value="' + SplashURL + '">');
			TagValue = TagValue + ('<param name = "CODEBASE" value = "' + unescape(location.href.substring(0, eoURL)) +  '">');
			TagValue = TagValue + ('<param name="LIB_URL" value="' + OSXLibURL + '">');
			TagValue = TagValue + ('<param name="BACKGROUND_URL" value="' + BackgroundURL + '">');

			TagValue = TagValue + generateAutoPlayParams(autoPlayURL, false, PlaybackWidth, PlaybackHeight, startFrame, endFrame, clientID, showEndPrompt, prebufferMS, inWindow, embedded, params);

			TagValue = TagValue + 'Java is not enabled in your browser!</APPLET>';

			return TagValue;
		}
		else {
			//document.writeln('Unfortunately, the Operating System you are currently using is unsupported.');
			_noPlayer = true;
			location.href = "http://www.vividas.com/support/streamingsupport.html";
		} // if
	}

	function vividasPlayerLoader()
	{
		try {
		    getRefToDiv("LoadProgress").style.display = "block";
		    getRefToDiv("LoadProgress").innerHTML = "0% loaded";
		}
		catch(except) {
		} // try - catch

		setTimeout("checkLoad()", 1000);
		getRefToDiv("VividasPlayerSection").innerHTML = getPlayerScript("", "");
	}

	// -- playlist functionality implementation

	function Track(URL,
  		       width,
		       height,
		       startFrame,
		       endFrame,
		       showEndPrompt,
		       prebufferMS,
		       inWindow,
		       embedded,
		       showSplash,
		       splashDelay,
		       clientID)
	{
		this._url = URL;
		this._width = width;
		this._height = height;
		this._startFrame = startFrame;
		this._endFrame = endFrame;
		this._showEndPrompt = showEndPrompt;
		this._prebufferMS = prebufferMS;
		this._inWindow = inWindow;
		this._embedded = embedded;
		this._showSplash = showSplash;
		this._splashDelay = splashDelay;
		this._clientID = clientID;
	}

  	function appendToPlaylist(URL,
  				  width,
  				  height,
  				  startFrame,
  				  endFrame,
  				  showEndPrompt,
   				  prebufferMS,
   				  inWindow,
   				  embedded,
   				  showSplash,
   				  splashDelay,
   				  clientID)
   	{
   		var playTrack = new Track(URL,width,height,startFrame,endFrame,showEndPrompt,prebufferMS,inWindow,embedded,showSplash,splashDelay,clientID);

   		if(_playlist == null)
   			_playlist = new Array(playTrack);
   		else
   			_playlist = _playlist.concat(playTrack);
   	}

	function clearPlaylist()
	{
		_playlist = null;
	}

	function playAllTracks()
	{
		_activePlaylistTrackIdx = 0;

		if(_playlist.length > 0)
			playTrack(_playlist[_activePlaylistTrackIdx])
	}

	function playTrack(track)
	{
		getPlayerObject().terminate();

		resizePlayer(track._width, track._height);

		playPressedFull(track._url, track._inWindow, track._startFrame, track._endFrame, track._prebufferMS, track._splashDelay, track._showEndPrompt, track._embedded);
		//var callstring = "playPressedFull(\"" + track._url + "\"," + track._inWindow + "," + track._startFrame + "," + track._endFrame + "," + track._prebufferMS + "," + track._splashDelay + "," + track._showEndPrompt + "," + track._embedded + ")";
		//setTimeout(callstring, 500);
	}

	function advanceActivePlaylistTrack()
	{
		_activePlaylistTrackIdx++;

		if(_playlist != null && _activePlaylistTrackIdx < _playlist.length)
			playTrack(_playlist[_activePlaylistTrackIdx]);
	}

	function getPlaylistLength()
	{
		if(_playlist == null)
			return 0;
		else
			return _playlist.length;
	}

	function getActivePlaylistTrackIdx()
	{
		return _activePlaylistTrackIdx;
	}

	function getPlaylistEntry(idx)
	{
		if(_playlist == null || idx >= _playlist.length)
			return null;
		else
			return _playlist[idx];
	}

	function onVividasEOS()
	{
		customEOSHandler();

		if(_playlist != null && _playlist.length >  0)
			advanceActivePlaylistTrack();
		else
			_activePlaylistTrackIdx = 0;
	}

	//-->

