/*@cc_on @*/
/*@if (@_win32)
	var ua = navigator.userAgent;
	var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
	if (re.exec(ua) != null) {
		ie_rv = parseFloat( RegExp.$1 );
	}
/*@end @*/

function getById(el) {
	return document.getElementById(el);
}

function getByTag(par,el) {
	var par = (par == '') ? document.body : par;
	if (!par) return new Array();
	return par.getElementsByTagName(el);
}

function createEl(tag,classN,content) {
	var el = document.createElement(tag);
	if(classN&&(classN!='')) el.className = classN;
	if(content&&(content!='')) el.innerHTML = content;
	return el;
}

function addClass(obj,newClass) {
	if(!obj.className.match(new RegExp(newClass)))
		obj.className+=(obj.className.length>0? " ": "") + newClass;
}
	
function removeClass(obj,oldClass) {
	obj.className=obj.className.replace(new RegExp("( ?|^)"+oldClass+"\\b"), "");
}

function addCSSRule(sheet,selector,val) {
	if(sheet.insertRule)
		sheet.insertRule(selector + ' {'+val+';}',sheet.cssRules.length);
	else if(sheet.addRule)
		sheet.addRule(selector, val)
}

function getByClass(cla,par,el) {
	var getEls;
	if (/.*native code.*/.test(document.getElementsByClassName)) {
		getEls = function(cla,par,el) { 
			return par.getElementsByClassName(cla);
		}
	}
	else { 
		getEls = function(cla,par,el) { 
			var tagColl = par.getElementsByTagName(el);
			trimedColl = new Array;
			for (var i = 0; tagColl[i]; i++) {
				if(tagColl[i].className.match(new RegExp("( ?|^)"+cla+"\\b")))
					trimedColl[trimedColl.length]=tagColl[i];
			}
			return trimedColl;
		} 
	} 
	getByClass = function(cla,par,el) {
		var par = (!par||(par == '')) ? document.body : par;
		var el = (el == '') ? '*' : el;
		return getEls(cla,par,el); 
	}
	return getByClass(cla,par,el);
}

function getStyle(obj,cssRule) {
	if (document.defaultView && document.defaultView.getComputedStyle) {
		getStyle = function(obj,cssRule) {
			return document.defaultView.getComputedStyle(obj, "").getPropertyValue(cssRule);
		};
	}
	else {
		getStyle = function(obj,cssRule) {
			if (obj.currentStyle) {
				cssRule = cssRule.replace(/\-(\w)/g, function (match, p1) {
					return p1.toUpperCase();
				});
				return obj.currentStyle[cssRule];
			}
		};
	}
	return getStyle(obj,cssRule);
}

function findPosition( oElement ) {
  if( typeof( oElement.offsetParent ) != 'undefined' ) {
    for( var posX = 0, posY = 0; oElement; oElement = oElement.offsetParent ) {
      posX += oElement.offsetLeft;
      posY += oElement.offsetTop;
    }
    return [ posX, posY ];
  } else {
    return [ oElement.x, oElement.y ];
  }
}

function getPageY() {
	var docHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
	// Order maters here as for IE 6 documentElement.clientHeight != body.clientHeight
	var docScrollY = document.documentElement.scrollTop || document.body.scrollTop;
	return [docHeight,docScrollY];
}

var addEvent = function() {
  if (window.addEventListener) {
    return function(el, type, fn) {
      el.addEventListener(type, fn, false);
    };
  } else if (window.attachEvent) {
    return function(el, type, fn) {
      var f = function() {
        fn.call(el, window.event);
      };
      el.attachEvent('on' + type, f);
    };
  }
}();

function GET_XMLHTTPRequest() {
	var request;
	try{
		request = new ActiveXObject("Microsoft.XMLHTTP");
	}
	catch(ex1){
		try{
			request = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(ex2){
			try{
				request = new ActiveXObject("Msxml3.XMLHTTP");
			}
			catch(ex3){
				request = null;
			}
		}
	}
	if(!request && typeof XMLHttpRequest != "undefined"){
		request = new XMLHttpRequest();
	}
	return request;
}

function setLinks(linkTags,prt){
	var linkCollection = [];
	for (var j = 0; linkTags[j]; j++) {
		linkCollection[j] = getByTag(prt,linkTags[j]);
		for (var i = 0; linkCollection[j][i]; i++) {
			if ( linkCollection[j][i].href.indexOf('/link/dl')!=-1 ) {
				linkCollection[j][i].onclick=trackBinaryDocument;
			}
			else if(/zoom/.test(linkCollection[j][i].getAttribute('rel'))) {
				new Zoom(linkCollection[j][i]);
			}
			else if(/bookmark|external|corporate|download/.test(linkCollection[j][i].getAttribute('rel'))) {
				linkCollection[j][i].onclick = function(e) {
					if (!e) var e = window.event;
					if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey)
						return true;
					window.open(this.href);
					return false;
				}
			}
		}
	}
}

trackBinaryDocumentRequest=null;
function trackBinaryDocument(e)
{	
	var hr=this.href;
	if ( hr.indexOf("?")==-1) return true;
	hr=hr.substr( hr.indexOf("?")+1 );


	trackBinaryDocumentRequest = null;
	try {
		trackBinaryDocumentRequest = new XMLHttpRequest();
	} catch (trymicrosoft) {
		try {
			trackBinaryDocumentRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (othermicrosoft) {
		try {
			trackBinaryDocumentRequest = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (failed) {
			trackBinaryDocumentRequest = null;
		}
		}
	}
	
	if (!trackBinaryDocumentRequest) return true;

	var url="/statDocument?"+hr;
	trackBinaryDocumentRequest.open("GET", url, true);
	trackBinaryDocumentRequest.onreadystatechange = onTrackBinaryDocumentReady;
	trackBinaryDocumentRequest.send(null);

	if (!e) var e = window.event;
	if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey)
		return true;

	window.open(this.href);
	return false;
}

function onTrackBinaryDocumentReady()
{
	if (!trackBinaryDocumentRequest) return;
	if (trackBinaryDocumentRequest.readyState != 4) return;
	if (trackBinaryDocumentRequest.status != 200) return;

	eval("binaryStats="+trackBinaryDocumentRequest.responseText);
	if (binaryStats.name) {
		stat('veolia_transport','','','documents_pdf;'+binaryStats.name);
	}
}

function setAddendas() {
	var adColl = getByClass('addended',getById('page'),'div');
	if(!adColl || adColl.length==0) return;
	for(var i=0; adColl[i]; ++i) {
		var p = getByClass('more',adColl[i],'p');
		var d = getByClass('addenda',adColl[i],'div');
		if(p && d && p[0] && d[0]) {
			var a = getByTag(p[0],'a');
			if(a && a[0]){
				var s = getByClass('plus',a[0],'strong');
				if(!s || !s[0]) s = 'unset';
					new Addenda(a[0],d[0],s[0]);
			}
			
		}
	}
}

function Addenda(a,t,d) {
	this.call = a;
	this.tgt = t;
	this.deco = d;
	this.state = 'x';
	this.call.onclick = function (that) {
		return function () {
			if(that.state=='x') {
				addClass(that.tgt,'deployed');
				that.deco.innerHTML = '-';
				that.state='o';
			}
			else {
				removeClass(that.tgt,'deployed');
				that.deco.innerHTML = '+';
				that.state='x';
			}
			return false;
		}
	}(this);
}

/* LangSwitch
----- */
function setRHlang() {
	var c = getByClass('langSwitch',getById('content'),'ul');
	if(c&&c[0]) {
		for(var i = 0; c[i]; ++i) {
			var aC = getByTag(c[i],'a');
			
			var t = c[i].parentNode.nextSibling;
			while(t.nodeType!=1){
				t=t.nextSibling;
			}
			if(/IFRAME/.test(t.nodeName)) {
				new RHlang(t,aC);
			}
		}
	}
}

function RHlang(ifr,aC) {
	this.tgt = ifr;
	this.aColl = aC;
	for(var i = 0; aC[i]; ++i) {

		aC[i].onclick= function(that) {
			return function() {
				that.toggle(this);
				return false;
			}
		}(this);
	}
}

RHlang.prototype={
	toggle: function(a) {
		if(a.href==this.tgt.src)
			return;
		this.tgt.src=a.href;
		for(var i = 0; this.aColl[i]; ++i) {
			removeClass(this.aColl[i],'on');
			addClass(a,'on');
		}
	}
}

function repositionIframes() {
	var rhFrm = getById('fltContainer');
	if(rhFrm) {
		rhFrm.onload = function() {
			window.scroll(0,0);
		}
	}
}

function ftlDocumentLoaded() {
	
}


function fixIE() {
	separateTools();
	separateNav();
	separateFooter();
}

function fixLowIE() {
	toolsHover();
	navHover();
}

function separateFooter() {
	var f = getById('footer');
	if(!f) return;
	var ulColl = getByTag(f,'ul');
	for(var i = 0; ulColl[i]; ++i) {
		var liColl = getByTag(ulColl[i],'li');
		for(var j = 1; liColl[j]; j++) {
			liColl[j].innerHTML = ' | ' + liColl[j].innerHTML;
		}
	}
}

function separateTools() {
	var t = getById('tools');
	if(!t) return;
	var ulColl = getByTag(t,'ul');
	for(var i = 0; ulColl[i]; ++i) {
		var liColl = getByTag(ulColl[i],'li');
		for(var j = 0; liColl[j]; j++) {
			if(/corp|directAccess|lang|search/.test(liColl[j].className))
			liColl[j].innerHTML = '|   ' + liColl[j].innerHTML;
		}
		for(var j = 0; liColl[j]; j++) {
			liColl[j].style.zIndex = 999;
		}
	}
}

function separateNav() {
	var n = getById('navigation');
	if(!n) return;
	var ulColl = getByTag(n,'ul');
	for(var i = 0; ulColl[i]; ++i) {
		var liColl = getByTag(ulColl[i],'li');
		for(var j = 1; liColl[j]; j++) {
			if(liColl[j].parentNode.parentNode==n)
				liColl[j].innerHTML = ' | ' + liColl[j].innerHTML;
		}
		if(liColl[0].parentNode.parentNode!=n)
			addClass(liColl[0],'first-child');
		for(var j = 0; liColl[j]; j++) {
				liColl[j].style.zIndex = 998;
		}
	}
}

function navHover() {
	var n = getById('navigation');
	if(!n) return;
	var liColl = getByTag(n,'li');
	for(var i = 0; liColl[i]; ++i) {
		var s = liColl[i].getElementsByTagName('div')[2];
		if(s)
			s.appendChild(document.createElement('iframe'));
		liColl[i].onmouseover = function() {
			addClass(this,'hover');
			var ifr = this.getElementsByTagName('iframe')[0];
			if(ifr)
				ifr.style.height=ifr.parentNode.offsetHeight+7+'px';
		}
		liColl[i].onmouseout = function() {
			removeClass(this,'hover');
		}
	}
}

function toolsHover() {
	var t = getById('tools');
	if(!t) return;
	var liColl = getByTag(t,'li');
	for(var i = 0; liColl[i]; ++i) {
		var s = liColl[i].getElementsByTagName('div')[2];
		if(s)
			s.appendChild(document.createElement('iframe'));
		liColl[i].onmouseover = function() {
			addClass(this,'hover');
			var ifr = this.getElementsByTagName('iframe')[0];
			if(ifr)
				ifr.style.height=ifr.parentNode.offsetHeight+7+'px';
		}
		liColl[i].onmouseout = function() {
			removeClass(this,'hover');
		}
	}
}

/* Overlay
---------------------- */
function Zoom(a) {
	initOverlay();
	this.a = a;
	this.overlay = getById('overlay');
	this.container = getById('overlayContainer');
	this.container.w = 400;
	this.container.h = 250;
	this.a.onclick = function (that) {
        return function () {
            that.click(this.href);
			return false;
        }
    }(this);
}

Zoom.prototype = {
	click: function (file) {
		this.file = file + '&js=true';
		this.overlay.innerHTML = '<span id="loading"></span>';
		getById('loading').style.top = ((getPageY()[0] - 36) / 2) + getPageY()[1] + 'px';

		if(getById('ie6overlay'))
			removeClass(getById('ie6overlay'),'hidden');
			
		this.overlay.style.height = getById('page').offsetHeight + 'px';

		removeClass(this.overlay,'hidden');
		addClass(this.container,'transparent');
		removeClass(this.container,'hidden');

		var req = GET_XMLHTTPRequest();
		if (req) {
			req.open("GET", this.file, true);
			req.setRequestHeader('User-Agent','XMLHTTP/1.0');
			req.onreadystatechange = function (that) {
		        return function (aEvt) {
					if (req.readyState != 4) return;
					if (req.status != 200 && req.status != 304) {
						that.handleError(req);
						return;
					}
		            if(req.readyState == 4){
						that.handleRequest(req);
					}
		        }
		    }(this);
			req.send(null);
		}
		else {
			getById('overlayContainer').innerHTML = 'Unable to load content';
			this.createNav();
			this.changePosition();
		}
	},
	changePosition: function () {
		this.container.style.width = this.container.w + 'px';
		this.container.style.height = this.container.h + 'px';
		this.container.style.marginLeft = -(this.container.w)/2 + 'px';
		var t = ((getPageY()[0] - this.container.h) / 2) + getPageY()[1];
		if(t < 0 ) {t = 0;}
		this.container.style.top = t + 'px';
		this.overlay.innerHTML = '';
		removeClass(this.container,'transparent');
	},
	handleRequest: function(req) {
		this.container.innerHTML = req.responseText;
		var innerContent = getById('overlayInnerContent');
		if(innerContent) {
			this.createNav();
			this.container.w = innerContent.offsetWidth;
			var d = getByClass('diaporama',this.container,'div');
			if(d&&d[0]) {
				setDiaporama(innerContent,'overlay');
				setLinks(['a','area'],d[0]);
			}
			this.container.h = innerContent.offsetHeight;
			this.changePosition();
			var c = getByClass('content',this.container,'div');
			if(c&&c[0]) {
				setLinks(['a','area'],c[0]);
				initSwfObjects(c[0]);
			}
		}
	},
	handleError: function(req) {
		this.container.innerHTML = '<strong>Data error :</strong> HTTP error' + req.status + '';
		this.container.w = 400;
		this.container.h = 250;
		this.createNav();
		this.changePosition();
	},
	createNav: function () {
		if(!getById('overlayNav')){
			var div = document.createElement('div');
			div.id = 'overlayNav';
			this.container.appendChild(div);
		}
		this.nav = getById('overlayNav');
		this.nav.items = getByTag(this.nav,'a');
		for(var i = 0; this.nav.items[i]; i++) {
			new Zoom(this.nav.items[i]);
		}
		var c = createEl('a','closer','');
		c.href= "#";
		c.onclick = function (that) {
	        return function () {
				that.close();
				return false;
			}
		}(this);
		this.closer = this.nav.appendChild(c);
	},
	close: function () {
		addClass(this.container,'hidden');
		addClass(this.overlay,'hidden');
		if(getById('ie6overlay'))
			addClass(getById('ie6overlay'),'hidden');
		this.container.innerHTML = '';
		return false;
	}
}

function initOverlay () {
	if(!getById('overlay')) {
		var ov = createEl('div','hidden','');
		ov.id = "overlay";
		ov.style.height = getById('page').offsetHeight + 'px';
		document.getElementsByTagName('body')[0].appendChild(ov);
		/*@if (@_win32)
			if(ie_rv < 7) {
				var f = document.createElement('iframe');
				f.id= 'ie6overlay';
				f.className = 'hidden';
				document.getElementsByTagName('body')[0].appendChild(f);
			}
		/*@end @*/
	}

	if(!getById('overlayContainer')) {
		var ovCt = createEl('div','hidden','');
		ovCt.id = "overlayContainer";
		document.getElementsByTagName('body')[0].appendChild(ovCt); 
	}
}

/* MiniMenu
----- */
function setMiniMenus() {
	var m = getByClass('miniSelect',getById('content'),'div');
	if(m&&m[0]) {
		for(var i = 0; m[i]; ++i) {
			var itms = getByClass('item',m[i],'div');
			if(itms&&itms.length>1) {
				if(m[i].firstChild.nodeType==8){
					var selDefaultTxt = m[i].firstChild.data;
					var it = createEl('div','item defaultItem','<h3>'+selDefaultTxt+'</h3><div class="data">&nbsp;</div>');
					m[i].insertBefore(it,itms[0]);
					itms = getByClass('item',m[i],'div');
				}
				new MiniMenu(m[i],itms);
			}
		}
	}
}

function MiniMenu(prt,itms) {
	addClass(prt,'minified');
	this.prt = prt;
	for(var i = 0; itms[i]; ++i) {
		var t = getByTag(itms[i],'h3');
		itms[i].tit = (t&&t[0]) ? t[0] : false;
		var d = getByClass('data',itms[i],'div');
		itms[i].txt = (d&&d[0]) ? d[0] : false;
		itms[i].cId = i;
	}
	this.items = itms;
	this.cId = -1;
	var s = document.createElement('select');
	prt.insertBefore(s,itms[0]);
	var st = '';
	for(var i = 0; itms[i]; ++i) {
		if(itms[i].tit&&itms[i].tit.innerHTML&&itms[i].txt&&itms[i].txt.innerHTML){
			var o = document.createElement('option');
			o.value = i;
			o.innerHTML = itms[i].tit.innerHTML;
			if(this.cId == -1) {
				this.cId = i;
				o.setAttribute('selected',"selected");
			}
			s.appendChild(o);
		}
	}
	s.onchange = function(that) {
		return function() {
			that.change(this[this.selectedIndex].value);
		}
	}(this);
	this.change(this.cId);
}

MiniMenu.prototype = {
	change: function (cId) {
		removeClass(this.items[this.cId],'current');
		addClass(this.items[cId],'current');
		this.cId = cId;
	}
}

function initSwfObjects(prt) {
	if(prt=='') prt = document.getElementsByTagName('body')[0];
	var obs = getByTag(prt,'object');
	if(obs&&obs[0]) {
		for(var i = 0; obs[i]; ++i) {
			if(obs[i].id&&obs[i].id!='') {
				var io = getByTag(obs[i],'object');
				if(io&&io[0]&&io[0].type&&/flash/.test(io[0].type)) {
					if(obs[i].id){
						swfobject.registerObject(obs[i].id, "9.0.0");
					}
				}
			}
		}
	}
}

/* 
----- */
function setDiaporama(prt,type) {
	if(!prt) var prt = getById('content');
	var d = getByClass('diaporama',prt,'div');
	if(!d||!d[0]) return;
	for(var i = 0; d[i]; ++i) {
		var di = getByClass('diapo',d[i],'div');
		var id = (type&&(type=='overlay')) ? i + '_o': i;
		if(di&&di[1]) new Diapo(d[i],di,id,type);
	}
}

function Diapo(container,diapos,id,type) {
	this.container = container;
	addClass(this.container,'diapo_'+id+'_');
	this.dClass = '.diapo_'+id+'_';
	this.cId = 0;
	this.data_h = 20;
	var s = document.styleSheets;
	var lastS = -1;
	for(var i = 0; i < s.length; ++i) {
		if(s[i].disabled==false)
			if(!/print|text/.test(s[i].href)) lastS = i;
	}
	for(var i = 0; diapos[i]; ++i) {
		if(/current/.test(diapos[i].className))
			this.cId = i;
		var d = getByClass('data',diapos[i],'div');
		if(d&&d[0]) {
			if(i==0) {
				var w = this.container.clientWidth - parseInt(getStyle(d[0],'padding-left'),10) - parseInt(getStyle(d[0],'padding-right'),10);
				if(lastS!=-1)
					addCSSRule(s[lastS],this.dClass+' .data','width: '+w+'px')
			}
			if(d[0].clientHeight > this.data_h) this.data_h = d[0].clientHeight;
		}
	}
	var fs = 14;
	if (document.defaultView && document.defaultView.getComputedStyle)
		fs = parseInt(getStyle(this.container,'font-size'),10);
	else {
		var t = createEl('span','wai','X');
		this.container.appendChild(t);
		t.style.left = '10em';
		fs = t.style.pixelLeft / 10;
		this.container.removeChild(t);
	}
	var h = parseInt(this.data_h,10) / fs;
	if(lastS!=-1)
		addCSSRule(s[lastS],this.dClass+' .data','height: '+h+'em');
	this.diapos = diapos;
	this.max = diapos.length;
	this.addNav(type);
	this.state = 'play';
	this.ppTxt = ['<strong>||</strong>', '►'];
	this.rotate();
}

Diapo.prototype = {
	addNav: function (type) {
		var dn = createEl('div','diapoNav','');
		this.container.appendChild(dn);
		this.nav_r = dn.appendChild(createEl('button','reposition','Focus'));
		this.nav_pp = dn.appendChild(createEl('button','playPause','<strong>||</strong>'));
		this.nav_p = dn.appendChild(createEl('button','prev','&laquo;'));
		this.count_d = dn.appendChild(createEl('span','',this.cId+1+'/'+this.max));
		this.nav_n = dn.appendChild(createEl('button','next','&raquo;'));
		this.nav_r.onclick = function (that) {
	        return function () {
				that.focusOn();
				return false;
			}
		}(this);
		this.nav_p.onclick = function (that) {
			return function () {
				that.budge('prev');
				return false;
			}
		}(this);
		this.nav_n.onclick = function (that) {
	        return function () {
				that.budge('next');
				return false;
			}
		}(this);
		this.nav_pp.onclick = function (that) {
	        return function () {
				that.toggleState();
				return false;
			}
		}(this);
		/*@if (@_win32)
			if(ie_rv < 8) {
				var bs = getByTag(this.container,'button');
				if(bs&&bs[0]){
					for(var i = 0; bs[i]; ++i) {
						bs[i].onmouseover = function() {addClass(this,'hover');}
						bs[i].onmouseout = function() {removeClass(this,'hover');}
						bs[i].onfocus = function() {addClass(this,'focus');}
						bs[i].onblur = function() {removeClass(this,'focus');}
					}
				}
			}
		/*@end @*/
		if(type&&(type=='overlay')) {
			var c = getByClass('closer',getById('overlayContainer'),'a');
			if(c&&c[0]){
				this.shortcuts = 'on';
				this.addShortcuts();
				this.close = c[0].onclick;
				c[0].onclick = function(that) {
					return function() {
						document.onkeydown = function () {}
						that.close();
						return false;
					}
				}(this);

			}
			this.reFocus();
		}
		
	},
	addShortcuts: function() {
		document.onkeydown = function (that) {
	        return function (e) {
				if (!e) var e = window.event;
				if (e.metaKey || e.ctrlKey) return;
				var pressed = false;
				switch(e.keyCode) {
					case 27: // escape
						document.onkeydown = function () {}
						that.close();
						pressed = true;
					break;
					
					case 32: // space
						that.toggleState('keypress');
						pressed = true;
					break;

					case 37: // left
						that.budge('prev');
						pressed = true;
					break;

					case 39: // right
						that.budge('next');
						pressed = true;
					break;
				}
				if (pressed && e.preventDefault)
					e.preventDefault();
			}
		}(this);
	},
	shift: function(dir) {
		var n = (dir=='next') ? ( (this.cId+1 == this.max) ? 0 : this.cId+1 ) : ( (this.cId-1 < 0) ? this.max-1 : this.cId-1 );
		removeClass(this.diapos[this.cId],'current');
		addClass(this.diapos[n],'current');
		this.cId = n;
		this.count_d.innerHTML = this.cId+1+'/'+this.max;
	},
	rotate: function() {
		var speed = (this.rotate.arguments.length>0) ? this.rotate.arguments[0] : 5000;
		this.rTimeout = setTimeout(function (that) {
			return function () {
				that.shift('next');
				that.rotate();
			}
		}(this), speed);
	},
	toggleState: function(t) {
		var p = (this.state=='play');
		if(p) clearTimeout(this.rTimeout);
		else this.rotate(300);
		if(t=='keypress') {
			this.nav_pp.innerHTML = (p) ? this.ppTxt[0] : this.ppTxt[1];
			clearTimeout(this.kTimeout);
			this.kTimeout = setTimeout(function (that) {
				return function () {
					that.nav_pp.innerHTML = (that.state!='play') ? that.ppTxt[1] : that.ppTxt[0];
				}
			}(this), 1600);
		}
		else
			this.nav_pp.innerHTML = (p) ? this.ppTxt[1] : this.ppTxt[0];
		this.state = (p) ? 'pause' : 'play';
		this.reFocus();
	},
	budge: function(d) {
		clearTimeout(this.rTimeout);
		this.shift(d);
		if(this.state=='play') this.rotate();
		this.reFocus();
	},
	reFocus: function() {
		if(window.focus) this.nav_r.focus();
	},
	focusOn: function() {
		if(window.focus) {
			this.nav_pp.focus();
			if(this.shortcuts=='on') {
				clearTimeout(this.fTimeout);
				this.fTimeout = setTimeout(function (that) {
					return function () {
						that.nav_r.focus();
					}
				}(this), 1500);
			}
		}
	}
}

function setSeoul() {
	var s = getById('seoul');
	if(!s) return;
	var g = getById('goTo');
	if(!g) return;
	var a = getByTag(g,'a');
	if(a&&a[0]) {
		new Forwarder(s,g,a[0].href);
	}
}

function Forwarder(s,g,h) {
	this.prt = s.parentNode;
	if(/speed/.test(g.className)){
		var reg = new RegExp("speed-([0-9]*)", "gi");
		var s = g.className.match(reg)[0];
		s = s.split('speed-')[1];
		this.speed = parseInt(s,10);
	}
	else this.speed = 10000;
	this.h = h;
	if(this.speed==0) return;
	this.fTimeout = setTimeout(function (that) {
		return function () {
			that.goTo();
		}
	}(this), this.speed);
}

Forwarder.prototype = {
	goTo : function() {
		var b = document.getElementsByTagName('body')[0];
		var txt = (/i18n-en/.test(b.className)) ? 'You are now going to be redirected to the homepage.' : "Vous allez maintenant être redirigé vers la page d'accueil.";
		var d = createEl('div','',txt)
		d.id='explanation';
		this.prt.appendChild(d);
		this.cTimeout = setTimeout(function (that) {
			return function () {
				that.changeLocation();
			}
		}(this), 3500);
	},
	changeLocation: function() {
		document.location = this.h;
	}
}




/* Init
-------------------- */
var init = function() {
	if (arguments.callee.done) return;
	arguments.callee.done = true;
	/*@if (@_win32)
		if(ie_rv < 6) return;
	/*@end @*/
	if(!document.getElementsByTagName) return;
	
	addClass(document.getElementsByTagName('body')[0],'scripted');

	setLinks(['a','area'],'');
	setSeoul();
	setAddendas();
	setMiniMenus();
	setDiaporama();
	
	setRHlang();
	repositionIframes();
	initSwfObjects(getById('page'));
	/*@if (@_win32)
		if(ie_rv < 7) fixLowIE();
		if(ie_rv < 8) fixIE();
	/*@end @*/
}

if (document.addEventListener) {
	document.addEventListener( "DOMContentLoaded", function(){
		document.removeEventListener("DOMContentLoaded",arguments.callee,false);
		init();
	}, false );
} else if (document.attachEvent) {
	document.attachEvent("onreadystatechange", function(){
		if (document.readyState === "complete") {
			document.detachEvent("onreadystatechange",arguments.callee);
			init();
		}
	});
	if (document.documentElement.doScroll && window == window.top) (function(){
		if (arguments.callee.done) return;
		try {
			document.documentElement.doScroll("left");
		} catch(error) {
			setTimeout(arguments.callee, 0);
			return;
		}
		init();
	})();
}
window.onload = init;

/* SWFObject v2.1 <http://code.google.com/p/swfobject/>
	Copyright (c) 2007-2008 Geoff Stearns, Michael Williams, and Bobby van der Sluis
	This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
*/
var swfobject=function(){var b="undefined",Q="object",n="Shockwave Flash",p="ShockwaveFlash.ShockwaveFlash",P="application/x-shockwave-flash",m="SWFObjectExprInst",j=window,K=document,T=navigator,o=[],N=[],i=[],d=[],J,Z=null,M=null,l=null,e=false,A=false;var h=function(){var v=typeof K.getElementById!=b&&typeof K.getElementsByTagName!=b&&typeof K.createElement!=b,AC=[0,0,0],x=null;if(typeof T.plugins!=b&&typeof T.plugins[n]==Q){x=T.plugins[n].description;if(x&&!(typeof T.mimeTypes!=b&&T.mimeTypes[P]&&!T.mimeTypes[P].enabledPlugin)){x=x.replace(/^.*\s+(\S+\s+\S+$)/,"$1");AC[0]=parseInt(x.replace(/^(.*)\..*$/,"$1"),10);AC[1]=parseInt(x.replace(/^.*\.(.*)\s.*$/,"$1"),10);AC[2]=/r/.test(x)?parseInt(x.replace(/^.*r(.*)$/,"$1"),10):0}}else{if(typeof j.ActiveXObject!=b){var y=null,AB=false;try{y=new ActiveXObject(p+".7")}catch(t){try{y=new ActiveXObject(p+".6");AC=[6,0,21];y.AllowScriptAccess="always"}catch(t){if(AC[0]==6){AB=true}}if(!AB){try{y=new ActiveXObject(p)}catch(t){}}}if(!AB&&y){try{x=y.GetVariable("$version");if(x){x=x.split(" ")[1].split(",");AC=[parseInt(x[0],10),parseInt(x[1],10),parseInt(x[2],10)]}}catch(t){}}}}var AD=T.userAgent.toLowerCase(),r=T.platform.toLowerCase(),AA=/webkit/.test(AD)?parseFloat(AD.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,q=false,z=r?/win/.test(r):/win/.test(AD),w=r?/mac/.test(r):/mac/.test(AD);/*@cc_on q=true;@if(@_win32)z=true;@elif(@_mac)w=true;@end@*/return{w3cdom:v,pv:AC,webkit:AA,ie:q,win:z,mac:w}}();var L=function(){if(!h.w3cdom){return }f(H);if(h.ie&&h.win){try{K.write("<script id=__ie_ondomload defer=true src=//:><\/script>");J=C("__ie_ondomload");if(J){I(J,"onreadystatechange",S)}}catch(q){}}if(h.webkit&&typeof K.readyState!=b){Z=setInterval(function(){if(/loaded|complete/.test(K.readyState)){E()}},10)}if(typeof K.addEventListener!=b){K.addEventListener("DOMContentLoaded",E,null)}R(E)}();function S(){if(J.readyState=="complete"){J.parentNode.removeChild(J);E()}}function E(){if(e){return }if(h.ie&&h.win){var v=a("span");try{var u=K.getElementsByTagName("body")[0].appendChild(v);u.parentNode.removeChild(u)}catch(w){return }}e=true;if(Z){clearInterval(Z);Z=null}var q=o.length;for(var r=0;r<q;r++){o[r]()}}function f(q){if(e){q()}else{o[o.length]=q}}function R(r){if(typeof j.addEventListener!=b){j.addEventListener("load",r,false)}else{if(typeof K.addEventListener!=b){K.addEventListener("load",r,false)}else{if(typeof j.attachEvent!=b){I(j,"onload",r)}else{if(typeof j.onload=="function"){var q=j.onload;j.onload=function(){q();r()}}else{j.onload=r}}}}}function H(){var t=N.length;for(var q=0;q<t;q++){var u=N[q].id;if(h.pv[0]>0){var r=C(u);if(r){N[q].width=r.getAttribute("width")?r.getAttribute("width"):"0";N[q].height=r.getAttribute("height")?r.getAttribute("height"):"0";if(c(N[q].swfVersion)){if(h.webkit&&h.webkit<312){Y(r)}W(u,true)}else{if(N[q].expressInstall&&!A&&c("6.0.65")&&(h.win||h.mac)){k(N[q])}else{O(r)}}}}else{W(u,true)}}}function Y(t){var q=t.getElementsByTagName(Q)[0];if(q){var w=a("embed"),y=q.attributes;if(y){var v=y.length;for(var u=0;u<v;u++){if(y[u].nodeName=="DATA"){w.setAttribute("src",y[u].nodeValue)}else{w.setAttribute(y[u].nodeName,y[u].nodeValue)}}}var x=q.childNodes;if(x){var z=x.length;for(var r=0;r<z;r++){if(x[r].nodeType==1&&x[r].nodeName=="PARAM"){w.setAttribute(x[r].getAttribute("name"),x[r].getAttribute("value"))}}}t.parentNode.replaceChild(w,t)}}function k(w){A=true;var u=C(w.id);if(u){if(w.altContentId){var y=C(w.altContentId);if(y){M=y;l=w.altContentId}}else{M=G(u)}if(!(/%$/.test(w.width))&&parseInt(w.width,10)<310){w.width="310"}if(!(/%$/.test(w.height))&&parseInt(w.height,10)<137){w.height="137"}K.title=K.title.slice(0,47)+" - Flash Player Installation";var z=h.ie&&h.win?"ActiveX":"PlugIn",q=K.title,r="MMredirectURL="+j.location+"&MMplayerType="+z+"&MMdoctitle="+q,x=w.id;if(h.ie&&h.win&&u.readyState!=4){var t=a("div");x+="SWFObjectNew";t.setAttribute("id",x);u.parentNode.insertBefore(t,u);u.style.display="none";var v=function(){u.parentNode.removeChild(u)};I(j,"onload",v)}U({data:w.expressInstall,id:m,width:w.width,height:w.height},{flashvars:r},x)}}function O(t){if(h.ie&&h.win&&t.readyState!=4){var r=a("div");t.parentNode.insertBefore(r,t);r.parentNode.replaceChild(G(t),r);t.style.display="none";var q=function(){t.parentNode.removeChild(t)};I(j,"onload",q)}else{t.parentNode.replaceChild(G(t),t)}}function G(v){var u=a("div");if(h.win&&h.ie){u.innerHTML=v.innerHTML}else{var r=v.getElementsByTagName(Q)[0];if(r){var w=r.childNodes;if(w){var q=w.length;for(var t=0;t<q;t++){if(!(w[t].nodeType==1&&w[t].nodeName=="PARAM")&&!(w[t].nodeType==8)){u.appendChild(w[t].cloneNode(true))}}}}}return u}function U(AG,AE,t){var q,v=C(t);if(v){if(typeof AG.id==b){AG.id=t}if(h.ie&&h.win){var AF="";for(var AB in AG){if(AG[AB]!=Object.prototype[AB]){if(AB.toLowerCase()=="data"){AE.movie=AG[AB]}else{if(AB.toLowerCase()=="styleclass"){AF+=' class="'+AG[AB]+'"'}else{if(AB.toLowerCase()!="classid"){AF+=" "+AB+'="'+AG[AB]+'"'}}}}}var AD="";for(var AA in AE){if(AE[AA]!=Object.prototype[AA]){AD+='<param name="'+AA+'" value="'+AE[AA]+'" />'}}v.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+AF+">"+AD+"</object>";i[i.length]=AG.id;q=C(AG.id)}else{if(h.webkit&&h.webkit<312){var AC=a("embed");AC.setAttribute("type",P);for(var z in AG){if(AG[z]!=Object.prototype[z]){if(z.toLowerCase()=="data"){AC.setAttribute("src",AG[z])}else{if(z.toLowerCase()=="styleclass"){AC.setAttribute("class",AG[z])}else{if(z.toLowerCase()!="classid"){AC.setAttribute(z,AG[z])}}}}}for(var y in AE){if(AE[y]!=Object.prototype[y]){if(y.toLowerCase()!="movie"){AC.setAttribute(y,AE[y])}}}v.parentNode.replaceChild(AC,v);q=AC}else{var u=a(Q);u.setAttribute("type",P);for(var x in AG){if(AG[x]!=Object.prototype[x]){if(x.toLowerCase()=="styleclass"){u.setAttribute("class",AG[x])}else{if(x.toLowerCase()!="classid"){u.setAttribute(x,AG[x])}}}}for(var w in AE){if(AE[w]!=Object.prototype[w]&&w.toLowerCase()!="movie"){F(u,w,AE[w])}}v.parentNode.replaceChild(u,v);q=u}}}return q}function F(t,q,r){var u=a("param");u.setAttribute("name",q);u.setAttribute("value",r);t.appendChild(u)}function X(r){var q=C(r);if(q&&(q.nodeName=="OBJECT"||q.nodeName=="EMBED")){if(h.ie&&h.win){if(q.readyState==4){B(r)}else{j.attachEvent("onload",function(){B(r)})}}else{q.parentNode.removeChild(q)}}}function B(t){var r=C(t);if(r){for(var q in r){if(typeof r[q]=="function"){r[q]=null}}r.parentNode.removeChild(r)}}function C(t){var q=null;try{q=K.getElementById(t)}catch(r){}return q}function a(q){return K.createElement(q)}function I(t,q,r){t.attachEvent(q,r);d[d.length]=[t,q,r]}function c(t){var r=h.pv,q=t.split(".");q[0]=parseInt(q[0],10);q[1]=parseInt(q[1],10)||0;q[2]=parseInt(q[2],10)||0;return(r[0]>q[0]||(r[0]==q[0]&&r[1]>q[1])||(r[0]==q[0]&&r[1]==q[1]&&r[2]>=q[2]))?true:false}function V(v,r){if(h.ie&&h.mac){return }var u=K.getElementsByTagName("head")[0],t=a("style");t.setAttribute("type","text/css");t.setAttribute("media","screen");if(!(h.ie&&h.win)&&typeof K.createTextNode!=b){t.appendChild(K.createTextNode(v+" {"+r+"}"))}u.appendChild(t);if(h.ie&&h.win&&typeof K.styleSheets!=b&&K.styleSheets.length>0){var q=K.styleSheets[K.styleSheets.length-1];if(typeof q.addRule==Q){q.addRule(v,r)}}}function W(t,q){var r=q?"visible":"hidden";if(e&&C(t)){C(t).style.visibility=r}else{V("#"+t,"visibility:"+r)}}function g(s){var r=/[\\\"<>\.;]/;var q=r.exec(s)!=null;return q?encodeURIComponent(s):s}var D=function(){if(h.ie&&h.win){window.attachEvent("onunload",function(){var w=d.length;for(var v=0;v<w;v++){d[v][0].detachEvent(d[v][1],d[v][2])}var t=i.length;for(var u=0;u<t;u++){X(i[u])}for(var r in h){h[r]=null}h=null;for(var q in swfobject){swfobject[q]=null}swfobject=null})}}();return{registerObject:function(u,q,t){if(!h.w3cdom||!u||!q){return }var r={};r.id=u;r.swfVersion=q;r.expressInstall=t?t:false;N[N.length]=r;W(u,false)},getObjectById:function(v){var q=null;if(h.w3cdom){var t=C(v);if(t){var u=t.getElementsByTagName(Q)[0];if(!u||(u&&typeof t.SetVariable!=b)){q=t}else{if(typeof u.SetVariable!=b){q=u}}}}return q},embedSWF:function(x,AE,AB,AD,q,w,r,z,AC){if(!h.w3cdom||!x||!AE||!AB||!AD||!q){return }AB+="";AD+="";if(c(q)){W(AE,false);var AA={};if(AC&&typeof AC===Q){for(var v in AC){if(AC[v]!=Object.prototype[v]){AA[v]=AC[v]}}}AA.data=x;AA.width=AB;AA.height=AD;var y={};if(z&&typeof z===Q){for(var u in z){if(z[u]!=Object.prototype[u]){y[u]=z[u]}}}if(r&&typeof r===Q){for(var t in r){if(r[t]!=Object.prototype[t]){if(typeof y.flashvars!=b){y.flashvars+="&"+t+"="+r[t]}else{y.flashvars=t+"="+r[t]}}}}f(function(){U(AA,y,AE);if(AA.id==AE){W(AE,true)}})}else{if(w&&!A&&c("6.0.65")&&(h.win||h.mac)){A=true;W(AE,false);f(function(){var AF={};AF.id=AF.altContentId=AE;AF.width=AB;AF.height=AD;AF.expressInstall=w;k(AF)})}}},getFlashPlayerVersion:function(){return{major:h.pv[0],minor:h.pv[1],release:h.pv[2]}},hasFlashPlayerVersion:c,createSWF:function(t,r,q){if(h.w3cdom){return U(t,r,q)}else{return undefined}},removeSWF:function(q){if(h.w3cdom){X(q)}},createCSS:function(r,q){if(h.w3cdom){V(r,q)}},addDomLoadEvent:f,addLoadEvent:R,getQueryParamValue:function(v){var u=K.location.search||K.location.hash;if(v==null){return g(u)}if(u){var t=u.substring(1).split("&");for(var r=0;r<t.length;r++){if(t[r].substring(0,t[r].indexOf("="))==v){return g(t[r].substring((t[r].indexOf("=")+1)))}}}return""},expressInstallCallback:function(){if(A&&M){var q=C(m);if(q){q.parentNode.replaceChild(M,q);if(l){W(l,true);if(h.ie&&h.win){M.style.display="block"}}M=null;l=null;A=false}}}}}();