    var IE6 = false, IE7 = false,
    FIREFOX2 = false, FIREFOX = false,
    NETSCAPE7 = false, NETSCAPE = false,
    OPERA9 = false, OPERA = false,
    AUTRE = false;
    var strChUserAgent = navigator.userAgent;
    var intSplitStart = strChUserAgent.indexOf("(",0);
    var intSplitEnd = strChUserAgent.indexOf(")",0);
    var strChStart = strChUserAgent.substring(0,intSplitStart);
    var strChMid = strChUserAgent.substring(intSplitStart, intSplitEnd);
    var strChEnd = strChUserAgent.substring(strChEnd);

    if(strChMid.indexOf("MSIE 7") != -1)
    IE7 = true;
    else if(strChMid.indexOf("MSIE 6") != -1)
    IE6 = true;
    else if(strChEnd.indexOf("Firefox/2") != -1)
    FIREFOX2 = true;
    else if(strChEnd.indexOf("Firefox") != -1)
    FIREFOX = true;
    else if(strChEnd.indexOf("Netscape/7") != -1)
    NETSCAPE7 = true;
    else if(strChEnd.indexOf("Netscape") != -1)
    NETSCAPE = true;
    else if(strChStart.indexOf("Opera/9") != -1)
    OPERA9 = true;
    else if(strChStart.indexOf("Opera") != -1)
    OPERA = true;
    else
    AUTRE = true;


function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function FW_OpenWindow(theURL,features) {
  window.open(theURL,'Detail',features);
}

function set_focus(d, el)
{
	if (!el)	// if form element not set - do nothing
		return;

	if ((x = findObj(e, d)) != null) {
		if (x.focus)
			x.focus();
		if (x.select)
			x.select();
	}
}

function syn(s)
{
	if (!s || !s.options || !s.options.length)
		return false;

	if (s.options[s.options.length - 1].selected)
		s.options[s.options.length - 1].selected = false;
}

function plesk_scroll(w)
{
	var nav = navigator.appName;
	var ver = parseInt(navigator.appVersion);
	if ((nav.indexOf('Netscape') != -1) && (ver == 4) && w.document.location.hash) {
		var aname = w.document.location.hash.substr(1);
		var an = w.document.anchors[aname];
		if (an)
			w.scrollTo(an.x, an.y);
	}
}

function MM_reloadPage(init)	// reloads the window if Nav4 resized
{
	if (init == true)
		with (navigator) {
			if ((appName == 'Netscape') && (parseInt(appVersion) == 4)) {
				document.MM_pgW = innerWidth;
				document.MM_pgH = innerHeight;
				onresize = MM_reloadPage;
			}
		}
	else
		if ((innerWidth != document.MM_pgW) || (innerHeight != document.MM_pgH))
			location.reload();
}

function getButtonName(name)
{
    re = /^bname_([A-Za-z0-9-]+)$/;
    return name.replace(re,"$1");
}


function isFramed()
{
	return !opt_no_frames && top.workFrame && top.leftFrame && top.topFrame;
}

function setActiveButtonByName(name)
{
	try {
		return top.leftFrame.setActiveNode(name);
	} catch (e) {
		return false;
	}
}

function setActiveButton(o)
{
	try {
		return top.leftFrame.setActiveNode(o.id);
	} catch (e) {
		return false;
	}
}

function setScrollInIE()
{
	try {
		var navL = top.leftFrame.document.getElementById ('navArea');
		top.leftFrame.document.body.scroll = (navL.clientHeight > top.leftFrame.document.documentElement.clientHeight || navL.clientWidth > top.leftFrame.document.documentElement.clientWidth) ? 'yes' : 'no';
	} catch (e) {
		return false;
	}
}

//---------------------------------- redirect

function go_to(href)
{
	return go_to_workframe(href);
}

function go_to_workframe(href)
{
	_go_to(isFramed() ? top.workFrame : this, href);
}

function refresh_leftframe()
{
	_refresh(top.leftFrame);
}

function go_to_leftframe(href)
{
	_go_to(top.leftFrame, href);
}

function refresh_topframe()
{
	_refresh(top.topFrame);
}

function go_to_topframe(href)
{
	_go_to(top.topFrame, href);
}

function go_to_top(href)
{
	_go_to(top, href);
}

function _refresh(target)
{
	try {
		target.location.reload();
	} catch (e) {
		alert (e);
	}
}

function _go_to(target, href)
{
	try {
		target.location = href;
	} catch (e) {
	}
}

//---------------------------------- conhelp & help

function SetConHelp(conhelp_name, direct)
{
	try {
		return top.leftFrame._SetConHelp(conhelp_name, direct);
	} catch (e) {
		return false;
	}
}

function SetContext(context)
{
	SetHelpModule('');

	if (opt_integrated_mode && !opt_no_frames)
		return top.SetContext(context)

	try {
		if (context)
			top._context = context;
	} catch (e) {
		return false;
	}

	return SetConHelp();
}

function SetHelpModule(module)
{
	if (opt_integrated_mode && !opt_no_frames && top.SetHelpModule)
		return top.SetHelpModule(module)

	try {
		top._help_module = module;
	} catch (e) {
		return false;
	}

	return true;
}

function GetContext()
{
	try {
		return top._context;
	} catch (e) {
		return false;
	}
}

function GetHelpPrefix()
{
	try {
		return top._help_prefix;
	} catch (e) {
		return false;
	}
}

function GetHelpModule()
{
	try {
		return top._help_module;
	} catch (e) {
		return false;
	}
}

function mouse_move(context, direct)
{
	if (!opt_integrated_mode || opt_no_frames) {
		return SetConHelp(context, direct);
	} else {
		try {
			return top.mouse_move(context);
		} catch (e) {
			return false;
		}
	}
}

function lon(target)
{

	try {
		if (undefined == target)
			target = this;

		if (undefined == target._lon_disabled_arr)
			target._lon_disabled_arr = new Array();
		else if (target._lon_disabled_arr.length > 0)
			return true;

		target.document.getElementById("loaderContainer").style.display = "";
		var select_arr = target.document.getElementsByTagName("select");

		for (var i = 0; i < select_arr.length; i++) {
			select_arr[i].disabled = true;
			_lon_disabled_arr.pop(select_arr[i]);
			var clone = target.document.createElement("input");
			clone.type = "hidden";
			clone.name = select_arr[i].name;
			var values = new Array();
			for (var n = 0; n < select_arr[i].length; n++) {
				if (select_arr[i][n].selected) {
					values[values.length] = select_arr[i][n].value;
				}
			}
			clone.value = values.join(",");
			select_arr[i].parentNode.insertBefore(clone, select_arr[i]);
		}
	} catch (e) {
		return false;
	}
	return true;
}

function loff(target)
{
	try {
		if (undefined == target)
			target = this;

		target.document.getElementById("loaderContainer").style.display = "none";
		if (undefined == target._lon_disabled_arr)
			return true;

		for (;_lon_disabled_arr.legth > 0;) {
			var select = _lon_disabled_arr.push();
			select.disabled = false;

			var clones_arr = target.document.getElementsByName(select.name);
			for (var n = 0; n < clones_arr.length; n++) {
				if ("hidden" == clones_arr[n].type)
					clones_arr[n].parent.removeChild(clones_arr[n]);
			}
		}
	} catch (e) {
		return false;
	}
	return true;
}

// fonction permettant de mettre des img dans des label sous IE
function applyImgFocus() {

 if(document.all && navigator.appVersion.indexOf("MSIE")>-1 && navigator.appVersion.indexOf("Windows")>-1)
 {
    var a = document.getElementsByTagName("label");
    for(var i=0,j=a.length;i<j;i++){
      if(a[i].hasChildNodes && a[i].childNodes.item(0).tagName == "IMG")
      {
        a[i].childNodes.item(0).forid = a[i].htmlFor;
        a[i].childNodes.item(0).onclick = function(){
          var e = document.getElementById(this.forid);
          switch(e.type){
            case "radio": e.checked|=1;break;
            case "checkbox": e.checked=!e.checked;break;
            case "text": case "password": case "textarea": e.focus(); break;
          }
        }
      }
    }
 }
} // function applyImgFocus()

/* --- Gestion des popups --- */

function gestion_popups() {
	// fonction permettant de créer les écouteurs d'évenement pour les popups
	var liens = document.getElementsByTagName('a');
	// On récupère tous les liens (<a>) du document dans une variable (un array), ici liens.
	// Une boucle qui parcourt le tableau (array) liens du début à la fin.
	for (var i = 0 ; i < liens.length ; ++i)  {

		switch(liens[i].className) {

			case 'externe':

				liens[i].onclick = function()  {
					window.open(this.href);
					return false; // On ouvre une nouvelle page ayant pour URL le href du lien cliqué et on inhibe le lien réel.
				};

			break;

			case 'recherche':

				liens[i].onclick = function()  {
					window.open(this.href, '_blank', 'resizable=no,width=400,height=300');
					return false; // On ouvre une nouvelle page ayant pour URL le href du lien cliqué et on inhibe le lien réel.
				};


			break;

			case 'help':

				liens[i].onclick = function() {
					window.open(this.href, '_blank', 'resizable=no,width=463,height=290');
					return false;
				};

			break;

			case 'image' :

				liens[i].onclick = function() {
					window.open(this.href, '_blank', 'resizable=yes,width=640,height=480');
					return false;
				};

			break;

			case 'idcard' :

				liens[i].onclick = function() {
					window.open(this.href, '_blank', 'resizable=no,menubar=no,width=500,height=400');
					return false;
				};

			break;

		} // switch(liens[i].className)
	} // for...
} // function gestion_popups()

function getXhr() {

	var xhr = null;

	if(window.XMLHttpRequest) // Firefox et autres
		xhr = new XMLHttpRequest();
	else
		if(window.ActiveXObject){ // Internet Explorer
			try {
				xhr = new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch (e) {
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			}
		}
		else { // XMLHttpRequest non supporté par le navigateur
			alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
			xhr = false;
		}

	return xhr;

} // getXhr

// initialise les menues déroulants (basé sur jquery)
function init_menus() {

	// On cache les sous-menus
	// sauf celui qui porte la classe "actif" :
	$("ul.subMenu:not('.actif')").hide();
	// On selectionne tous les items de liste portant la classe "toggleSubMenu"

	// et on remplace l'element span qu'ils contiennent par un lien :

	$("li.toggleSubMenu span").each( function () {
		// On stocke le contenu du span :
		var TexteSpan = $(this).text();

		var puce ="puce_rouge.jpg";

		$(this).replaceWith('<a href="" title="Afficher le sous-menu">' +TexteSpan + '</a>') ;
	} ) ;

	// On modifie l'evenement "click" sur les liens dans les items de liste
	// qui portent la classe "toggleSubMenu" :
	$("li.toggleSubMenu > a").click( function () {
		
		// Si le sous-menu etait deja ouvert, on le referme :
		if ($(this).next("ul.subMenu:visible").length != 0) {
			$(this).next("ul.subMenu").slideUp("normal", function () { $(this).parent().removeClass("open") } );
		}
		// Si le sous-menu est cache, on ferme les autres et on l'affiche :
		else {
			$("ul.subMenu").slideUp("normal", function () { $(this).parent().removeClass("open") } );
			$(this).next("ul.subMenu").slideDown("normal", function () { $(this).parent().addClass("open") } );
		}
		// On empêche le navigateur de suivre le lien :
		return false;	
	});

} // function init_menus

function addEvent(source, type, callback) {
  // fonction d'abstraction pour enregistrer un gestionnaire d'evenement
  // source : objet sur lequel ajouter le gestionnaire d'evenement
  // type : type d'evenement
  // callback : fonction qui traitera l'evenement
  if (source.addEventListener){		// code standard DOM
    source.addEventListener(type, callback, false);
    return true;
  } else if (source.attachEvent){ 	// code propriétaire MSIE
    var r = source.attachEvent("on"+type, callback);
    return r;
  } else {        	// code navigateur sans support DOM-event
    eval('source.on' + type + '= callback') ;
  }
}

function setRedirection(assoc) {

	addEvent(window, 'load', popupAssoc);
}

function replaceTAs(){
	var item = document.getElementById("ContenuEditeur");
	HTMLArea.replace("ContenuEditeur");
}

addEvent(window, 'load', applyImgFocus);
addEvent(window, 'load', gestion_popups);
addEvent(window, 'load', init_menus);
addEvent(window, 'load' ,replaceTAs);
