// Bibliothèque de scripts - EpiMatters 


//****************************************************************
// Affichage des sous-menus 
//****************************************************************

sfHover = function()
	{
	if (document.getElementById("navigation"))
		{
		var sfEls = document.getElementById("navigation").getElementsByTagName("LI");
		for (var i=0; i<sfEls.length; i++)
			{
			sfEls[i].onmouseover=function()
				{
				this.className+=" sfhover";
				}
			sfEls[i].onmouseout=function()
				{
				this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
				}
			}
		}
	}
if (window.attachEvent) window.attachEvent("onload", sfHover);


//****************************************************************
// Affichage des libellés de la boîte à outils 
//****************************************************************

//sfHover = function() {
//        if (document.getElementById('tools'))
//                {
//                var sfEls = document.getElementById('tools').getElementsByTagName("LI");
//                for (var i=0; i<sfEls.length; i++) {
//                        sfEls[i].onmouseover=function() {
//                                this.className+=" sfhover";
//                        }
//                        sfEls[i].onmouseout=function() {
//                        this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
//                        }
//                }
//                }
//}
//if (window.attachEvent) window.attachEvent("onload", sfHover);


//****************************************************************
// Fonction d'import des animations Flash 
//****************************************************************

function RunFlash(swf, hauteur, largeur, nom) {
	document.write("<object width=\""+largeur+"\" height=\""+hauteur+"\" id=\""+nom+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0\">\n");
	document.write("<param name=\"quality\" value=\"high\">\n");
	document.write("<param name=\"wmode\" value=\"transparent\">\n");
	document.write("<param name=\"movie\" value=\""+swf+"\">\n");
	document.write("<embed src=\""+swf+"\" quality=\"high\" wmode=\"transparent\" width=\""+largeur+"\" height=\""+hauteur+"\" name=\""+nom+"\" align=\"middle\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\">\n");
	document.write("</object>\n");
}


//****************************************************************
// Fonction gérant les styles des liens non HTML 
//****************************************************************
function fileLinks() {
    var fileLink;
    if (document.getElementsByTagName('a')) {
        for (var i = 0; (fileLink = document.getElementsByTagName('a')[i]); i++) {
            if (fileLink.href.indexOf('.pdf') != -1) {
                fileLink.setAttribute('target', '_blank');
                fileLink.className = 'pdf';
            }
        }
    }
}
window.onload = function() {
    fileLinks();
}


//****************************************************************
// Affichage des POPUP 
//****************************************************************

function funcPopup(varUrl, varWidth, varHeight, varResize)
	{
	var ScreenW = screen.availWidth;
	var ScreenH = screen.availHeight;
	var WinPopUp = window.open(varUrl, 'popup', "toolbar=no, menubar=no, scrollbars=yes, resizable=" + varResize + ", location=no, directories=no, status=no, width=" + varWidth + ", height=" + varHeight);
	WinPopUp.moveTo(Math.round((ScreenW-varWidth)/2), Math.round((ScreenH-varHeight)/2));	
	}


//****************************************************************
// Gestion de l'affichage du contenu du title d'un lien
//****************************************************************

var niceTitleDummy;
var varTxt = "";

function initNiceTitle()
	{
	niceTitleDummy = document.createElement("div");
	niceTitleDummy.style.position = "fixed";
	niceTitleDummy.className = "nicetitle";
	niceTitleDummy.style.left = "-1000em";
	niceTitleDummy.style.top = "-1000em";
	document.body.appendChild(niceTitleDummy);
	}

function hideNiceTitle(e) {
	var lnk = getNodeWithTag(getEventTarget(e), "a");
	if (varTxt != "")
		{
		lnk.setAttribute("title",varTxt);
		varTxt = "";
		}
	niceTitleDummy.style.left = "-1000em";
	niceTitleDummy.style.top = "-1000em";
	niceTitleDummy.innerHTML = "";
	}

function showNiceTitle(e) {
	var lnk = getNodeWithTag(getEventTarget(e), "a");
	var spanEls = lnk.getElementsByTagName("SPAN");
	for (var i=0; i<spanEls.length; i++)
		{
		spanEls[i].setAttribute("title","");
		}
	if (window.event)
		{
		x = window.event.clientX+document.body.scrollLeft; 
		y = window.event.clientY+document.body.scrollTop;
		}
	else
		{
		x = e.clientX + window.scrollX; 
		y = e.clientY + window.scrollY;
		}

	if (varTxt == "")
		{
		varTxt = lnk.getAttribute("title");
		lnk.setAttribute("title","");
		}

	niceTitleDummy.style.left = x+7;
	niceTitleDummy.style.top = y+18;
	niceTitleDummy.innerHTML = "<img src='../images/nt_img.gif'><br><div>"+ varTxt +"</div>";
	}

function makeNiceTitles()
	{
	for (var i=0; i<document.links.length; i++)
		{
		var lnk = document.links[i];
		if (lnk.title)
			{
			addEvent(lnk, "mousemove", showNiceTitle);
			addEvent(lnk, "mouseout", hideNiceTitle);
			}
		}
	initNiceTitle();
	}

function addEvent(obj, evType, fn){
	if (obj.attachEvent){
		return obj.attachEvent("on" + evType, fn);
	} else if (obj.addEventListener){
		obj.addEventListener(evType, fn, true);
		return true;
	} else {
		return false;
	}
}

function getEventTarget(event)
{
	if (window.event && window.event.srcElement)
		return window.event.srcElement;
	else if (event && event.target)
		return event.target;
	return null;
}

function getNodeWithTag(el, tag) {
	// toLowerCase is for Gecko bug, supposed to be uppercase
	tag = tag.toLowerCase();
	while ((el != null) && ((el.nodeType != 1) || (el.tagName.toLowerCase() != tag)))
		el = el.parentNode;
	return el;
}


//****************************************************************
// Gestion de l'affichage du contenu du alt d'une image
//****************************************************************

var niceAltDummy;
var varAltTxt = "";

function initNiceAlt()
	{
	niceAltDummy = document.createElement("div");
	niceAltDummy.style.position = "fixed";
	niceAltDummy.className = "nicetitle";
	niceAltDummy.style.left = "-1000em";
	niceAltDummy.style.top = "-1000em";
	document.body.appendChild(niceAltDummy);
	}

function hideNiceAlt(e) {
	var img = getNodeWithTag(getEventTarget(e), "img");
	if (varAltTxt != "")
		{
		img.setAttribute("alt",varAltTxt);
		varAltTxt = "";
		}
	niceAltDummy.style.left = "-1000em";
	niceAltDummy.style.top = "-1000em";
	niceAltDummy.innerHTML = "";
	}

function showNiceAlt(e) {
	var img = getNodeWithTag(getEventTarget(e), "img");
	if (window.event)
		{
		x = window.event.clientX+document.body.scrollLeft; 
		y = window.event.clientY+document.body.scrollTop;
		}
	else
		{
		x = e.clientX + window.scrollX; 
		y = e.clientY + window.scrollY;
		}

	if (varAltTxt == "")
		{
		varAltTxt = img.getAttribute("alt");
		img.setAttribute("alt","");
		}

	niceAltDummy.style.left = x+7;
	niceAltDummy.style.top = y+18;
	niceAltDummy.innerHTML = "<img src='../images/nt_img.gif'><br><div>"+ varAltTxt +"</div>";
	}

function makeNiceAlts()
	{
	for (var i=0; i<document.images.length; i++)
		{
		var img = document.images[i];
		if (img.alt)
			{
			addEvent(img, "mousemove", showNiceAlt);
			addEvent(img, "mouseout", hideNiceAlt);
			}
		}
	initNiceAlt();
	}

function addEvent(obj, evType, fn){
	if (obj.attachEvent){
		return obj.attachEvent("on" + evType, fn);
	} else if (obj.addEventListener){
		obj.addEventListener(evType, fn, true);
		return true;
	} else {
		return false;
	}
}

function getEventTarget(event)
{
	if (window.event && window.event.srcElement)
		return window.event.srcElement;
	else if (event && event.target)
		return event.target;
	return null;
}

function getNodeWithTag(el, tag) {
	// toLowerCase is for Gecko bug, supposed to be uppercase
	tag = tag.toLowerCase();
	while ((el != null) && ((el.nodeType != 1) || (el.tagName.toLowerCase() != tag)))
		el = el.parentNode;
	return el;
}



//****************************************************************
// Initialisation
//****************************************************************

function funcInit() {
	makeNiceTitles();
	makeNiceAlts();
}
