 

 
 




//v1.7
// Flash Player Version Detection
// Detect Client Browser type
// Copyright 2005-2007 Adobe Systems Incorporated.  All rights reserved.
var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;

function ControlVersion()
{
	var version;
	var axo;
	var e;

	// NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry

	try {
		// version will be set for 7.X or greater players
		axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		version = axo.GetVariable("$version");
	} catch (e) {
	}

	if (!version)
	{
		try {
			// version will be set for 6.X players only
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
			
			// installed player is some revision of 6.0
			// GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
			// so we have to be careful. 
			
			// default to the first public version
			version = "WIN 6,0,21,0";

			// throws if AllowScripAccess does not exist (introduced in 6.0r47)		
			axo.AllowScriptAccess = "always";

			// safe to call for 6.0r47 or greater
			version = axo.GetVariable("$version");

		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 4.X or 5.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = axo.GetVariable("$version");
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 3.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = "WIN 3,0,18,0";
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 2.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			version = "WIN 2,0,0,11";
		} catch (e) {
			version = -1;
		}
	}
	
	return version;
}

// JavaScript helper required to detect Flash Player PlugIn version information
function GetSwfVer(){
	// NS/Opera version >= 3 check for Flash plugin in plugin array
	var flashVer = -1;
	
	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
			var descArray = flashDescription.split(" ");
			var tempArrayMajor = descArray[2].split(".");			
			var versionMajor = tempArrayMajor[0];
			var versionMinor = tempArrayMajor[1];
			var versionRevision = descArray[3];
			if (versionRevision == "") {
				versionRevision = descArray[4];
			}
			if (versionRevision[0] == "d") {
				versionRevision = versionRevision.substring(1);
			} else if (versionRevision[0] == "r") {
				versionRevision = versionRevision.substring(1);
				if (versionRevision.indexOf("d") > 0) {
					versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
				}
			}
			var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
		}
	}
	// MSN/WebTV 2.6 supports Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	// WebTV 2.5 supports Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	// older WebTV supports Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	else if ( isIE && isWin && !isOpera ) {
		flashVer = ControlVersion();
	}	
	return flashVer;
}

// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
{
	versionStr = GetSwfVer();
	if (versionStr == -1 ) {
		return false;
	} else if (versionStr != 0) {
		if(isIE && isWin && !isOpera) {
			// Given "WIN 2,0,0,11"
			tempArray         = versionStr.split(" "); 	// ["WIN", "2,0,0,11"]
			tempString        = tempArray[1];			// "2,0,0,11"
			versionArray      = tempString.split(",");	// ['2', '0', '0', '11']
		} else {
			versionArray      = versionStr.split(".");
		}
		var versionMajor      = versionArray[0];
		var versionMinor      = versionArray[1];
		var versionRevision   = versionArray[2];

        	// is the major.revision >= requested major.revision AND the minor version >= requested minor
		if (versionMajor > parseFloat(reqMajorVer)) {
			return true;
		} else if (versionMajor == parseFloat(reqMajorVer)) {
			if (versionMinor > parseFloat(reqMinorVer))
				return true;
			else if (versionMinor == parseFloat(reqMinorVer)) {
				if (versionRevision >= parseFloat(reqRevision))
					return true;
			}
		}
		return false;
	}
}

function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?'); 
  else
    return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs) 
{ 
  var str = '';
  if (isIE && isWin && !isOpera)
  {
    str += '<object ';
    for (var i in objAttrs)
    {
      str += i + '="' + objAttrs[i] + '" ';
    }
    str += '>';
    for (var i in params)
    {
      str += '<param name="' + i + '" value="' + params[i] + '" /> ';
    }
    str += '</object>';
  }
  else
  {
    str += '<embed ';
    for (var i in embedAttrs)
    {
      str += i + '="' + embedAttrs[i] + '" ';
    }
    str += '> </embed>';
  }

  return str;
}

function AC_FL_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  return AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_SW_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    

    switch (currArg){	
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":	
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblclick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
      case "id":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}

/* utils */
	function addOnloadEvent(fct){
		var oldonload = window.onload;
		if (typeof window.onload != 'function') {
			window.onload = fct;
		}
		else {
			window.onload = function() {
				oldonload();
				fct();
			}
		}
	}
	
	function $(val){
		return document.getElementById(val);
	}
	function $t(elemType,o){
		if(!o)o=document;
		var list2return = new Array();
		
		if(o.getElementsByTagName){
			list2return=o.getElementsByTagName(elemType);
		}
		
		return list2return;
	}
	function $c(elemType,cssClass,o){
		if(!o)o=document;

		var list2return = new Array();
		if(o.getElementsByTagName){
			var listLcl = o.getElementsByTagName(elemType);
			for(var i=0;i<listLcl.length;i++){
				if(listLcl[i].className.indexOf(cssClass+" ")>-1 || listLcl[i].className.indexOf(" "+cssClass)>-1 || listLcl[i].className == cssClass)
					list2return.push(listLcl[i]);
			}
		}
		return list2return;
	}
	function $n(elemType,objectName,o){
		if(!o)o=document;
		var list2return = new Array();
		
		if(o.getElementsByTagName){
			var listLcl = o.getElementsByTagName(elemType);
	
			for(var i=0;i<listLcl.length;i++){
				if(listLcl[i].name==objectName)list2return.push(listLcl[i]);
			}
		}
		return list2return;
	}
	
/* utils */

var EMA = new Object();

EMA.expandShortcuts = function(){
	try{
		$("shortcuts").className="";
		$("title").onclick=EMA.hideShortcuts;
	}catch(ex){}
	EMA.resetColRight();
}

EMA.hideShortcuts = function(){
	try{
		$("shortcuts").className="compressed";
		$("title").onclick=EMA.expandShortcuts;
	}catch(ex){}
	EMA.resetColRight();
}


EMA.resetColRight = function(){
	try{
		$("colRight").style.paddingTop = ($("shortcuts").offsetHeight-28)+"px";
	}catch(ex){
		$("colRight").style.paddingTop = "10px";
	}
}



/*swfTtl*/
function _to_utf8(s) {
  var c, d = "";
  for (var i = 0; i < s.length; i++) {
    if (s.charAt(i) == "\u20AC") {
		if(navigator.userAgent.indexOf("Mozilla")==-1){
			d+="euro";
			continue;
		}else{
			return s;
		}
	}
	c = s.charCodeAt(i);
    if (c <= 0x7f) {
      d += s.charAt(i);
    } else if (c >= 0x80 && c <= 0x7ff) {
      d += String.fromCharCode(((c >> 6) & 0x1f) | 0xc0);
      d += String.fromCharCode((c & 0x3f) | 0x80);
    } else {
      d += String.fromCharCode((c >> 12) | 0xe0);
      d += String.fromCharCode(((c >> 6) & 0x3f) | 0x80);
      d += String.fromCharCode((c & 0x3f) | 0x80);
    }
  }
  return d;
}

EMA.urlEncode = function(str){
	while(str.indexOf(" ")==0)str=str.replace(" ","");
	str=str.replace(/&/g,"%26");
	str=str.replace(/ /g,"%20");
	str=str.replace(/"/g,"%22");

	// En décommentant cette ligne, les caractères accentués sont mal affichés 
	//if(navigator.appVersion.indexOf("MSIE")==-1)str = _to_utf8(str);
	return str;
}

EMA.swfTtl = function(tagName,decayX,decayY){
	if(!window.swfTtlPath){
		swfTtlPath = "_img/content/";
	}
	
	if (navigator.userAgent.indexOf("Safari") > -1) {
		return false;
	}
	var swfTrg = $t(tagName,$("middle"));
	for(var i=0;i<swfTrg.length;i++){
		if(swfTrg[i].className=="swfReplace"){
			
			var lclText = document.createElement("DIV");
			lclText.innerHTML = swfTrg[i].innerHTML;
			lclText.style.fontSize="1px";
			lclText.style.opacity=0;
			
			var str = EMA.urlEncode(swfTrg[i].innerHTML);

			swfTrg[i].innerHTML = AC_FL_RunContent(
				'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0',
				'width', swfTrg[i].offsetWidth,
				'height', swfTrg[i].offsetHeight,
				'src', 		swfTtlPath + 'swfTtl?typeText='+tagName+'&txt='+str+'&decayX='+decayX+'&decayY='+decayY,
				'movie', 	swfTtlPath + 'swfTtl?typeText='+tagName+'&txt='+str+'&decayX='+decayX+'&decayY='+decayY,
				'quality', 'high',
				'pluginspage', 'http://www.macromedia.com/go/getflashplayer',
				'align', 'middle',
				'play', 'false',
				'loop', 'false',
				'scale', 'noscale',
				'wmode', 'transparent',
				'devicefont', 'false',
				'id', 'swfTtl',
				'bgcolor', '#FFFFFF',
				'name', 'swfTtl',
				'menu', 'false',
				'allowFullScreen', 'false',
				'allowScriptAccess','sameDomain',
				'salign', ''
			);
			
			swfTrg[i].appendChild(lclText);

			lclText.style.position="absolute";
			lclText.style.filter="Alpha(Opacity = 0);";
			
			swfTrg[i].style.visibility="visible";
		}
	}
}
if (navigator.userAgent.indexOf("Safari") == -1) {
	document.write('<style type="text/css">.swfReplace{visibility:hidden;}</style>');
}

/*items*/

EMA.setBoxExpand = function(allBoxes){
	for(var i=0;i<allBoxes.length;i++){
		var ttl = $t("h2",allBoxes[i])[0];
		try{ttl.style.cursor="pointer";}catch(ex){ttl.style.cursor="hand";}
		ttl.onclick=function(){
			if (this.parentNode.id.indexOf("expandbox_")>-1) {
				openCloseNavMenu(this.parentNode.id.substring('expandbox_'.length));
			}
			else if(this.parentNode.className.indexOf("closed")>-1){
				this.parentNode.className = this.parentNode.className.replace(/ closed/g,"").replace(/closed /g,"").replace(/closed/g,"");
			}else{
				this.parentNode.className += " closed";
			}
		}
	}
}

EMA.initBoxExpand = function(){
	EMA.setBoxExpand($c("div","boxExpand",$("middle")));
	EMA.setBoxExpand($c("div","boxExpandNumbers",$("middle")));
	EMA.setBoxExpand($c("div","boxExpandTitleAndLinks",$("middle")));
}
EMA.initBoxGlossaire = function(){
	var allGloss = $c("div","boxGlossaire",$("middle"));
	for(var j=0;j<allGloss.length;j++){
		var allBoxes = $c("li","word",allGloss[j]);
		for(var i=0;i<allBoxes.length;i++){
			var ttl = $t("h3",allBoxes[i])[0];
			try{ttl.style.cursor="pointer";}catch(ex){ttl.style.cursor="hand";}
			ttl.onclick=function(){
				if(this.parentNode.className.indexOf("closed")>-1){
					this.parentNode.className = this.parentNode.className.replace(/ closed/g,"").replace(/closed /g,"").replace(/closed/g,"");
				}else{
					this.parentNode.className += " closed";
				}
			}
		}
	}
}

EMA.moveContent = function(arr,trg){
	for(var i=0;i<arr.length;i++){
		trg.appendChild(arr[i]);
	}
}
EMA.initContentType2 = function(){
	EMA.moveContent( $c("div","contentType1Items",$("contentType1")) ,$("contentType2"));
	EMA.moveContent( $c("div","contentType3Items",$("contentType1")) ,$("colRight"));
}

EMA.IE6bugFix = function(){
	var IE6bf = $c("span","IE6bugFix");
	var isIE6 = navigator.appVersion.indexOf("MSIE 6")>-1;
	if(isIE6){
		for(var i=0;i<IE6bf.length;i++){
			IE6bf[i].style.display="none";
			IE6bf[i].innerHTML="<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>";
		}	
	}else{
		for(var i=0;i<IE6bf.length;i++){
			IE6bf[i].style.display="none";
		}
	}
}


/*CED calendar*/
function CalYear(){
	this.CalDaysArray = ['Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi','Dimanche'];				
	this.CalMonthArray = ['Janvier','F&eacute;vrier','Mars','Avril','Mai','Juin','Juillet','Ao&ucirc;t','Septembre','Octobre','Novembre','D&eacute;cembre'];				
	this.SelectedDates = '$';
	this.setYear = function(val){this.CalYearVal = val;this.init();};
	this.getYear = function(){return this.CalYearVal;};
	this.setMonth = function(month){this.CalMonthVal = month;};
	this.getMonth = function(){return this.CalMonthVal;};
	this.setDay = function(day){this.CalDayVal = day;};
	this.getDay = function(){return this.CalDayVal;};
	
	this.getDate = function(){return this.getYear()+'|'+this.getMonth()+'|'+this.getDay();};
	
	this.init = function(){ 
		this.CalMonth = [31,this.CalYearVal%4==0?29:28,31,30,31,30,31,31,30,31,30,31];
		this.GetCalDaysCount = function(){
			var days = 0;
			for(var i=0;i<this.CalMonth.length;i++) days+=this.CalMonth[i];
			return days;
		}
	};
	
	this.getYearFirstDay = function(){
		//01-01-2000 = 5
		var firstDayIs = 5;
		if(this.CalYearVal>2000){
			for(var i=2000;i<this.CalYearVal;i++){
				firstDayIs++;
				if(i%4==0)firstDayIs++;
				firstDayIs %= 7;
			}
		}else if(this.CalYearVal<2000){
			for(var i=1999;i>=this.CalYearVal;i--){
				firstDayIs--;
				if(i%4==0)firstDayIs--;
				if(firstDayIs<0) firstDayIs = 7+firstDayIs;
			}
		}
		return firstDayIs;
	}
	
	this.addSelectedDate = function(day,month,year){this.SelectedDates+=year+'|'+month+'|'+day+'$';};
}
function CEDCalendar(val,o,calName){ 
        this.instanceName = val; 
        this.HTMLcontainer = o; 
        o.innerHTML = ''; 
        this.HTMLtarget = document.createElement('div'); 
        this.HTMLhelper = document.createElement('div'); 
        this.HTMLhelper.style.position='absolute'; 
        this.HTMLhelper.style.visibility='hidden'; 
        o.appendChild(this.HTMLtarget); 
        o.appendChild(this.HTMLhelper); 
        
        this.DesignTemplate = function(){ 
                var SWr = '<table border=0 cellpadding=0 cellspacing=0 class="CEDcal">'; 
                SWr += '<tr><td colspan=7 class="CEDcalYear">'+ 
                                '<div style="float:left;">&#160;<span class="CEDcalNextPrev" onclick="'+this.instanceName+'.writeNextMonth(-12);">&#171;</span> <span class="CEDcalNextPrev" onclick="'+this.instanceName+'.writeNextMonth(12);">&#187;</span> &#160;<span onClick="'+this.instanceName+'.jumpToYear(this);">' + this.getYear() + '</span> &#160; </div>'+ 
                                '<div style="float:right;"><span class="CEDcalMonth" onClick="'+this.instanceName+'.jumpToMonth(this);">'+this.CalMonthArray[this.getMonth()-1]+'</span>&#160; <span class="CEDcalNextPrev" onclick="'+this.instanceName+'.writeNextMonth(-1);">&#171;</span> <span class="CEDcalNextPrev" onclick="'+this.instanceName+'.writeNextMonth(1);">&#187;</span>&#160;</div>'+ 
                                '</td></tr>'; 
                SWr += '<tr>'; 
                for(var i=0;i<7;i++) 
                        SWr += '<td class="CEDcalDayLabel">'+this.CalDaysArray[i].substr(0,1)+'</td>'; 
                SWr += '</tr>'; 
                var dayI = this.getYearFirstDay(); 
                for(var i=0;i<this.getMonth()-1;i++){dayI+=this.CalMonth[i];} 
                dayI = 1-dayI%7; 
                
                for(var j=0;dayI<this.CalMonth[this.getMonth()-1]+1;j++){ 
                        SWr += '<tr>'; 
                        for(var i=0;i<7;i++){ 
                                if(dayI>=1 && dayI<=this.CalMonth[this.getMonth()-1]){ 
                                        SWr += '<td class="'+(this.getDay()==dayI?'CEDcalBorderSelected ':'')+''+(this.SelectedDates.indexOf('$'+this.getYear()+'|'+this.getMonth()+'|'+dayI+'$')!=-1?'CEDcalDaySelected ':'')+''+(i==6?'CEDcalDaySunday':'CEDcalDay')+'" id="CEDCalDay_'+this.getYear()+'|'+this.getMonth()+'|'+dayI+'" thisReferrer="'+this.instanceName+'" thisDate="'+this.getYear()+'|'+this.getMonth()+'|'+dayI+'" onMouseOver="'+this.instanceName+'.DayMouseOver(this);" onMouseOut="'+this.instanceName+'.DayMouseOut(this);" onMouseMove="'+this.instanceName+'.DayMouseMove(this);" onClick="'+this.instanceName+'.DayClick(this);">'+dayI+'</td>'; 
                                }else{ 
                                        SWr += '<td class="'+(i==6?'CEDcalDaySunday':'CEDcalDay')+'">&#160;</td>'; 
                                } 
                                dayI++; 
                        } 
                        SWr += '</tr>'; 
                } 
                SWr += '</table>'; 
                return SWr; 
        } 
        
        this.getPosInCalendar = function(o){ 
                var Point = new Object(); 
                Point.x = 0; 
                Point.y = 0; 
                while(o && o!=this.HTMLcontainer){ 
                        Point.x+=o.offsetLeft; 
                        Point.y+=o.offsetTop; 
                        o = o.offsetParent; 
                } 
                return Point; 
        } 
        
        this.jumpToYear = function(o){ 
                var SWr = '<table border=0 cellpadding=0 cellspacing=0 class="CEDcal">'; 
                for(var i=this.getYear()-5;i<=this.getYear()+5;i++){ 
                        SWr += '<tr><td class="CEDcalHelper" onClick="'+this.instanceName+'.setYear('+i+');'+this.instanceName+'.writeCalendar();'+this.instanceName+'.HTMLhelper.style.visibility = \'hidden\';" onMouseOver="this.className=\'CEDcalHelperOver\';" onMouseOut="this.className=\'CEDcalHelper\';">'+(i==this.getYear()?'<b>':'')+i+(i==this.getYear()?'</b>':'')+'</td></tr>'; 
                } 
                SWr += '</table>'; 
                this.HTMLhelper.innerHTML = SWr; 
                var Point = this.getPosInCalendar(o); 
                this.HTMLhelper.style.top=Point.y-1+"px"; 
                this.HTMLhelper.style.left=Point.x-5+"px"; 
                this.HTMLhelper.style.visibility = 'visible'; 
        } 
        
        this.jumpToMonth = function(o){ 
                var SWr = '<table border=0 cellpadding=0 cellspacing=0 class="CEDcal">'; 
                for(var i=0;i<this.CalMonthArray.length;i++){ 
                        SWr += '<tr><td class="CEDcalHelper" onClick="'+this.instanceName+'.setMonth('+(i+1)+');'+this.instanceName+'.writeCalendar();'+this.instanceName+'.HTMLhelper.style.visibility = \'hidden\';" onMouseOver="this.className=\'CEDcalHelperOver\';" onMouseOut="this.className=\'CEDcalHelper\';">'+((i+1)==this.getMonth()?'<b>':'')+this.CalMonthArray[i]+((i+1)==this.getMonth()?'</b>':'')+'</td></tr>'; 
                } 
                SWr += '</table>'; 
                this.HTMLhelper.innerHTML = SWr; 
                var Point = this.getPosInCalendar(o); 
                this.HTMLhelper.style.top=Point.y-1+"px"; 
                this.HTMLhelper.style.left=Point.x-5+"px"; 
                this.HTMLhelper.style.visibility = 'visible'; 
        } 
        
        this.writeNextMonth = function(val){ 
                if(this.getMonth()+val>12){ 
                        this.setYear(this.getYear()+Math.floor((this.getMonth()-1+val)/12)); 
                        this.setMonth(((this.getMonth()-1+val)%12)+1); 
                }else if(this.getMonth()+val<=0){ 
                        var tmpVal = this.getMonth()+val; 
                        while(tmpVal<=0){tmpVal+=12;this.setYear(this.getYear()-1);} 
                        this.setMonth(tmpVal); 
                }else this.setMonth(this.getMonth()+val); 
                this.writeCalendar(); 
        } 
        
        this.writeCalendar = function(day,month,year){ 
                if(!this.getYear()){this.setYear(year);this.setMonth(month);this.setDay(day);} 
                this.HTMLtarget.innerHTML = this.DesignTemplate(); 
        } 
        

        this.DayMouseOver = function(o){ 
                o.className=o.className+'_over'; 
        } 
        this.DayMouseOut = function(o){ 
                o.className=o.className.substr(0,o.className.indexOf('_over')); 
        } 
        this.DayMouseMove = function(o){ 
        } 
        this.DayClick = function(o){ 
                var tmplcl = o.getAttribute('thisDate').split('|'); 
                this.setDay(parseInt(tmplcl[2])); 
                this.writeCalendar(); 
                $("calendar" + calName).style.display="none";
                try{$("date" + calName + "Day").value=this.getDay();}catch(e){alert("unable to find 'dateDay' field");} 
                try{$("date" + calName + "Month").value=this.getMonth();}catch(e){alert("unable to find 'dateMonth' field");} 
                try{$("date" + calName + "Year").value=this.getYear();}catch(e){alert("unable to find 'dateYear' field");} 
                try{eval($("calendar" + calName).getAttribute("onchange"));}catch(e){alert("calendar 'onchange' function is undefined");} 
        } 

} 
CEDCalendar.prototype = new CalYear; 

var myCalendar; 
function setCalendar(dd,mm,yyyy,calName){ 
        var tmpDate = new Date(); 
        dd=dd?dd:tmpDate.getDate(); 
        mm=mm?mm:tmpDate.getMonth()+1; 
        yyyy=yyyy?yyyy:tmpDate.getFullYear(); 
        myCalendar = new CEDCalendar('myCalendar',$('calendar' + calName),calName); 
        myCalendar.writeCalendar(dd,mm,yyyy); 
} 
function showCalendar(calName){ 
        $("calendar" + calName).style.display="block"; 
        setCalendar(parseInt($("date" + calName + "Day").value),parseInt($("date" + calName + "Month").value),parseInt($("date" + calName + "Year").value),calName); 
} 

EMA.setTimeline = function(){
	try{
		var TClcl = $c("div","timeline_content")[0].childNodes;
		for(var i=0;i<TClcl.length;i++){
			if(TClcl[i].tagName=="A"){
				TClcl[i].onmousedown=function(){
					this.parentNode.className = "timeline_content " + this.className;
					this.blur();
				}
			}
		}
	}catch(ex){}
}

openCloseNavMenu = function(menuId) {
	
	// open/close left navigation menu
	var divid = 'navLeft_'+menuId;
	
	// First hide all opened ul with id in navLeft except the uld with id=menuId
	var allUls=$t("ul",$("navLeft"));
	for(var i=0;i<allUls.length;i++){
		if(allUls[i].id != divid && allUls[i].id.indexOf("navLeft_")>-1) {
			allUls[i].style.display='none';
		}
	}
	
	// Then show the hidden ul or hide it if opened
	if ($(divid) != null) {
		if ($(divid).style.display=='block') {
			$(divid).style.display='none';
		}
		else if($(divid).style.display=='' && $(divid).parentNode.className.indexOf("selected")>-1) {
			$(divid).style.display='none';
		}
		else {
			$(divid).style.display='block';
		}
	}
	
	// open/close "sommaire" boxes
	var divid = 'expandbox_'+menuId;
		
	// First close all div with class expandBox except the div with id=menuId
	var allDivs=$c("div","boxExpand",$("middle"));
	for(var i=0;i<allDivs.length;i++){
		if(allDivs[i].id != divid && allDivs[i].className.indexOf("closed")<0 && allDivs[i].id.indexOf("expandbox_")>-1) {
			allDivs[i].className += " closed";
		}
	}
	// Then close the box if open or open it if closed
	if ($(divid) != null) {
		if($(divid).className.indexOf("closed")>-1){
			$(divid).className = $(divid).className.replace(/ closed/g,"").replace(/closed /g,"").replace(/closed/g,"");
		} else {
			$(divid).className += " closed";
		}
	}
	return false;
}

/*onload*/
addOnloadEvent(function(){
	EMA.swfTtl("h1",-2,-6);
	EMA.initBoxExpand();
	EMA.initBoxGlossaire();
	try{EMA.initContentType2();}catch(ex){}
	//EMA.resetColRight();
	EMA.IE6bugFix();
	try{setCalendar();}catch(ex){}
	EMA.setTimeline();
});

/***********************************************
* Dynamic Ajax Content- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/

var bustcachevar=1 //bust potential caching of external pages after initial request? (1=yes, 0=no)
var loadedobjects=""
var rootdomain="http://"+window.location.hostname
var bustcacheparameter=""

function ajaxpage(url, containerid){
var page_request = false
if (window.XMLHttpRequest) // if Mozilla, Safari etc
page_request = new XMLHttpRequest()
else if (window.ActiveXObject){ // if IE
try {
page_request = new ActiveXObject("Msxml2.XMLHTTP")
} 
catch (e){
try{
page_request = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
page_request.onreadystatechange=function(){
loadpage(page_request, containerid)
}
if (bustcachevar) //if bust caching of external page
bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
page_request.open('GET', url+bustcacheparameter, true)
page_request.send(null)
}

function loadpage(page_request, containerid){
if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1)) {
document.getElementById(containerid).innerHTML=page_request.responseText;
var docScripts = document.getElementById(containerid).getElementsByTagName("script");
for (j=0;j<docScripts.length;j++) {
if(docScripts[j].src.length > 0)
loadobjs(docScripts[j].src);
}
EMA.resetColRight();
}
}

function loadobjs(){
if (!document.getElementById)
return
for (i=0; i<arguments.length; i++){
var file=arguments[i]
var fileref=""
if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding
if (file.indexOf(".js")!=-1){ //If object is a js file
fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src", file);
}
else if (file.indexOf(".css")!=-1){ //If object is a css file
fileref=document.createElement("link")
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href", file);
}
}
if (fileref!=""){
document.getElementsByTagName("head").item(0).appendChild(fileref)
loadedobjects+=file+" " //Remember this object as being already added to page
}
}
}
