// List of all the regions that are passed to the 
var _garGlobalRegionsList = new Array();

function AddRegion( strRegionName, strRegionSource )
{
	var iNextIndex = _garGlobalRegionsList.length;
	
	_garGlobalRegionsList[ iNextIndex ] = new Object();
	_garGlobalRegionsList[ iNextIndex ].id = new String( strRegionName );
	_garGlobalRegionsList[ iNextIndex ].source = new String( strRegionSource );
}

// ****************************************************************************
//	Environment Checking
// ****************************************************************************
	var _g_arTests = new Array();
	var _g_strAlternate = "incompatible.htm";

	function test( fnTest, strName )
	{
		this.test = fnTest;
		this.name = strName;
	}

	function AddTest( fnTest, strName )
	{
		_g_arTests[ _g_arTests.length ] = new test( fnTest, strName );
	}

	function TestEnvironment()
	{
		var strQueryString = "";
		var bTestResults = true;

		for( var iTestIndex=0; iTestIndex<_g_arTests.length; iTestIndex++ )
		{
			objTest = _g_arTests[ iTestIndex ];
					
			strQueryString += objTest.name + "="
					
			if( objTest.test() )
			{
				strQueryString += "1";
			}
			else
			{
				strQueryString += "0";
				bTestResults = false;
			}

			strQueryString += "&";
		}

		if( !bTestResults )
		{
			// Send the names of all the regions with thier source file names.
			for( var iRegion=0; iRegion<_garGlobalRegionsList.length; iRegion++ )
			{
				strQueryString += _garGlobalRegionsList[ iRegion ].id + "=" + _garGlobalRegionsList[ iRegion ].source;
				strQueryString += "&";
			}
			
			window.location.href = _g_strAlternate + "?" + strQueryString + "page=" + window.location.href;
		}

		return bTestResults;
	}
	
	function SetAlternateURL( strNewAlternateURL )
	{
		_g_strAlternate = new String( strNewAlternateURL );
	}
	
	// == Checks to see if the browser is supported by sofTV.net=========================== 
	function CheckBrowserVersion()
	{
		if(navigator.appName != "Netscape" && navigator.appName != "Microsoft Internet Explorer")
		{
			return false;
		}
		else 
		{
			if (navigator.appName == "Netscape" && navigator.appVersion < "4.6")
			{
				// If is navigator
				if ( navigator.appVersion.indexOf("Nav") != -1 )
				{
					if ( navigator.appVersion < "4.08" )
					{
						return false;
					}
				}
				else
				{
					return false;
				}
			}
			else 
			{
				if (navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion < "4.0")
				{
					return false;
				}
			}
		}
		
		return true;
	}
	
	function JavaTest()
	{
		return navigator.javaEnabled();
	}

	function OSTest()
	{
		var strPlatform = new String( navigator.platform );
		return ( strPlatform.indexOf( "Win32" ) != -1 );
	}

	var g_bHasWMP = null;
	function MediaPlayerTest()
	{
		if ( g_bHasWMP != null )
		{
			return g_bHasWMP;
		}
				
		if ( navigator.mimeTypes["application/x-mplayer2"] )
		{
			return navigator.mimeTypes["application/x-mplayer2"].enabledPlugin;
		}
		else
		{
			return false;
		}
	}

	var g_bHasRealPlayer = null;
	function RealPlayerTest()
	{
		if ( g_bHasRealPlayer != null )
		{
			return g_bHasRealPlayer;
		}
				
		if ( navigator.mimeTypes["audio/x-pn-realaudio"] )
		{
			if( navigator.mimeTypes["audio/x-pn-realaudio"].enabledPlugin != null )
				return navigator.mimeTypes["audio/x-pn-realaudio"].enabledPlugin;
			else
				return true;
		}
		else
		{
			return false;
		}
	}