// ----------------------------------------------------------------------------------------------
//
//	global/jscript/navope_fnc.js
//
//	Fonction de lecture/gestion types de navigateur / os en cours
//
//--------------------------------------  PREREQUIS  --------------------------------------------
//
//
//-------------------------------------- HISTORIQUE ---------------------------------------------
//
//      Création
//      --------
//	12/2003		LTS		V131 NEGPLUS
//	- pour gestion traitements différents suivant os ou navigateur
//	=> à l'origine pour NegatifPlus V131
//
//	Modifications
//	-------------
//
// ----------------------------------------------------------------------------------------------


// ----------------------------------------------------------------------------------------------
//		DEFINITIONS DE VALEURS COMMUNES AU MODULE
// ----------------------------------------------------------------------------------------------

// Chaines de caractérisation des os, navigateur
//
// ATTENTION à bien définir/utiliser ces valeurs côté serveur d'appliation
//
var strOSWIN	= "WIN";			// os windows
var strOSMAC	= "MAC";			// os mac
var strOSMACX	= "MACX";			// os mac X
var strOSUNX	= "UNX";			// os unix, linux, ....
//
var strNAVIE	= "IE";				// internet explorer
var strNAVIE5	= "IE5";			// internet explorer 5
var strNAVIE55	= "IE55";			// internet explorer 5.5
var strNAVIE6	= "IE6";			// internet explorer 6
//
var strNAVNS	= "NS";				// netscape
var strNAVNS4	= "NS4";			// netscape 4
var strNAVNS6	= "NS6";			// netscape 6 et plus ?
//
var strNAVOP	= "OP";				// opéra
var strNAVOP5	= "OP5";			// opéra 5
var strNAVOP6	= "OP6";			// opéra 6
//
var strNAVSF	= "SF";				// safari


// ----------------------------------------------------------------------------------------------
//		FONCTIONS DE RECONNAISSANCE D'OS
// ----------------------------------------------------------------------------------------------

//
// Est-on sur Mac ?
//
function IsMac()
{
	var CSAg = window.navigator.userAgent;
	return (CSAg.indexOf("Mac") != -1);
}
//
// Est-on sur Mac OS X ?
//
function IsMacOSX()
{
	var CSAg = window.navigator.userAgent;
	return (IsMac()  &&  CSAg.indexOf("OS X") != -1);
}

// ----------------------------------------------------------------------------------------------

//
// Est-on sur PC Windows ?
//
function IsPc ()
{
	var CSAg = window.navigator.userAgent;
	return (CSAg.indexOf("Windows") != -1);
}
//
// Est-on sur PC Windows 2K ?
//
function IsPc2K ()
{
	var CSAg = window.navigator.userAgent;
	return (CSAg.indexOf("Windows NT 5.0") != -1);
}
//
// Est-on sur PC Windows XP ?
//
function IsPcXP ()
{
	var CSAg = window.navigator.userAgent;
	return (CSAg.indexOf("Windows NT 5.1") != -1);
}


// ----------------------------------------------------------------------------------------------
//		FONCTIONS DE RECONNAISSANCE DE NAVIGATEUR
// ----------------------------------------------------------------------------------------------

//
// Est-on sur Internet Explorer ?
//
function IsIE()
{
	var CSAg = window.navigator.userAgent;
	return (CSAg.indexOf("MSIE") != -1  &&  !IsOP());
}
//
// Est-on sur Internet Explorer 5 ?
//
function IsIE5()
{
	var CSAg = window.navigator.userAgent;
	return (CSAg.indexOf("MSIE 5.") != -1  &&  !IsOP());
}
//
// Est-on sur Internet Explorer 5.5 ?
//
function IsIE55()
{
	var CSAg = window.navigator.userAgent;
	return (CSAg.indexOf("MSIE 5.5") != -1  &&  !IsOP());
}
//
// Est-on sur Internet Explorer 6 ?
//
function IsIE6()
{
	var CSAg = window.navigator.userAgent;
	return (CSAg.indexOf("MSIE 6.") != -1  &&  !IsOP());
}
//
// Est-on sur Internet Explorer 7 ?
//
function IsIE7()
{
	var CSAg = window.navigator.userAgent;
	return (CSAg.indexOf("MSIE 7.") != -1  &&  !IsOP());
}
//
// Est-on sur Internet Explorer 8 ?
//
function IsIE8()
{
	var CSAg = window.navigator.userAgent;
	return (CSAg.indexOf("MSIE 8.") != -1  &&  !IsOP());
}

// ----------------------------------------------------------------------------------------------

//
// Est-on sur Netscape ?
//
function IsNS()
{
	return (navigator.appName == "Netscape");
}
//
// Est-on sur Netscape 4 ?
//
function IsNS4()
{
	var CSAg = window.navigator.userAgent;
	return (isNS()  &&  CSAg.indexOf("Gecko") == -1);
}
//
// Est-on sur Netscape 6 et plus ?
//
function IsNS6()
{
	var CSAg = window.navigator.userAgent;
	return (isNS()  &&  CSAg.indexOf("Gecko") != -1);
}


// ----------------------------------------------------------------------------------------------

//
// Est-on sur Opéra ?
//
function IsOP()
{
	var CSAg = window.navigator.userAgent;
	return (CSAg.indexOf("Opera") != -1);
}
//
// Est-on sur Opéra 5 ?
//
function IsOP5()
{
	var CSAg = window.navigator.userAgent;
	return (CSAg.indexOf("Opera 5.") != -1);
}
//
// Est-on sur Opéra 6 ?
//
function IsOP6()
{
	var CSAg = window.navigator.userAgent;
	return (CSAg.indexOf("Opera 6.") != -1);
}


// ----------------------------------------------------------------------------------------------

//
// Est-on sur Safari ?
//
function IsSF()
{
	var CSAg = window.navigator.userAgent;
	return (CSAg.indexOf("Safari") != -1);
}


// ----------------------------------------------------------------------------------------------

//
// Est-on sur Firefox ?
//
function IsFX()
{
	var CSAg = window.navigator.userAgent;
	return (CSAg.indexOf("Firefox") != -1);
}


// ----------------------------------------------------------------------------------------------
//		FONCTIONS DE MAJ DE VARIABLES NAVIGATEUR / OS
// ----------------------------------------------------------------------------------------------

//
// Mise à jour de la variable html pour passer le type de navigateur
//
//	a_forme		l'objet forme concerné
//	a_navvar	la variable qui doit recevoir la valeur
//
function setNavVar (a_forme, a_var)
{
	// Initialisations
        //
        var l_var = "";

        // Recherche du navigateur
        //
        if (IsIE())		l_var = strNAVIE;
        else if (IsNS())	l_var = strNAVNS;
        else if (IsOP())	l_var = strNAVOP;
        //
        // Affectation de la valeur
        //
        if (l_var.length > 0)	a_var.value = l_var;
//alert ("nav="+l_var);

        // Retour du traitement
        //
        return (l_var.length > 0);
}

// ----------------------------------------------------------------------------------------------

//
// Mise à jour de la variable html pour passer le type d'os
//
//	a_forme		l'objet forme concerné
//	a_opevar	la variable qui doit recevoir la valeur
//
function setOpeVar (a_forme, a_var)
{
	// Initialisations
        //
        var l_var = "";

        // Recherche du navigateur
        //
        if (IsPc())		l_var = strOSWIN;
        else if (IsMac())	l_var = strOSMAC;
        //
        // Affectation de la valeur
        //
        if (l_var.length > 0)	a_var.value = l_var;
//alert ("ope="+l_var);

        // Retour du traitement
        //
        return (l_var.length > 0);
}