//****************** JAVASCRIPTS LIBRARY ******************
//BIBLIOTHEQUE DE JAVASCRIPTS DEVELOPPES PAR DUPREZ OLIVIER

//DETECTION DU NAVIGATEUR
var Navigateur = new String('Inconnu');
var Version = 0;
var PlateForme = new String('Inconnu');
var URLMinuscule = 1;

if (navigator.appName.indexOf('Netscape') != -1)
{
	Navigateur = "Netscape";
	Version = parseFloat(navigator.appVersion.charAt(0));
}
else
{
	Navigateur = navigator.appName.substring(0,navigator.appName.indexOf(' ') - 1);
	Version = parseFloat(navigator.appVersion.charAt(0));
}
if (navigator.appName.indexOf('Microsoft') != -1)
{
	Navigateur = "Microsoft";
	Version = parseFloat(navigator.appVersion.charAt(navigator.appVersion.indexOf('MSIE') + 5));
}
PlateForme = navigator.platform;

window.status="Chargement de - JavaScripts Library - de Olid Software.";

//RENVOIE UNE CHAINE POUR LE NIVEAU DE DOSSIER
function Parents(Niveau)
{
	var Resultat = ""
	var i = 1

	if (Niveau == 0)
	{
		Resultat = "./";
	}
	else
	{
		for (i=1;i<=Niveau;i++)
		{
			Resultat = "../" + Resultat
		}
	}
return Resultat;
}

//TESTE SI UNE VARIABLE EXISTE
function VariableExiste(Nom)
{
	return ( typeof Nom == "undefined" ? false : true );
}

function URLGlobal(NomFrame, URL)
{
	var LocationFrame;
	var CheminFrame;

	if (URL.toUpperCase().indexOf("HTTP://") == 0)
	{
	}
	else if (URL.indexOf("../") == 0)
	{
		LocationFrame = "" + NomFrame.location;
		CheminFrame = LocationFrame.substring(0,LocationFrame.lastIndexOf("/") + 1);
		while(URL.indexOf("../") == 0)
		{
			URL = URL.substring(3,URL.length);
			CheminFrame = CheminFrame.substring(0,CheminFrame.length - 1);
			CheminFrame = CheminFrame.substring(0,CheminFrame.lastIndexOf("/") + 1);
		}
		URL = CheminFrame + URL;
	}
	else
	{
		if (URL.indexOf("./") == 0) URL = URL.substring(2,URL.length)
		else if (URL.indexOf("/") == 0) URL = URL.substring(1,URL.length);
		LocationFrame = "" + NomFrame.location;
		URL = LocationFrame.substring(0,LocationFrame.lastIndexOf("/") + 1) + URL;
	}
	return URL;
}

function Zoom(NomFrame, NomFenetre, URL, LargeurImage, HauteurImage, TitreFenetre, Facteur)
{
	var SourceHTML = "";
	var MargeHorizontale = 10;
	var MargeVerticale = 10;
	var LargeurFenetre = 0;
	var HauteurFenetre = 0;

	if (URLMinuscule == 1)
	{
		URL = URLGlobal(NomFrame,URL);
		URL = URL.toLowerCase();
	}
	else
	{
		URL = URLGlobal(NomFrame,URL);
	}

	if (typeof(Facteur) == 'undefined') Facteur = 1;
	if (Facteur == 'Max')
	{
		LargeurFenetre = screen.availWidth - 10;
		HauteurFenetre = screen.availHeight - 30;
		if ((HauteurFenetre / HauteurImage) > (LargeurFenetre / LargeurImage))
		{
			Facteur = (screen.availWidth - (MargeHorizontale * 2) - 20 - 10) / LargeurImage;
		}
		else
		{
			Facteur = (screen.availHeight - (MargeVerticale * 2) - 45 - 30) / HauteurImage;
		}
		LargeurImage = Math.floor(LargeurImage * Facteur);
		HauteurImage = Math.floor(HauteurImage * Facteur);
	}
	else
	{
		LargeurImage = Math.floor(LargeurImage * Facteur);
		HauteurImage = Math.floor(HauteurImage * Facteur);
		HauteurFenetre = HauteurImage + MargeVerticale * 2;
		HauteurFenetre += 2 * 5 * 2; // cellpadding de 5 * 2 (haut et bas de chaque cellule) * 2 lignes (TR)
		HauteurFenetre += 15; // hauteur du texte
		HauteurFenetre += 10; // bordure de fenetre interieur
		LargeurFenetre = LargeurImage + MargeHorizontale * 2;
		LargeurFenetre += 10; // cellpadding de 5 * 2 (haut et bas de chaque cellule) * 1 colonne
		LargeurFenetre += 10; // bordure de fenetre interieur
	}

	Fenetre = window.open("",NomFenetre,"toolbar=no,location=no,directories=no,status=no,menubar=no,titlebar=no,scrollbars=no,resizable=no,width=" + LargeurFenetre + ",height=" + HauteurFenetre + ",screenX=0,left=0,screenY=0,top=0");
	//Certains navigateurs sont dur d'oreille, alors on répéte l'ordre de créer une nouvelle fenêtre
	Fenetre = window.open("",NomFenetre,"toolbar=no,location=no,directories=no,status=no,menubar=no,titlebar=no,scrollbars=no,resizable=no,width=" + LargeurFenetre + ",height=" + HauteurFenetre + ",screenX=0,left=0,screenY=0,top=0");

	SourceHTML += "<HTML>";
	SourceHTML += "<HEAD>";
	SourceHTML += "<TITLE>" + unescape(TitreFenetre) + "</TITLE>"; //Netscape force l'-escape-
	SourceHTML += "</HEAD>";
	SourceHTML += "<BODY BGCOLOR=\"#000000\">";
	SourceHTML += "<TABLE BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"0\" WIDTH=\"100%\" HEIGHT=\"100%\"BGCOLOR=\"#000000\">";
	SourceHTML += "<TR>";
	SourceHTML += "<TD ALIGN=\"CENTER\" VALIGN=\"MIDDLE\">";
	SourceHTML += "<TABLE BORDER=\"0\" CELLPADDING=\"5\" CELLSPACING=\"0\" BGCOLOR=\"#FFFFFF\">";
	SourceHTML += "<TR>";
	SourceHTML += "<TD>";
	SourceHTML += "<P ALIGN=\"center\"><A HREF=\"javascript:self.close()\">";
	SourceHTML += "<IMG SRC=\"" + URL + "\" WIDTH=\"" + LargeurImage + "\" HEIGHT=\"" + HauteurImage + "\" BORDER=0 ALT=\"Cliquez pour fermer\"></A></TD>";
	SourceHTML += "</TR>";
	SourceHTML += "<TR HEIGHT=\"15\">";
	SourceHTML += "<TD HEIGHT=\"15\">";
	SourceHTML += "<P ALIGN=\"right\"><FONT SIZE=\"-2\" FACE=\"Helvetica,Arial,Verdana\">" + TitreFenetre + "</FONT></TD>";
	SourceHTML += "</TR>";
	SourceHTML += "</TABLE>";
	SourceHTML += "</TD>";
	SourceHTML += "</TR>";
	SourceHTML += "</TABLE>";
	SourceHTML += "</BODY>";
	SourceHTML += "</HTML>";

	Fenetre.document.clear();
	Fenetre.document.write(SourceHTML);
}

//Ecrire dans les cookies
function EcrireCookie(Nom,Valeur,NbJours,Chemin)
{
	var DateExpiration = new Date();
	var Resultat = new String('');

	if (NbJours == null)
	{
		NbJours = 0;
	}
	DateExpiration.setTime(DateExpiration.getTime() + (NbJours * 24 * 3600 * 1000));
	if ((Chemin == null) || (Chemin == ''))
	{
		Chemin = '/';
	}
	document.cookie = Nom + "=" + escape(Valeur) + "; expires=" + DateExpiration.toGMTString() + "; path=" + Chemin ;
	if (LireCookie(Nom) == Valeur)
	{
		Resultat = 'OK';
	}
	else
	{
		Resultat = 'Erreur';
	}
}

//Lire les cookies
function LireCookie(Nom)
{
	var Position = 0;
	var PositionFin = 0;

	Nom = Nom + "=";
	while (Position < window.document.cookie.length)
		{
		if (window.document.cookie.substring(Position,Position + Nom.length) == Nom)
			{
			PositionFin = window.document.cookie.indexOf(";",Position + Nom.length);
			if (PositionFin == -1)
				{
				PositionFin = window.document.cookie.length;
				}
			return unescape(window.document.cookie.substring(Position + Nom.length,PositionFin));
			}
		Position = window.document.cookie.indexOf(" ",Position) + 1;
		if (Position == 0)
			{
			break;
			}
		}
	return "";
}

function Erreur(message, URL, ligne)
{
	window.alert("Erreur du module JavaScript Library\n" + message + "\nLigne : " + ligne + "\nPage : " + URL + "\nMerci de signaler l'anomalie");
}

window.onerror = Erreur;
