<!--

//-------------------------------------------------------------------------------
//
//	variables globales
//
var g_sMenuIndexId=			'__MenuIndex__';		// utilisé pour passer un paramètre dans une URI
var g_sPageSubfolderId=		'__PageSubfolder__';	// utilisé pour passer un paramètre dans une URI
var g_sSelectedItemId=		'__SelectedItem__';		// utilisé pour passer un paramètre dans une URI
var g_sSelectedSubitemId=	'__SelectedSubitem__';	// utilisé pour passer un paramètre dans une URI
//
var g_bUrlWithParams=	false;					// true lorsque JavaScript accepte les url avec des paramètres
var g_sArguments=		'';						// liste des arguments passés en paramètres


//-------------------------------------------------------------------------------
//
//	Vérifie la compatibilité du navigateur client avec ce site
//
var g_nIEOldest=			5;					// plus vieille version IE supportée
var g_nNetscapeOldest=		5;					// plus vieille version Netscape supportée
var g_nFireFoxOldest=		1;					// plus vieille version FireFox supportée
//
function checkNavigator()
{
/*
	var sPrint=	'NAVIGATOR: \n';
	for( sParam in navigator )
	{
		sPrint += sParam + ':\t' + navigator[sParam] + '\n';
	}
	alert( sPrint );
*/
	
	var bUnknown=		false;

//	je récupère le nom exporté du navigateur
//
	var sNavigatorName=	navigator['appName'].toLowerCase();
	if		( sNavigatorName.search( /microsoft internet explorer/ ) >= 0 )
	{
	//	Internet Explorer
	//
		var sAppVersion=	navigator['appVersion'].toLowerCase();
		if ( tbVersion=	sAppVersion.match( /msie\x20+\d{1,2}/ ) )
		{
			var sMajorVersion=	tbVersion[0].substring( 5 );
			if ( parseInt(sMajorVersion) < g_nIEOldest )
			{
				alert( 'To browse this site you must use at least \nMicrosoft Internet Explorer® version ' + g_nIEOldest );
			}
		}
		else
		{
			bUnknown=	true;
		}
	}
	else if	( sNavigatorName.search( /netscape/ ) >= 0 )
	{
		if ( navigator['vendor'] )
		{
		//	Netscape ou FireFox
		//
			var sVendor=	navigator['vendor'].toLowerCase();
			if		( sVendor.search( /netscape/ ) >= 0 )
			{
			//	Netscape
			//
				var sVersion=	navigator['vendorSub'].toLowerCase();
				if ( tbVersion= sVersion.match( /\d{1,2}/ ) )
				{
					var sMajorVersion=	tbVersion[0];
					if ( parseInt(sMajorVersion) < g_nNetscapeOldest )
					{
						alert( 'To browse this site you must use at least \nNetscape® version ' + g_nNetscapeOldest );
					}
				}
				else
				{
					bUnknown=	true;
				}
			}
			else if	( sVendor.search( /firefox/ ) >= 0 )
			{
			//	FireFox
			//
				var sVersion=	navigator['vendorSub'].toLowerCase();
				if ( tbVersion=	sVersion.match( /\x20*\d{1,2}/ ) )
				{
					var sMajorVersion=	tbVersion[0];
					if ( parseInt(sMajorVersion) < g_nFireFoxOldest )
					{
						alert( 'To browse this site you must use at least \nFireFox® version ' + g_nFireFoxOldest );
					}
				}
				else
				{
					bUnknown=	true;
				}
			}
			else
			{
				bUnknown=	true;
			}
		}
		else
		{
		//	vieille version de Netscape inférieure ou égale à 5.0, dans ces
		//	vieille versions les variables globales ne sont pas reconnues,
		//	j'ai donc codé les valeurs en dur
		//
			var sVersion=	navigator['appVersion'].toLowerCase();
			if ( tbVersion= sVersion.match( /\x20*\d{1,2}/ ) )
			{
				var sMajorVersion=	tbVersion[0];
				if ( parseInt(sMajorVersion) < 5 )
				{
					alert( 'To browse this site you must use at least \nNetscape(r) version 5' );
				}
			}
			else
			{
				bUnknown=	true;
			}
		}
	}
	else
	{
		bUnknown=	true;
	}
	
	if ( bUnknown )
	{
	//	je n'ai pas reconnu ce navigateur
	//
		alert( 'This site was not tested with your browser "' + navigator['appName'] + '"' );
	}
}


//-------------------------------------------------------------------------------
//
//	Envoi un e-mail
//
function email( sUncompleteMessage )
{
	if	(	document.emailForm.Email.value.length	> 0
		&&	document.emailForm.Nom.value.length		> 0
		&&	document.emailForm.Adresse.value.length	> 0
		&&	document.emailForm.Code_Postal.value.length	> 0
		&&	document.emailForm.Ville.value.length	> 0
		&&	document.emailForm.Pays.value.length	> 0
		)
	{
		document.emailForm.submit();
	}
	else
	{
		alert( sUncompleteMessage );
	}
}


//-------------------------------------------------------------------------------
//
//	Envoi un e-mail
//
function testAndDownload( sUncompleteMessage )
{
	if	(	document.emailForm.Email.value.length	> 0
		&&	document.emailForm.Nom.value.length		> 0
		&&	document.emailForm.Adresse.value.length	> 0
		&&	document.emailForm.Code_Postal.value.length	> 0
		&&	document.emailForm.Ville.value.length	> 0
		&&	document.emailForm.Pays.value.length	> 0
		)
	{
		document.emailForm.submit();
	}
	else
	{
		alert( sUncompleteMessage );
	}
}


//-------------------------------------------------------------------------------
//
//	Envoi un e-mail puis télécharge un logiciel
//
function emailAndDownload()
{
	if	(	document.emailForm.Email.value.length	> 0
		||	document.emailForm.Tel.value.length		> 0
		||	(	document.emailForm.Nom.value.length		> 0
			&&	document.emailForm.Adresse.value.length	> 0
			&&	document.emailForm.Ville.value.length	> 0
			 )
		)
	{
		document.emailForm.submit();
	}
	
	document.downloadForm.submit();
}


//-------------------------------------------------------------------------------
//
//	Décodage de l'uri 'sUri' d'appel d'une dans un tableau sous la forme
//	"tab[sParam]= sValue". Si 'sUri' est absente décode l'Uri courante
//
function getArgs( sUri )
{
	var tbArgs=	new Array();
	
	if ( !sUri )
	{
		sUri=	location.search.substring(1);	// je récupère l'uri courante
	}

	var tbsParamValue=	sUri.split('&');		// construction d'un tableau param_value

	for( nLoop= 0 ; nLoop < tbsParamValue.length ; nLoop++ )
	{
		var nEqualIndex=	tbsParamValue[nLoop].indexOf('=');
		if ( nEqualIndex < 0 )	continue;	// param_value incorrecte !

		var sParam=		unescape( tbsParamValue[nLoop].substring(0, nEqualIndex) );
		var sValue=		unescape( tbsParamValue[nLoop].substring(nEqualIndex + 1) );
		tbArgs[sParam]=	sValue;
	}

	return tbArgs;
}


//-------------------------------------------------------------------------------
//
//	Encodage de la partie paramètres d'une url à partir d'un tableau
//	"tbsParamValue[sParam]= sValue"
//
function setArgs( tbsParamValue )
{
	var sParamsValues=	'';

	if ( tbsParamValue )
	{
		var bFirst=	true;
		for( sParam in tbsParamValue )
		{
			if ( bFirst )	bFirst=	false;
			else			sParamsValues += '&';

			sParamsValues	+=	(	escape( sParam )
								+	'='
								+	escape( tbsParamValue[sParam] )
								);
		}
	}

//	je mémorise les arguments encodés
//
	g_sArguments=	sParamsValues;

	return sParamsValues;
}

//-------------------------------------------------------------------------------
//
//	Retourne les arguments mémorisés dans 'g_sArguments'
//
function getCurrentArgs()
{
	return g_sArguments;
}


//-------------------------------------------------------------------------------
//
//	Répond true si deux tableaux sont identiques
//
function isEqual( tbTab1, tbTab2 )
{
	if ( tbTab1.length != tbTab2.length ) return false;

	for( var param in tbTab1 )
	{
		if ( !tbTab2[param] ) return false;

		if ( tbTab1[param] != tbTab2[param] ) return false
	}

	return true;
}


//-------------------------------------------------------------------------------
//
//	Décompose un chemin d'url en sous-répertoire et fichier
//
function splitPath( sUrl )
{
//	je supprime les paramètres contenus dans l'url
//
	var nQuestionMarkIndex=	sUrl.indexOf('?');
	if ( nQuestionMarkIndex && nQuestionMarkIndex > 0 )
	{
		sUrl=	sUrl.substring( 0, nQuestionMarkIndex );
	}

//	je 'splitte' l'url
//
	var tbsUrl;
	if ( sUrl.indexOf('/') )
	{
		tbsUrl=		sUrl.split('/');
	}
	else
	{
		tbsUrl=		new Array();
		tbsUrl[0]=	sUrl;
	}

	return tbsUrl;
}


//-------------------------------------------------------------------------------
//
//	Vérifie que le menu affiché correspond bien à la page affichée, sinon
//	rectifie le menu (et/ou) le sous-menu
//
function checkMenu( bEnableSubmenu )
{
	if ( parent.frames.header )
	{
		parent.frames.header.selectTab( bEnableSubmenu );
	}
}


//-------------------------------------------------------------------------------
//
//	Remplace les '/' dans un paramètre transmis dans une URI par des '~'
//
function escp( sUriParam )
{
	return sUriParam.replace('/', '~');
}


//-------------------------------------------------------------------------------
//
//	Remplace les '~' dans un paramètre transmis dans une URI par des '/'
//
function unescp( sUriParam )
{
	return sUriParam.replace('~', '/');
}

-->
