var TerraExplorer;
var CurrentVersion = "4.6.1";
var InstallOK = true;
var OpenFileType = "";
var OpenFileURL = "";

//TODO: Set the path of these variables to your web site
// E.g.: "http://www.skylinesoft.com/interactive/terraexplorer/install/Update.cab"

//MyPath - The path where this file ("DetectTE.js") is located on the server
var MyPath;
MyPath = "http://terragate.safetyhost.net//igo//InstallSkyline";


//InstallURL - Determines the path for TerraExplorer install
var InstallURL;
InstallURL = MyPath + "/TEInstall/TE.cab";

//InstallVersion - Determines the minimum version for TerraExplorer install
//Format: "X,X,X,X"
var InstallVersion;
InstallVersion = "4,6,1,0";

//UpdateURL - Determines the default path for TerraExplorer updates
var UpdateURL;
UpdateURL = MyPath + "/TEInstall/basic.cab";

//StartPageURL - Determines the default path for the start page displayed from Help Menu -> Terraexplorer Home
var StartPageURL;
StartPageURL = "http://www.skylinesoft.com/Interactive/TerraExplorer/texp_startpage.asp?te";

//QuickGuideURL - Determines the default path for TerraExplorer quick guide help
// Help Menu -> TerraExplorer Help Topics F1
var QuickGuideURL;
QuickGuideURL = "http://www.skylinesoft.com/Interactive/TerraExplorer/texp_quickguide.asp?te";

//FlightInstructionsURL - Determines the default path for TerraExplorer flight instructions
// Help Menu -> Flight instructions
var FlightInstructionsURL;
FlightInstructionsURL = "http://www.skylinesoft.com/Interactive/TerraExplorer/texp_flight-instructions.htm";

//ManualDownloadURL - Determines the default path for TerraExplorer manual download
var ManualDownloadURL;
ManualDownloadURL = MyPath + "/TEInstall/TEv461.zip";

//Inject a div for loading TerraExplorer 
document.write( "<!-- LoadingDiv -->" +
				"<DIV id='LoadingDiv' name='LoadingDiv' " +
				"style='position:absolute;" +
				"width:340;" +
				"height:220px;" +
				"z-index:0;" +
				"left: 50px;" +
				"top: 80px;" +
				"background-color: ffffff;" +
				"layer-background-color: ffffff;" +
				"border: 10px solid #808080;" +
				"visibility: hidden'>" +
				"<Span id = 'DivText' name = 'DivText'> "+
				"<img src='"+MyPath+"/Sky-Delivering.gif' border=0><br><center><br><span> Loading TerraExplorer Installation Kit. </span><br><span> This may take few minutes. </span><br><br><img src='"+MyPath+"/loading-anim.gif' border=0></center>" +
				"</Span>" +
				"<Span id = 'myObj' name = 'myObj'></Span>" +
				"</DIV>" +
				"<!-- LoadingDiv -->" );



function DetectInstallRun (URL, Type)//Type = "Fly" or "WebPage"
{
	var ret = DetectTE();
	var InnerHTMLText = "";
	var StatusText = "";
	OpenFileURL = URL;
	OpenFileType = Type;
	
	if (ret)	
	{
		LoadingDiv.style.visibility = 'visible';
		
		
		InnerHTMLText = "<OBJECT ID='TE' CLASSID='CLSID:3a4f9191-65a8-11d5-85c1-0001023952c1' " + 
			"onreadystatechange = 'onTEInstalled()' " +
			"onerror = 'InstallOK = false' "+ 
			"style = 'visibility:hidden' "+
			" codebase='" + InstallURL + "#Version=" + InstallVersion +"'>" +
			"<PARAM NAME='UpdateURL' VALUE=" + UpdateURL + ">"	+
			"<PARAM NAME='StartPageURL' VALUE=" + StartPageURL+ ">"	+
			"<PARAM NAME='QuickGuideURL' VALUE=" + QuickGuideURL+ ">"	+
			"<PARAM NAME='FlightInstructionsURL' VALUE=" + FlightInstructionsURL+ ">"	+
			"</OBJECT>";
			

			//StatusText = "<br><br><center> Downloading... </center>";
			//LoadingDiv.all ("DivText").innerHTML = StatusText;
			LoadingDiv.all ("myObj").innerHTML = InnerHTMLText;
			
			
	}
}


function onTEInstalled()
{
	LoadingDiv.style.visibility = 'hidden';
	if (LoadingDiv.readyState == 'complete')  
	{
		if (InstallOK) 
		{
			if (OpenFileType == 'Fly')
			{
			    var TE2 = new ActiveXObject("TerraExplorer2.TerraExplorer");
			    TE2.Load (OpenFileURL);
			}
			else if (OpenFileType == 'WebPage')
			{
				window.parent.location.href =  OpenFileURL;
			}
			else 
				alert ('Error');
		}
		else
		{
			str = "Il semble que vos paramètres de sécurité bloquent l'installation automatique.\nSi vous avez Microsoft Windows XP Service Pack 2, suivre ces instructions :\n1. Cliquer sur le bouton Cancel (ou annuler). \n2. Cliquer sur l'avertissement de sécurité qui apparait en haut de la fenêtre\n3. Selectionner l'option 'Autoriser cette page à installer des contrôles ActiveX'\n4. Cliquer à nouveau sur le bouton d'installation.\n\nPour installer manuellement TerraExplorer cliquer sur OK, ou Cancel pour arrêter."
			if (window.confirm(str) == true) 
			{
				document.location.href = ManualDownloadURL;
			}						
		}
	}	
}

/*DetectTE - Checks if TerraExplorer is already installed on the client computer.*/
function DetectTE()
{ 
    try
	{
		// Check if TE is installed
		TeInstalled = new ActiveXObject("TEDetect.TETest"); 

		if (TeInstalled != null)
		{
			TeInstalled = null;	// Make sure that the "TEDetect.TETest" ActiveX will not stay alive (otherwise it will interrupt the installation of the new version)

			//Make sure we can run TerraExplorer
			TerraExplorer = new ActiveXObject("TerraExplorer2.TerraExplorer");

			if (TerraExplorer != null)
			{
				TerraExplorer = null;

				return true;
			}
			else
			{
				//It is abnormal to get here. Prompt for manual install 
				alert("Error: Cannot run TerraExplorer");

				if ( window.confirm("Erreur: Installation automatique impossible.\nPour installer manuellement TerraExplorer, cliquer sur OK, ou Cancel pour arrêter") == true)
				{
					document.location.href = ManualDownloadURL;
				}
			}

		}
		else
		{
			throw -1;	// TE is not installed.
		}

		TerraExplorer = null;
	}
	catch(e)
	{	
		// Try install TE
		sMessage  = "Le programme nécéssaire à l'application n'est pas installé :\n\n      TerraExplorer, de Skyline Software Systems\n\n";
		sMessage += "Cliquer sur OK pour procéder à son installation automatique.\n\nNote: La durée de l'installation dépendra de la vitesse\n";
		sMessage += "de votre connexion Internet ...                             \n(moins d'une minute avec une connexion haut débit)";
		ret = window.confirm (sMessage);
		// if ret = OK change cursor
		return ret
	}


	return false;
}

function runFly(StageName)
{
    var FlyName="http://terragate.safetyhost.net/igo/Maquettes3D/" + StageName ;
    DetectInstallRun (FlyName, "Fly" );
}

