var soportadoNavegador;
var nombreNavegador;
var isIExplorer;
var isFirefox;
var instaladoPlugin3D;

var w3d;

function iniciarComprobacionesPlugins(enlace)
{
	w3d = enlace;
	
	setTimeout("iniciarComprobaciones()",1500);
}

function iniciarComprobaciones()
{
	testNavegador();
	test3D();
	
	if(soportadoNavegador)
	{
		if(instaladoPlugin3D)
		{		
			$( "#test" ).html("<div class='textoNeg'>Plugin cargado correctamente</div>");
			abrir3dTrasComprobaciones(w3d);
		}
		else
		{
			$( "#test" ).html("<div class='textoNeg' style='width:500px;text-align:center'>Descargue e instale el plugin para ver el contenido 3D.<p>Para la correcta instalaci&oacute;n del plugin cierre el navegador antes de comenzar la instalaci&oacute;n</p><p><a href='plugins/cortvrml.exe' style='color:#f18e00'>Descargar plugin</a></p></div>");
		}
	}
	else
	{
		
		$( "#test" ).html("<div class='textoNeg' style='width:475px;text-align:justify'>Navegador no soportado. Para visualizar el mundo virtual es necesario utilizar Microsoft Internet Explorer o Mozilla Firefox.</div>");	
	}
}

function testNavegador()
{
	var color;
	
	if(testOpera());
	else if(testIExplorer());
	else if(testFirefox());
	else if(testChrome());
	else if(testSafari());
	else
	{
		nombreNavegador = "Navegador desconocido"
		soportadoNavegador = false;
	}
}

function test3D()
{
	if(isIExplorer)
	{
		instaladoPlugin3D = CheckIE3D1();
		if(!instaladoPlugin3D) instaladoPlugin3D = CheckIE3D2();
	}
	else if(isFirefox)
	{
		var numPlugins = navigator.plugins.length;
	
		for(var i = 0; i < numPlugins; i++ )
		{
			var plugin= navigator.plugins[i];
	
			if((plugin.name == 'Cortona VRML Client') || (plugin.name.substring(0, 11) == 'BS Contact ') || (plugin.name == 'BS Contact'))
			{
				instaladoPlugin3D = true;
				i = numPlugins;
			}
			else instaladoPlugin3D = false;
		}
	}
}

function testIExplorer()
{
	/*
	* Navegador Internet Explorer userAgent contiene: MSIE 0.0 
	* MSIE indica el navegador Internet Explorer.
	* 0.0 indica la versión del navegador.
	*
	* Ejemplo Internet Explorer 7.0 (Windows XP): Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
	*
	*/
	
	if (/MSIE (\d+\.\d+);/.test(navigator.userAgent))
	{
		var ieversion=new Number(RegExp.$1);
		if (ieversion>=8)
		{
			nombreNavegador="Internet Explorer";
			soportadoNavegador = true;
		}
		else if (ieversion>=7)
		{
			nombreNavegador="Internet Explorer 7.x";
			soportadoNavegador = true;
		}
 		else if (ieversion>=6)
		{
			nombreNavegador="Internet Explorer 6.x";
			soportadoNavegador = true;
		}
 		else if (ieversion>=5)
		{
			nombreNavegador="Internet Explorer 5.x";
			soportadoNavegador = false;
		}
		else
		{
			nombreNavegador="Internet Explorer";
			soportadoNavegador = false;
		}
		isIExplorer = true;
		return true;
	}
	else return false;
}

function testFirefox()
{
	/*
	* Navegador Mozilla Firefox userAgent contiene: Firefox/0.0.0.0 
	* Firefox indica el navegador Mozilla Firefox.
	* 0.0.0.0 indica la versión del navegador.
	*
	* Ejemplo Mozilla Firefox 2.0 (Windows XP): Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13
	*
	*/
	
	if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent))
	{
 		var ffversion=new Number(RegExp.$1)
 		if (ffversion>=4)
		{
			nombreNavegador="Mozilla Firefox";
			soportadoNavegador = true;
		}
		else if (ffversion>=3)
		{
			nombreNavegador="Mozilla Firefox 3.x";
			soportadoNavegador = true;
		}
		else if (ffversion>=2)
		{
			nombreNavegador="Mozilla Firefox 2.x";
			soportadoNavegador = true;
		}
		else if (ffversion>=1)
		{
			nombreNavegador="Mozilla Firefox 1.x";
			soportadoNavegador = false;
		}
		else
		{
			nombreNavegador="Mozilla Firefox";
			soportadoNavegador = false;
		}
		isFirefox = true;
		return true;
	}
	else return false;
}

function testOpera()
{
	/*
	* Navegador Opera userAgent contiene: Opera/0.00 o Opera 0.00
	* Opera indica el navegador Opera.
	* 0.0 indica la versión del navegador.
	*
	* Ejemplo Opera 9.24 (Windows XP): Opera/9.24 (Windows NT 5.1; U; en)
	*
	* Opera 7.5 (MSIE 6.0) (Windows XP): Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Opera 7.50 [en]
	* Puede contener MSIE asique realizar esta comprobación antes que la de Internet Explorer.
	*/
	
	if (/Opera[\/\s](\d+\.\d+)/.test(navigator.userAgent))
	{
 		var oprversion=new Number(RegExp.$1)
		if (oprversion>=10)
		{
			nombreNavegador="Opera";
			soportadoNavegador = false;
		}
		else if (oprversion>=9)
		{
			nombreNavegador="Opera 9.x";
			soportadoNavegador = false;
		}
		else if (oprversion>=8)
		{
			nombreNavegador="Opera 8.x";
			soportadoNavegador = false;
		}
		else if (oprversion>=7)
		{
			nombreNavegador="Opera 7.x";
			soportadoNavegador = false;
		}
		else
		{
			nombreNavegador="Opera";
			soportadoNavegador = false;
		}
		return true;
	}
	else return false;
}

function testChrome()
{
	/*
	* Navegador Google Chrome userAgent contiene: Chrome 0.0.0.0
	* Chrome indica el navegador Google Chrome.
	* 0.0.0.0 indica la versión del navegador
	*
	* Ejemplo Google Chrome 0.2.149.30 (Windows XP): Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.30 
	* Safari/525.13
	* Puede contener Safari asique realizar esta comprobación antes que la de Safari.
	*/
	
	if (/Chrome[\/\s](\d+\.\d+)/.test(navigator.userAgent))
	{
		var chrversion=new Number(RegExp.$1)
		if (chrversion>=2)
		{
			nombreNavegador="Google Chrome";
			soportadoNavegador = false;
		}
		else if (chrversion>=1)
		{
			nombreNavegador="Google Chrome 1.x";
			soportadoNavegador = false;
		}
		else if (chrversion>=0)
		{
			nombreNavegador="Google Chrome 0.x";
			soportadoNavegador = false;
		}
		else
		{
			nombreNavegador="Google Chrome";
			soportadoNavegador = false;
		}
		return true;
	}
	else return false;
}

function testSafari()
{
	/*
	* Navegador Safari userAgent contiene: Safari
	* Safari indica el navegador Safari.
	*
	* Ejemplo Safari 3.1 (Windows XP): Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13
	*/
	
	if (/Safari/.test(navigator.userAgent))
	{
		nombreNavegador="Apple Safari";
		soportadoNavegador = false;
		return true;
	}
	else return false;
}