
/* b3dplayer.js - © 2001 Brilliant Digital Entertainment, Inc.
   Use of this material is subject to entering a licensing agreement with
   Brilliant Digital Entertainment, Inc.
*/

var javascript_version = "1.0.0.22";


function HandleError(msg, url, line)
{
	if(inserting_iframe == 1)
	{
		alert("Please wait until the page finishes loading, and then try again.");
		inserting_iframe = 0;
		return true;
	}
	
	if(document.cookie.indexOf("errors=1") >= 0 || document.cookie.indexOf("debug=1") >= 0 ||
		location.search.indexOf("debug=1") >= 0)
	{
		alert("JavaScript error:\n\n" + msg + "\nLine " + line + "\n" + url);
		
	}
	else if(auto_playing_banner == 0)
		alert("Sorry!\n\nAn error has occurred in the page,\nand the problem has been reported.");
	
	if(error_stats_url != "")
	{
		var error_url = error_stats_url + "error_type=javascript" +
			"&error_msg=" + escape(msg) + 
			"&error_url=" + escape(url) + 
			"&error_line=" + escape(line) + 
			"&location=" + escape(location.href) +
			"&javascript_version=" + escape(javascript_version) + 
			"&bdesession=" + GetBdeSessionCookie() + 
			"&bdeuserid=" + GetBdeUseridCookie() +
			"&browser_language=" + (navigator.systemLanguage ? escape(navigator.systemLanguage) : "") +
			"&debug_state=" + escape(debug_state);
		
		imgStats.src = error_url;
	}
	return true;
}

function ErrorStat(error_num)
{
	var ret = "";
	var script = "";
	var path = "";
	var params = "";
	var player_version = "";
	var b3dname = "";
	var is_in_page = "";
	var page_num = "";
	if(error_num == PLAYER_INSTALL_CANCEL)
	{
		ret = ErrorStat.arguments[1];
		script = ErrorStat.arguments[2];
	}
	else if(error_num == PLAYER_INSTALL_ERROR)
	{
		ret = ErrorStat.arguments[1];
		script = ErrorStat.arguments[2];
	}
	else if(error_num == MOVIE_INSTALL_CANCEL)
	{
		ret = ErrorStat.arguments[1];
		script = ErrorStat.arguments[2];
		path = ErrorStat.arguments[3];
		params = ErrorStat.arguments[4];
	}
	else if(error_num == MOVIE_INSTALL_ERROR)
	{
		ret = ErrorStat.arguments[1];
		script = ErrorStat.arguments[2];
		path = ErrorStat.arguments[3];
		params = ErrorStat.arguments[4];
	}
	else if(error_num == PLAYER_UPGRADE)
	{
		player_version = ErrorStat.arguments[1];
	}
	else if(error_num == PLAYER_LOAD_MOVIE_ERROR)
	{
		ret = ErrorStat.arguments[1];
		b3dname = ErrorStat.arguments[2];
	}
	else if(error_num == INSTALL_START)
	{
		if(errors_posted[INSTALL_START] == 1)
			return;
		errors_posted[INSTALL_START] = 1;
		is_in_page = ErrorStat.arguments[1];
	}
	else if(error_num == INSTALL_ACCEPT)
	{
		if(errors_posted[INSTALL_ACCEPT] == 1)
			return;
		errors_posted[INSTALL_ACCEPT] = 1;
		if(errors_posted[INSTALL_CANCEL] == 1)
			error_num = INSTALL_ACCEPT_RETRY;
		is_in_page = ErrorStat.arguments[1];
	}
	else if(error_num == INSTALL_CANCEL || error_num == INSTALL_DENY_95 ||
		error_num == INSTALL_DENY_NT || error_num == INSTALL_MANUAL_CLOSE)
	{
		if(errors_posted[INSTALL_CANCEL] == 1)
			return;
		errors_posted[INSTALL_CANCEL] = 1;
		is_in_page = ErrorStat.arguments[1];
		if(error_num == INSTALL_CANCEL || error_num == INSTALL_MANUAL_CLOSE)
			page_num = ErrorStat.arguments[2];
	}
	else if(error_num == INSTALL_NOT_READY)
	{
		if(errors_posted[INSTALL_NOT_READY] == 1)
			return;
		errors_posted[INSTALL_NOT_READY] = 1;
		is_in_page = ErrorStat.arguments[1];
	}

	var error_url = error_stats_url + "error_type=player" +
		"&error_num=" + error_num +
		"&return_value=" + escape(ret) +
		"&script=" + escape(script) +
		"&path=" + escape(path) +
		"&params=" + escape(params) +
		"&player_version=" + escape(player_version) +
		"&b3dname=" + escape(b3dname) +
		"&is_in_page=" + is_in_page +
		"&page_num=" + page_num +
		"&location=" + escape(location.href) + 
		"&javascript_version=" + escape(javascript_version) + 
		"&bdesession=" + GetBdeSessionCookie() + 
		"&bdeuserid=" + GetBdeUseridCookie() +
		"&browser_language=" + (navigator.systemLanguage ? escape(navigator.systemLanguage) : "") +
		"&debug_state=" + escape(debug_state);
		
	imgStats.src = error_url;
}

function GetBdeSessionCookie()
{
	var bdesession = "";
	var index = document.cookie.indexOf("BDESession=");
	if(index >= 0)
	{
		var index2 = document.cookie.indexOf(";", index);
		if(index2 >= 0)
			bdesession = document.cookie.substr(index + 11, index2 - index - 11);
		else
			bdesession = document.cookie.substr(index + 11);
	}
	return bdesession;
}

function GetBdeUseridCookie()
{
	var bdeuserid = "";
	var index = document.cookie.indexOf("BDEUID=");
	if(index >= 0)
	{
		var i;
		for(i = index + 7; i < document.cookie.length; i++)
		{
			if(document.cookie.substr(i, 1) == ";" || document.cookie.substr(i, 1) == "&")
				break;
			bdeuserid += document.cookie.substr(i, 1);
		}
	}  
	return bdeuserid;
}

function GetRoot()
{
	if(location.protocol.toUpperCase() == "HTTP:")
		return "http://" + location.hostname;
	if(location.protocol.toUpperCase() == "FILE:")
	{
		var index = location.href.lastIndexOf("/");
		if(index >= 0)
			return location.href.substring(0, index);
	}
	return "";
}


function CheckVar(varname, value)
{
	if(eval('typeof(' + varname + ')') == "undefined")
	{
		if(typeof(value) == "string")
			eval(varname + ' = "' + value + '"');
		else if(typeof(value) == "number")
			eval(varname + ' = ' + value);
	}
}

CheckVar('srcserver', GetRoot());
CheckVar('javascripts_dir', GetRoot() + "/content/multipath/javascripts2/");
CheckVar('statserver', 'http://www.brilliantdigital.com');
CheckVar('adserver', GetRoot());

CheckVar('player_in_page', 0);
CheckVar('player_in_viewer', 0);

CheckVar('install_script', srcserver + '/content/multipath/projector/playb3d.cab');
CheckVar('ns_install_jar', srcserver + "/content/multipath/projector/bdextras/bdeinsns.jar");
CheckVar('ns_jar_version', "1,2,0,0");

CheckVar('inmime', "application/x-bdescript");
CheckVar('inclassid', "CLSID:67925165-C4B6-11D2-B9C6-0000E84F59A6");
CheckVar('incodebase_exists', "#version=1,1,3,1");
CheckVar('incodebase_install', srcserver + "/content/multipath/projector/bdeinsta/bdeinsta.cab#version=1,1,3,1");

CheckVar('ie_helpurl', srcserver + "/content/multipath/install/b3dinstpop.htm");
CheckVar('ns_helpurl', srcserver + "/content/multipath/install/b3dinstpop.htm");
CheckVar('helpurlx', javascripts_dir + "syscheck.htm?");
CheckVar('error_stats_url', statserver + '/bde/banner/stats/errors.asp?');

CheckVar('standby', "Loading Brilliant Digital b3d components...");
CheckVar('sitecode', location.host);
CheckVar('pcode', sitecode);
CheckVar('adcode', '');
CheckVar('clickurl', '');
CheckVar('codecs', "");
CheckVar('b3dpath', '');
CheckVar('b3dname', '');
CheckVar('b3dsize', '0');
CheckVar('b3dcompressed', '0');
CheckVar('b3dratio', 0);
CheckVar('channel_subdesc', '');
CheckVar('hidewindows', '4');
CheckVar('silent', '0');
CheckVar('installmode', '0');
CheckVar('statsurl', '0');
CheckVar('codebaseurl', '0');
CheckVar('websiteurl', '0');
CheckVar('player_version', "3100");

CheckVar('dpcodebase', '#version=3,0,26,0');
CheckVar('dpmime', "application/x-b3dmovies");
CheckVar('dpclassid', "CLSID:51958169-D5E3-11D1-AA42-0000E842E40A");

CheckVar('autoinstall', 0);
CheckVar('autoplay', 1);
CheckVar('center', 0);

CheckVar('width', 0);
CheckVar('height', 0);
CheckVar('player_width', width);
CheckVar('player_height', height);

CheckVar('html_left_width', 0);
CheckVar('html_left_height', 0);
CheckVar('html_left_content', '');
CheckVar('html_left_url', '');

CheckVar('html_right_width', 0);
CheckVar('html_right_height', 0);
CheckVar('html_right_content', '');
CheckVar('html_right_url', '');

CheckVar('script_ie', javascripts_dir + "b3die.html");
CheckVar('script_inpage_ie', javascripts_dir + "b3dinpageie.html");
CheckVar('script_viewer', javascripts_dir + "b3dviewer.html");
CheckVar('script_ns', javascripts_dir + "b3dns.html");
CheckVar('script_inpage_ns', javascripts_dir + "b3dinpagens.html");
CheckVar('script_inst_ns', javascripts_dir + "b3dinstns.html");
if(location.protocol.toLowerCase() == "file:")
	CheckVar('script_instplay_ns', javascripts_dir + "b3dinstplayns_" + player_width + "_" + player_height + ".html"); 
else
	CheckVar('script_instplay_ns', javascripts_dir + "b3dinstplayns.asp?width=" + player_width + "&height=" + player_height); 


var imgStats    = new Image();
var INSOK       = 0;
var NSOK        = 0;
var IEOK        = 0;
var saved_cmd   = "";
var currentInstaller;
var saved_onload_cmd = "";
var saved_onload = "";
var inserting_iframe = 0;
var errors_posted = new Array();
var page_loaded = 0;
var debug_state = "Initial load";

var PLAYER_INSTALL_CANCEL = 1;
var PLAYER_INSTALL_ERROR = 2;
var MOVIE_INSTALL_CANCEL = 3;
var MOVIE_INSTALL_ERROR = 4;
var PLAYER_NOT_READY1 = 5;
var PLAYER_NOT_READY2 = 6;
var PLAYER_UPGRADE = 7;
var PLAYER_LOAD_MOVIE_ERROR = 8;
var SMARTUPDATE_NOT_ENABLED = 9;
var JAVA_NOT_ENABLED = 10;
var PLAYER_INSTALL_OK = 13;

var INSTALL_START = 14;
var INSTALL_ACCEPT = 15;
var INSTALL_ACCEPT_RETRY = 16;
var INSTALL_CANCEL = 17;
var INSTALL_DENY_95 = 18;
var INSTALL_DENY_NT = 19;
var INSTALL_NOT_READY = 20;
var INSTALL_PAGE_CHANGE = 21;
var INSTALL_MANUAL_CLOSE = 22;

var DPOK        = 0;
var DPVER       = "";
var install_needed = 0;
var left        = 0;
var currentPlayer;
var currentController;
var auto_playing_banner = 0;
var player_ready = 0;

var viewer_installed = 0;

window.onerror = HandleError;


saved_onload = window.onload;
if(saved_onload != "")
window.onload = HandleOnLoad;	


function Main()
{
		
	if(navigator.appName == "Netscape" && 
		parseInt(navigator.appVersion) == 4 &&
		parseFloat(navigator.appVersion) >= 4.5 &&
		navigator.userAgent.indexOf("Win") >= 0 &&
		window.screen.pixelDepth > 8)
	{
		NSOK = 1;
				
		if(player_in_page == 1 || player_in_viewer == 1)
		{
			if(navigator.mimeTypes &&
				navigator.mimeTypes[inmime] &&
				navigator.mimeTypes[inmime].enabledPlugin)
			{
				INSOK = 1;
			}
		
			if(center == 1)
				left = (window.innerWidth / 2) - (width / 2) - 8;
					
			document.write('<ilayer id=ilayer1 left=' + left + '>');
					
			document.write('<layer id=ns_layer width=1 height=1 visibility=hide>' +
				'</layer>');
		}
					
		if(player_in_page == 1)
		{
			if(b3dname == "")
			{

				document.write('<layer id=regular_layer width=' + width + ' height=' + height + ' visibility=hide>');
				if(clickurl != "")
					document.write('<A HREF="javascript:RegularClick()">');
				document.write('<img src="' + regimg + '" width=' + width + ' height=' + height + ' border=0 alt="' + regtext + '">');
				if(clickurl != "")
					document.write('</A>');
				document.write('</layer>');

				SetOnLoad("ns_regular");
			}
			else
			{
				if(navigator.mimeTypes &&
					navigator.mimeTypes[dpmime] &&
					navigator.mimeTypes[dpmime].enabledPlugin) 
				{
					DPOK = 1;
				}
				
				document.write('<layer id=regular_layer width=' + width + ' height=' + height + ' visibility=hide>' +
					'<A HREF="javascript:RegularClick()"><img name="regular_image" src="' + regimg + '" width=' + width + ' height=' + height + ' border=0 alt="' + regtext + '"></A>' +
					'</layer>');

				document.write('<layer id=invite_layer width=' + width + ' height=' + height + ' visibility=hide>' +
					'<IMG name="invite_image" src="' + invimg + '" width=' + width + ' height=' + height + ' USEMAP="#imgmap" border=0>' +
					'<MAP name="imgmap">' +
					'<AREA shape="' + invmap1 + '" COORDS="' + invcoord1 + '" HREF="javascript:RunCmd(\'document.ilayer1.document.inpage_ns_layer.InviteClick()\')" alt="' + regtext + '">' +
					'<AREA shape="' + invmap2 + '" COORDS="' + invcoord2 + '" HREF="javascript:RunCmd(\'document.ilayer1.document.inpage_ns_layer.OnInviteAccept()\')" alt="' + invtext + '">' +
					'</MAP>' +
					'</layer>');

				document.write('<layer id=loading_layer width=' + width + ' height=' + height + ' visibility=hide>' +
					'<A HREF="javascript:LoadingClick()"><img name="loading_image" src="' + loadimg + '" width=' + width + ' height=' + height + ' border=0 alt="' + regtext + '"></A>' +
					'</layer>');

				document.write('<layer id=html_left_layer width=' + html_left_width + ' height=' + html_left_height + ' visibility=hide>');
				if(html_left_content != '')
					document.write(html_left_content);
				document.write('</layer>');
					
				document.write('<layer id=inpage_inst_layer width=1 height=1 visibility=hide>' +
					'</layer>');
					
				document.write('<layer id=inpage_player_layer width=' + player_width + ' height=' + player_height + ' visibility=hide>' +
					'</layer>');
					
				document.write('<layer id=html_right_layer width=' + html_right_width + ' height=' + html_right_height + ' visibility=hide>');
				if(html_right_content != '')
					document.write(html_right_content);
				document.write('</layer>');
					
				document.write('<layer id=inpage_ns_layer width=1 height=1 visibility=hide>' +
					'</layer>');
					
				if(INSOK == 1 && DPOK == 1)
				{
					player_version = 1;
				}
				
				if(INSOK == 1 && DPOK == 1 && autoplay == 1)
				{
					auto_playing_banner = 1;
					SetOnLoad("ns_loading");
				}
				else if(autoinstall == 1)
				{
					SetOnLoad("ns_install");
				}
				else
				{
					SetOnLoad("ns_invite");
				}
			}
		}
					
		if(player_in_viewer == 1)
		{
			document.write('<layer id=viewer_inst_layer width=1 height=1 visibility=hide></layer>');
			
			document.write('<layer id=viewer_layer width=1 height=1 visibility=hide>');
			document.write('</layer>');
		}
		
		if(player_in_page == 1 || player_in_viewer == 1)
			document.write('</ilayer>');
	}
	else if(navigator.appName == "Microsoft Internet Explorer" &&
		parseInt(navigator.appVersion) >= 4 &&
		navigator.userAgent.indexOf("Windows") >= 0 &&
		screen.colorDepth > 8)
	{
		IEOK = 1;
		
		if(player_in_page == 1 || player_in_viewer == 1)
		{
			document.write('<' + 'DIV NAME="installer_div" ID="installer_div" STYLE="display:none">' +
				'<' + 'OBJECT TYPE="application/x-oleobject" ID="b3dInstal1" NAME="b3dInstal1" CLASSID="' + inclassid + '" CODEBASE="' + incodebase_exists + '" ><' + '/OBJECT>' +
				'<' + '/DIV>');
				
			document.write("<" + "SCRIPT LANGUAGE=VBScript>\n" +
				"on error resume next\n" +
				"b3dInstal1.SetVisibility(0)\n" +
				"INSOK = (err.Number = 0)\n" +
				"<" + "/SCRIPT>\n");
			if(INSOK == 1)
			{
				currentInstaller = document.b3dInstal1;
			}
		}

		if(player_in_page == 1)
		{
			if(b3dname == "")
			{
				SetRegularBanner();
			}
			else
			{
				document.write('<' + 'DIV NAME="player_div" ID="player_div" STYLE="display:none">' +
					'<' + 'OBJECT TYPE="application/x-oleobject" ID="b3dPlayer1" NAME="b3dPlayer1" WIDTH=' + player_width + ' HEIGHT=' + player_height + ' CLASSID="' + dpclassid + '" CODEBASE="' + dpcodebase + '" STANDBY="' + standby + '"><' + '/OBJECT>' +
					'<' + '/DIV>');
		
				document.write("<" + "SCRIPT LANGUAGE=VBScript>\n" +
					"on error resume next\n" +
					"DPVER = b3dPlayer1.GetVersion()\n" +
					"<" + "/SCRIPT>\n");
				
				if(DPVER == "")
				{
					install_needed = 1;
				}
				else
				{
					DPOK = 1;
					currentPlayer = document.b3dPlayer1;
				}
					
				document.write('<' + 'DIV NAME="regular_div" ID="regular_div" onmouseover="this.style.cursor=\'hand\'" STYLE="display:none"><' + '/DIV>'); 
					
				var handstylemouse = "";
				var handstylemap = "";
				if(invcoord1 != "0,0,0,0" || invcoord2 != "0,0,0,0")
				{
					handstylemouse = 'onmouseover="this.style.cursor=\'hand\'"';
					handstylemap = 'STYLE="CURSOR:hand"';
				}
				document.write('<' + 'DIV NAME="invite_div" ID="invite_div" ' + handstylemouse + ' STYLE="display:none">' +
					'<' + 'img src="' + invimg + '" width=' + width + ' height=' + height + ' USEMAP="#imgmap" border=0>' +
					'<' + 'MAP name="imgmap">' +
					'<' + 'AREA shape=' + invmap1 + ' COORDS="' + invcoord1 + '" ' + handstylemap + ' OnClick="RunCmd(\'window.inpage_ie_frame.InviteClick()\')" alt="' + regtext + '">' +
					'<' + 'AREA shape=' + invmap2 + ' COORDS="' + invcoord2 + '" ' + handstylemap + ' OnClick="RunCmd(\'window.inpage_ie_frame.OnInviteAccept()\')" alt="' + invtext + '">' +
					'<' + '/MAP>' +
					'<' + '/DIV>'); 
					
				document.write('<' + 'DIV NAME="loading_div" ID="loading_div" onmouseover="this.style.cursor=\'hand\'" STYLE="display:none"><' + '/DIV>'); 
						
				if(INSOK == 1 && DPOK == 1)
				{
					player_version = 1;
				}
				
				if(INSOK == 1 && DPOK == 1 && autoplay == 1)
				{
					auto_playing_banner = 1;
					loading_div.innerHTML =
						'<' + 'A STYLE="CURSOR:hand" OnClick="LoadingClick(); return false;">' +
						'<' + 'img name=loading_image src="' + loadimg + '" width=' + width + ' height=' + height + ' border=0 alt="' + regtext + '">' +
						'<' + '/A>';
					loading_div.style.display = "block";
					SetOnLoad('ie_loading');
				}
				else if(autoinstall == 1)
				{
					loading_div.innerHTML =
						'<' + 'A STYLE="CURSOR:hand" OnClick="LoadingClick(); return false;">' +
						'<' + 'img name=loading_image src="' + loadimg + '" width=' + width + ' height=' + height + ' border=0 alt="' + regtext + '">' +
						'<' + '/A>';
					loading_div.style.display = "block";
					SetOnLoad("ie_install");
				}
				else
				{
					invite_div.style.display = "block";
					TriggerStat(invimp);
				}
			}
		}
	}

	if(IEOK == 0 && NSOK == 0 && player_in_page == 1)
	{
		SetRegularBanner();
	}
}

function SetOnLoad(onload_cmd)
{
	saved_onload_cmd = onload_cmd;
}

function HandleOnLoad()
{
	page_loaded = 1;
	if(saved_onload_cmd == "ns_loading")
	{
		document.ilayer1.document.loading_layer.visibility = "show";
		setTimeout("RunCmd('document.ilayer1.document.inpage_ns_layer.OnInviteAccept()')", 500);
	}
	else if(saved_onload_cmd == "ns_install")
	{
		setTimeout("RunCmd('document.ilayer1.document.inpage_ns_layer.OnInviteAccept()')", 500);
	}
	else if(saved_onload_cmd == "ns_invite")
	{
		document.ilayer1.document.invite_layer.visibility = "show";
		TriggerStat(invimp);
	}
	else if(saved_onload_cmd == "ns_regular")
	{
		document.ilayer1.document.regular_layer.visibility = "show";
		TriggerStat(regimp);
	}
	else if(saved_onload_cmd == "ie_install")
	{
		setTimeout("RunCmd('window.inpage_ie_frame.OnInviteAccept()')", 500);
	}
	else if(saved_onload_cmd == "ie_loading")
	{
		setTimeout("RunCmd('window.inpage_ie_frame.OnInviteAccept()')", 500);
	}
	
	if(saved_onload && typeof(saved_onload) != "undefined" && saved_onload != "")
	{
		if(NSOK == 1)
			eval(saved_onload + " onload();");
		else if(IEOK == 1)
			eval(saved_onload + " anonymous();");
	}
}

var script_ns_needed = false;
var script_inpage_ns_needed = false;
var script_ie_needed = false;
var script_inpage_ie_needed = false;
var script_viewer_needed = false;

var script_ns_loading = false;
var script_inpage_ns_loading = false;
var script_ie_loading = false;
var script_inpage_ie_loading = false;
var script_viewer_loading = false;

var script_ns_loaded = false;
var script_inpage_ns_loaded = false;
var script_ie_loaded = false;
var script_inpage_ie_loaded = false;
var script_viewer_loaded = false;

var script_timer = "";
function RunCmd(cmd)
{
	
	if(NSOK == 1)
	{
		script_ns_needed = true;
		if(player_in_page == 1 && b3dname != "")
			script_inpage_ns_needed = true;
	}
	if(IEOK == 1)
	{
		script_ie_needed = true;
		if(player_in_page == 1 && b3dname != "")
			script_inpage_ie_needed = true;
	}
	if(player_in_viewer == 1)
		script_viewer_needed = true;
	
	var bReady = true;
	var ns_delay = false;
	
	if(script_ns_needed == true && script_ns_loaded == false)
	{
		if(script_ns_loading == false && ns_delay == false)
		{
			script_ns_loading = true;
			document.ilayer1.document.ns_layer.load(script_ns, 1);
			script_timer = setTimeout("ScriptLoadTimeout('script_ns')", 3000);
			ns_delay = true;
		}
		bReady = false;
	}
	
	if(script_inpage_ns_needed == true && script_inpage_ns_loaded == false)
	{ 
		if(script_inpage_ns_loading == false && ns_delay == false)
		{
			script_inpage_ns_loading = true;
			document.ilayer1.document.inpage_ns_layer.load(script_inpage_ns, 1);
			script_timer = setTimeout("ScriptLoadTimeout('script_inpage_ns')", 3000);
			ns_delay = true;
		}
		bReady = false;
	}
	
	if(script_ie_needed == true && script_ie_loaded == false)
	{
		if(script_ie_loading == false)
		{
			script_ie_loading = true;
			inserting_iframe = 1;
			document.body.insertAdjacentHTML('beforeEnd', 
				'<' + 'IFRAME name="ie_frame" SRC="' + script_ie + '" width=0 height=0><' + '/IFRAME>');
			inserting_iframe = 0;
		}
		bReady = false;
	}
	
	if(script_inpage_ie_needed == true && script_inpage_ie_loaded == false)
	{
		if(script_inpage_ie_loading == false)
		{
			script_inpage_ie_loading = true;
			inserting_iframe = 1;
			document.body.insertAdjacentHTML('beforeEnd', 
				'<' + 'IFRAME name="inpage_ie_frame" SRC="' + script_inpage_ie + '" width=0 height=0><' + '/IFRAME>');
			inserting_iframe = 0;
		}
		bReady = false;
	}
	
	if(script_viewer_needed == true && script_viewer_loaded == false)
	{
		if(script_viewer_loading == false)
		{
			if(NSOK == 1 && ns_delay == false)
			{
				script_viewer_loading = true;
				document.ilayer1.document.viewer_layer.load(script_viewer, 1);
				script_timer = setTimeout("ScriptLoadTimeout('script_viewer')", 3000);
				ns_delay = true;
			}
			else if(IEOK == 1)
			{
				script_viewer_loading = true;
				inserting_iframe = 1;
				document.body.insertAdjacentHTML('beforeEnd', 
					'<' + 'IFRAME name="viewer_frame" SRC="' + script_viewer + '" width=0 height=0><' + '/IFRAME>');
				inserting_iframe = 0;
			}
		}
		bReady = false;
	}
	
	if(bReady == true)
	{
		debug_state = "Scripts loaded, cmd=" + cmd;
		setTimeout(cmd, 100);
	}
	else
	{
		saved_cmd = cmd;
	}
}

function ScriptLoadTimeout(script_prefix)
{
	if(eval(script_prefix + '_loading == true'))
	{
		eval(script_prefix + '_loading = false');
		RunCmd(saved_cmd);
	}
}

function ScriptLoaded(script_name)
{
	if(script_timer != "")
		clearTimeout(script_timer);
	
	if(script_ns.indexOf(script_name) != -1)
	{
		script_ns_loading = false;
		script_ns_loaded = true;
	}
	else if(script_inpage_ns.indexOf(script_name) != -1)
	{
		script_inpage_ns_loading = false;
		script_inpage_ns_loaded = true;
	}
	else if(script_ie.indexOf(script_name) != -1)
	{
		script_ie_loading = false;
		script_ie_loaded = true;
	}
	else if(script_inpage_ie.indexOf(script_name) != -1)
	{
		script_inpage_ie_loading = false;
		script_inpage_ie_loaded = true;
	}
	else if(script_viewer.indexOf(script_name) != -1)
	{
		script_viewer_loading = false;
		script_viewer_loaded = true;
	}
	
	if(saved_cmd != '')
		RunCmd(saved_cmd);
}

function TriggerStat(url)
{
	if (url == "")
	{
		return;
	}
	
		
	imgStats.src = url;
}

function PlayMovie_28k56k(b3dmoviepath, moviename, size28k, size56k, compressed, registerstat, playinviewer, subdesc)
{
	auto_playing_banner = 0;
	if(NSOK == 1)
		RunCmd("document.ilayer1.document.viewer_layer.PlayMovie_28k56k('" + b3dmoviepath + "', '" + moviename + "', '" + size28k + "', '" + size56k + "', '" + compressed + "', '" + registerstat + "', '" + playinviewer + "', '" + subdesc + "')");
	else if(IEOK == 1)
		RunCmd("window.viewer_frame.PlayMovie_28k56k('" + b3dmoviepath + "', '" + moviename + "', '" + size28k + "', '" + size56k + "', '" + compressed + "', '" + registerstat + "', '" + playinviewer + "', '" + subdesc + "')");
	else
		UnsupportedBrowser();
}

function PlayMovieb3d(b3dmoviepath, moviename, size, compressed, registerstat, playinviewer, subdesc)
{
	auto_playing_banner = 0;
	if(NSOK == 1)
		RunCmd("document.ilayer1.document.viewer_layer.PlayMovieb3d('" + b3dmoviepath + "', '" + moviename + "', '" + size + "', '" + compressed + "', '" + registerstat + "', '" + playinviewer + "', '" + subdesc + "')");
	else if(IEOK == 1)
		RunCmd("window.viewer_frame.PlayMovieb3d('" + b3dmoviepath + "', '" + moviename + "', '" + size + "', '" + compressed + "', '" + registerstat + "', '" + playinviewer + "', '" + subdesc + "')");
	else
		UnsupportedBrowser();
}

function PlayMovie(moviecab, thismovie)
{
	auto_playing_banner = 0;
	if(NSOK == 1)
		RunCmd("document.ilayer1.document.viewer_layer.PlayMovie('" + moviecab + "', '" + thismovie + "')");
	else if(IEOK == 1)
		RunCmd("window.viewer_frame.PlayMovie('" + moviecab + "', '" + thismovie + "')");
	else
		UnsupportedBrowser();
}

function PlayScript(moviecab,thismovie)
{
	auto_playing_banner = 0;
	if(NSOK == 1)
		RunCmd("document.ilayer1.document.viewer_layer.PlayScript('" + moviecab + "', '" + thismovie + "')");
	else if(IEOK == 1)
		RunCmd("window.viewer_frame.PlayScript('" + moviecab + "', '" + thismovie + "')");
	else
		UnsupportedBrowser();
}

function BDE_PlayMovie()
{
	auto_playing_banner = 0;
	if(NSOK == 1)
		RunCmd("document.ilayer1.document.viewer_layer.BDE_PlayMovie()");
	else if(IEOK == 1)
		RunCmd("window.viewer_frame.BDE_PlayMovie()");
	else
		UnsupportedBrowser();
}

function UnsupportedBrowser()
{
	var query = "";
	
	if(navigator.userAgent.indexOf("Mac") >= 0)
	{
		query += "macos=1&";
		if(! navigator.mimeTypes ||
			! navigator.mimeTypes["application/x-b3dpi"] ||
			! navigator.mimeTypes["application/x-b3dpi"].enabledPlugin)
		{
			query += "macb3d=1&";
		}
	}
	else if(navigator.userAgent.indexOf("Win") >= 0)
	{
		if((navigator.appName == "Netscape" && 
				(parseInt(navigator.appVersion) != 4 ||
				parseFloat(navigator.appVersion) < 4.5)) ||
			(navigator.appName == "Microsoft Internet Explorer" &&
				parseInt(navigator.appVersion) < 4))
		{
			query += "browser=1&";
		}
	}
	else
		query += "otheros=1&";
		
	if((navigator.appName == "Netscape" && window.screen.pixelDepth <= 8) ||
		(navigator.appName == "Microsoft Internet Explorer" && screen.colorDepth <= 8))
	{
		query += "colors=1&";
	}
	
	if(query == "")
	{
		alert("Sorry!\n\nAn error has occurred in the page,\nand the problem has been reported.");
		return;
	}

	var left = (screen.availWidth / 2) - ((651 - 12) / 2);
	var top = (screen.availHeight / 2) - ((398 - 51) / 2);
	window.open(helpurlx + query, "helpWindow", 
		",width=" + (651 - 12) + ",height=" + (398 - 51) + 
		",screenX=" + left + ",screenY=" + top + 
		",left=" + left + ",top=" + top + 
		",status=yes,location=no,resizable=yes");
}

function SetRegularBanner()
{
	if(clickurl != "")
		document.write('<A HREF="javascript:RegularClick()">');
	document.write('<img src="' + regimg + '" width=' + width + ' height=' + height + ' border=0 alt="' + regtext + '">');
	if(clickurl != "")
		document.write('</A>');
	TriggerStat(regimp);
}

function RegularClick()
{
	TriggerStat(regclick);
	if(clickurl != "")
	{
		if(clickurl.indexOf("javascript:") >= 0)
			eval(clickurl);
		else
			window.open(clickurl, "_blank");
	}
}

function LoadingClick()
{
	auto_playing_banner = 0;
	TriggerStat(loadclick);
	if (clickurl != "")
		window.open(clickurl, "_blank");
}

function OnStop()
{
	setTimeout("RunCmd('document.ilayer1.document.inpage_ns_layer.OnStop()')", 1);
}

function OnShowURL(url)
{
	setTimeout("RunCmd('document.ilayer1.document.inpage_ns_layer.OnShowURL(\\'" + url + "\\')')", 1);
}

function OnDoCmd(cmd, args)
{
	setTimeout("RunCmd('document.ilayer1.document.inpage_ns_layer.OnDoCmd(\\'" + cmd + "\\', \\'" + args + "\\')')", 1);
}

function OnBroadcast(action)
{
	setTimeout("RunCmd('document.ilayer1.document.inpage_ns_layer.OnBroadcast(\\'" + action + "\\')')", 1);
}

function B3D_go()
{
	auto_playing_banner = 0;
	if(NSOK == 1)
	{
		if(INSOK == 1 && DPOK == 1)
		{
			if(player_ready == 1)
				RunCmd("document.ilayer1.document.inpage_ns_layer.OnInviteAccept(1 /* no_replay */)");
			else
				RunCmd("document.ilayer1.document.inpage_ns_layer.OnInviteAccept(1 /* no_replay */)");
		}
		else
		{
			RunCmd("document.ilayer1.document.inpage_ns_layer.OnInviteAccept(1 /* no_replay */)");
		}
	}
	else if(IEOK == 1)
	{
		if(INSOK == 1 && DPOK == 1)
		{
			RunCmd("window.inpage_ie_frame.OnInviteAccept(1 /* no_replay */)");
		}
		else
		{
			RunCmd("window.inpage_ie_frame.OnInviteAccept(1 /* no_replay */)");
		}
	}
	else
		UnsupportedBrowser();
}

Main();


