<!--

/////////////////////////////////////////////////////////////////////////////
//
//	DetectTE - help detecting if TerraExplorer is installed
//
//	The 'version' parameter indicate if we are interested to know if a specific
//  version of TerraExplorer is installed.
//
//  Usage:
//  ------------------------------------------------------
//
//  if (DetectTE("5.0.0"))
//		alert("TerraExplorer version 5.0.0 is installed");
//
//  ------------------------------------------------------
//
//  if (DetectTE(""))
//		alert("TerraExplorer installed");
//
/////////////////////////////////////////////////////////////////////////////


function DetectTE(version1,version2)
{
	var agent = navigator.userAgent.toLowerCase();

	if ( agent.indexOf('msie') != -1 && agent.indexOf('win') != -1 )
		return DetectTEOnIE(version1,version2);
	else
		return DetectTEMisc(version1,version2);
}
/**
 * Fonction permettant de savoir si TE existe pour les non IE et si la version utilisee est la bonne
 * @param {String} version La version du TE
 * @param {Integer} freeze Le numero de freeze du TE
 */
function DetectTEMisc(version, freeze)
{
	var appSkyline = "application/Skyline.TerraExplorer";
	var mimetype = navigator.mimeTypes[appSkyline];
	
	// Test pour verifier que l'on peut voir le plugin TE sur le navigateur en cours
	if (typeof(mimetype) == "undefined" || mimetype == "") 
		return 0;
		
	// Si le parametre est a null ou undefined on n'a pas besoin de tester la version du TE
	if (typeof(version) == "undefined" || version == "") 
		return 1;
	
	// Test de la version du TE
	appSkyline = appSkyline + "." + version;
	mimetype = navigator.mimeTypes[appSkyline];
	if (typeof(mimetype) == "undefined" || mimetype == "") 
		return 0;
		
	return 1;
}
/**
function DetectTEMisc(version1,version2)
{
	var appSkyline = "application/Skyline.TerraExplorer";
	var appSkylineb = "application/Skyline.TerraExplorer";
	var mimetype = navigator.mimeTypes[appSkyline];

	if (mimetype == undefined || mimetype == "")
		return 0;
	if (version1 == undefined || version1 == "" || version2 == undefined || version2 == "")
		return 1;
	appSkyline = appSkyline + "." + version1;

	mimetype = navigator.mimeTypes[appSkyline];

	if (mimetype == undefined || mimetype == "")
	{	appSkylineb = appSkylineb + "." + version2;

		mimetype = navigator.mimeTypes[appSkylineb];
		if (mimetype == undefined || mimetype == "")
			{return 0;}
	}

	return 1;
}
*/

/**
 * Fonction permettant de savoir si TE existe pour IE et si la version utilisee est la bonne
 * @param {String} version La version du TE
 * @param {Integer} freeze Le numero de freeze du TE
 */
function DetectTEOnIE(version, freeze)
{
	try
	{
		var TETester = new ActiveXObject("TEDetect.TETest");
		
		// Verification que le TE est installe
		if (typeof(TETester) == "undefined")
			return 0;
		
		// TETester.Type = BASIC | PRO | NA
		// A savoir : Si la derniere installation est un TE Basic, la variable est a BASIC, meme si un PRO a ete lance en dernier
		//			  Si la derniere installation est un TE Pro, la variable est a PRO, meme si un BASIC a ete lance en dernier
		if (TETester.Type == "NA")
			return 0;	// An installation exist but needs to be "repaired"

		// Si le parametre pour la version est a null ou undefined on n'a pas besoin de tester la version du TE
		if (typeof(version) == "undefined" || version == "") 
			return 1;
		
		// Si une des quatre variables suivantes est a "undefined", cela veut dire qu'on est en dessous une version 5.0.2.7
		if (typeof(TETester.Major) == 'undefined' || typeof(TETester.Minor) == 'undefined' || typeof(TETester.Build) == 'undefined'
			|| typeof(TETester.Freeze) == 'undefined') {
				return 0;
		}
		
		// Test de la version du TE
		var ExistingVer = TETester.Major + "." + TETester.Minor + "." + TETester.Build;
		var ExistingFreeze = TETester.Freeze;

		// Si la version utilise est inferieur a la version precaunise
		// ou qu'elle est identique mais que la version du freeze utilise est inferieur au freeze precaunise
		if ((ExistingVer < version) || ((ExistingVer == version) && (parseInt(ExistingFreeze) < parseInt(freeze))))
			return 0;
	} catch(err) {
		return 0;
	}
	return 1;
}
/**
function DetectTEOnIE(version1,version2)
{
	try
	{
		var TETester = new ActiveXObject("TEDetect.TETest");

		if (TETester == undefined)
			return 0;

		if (TETester.Type == "NA")
			return 0;	// An installation exist but needs to be "repaired"

		if (version1 == undefined || version1 == "" || version2 == undefined || version2 == "")
			return 1;

		var ExistingVer;
		ExistingVer = TETester.Major + "." + TETester.Minor + "." + TETester.Build;

		if ((version1 != ExistingVer) &&  (version2 != ExistingVer))
			return 0;
	}
	catch(err)
	{
		return 0;
	}

	return 1;
}
*/
function detecterTE()
{	return DetectTE("5.0.0","0")
}


function verif(indice){
	//alert(abspath());
	if (!detecterTE())
	{ 	alert("Veuillez télécharger les mises à jour");
	}
	else
	{var name = navigator.appName;
		 if (name == "Microsoft Internet Explorer")
		 {	if (indice==1)
		 			var url=(abspath()+ "/sigmatopo.html");
		 		if (indice==2)
		 			var url=(abspath()+ "/sigmarando.html");
		 		if (indice==3)
		 			var url=(abspath()+ "/sigmayoles.html");
		 		if (indice==4)
		 			var url=(abspath()+ "/DonneEn3D.html");
		 }
		 else
		 { if (indice==1)
			 	var url=(abspath() + "/indexshelltopo.asp");
			 if (indice==2)
			 	var url=(abspath() + "/indexshellrando.asp");
			 if (indice==3)
			 	var url=(abspath() + "/indexshellyoles.asp");
			 if (indice==4)
			 	var url=(abspath() + "/DonneEn3D.html");
			}
		 window.location.href = url;
	}
}


function abspath()
{
	var abspath = unescape(window.location.href);
	index=abspath.lastIndexOf("/");
	abspath = abspath.substring(0,index);

	if(abspath.substring(0,1) == "/")
		abspath = abspath.substring(1,abspath.length)

	for (var i=abspath.length-1; i>=0; i--)
	{
	  if (abspath.substring(i,i+1) == "\\")
	  {
		 abspath = abspath.substring(0,i);
		 break;
	  }
	}

        return(abspath);

}
// -->

