/* auteur: Eurilis */
/* date de creation: 10/10/2001 */

//-----------------------------------------------------------------------------
// Création des layers.
//-----------------------------------------------------------------------------

function newLayer(nomLayer, paramStyle, paramLayer, contenu) {
// Création du layer
// nomLayer -> nom du layer
// paramLayer -> Parametre dans la balise layer (ex: onmouseover)
// contenuHtml -> contenu du layer en code html
	var htmlLayer;
	if(ie)	htmlLayer = '<div id=' + nomLayer + ' style="visibility:hidden; position:absolute" '+ paramStyle + ' ' + paramLayer + '>' + contenu;
	else if(ns4) htmlLayer = '<layer name=' + nomLayer + ' ' + paramLayer + '>' + contenu;
	else if(ns6) htmlLayer = '<div id=' + nomLayer + ' style="visibility:hidden" ' + paramLayer + '>' + contenu;
	document.write(htmlLayer);
	//alert(htmlLayer);
}

function endLayer(){
	if(ie)	htmlLayer = '</div>';
	else if(ns4) htmlLayer = '</layer>';
	else if(ns6) htmlLayer = '</div>';
	document.write(htmlLayer);
}

function setDiv(layer, contenuHtml) {
// Change le contenu du layer
// layer -> nom du layer
// contenuHtml -> contenu du layer en code html
   if(ie) document.all[layer].innerHTML = contenuHtml;
}

//-----------------------------------------------------------------------------
// Visibilitée des layers.
//-----------------------------------------------------------------------------

function getVisibility(layer) {
// Renvoi l'état du layer
// layer -> nom du layer
    if(ie) return document.all[layer].style.visibility;
	else if(ns4){
		if (document.layers[layer].visibility == "show") return "visible";
    	else if(document.layers[layer].visibility == "hide") return "hidden";
	}
	else if(ns6) return document.getElementById(layer).style.visibility;
}

function showLayer(layer) {
// Affiche le layer suivant son état
// layer -> nom du layer
    if(ie) document.all[layer].style.visibility = "visible";
	else if(ns4) document.layers[layer].visibility = "show";
	else if(ns6) document.getElementById(layer).style.visibility = "visible";
}

function hideLayer(layer) {
// Cache le layer suivant son état
// layer -> nom du layer
    if(ie) document.all[layer].style.visibility = "hidden";
	else if(ns4) document.layers[layer].visibility = "hide";
	else if(ns6) document.getElementById(layer).style.visibility = "hidden";
}


//-----------------------------------------------------------------------------
// Couche (z-index) des layers.
//-----------------------------------------------------------------------------

function getzIndex(layer) {
// Renvoi le niveau de couche du layer
// layer -> nom du layer
    if(ie) return document.all[layer].style.zIndex;
	else if(ns4) return document.layers[layer].zIndex;
	else if(ns6) return document.getElementById(layer).style.zIndex;
}

function setzIndex(layer, z) {
// Positionne le layer au niveau de couche donné
// layer -> nom du layer
// z -> niveau de couche
    if(ie) document.all[layer].style.zIndex = z;
	else if(ns4) document.layers[layer].position = 'absolute';
	else if(ns6) document.getElementById(layer).style.zIndex = z;
}

//-----------------------------------------------------------------------------
// Positions des layers.
//-----------------------------------------------------------------------------

function moveLayerTo(layer, x, y) {
// Déplace le layer à la position donnée
// layer -> nom du layer
// x -> position en abscisse
// y -> position en ordonnée
    if(ie){
		document.all[layer].style.left = x;
    	document.all[layer].style.top  = y;
	}
	else if(ns4) document.layers[layer].moveTo(x, y);
	else if(ns6){
		document.getElementById(layer).style.left = x;
   		document.getElementById(layer).style.top  = y;
	}
}

function moveLayerBy(layer, dx, dy) {
// Déplace le layer du nombre de pixel donné
// layer -> nom du layer
// dx -> nombre de pixel en abscisse
// dy -> nombre de pixel en ordonnée
	if(ie){
		if(document.all[layer]){
			document.all[layer].style.pixelLeft += dx;
			document.all[layer].style.pixelTop  += dy;
		}
	}
	else if(ns4){
		if (document.layers[layer])	document.layers[layer].moveBy(dx, dy);
	}
	else if(ns6){
		if (document.getElementById(layer)){
			document.getElementById(layer).style.left = parseInt(document.getElementById(layer).style.left) + dx;
			document.getElementById(layer).style.top = parseInt(document.getElementById(layer).style.top) + dy;
		}
	}
}

function resizeLayerTo(layer, width, height){
// Redimenssionne le layer
// layer -> nom du layer
// width -> largeur désirée
// height -> hauteur désirée
	 if (ie){
	 	 document.all[layer].style.pixelWidth = width;
		 document.all[layer].style.pixelHeight = height;
	}
	else if (ns4){
		document.layers[layer].resizeTo(width,height);
	}
	else if (ns6){
		document.getElementById(layer).style.height = height;
		document.getElementById(layer).style.width = width;
	}
}

function setPositionAbsolute(layer) {
// Positionne le layer en absolute
// layer -> nom du layer
   if(ie) document.all[layer].style.position = 'absolute';
   else if(ns4) document.layers[layer].position = 'absolute';
   else if(ns6) document.getElementById(layer).style.position = 'absolute';
}

function setPositionRelative(layer) {
// Positionne le layer en relative
// layer -> nom du layer
   if(ie) document.all[layer].style.position = 'relative';
   else if(ns4) document.layers[layer].position = 'relative';
   else if(ns6) document.getElementById(layer).style.position = 'relative';
}

function getLeft(layer) {
// Renvoi la position du layer en abscisse
// layer -> nom du layer
    if (ie) return document.all[layer].style.pixelLeft;
	else if(ns4) return document.layers[layer].left;
	else if(ns6) return parseInt(document.getElementById(layer).style.left);
}

function getTop(layer) {
// Renvoi la position du layer en ordonnée
// layer -> nom du layer
    if(ie) return document.all[layer].style.pixelTop;
	else if(ns4) return document.layers[layer].top;
	else if(ns6) return parseInt(document.getElementById(layer).style.top);
}

function getRight(layer) {
// Renvoi la position du bord droit du layer
// layer -> nom du layer
    if(ie) return document.all[layer].style.pixelLeft + getWidth(layer);
	else if(ns4) return document.layers[layer].left + getWidth(layer);
	else if(ns6) return parseInt(document.getElementById(layer).style.left) + getWidth(layer);
}

function getBottom(layer) {
// Renvoi la position du bord inferieur du layer
// layer -> nom du layer
    if(ie) return document.all[layer].style.pixelTop + getHeight(layer);
	else if(ns4) return document.layers[layer].top + getHeight(layer);
	else if(ns6) return parseInt(document.getElementById(layer).style.top) + getHeight(layer);
}

function getHeight(layer) {
// Renvoi la position du layer en ordonnée
// layer -> nom du layer
    if(ie) return document.all[layer].offsetHeight;
	else if(ns4) return document.layers[layer].document.height;
	else if(ns6) return parseInt(document.getElementById(layer).offsetHeight);
}

function getWidth(layer) {
// Renvoi la position du layer en ordonnée
// layer -> nom du layer
    if(ie) return document.all[layer].offsetWidth;
	else if(ns4) return document.layers[layer].document.width;
	else if(ns6) return parseInt(document.getElementById(layer).offsetWidth);
}

//Netscape 4 uniquement (inutile pour les autres navigateurs)
function getPageLeft(layerTop, layer) {
    return document.layers[layerTop].document.layers[layer].pageX;
}

//Netscape 4 uniquement (inutile pour les autres navigateurs)
function getPageTop(layerTop, layer) {
    return document.layers[layerTop].document.layers[layer].pageY;
}

//-----------------------------------------------------------------------------
// Propriétés de la fenêtre navigateur.
//-----------------------------------------------------------------------------

function getWindowWidth() {
// Renvoi la largeur visible de la fenêtre
    if (ie) return document.body.clientWidth;
	else if (ns4) return window.innerWidth;
	else if (ns6) return window.innerWidth;
}

function getWindowHeight() {
// Renvoi la hauteur visible de la fenêtre
    if (ie) return document.body.clientHeight;
	else if (ns4) return window.innerHeight;
	else if (ns6) return window.innerHeight;
}

//-----------------------------------------------------------------------------
// Layer clipping.
//-----------------------------------------------------------------------------

function clipLayer(layer, clipleft, cliptop, clipright, clipbottom) {
    if(ie){
		document.all[layer].style.clip = 'rect(' + cliptop + ' ' +  clipright + ' ' + clipbottom + ' ' + clipleft +')';
	}
	else if(ns4){
		document.layers[layer].clip.left   = clipleft;
    	document.layers[layer].clip.top    = cliptop;
    	document.layers[layer].clip.right  = clipright;
    	document.layers[layer].clip.bottom = clipbottom;		
	}
	else if(ns6){
		document.getElementById(layer).style.clip = 'rect(' + cliptop + ' ' +  clipright + ' ' + clipbottom + ' ' + clipleft +')';
	}
}

