/**********************************************************************
*	
*	version du 06/02/2009
*	
*	Classe de gestion du navigateur (teste uniquement sur PC Windows Vista)
*	
*	new Navigateur() : nouvel objet gerant le navigateur
*
*	parametres :
*	{
*		- versionInterExplorer : version minimale pour Internet Explorer,
*		- versionFirefox : version minimale pour Firefox,
*		- versionSafari : version minimale pour Safari,
*		- versionOpera : version minimale pour Opera
*		- versionNetscape : version minimale pour Netscape
*	}
*	
**********************************************************************/
function Navigateur(parametres)
{
	this.nom = "";
	this.version = "";
	this.parametres = {
		versionInternetExplorer: "0",
		versionFirefox: "0",
		versionSafari: "0",
		versionOpera: "0",
		versionNetscape: "0"
	};
	
	/*
	*	this.optionsDefaut()
	*	permet de tenir compte des parametres fournis tout en gardant les valeurs
	*	par defaut des parametres non fournis
	*
	*	- parametres : parametres founis
	*	
	*	note : les parametres par defaut sont this.parametres
	*/
	this.optionsDefaut = function(parametres)
	{
		if (parametres)
		{
			for (var propriete in parametres)
				this.parametres[propriete] = parametres[propriete];
		}
		return true;
	};
	this.optionsDefaut(parametres);
	
	if (navigator.appName == "Microsoft Internet Explorer")
	{
		this.nom = Navigateur.noms.internetExplorer;
		var strVersion = navigator.appVersion.split(";")[1];
		this.version = strVersion.substr(strVersion.indexOf(" ", 1) + 1);
	}
	else if (navigator.userAgent.indexOf("Firefox/") != -1)
	{
		this.nom = Navigateur.noms.firefox;
		this.version = navigator.userAgent.substr(navigator.userAgent.indexOf("Firefox/") + 8);
	}
	else if (navigator.userAgent.indexOf("Safari/") != -1)
	{
		this.nom = Navigateur.noms.safari;
		var position = navigator.userAgent.indexOf("Version/") + 8;
		this.version = navigator.userAgent.substring(position, navigator.userAgent.indexOf(" ", position));
	}
	else if (navigator.appName == "Opera")
	{
		this.nom = Navigateur.noms.opera;
		this.version = navigator.appVersion.substring(0, navigator.appVersion.indexOf(" "));
	}
	else if (navigator.appName == "Netscape")
	{
		this.nom = Navigateur.noms.netscape;
		this.version = navigator.userAgent.substr(navigator.userAgent.indexOf("Netscape/") + 9);
	}
	
	/*
	*	this.getVersionMinimale()
	*	retourne la version minimale en fonction du navigateur
	*/
	this.getVersionMinimale = function()
	{
		switch (this.nom)
		{
			case Navigateur.noms.internetExplorer:
				return this.parametres.versionInternetExplorer;
			case Navigateur.noms.firefox:
				return this.parametres.versionFirefox;
			case Navigateur.noms.safari:
				return this.parametres.versionSafari;
			case Navigateur.noms.opera:
				return this.parametres.versionOpera;
			case Navigateur.noms.netscape:
				return this.parametres.versionNetscape;
			default:
				return "0";
		}
	};
	
	/*
	*	this.getArrayVersion()
	*	separe les version majeure et mineure
	*
	*	- version : chaine de caractere representant la version minimale
	*/
	this.getArrayVersion = function(version)
	{
		var arrayVersion = version.split(".");
		for (var i in arrayVersion)
			arrayVersion[i] = parseInt(arrayVersion[i]);
		return arrayVersion;
	};
	
	/*
	*	this.verifierVersion()
	*	verifie que la version actuelle du navigateur correspond bien a la version demandee
	*/
	this.verifierVersion = function()
	{
		var arrayVersionMinimale = this.getArrayVersion(this.getVersionMinimale());
		var arrayVersion = this.getArrayVersion(this.version);
		
		for (var i in arrayVersionMinimale)
		{
			if (arrayVersion[i] == undefined)
			{
				if (arrayVersionMinimale[i] != 0)
					return false;
			}
			else if (arrayVersion[i] < arrayVersionMinimale[i])
				return false
		}
		return true;
	};
	
	/*
	*	this.getAdresseTelechargement()
	*	retourne l'adresse de telechargement de la derniere version du navigateur
	*/
	this.getAdresseTelechargement = function()
	{
		for (var i in Navigateur.noms)
		{
			if (Navigateur.noms[i] == this.nom)
				return Navigateur.adressesTelechargement[i];
		}
		return "";
	};
}
Navigateur.noms = {
	internetExplorer: "Internet Explorer",
	firefox: "Firefox",
	safari: "Safari",
	opera: "Opera",
	netscape: "Netscape"
};
Navigateur.adressesTelechargement = {
	internetExplorer: "http://www.microsoft.com/ie/",
	firefox: "http://www.mozilla.com/firefox/",
	safari: "http://www.apple.com/safari/",
	opera: "http://www.opera.com/download/",
	netscape: "http://browser.netscape.com/"
};