// (c) Copyright Digifactory 2002 
// Bibliothèque DigiJs - Définitions 
// ** Définition de l'objet DigiJsNav : détection de navigateur
// ** Définition de l'objet DigiSuiteVars

// constructeur de l'objet DigiJsNav, détection du navigateur
function DigiJsNav(detectEnv,detectSEnv)
{
var agt=navigator.userAgent.toLowerCase()
this.version=parseFloat(navigator.appVersion)
this.env=(detectEnv)?DigiJs_DetectEnv(agt,detectSEnv):0
this.NNS4=this.NIE4=this.AdvancedFunctionCompatible=""
if(document.getElementById)
	{
	this.N5UP=this.AdvancedFunctionCompatible="N5UP"
	this.nav=(document.all)?"ie5+":"ns6+"
	if(agt.indexOf("firefox")!=-1) this.nav="ffox"
	}
else
	{
	this.N5UP=""
	if(document.all) 
		{
		this.nav="ie4"
		if (this.env[0]!="mac" && this.nav=="ie4"){this.NIE4=this.AdvancedFunctionCompatible="NIE4";}
		}
	else if(document.layers){this.nav="ns4";this.NNS4=this.AdvancedFunctionCompatible="NNS4";}
	else if(agt.indexOf("firefox")!=-1) this.nav="firefox"
	else if(agt.indexOf("opera")!=-1) this.nav="opera"
	else if(agt.indexOf("konqueror")!=-1)this.nav="konqueror"
	else if(agt.indexOf("aol")!=-1)this.nav="aol"
	else this.nav=(agt.indexOf("webtv")!=-1)?"webtv":"unknown"
	}
}

// détection de l'environnement
function DigiJs_DetectEnv(agt,detectSEnv)
{
var env=new Array();
if ((winenv=DigiJs_DetectWinEnv(agt,detectSEnv))) env=winenv;
else if ((macenv=DigiJs_DetectMacEnv(agt,detectSEnv))) env=macenv;
else if (((agt.indexOf("os/2")!=-1) || (navigator.appVersion.indexOf("OS/2")!=-1) || (agt.indexOf("ibm-webexplorer")!=-1))) {env[0]="os2";env[1]="none";}
else if ((agt.indexOf("vax")!=-1) || (agt.indexOf("openvms")!=-1)) {env[0]="vms";env[1]="none";}
else if (navigator.appVersion.indexOf("alpha") != -1) {env[0]="alpha";env[1]="none";}
else if (detectSEnv) { if ((unixenv=DigiJs_DetectUnixEnv(agt))) env=unixenv; else {env[0]="unknown";env[1]="unknown";}}
else {env[0]="unix_assumed";env[1]="not required";}
return env;
}

// détection d'un environnement window
function DigiJs_DetectWinEnv(agt,detectSEnv)
{
var env=new Array();
if ((agt.indexOf("win")!=-1) || (agt.indexOf("16bit")!=-1)) env[0]="win";
if (detectSEnv && env[0])
	{
	if ((agt.indexOf("win95")!=-1) || (agt.indexOf("windows 95")!=-1)) env[1]="win95";
	else if ((agt.indexOf("win16")!=-1) || (agt.indexOf("16bit")!=-1) || (agt.indexOf("windows 3.1")!=-1) || (agt.indexOf("windows 16-bit")!=-1)) env[1]="win1631";
	else if ((agt.indexOf("win98")!=-1) || (agt.indexOf("windows 98")!=-1)) env[1]="win98";
	else if ((agt.indexOf("winnt")!=-1) || (agt.indexOf("windows nt")!=-1)) env[1]="winnt";
	else if (((parseInt(navigator.appVersion)>=4) && (navigator.platform == "Win32")) || (agt.indexOf("win32")!=-1) || (agt.indexOf("32bit")!=-1)) env[1]="win32";
	}
else if (env[0]) env[1]="not required";
return env;
}

// détection d'un environnement mac
function DigiJs_DetectMacEnv(agt,detectSEnv)
{
var env=new Array();
if (agt.indexOf("mac")!=-1) env[0]="mac";
if (detectSEnv && env[0])
	{
 	if ((agt.indexOf("68k")!=-1) || (agt.indexOf("68000")!=-1)) env[1]="mac68k";
	else if ((agt.indexOf("ppc")!=-1) || (agt.indexOf("powerpc")!=-1)) env[1]="macppc";
	}
else if (env[0]) env[1]="not required";
return env;
}

// détection d'un environnement unix
function DigiJs_DetectUnixEnv(agt)
{
var env=new Array();
if (agt.indexOf("sunos")!=-1) env[1]="sun";
else if (agt.indexOf("sunos 4")!=-1) env[1]="sun4";
else if (agt.indexOf("sunos 5")!=-1) env[1]="sun5";
else if (agt.indexOf("irix") !=-1) env[1]="irix";
else if (agt.indexOf("irix 5") !=-1) env[1]="irix5";
else if ((agt.indexOf("irix 6") !=-1) || (agt.indexOf("irix6") !=-1)) env[1]="irix6"; 
else if (agt.indexOf("hp-ux")!=-1) env[1]="hpux";
else if (agt.indexOf("aix") !=-1) env[1]="aix"; 
else if (agt.indexOf("aix 1") !=-1) env[1]="aix1";    
else if (agt.indexOf("aix 2") !=-1) env[1]="aix2";    
else if (agt.indexOf("aix 3") !=-1) env[1]="aix3";    
else if (agt.indexOf("aix 4") !=-1) env[1]="aix4";    
else if (agt.indexOf("inux")!=-1) env[1]="linux";
else if ((agt.indexOf("sco")!=-1) || (agt.indexOf("unix_sv")!=-1)) env[1]="sco";
else if (agt.indexOf("unix_system_v")!=-1) env[1]="unixware"; 
else if (agt.indexOf("ncr")!=-1) env[1]="mpras"; 
else if (agt.indexOf("reliantunix")!=-1) env[1]="reliant";
else if ((agt.indexOf("dec")!=-1) || (agt.indexOf("osf1")!=-1) || (agt.indexOf("dec_alpha")!=-1) || (agt.indexOf("alphaserver")!=-1) || (agt.indexOf("ultrix")!=-1) || (agt.indexOf("alphastation")!=-1)) env[1]="dec"; 
else if (agt.indexOf("sinix")!=-1) env[1]="sinix";
else if (agt.indexOf("freebsd")!=-1) env[1]="freebsd";
else if (agt.indexOf("bsd")!=-1) env[1]="bsd";
if (senv=="sun" && (agt.indexOf("i86")!=-1)) env[1]="suni86";
else if (senv=="hpux" && (agt.indexOf("09.")!=-1)) env[1]="hpux9";
else if (senv=="hpux" && (agt.indexOf("10.")!=-1)) env[1]="hpux10";
if (env[1]) env[0]="unix";
return env;
}

//constructeur de l'objet DigiSuiteVars - cette fonction pourra être complétée au fur et à mesure des besoins
function DigiSuiteVars(Sid,Relpath)
{
this.dcsid=Sid;
this.relpath=Relpath;
}

//fonction de lancement des scripts environnemento-spécifiques
function DigiJs_LoadEnvJs(digiJsNav)
{
if ((strnav=digiJsNav.AdvancedFunctionCompatible))
	{
	for (i=1;i<arguments.length;i++)
		{
		indexSlash=arguments[i].lastIndexOf("/");
		repertoire=(indexSlash!=-1)?arguments[i].substring(0,indexSlash+1):"";
		theme=arguments[i].substring(indexSlash+1,arguments[i].length);
		document.write("<script language='JavaScript1.2' src='"+repertoire+"DigiJs"+strnav+"_"+theme+".js' type='text/javascript'></script>");
		}
	return 1;
	}
	else return 0;
}

//fonction de lancement des scripts non environnemento-spécifiques
function DigiJs_LoadJs()
{

for (i=0;i<arguments.length;i++){document.write("<script language='JavaScript1.2' src='"+arguments[i]+"' type='text/javascript'></script>");}
return 1;
}

D = document;