AJAX=(function(AJAX){
    return  function(url){
        var ajax=AJAX();
        ajax.open("GET", url, false);
        ajax.setRequestHeader("If-Modified-Since", "Mon, 26 Jul 1997 05:00:00 GMT");
        ajax.setRequestHeader("Cache-Control", "no-cache");
        ajax.setRequestHeader("X-Requested-With", "XMLHttpRequest");
		ajax.setRequestHeader('encoding','ISO-8859-1'); 
        ajax.send("");
        return  ajax;
    };
})(this.XMLHttpRequest ?
    function(){return new XMLHttpRequest;} :
    function(){return new ActiveXObject("Microsoft.XMLHTTP");}
);
id=function(o){return document.getElementById(o);}
css=function(o){return document.getElementById(o).style;}
function createCookie(name,value,days) {
	if (days){
		var date=new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires="; expires="+date.toGMTString();
	}
	else var expires="";
	document.cookie=name+"="+value+expires+"; path=/";
}
function readCookie(name){
	var nameEQ=name+"=";
	var ca=document.cookie.split(';');
	for(var i=0;i<ca.length;i++) {
		var c=ca[i];
		while(c.charAt(0)==' ')c=c.substring(1,c.length);
		if(c.indexOf(nameEQ)==0)return c.substring(nameEQ.length,c.length);
	}
	return null;
}
canDOM=function(){
	var a=[];
	/* test DOM */
	if(!AJAX || !document.getElementById || !document.createTextNode || !document.createElement || !document.removeChild || !document.createDocumentFragment || !a.push) return false;
	/* test box model */
	var test = document.createElement('div');
	test.style.visibility = 'hidden';
	test.style.width = '100px';
	test.style.padding = '100px';
	id('up').appendChild(test);
	var w = test.offsetWidth || 0;
	if(w!=300) {id('up').removeChild(test); return false;}
	return true;
}
var fr=false;
var mi;
var splash=true;
var up_html="";
var scb="";
var randcpt=0;
var randrun=false;
var cache_ajax={};

function uptitle(T,sT){
	if(!sT)sT="";
//	id('up').innerHTML='<div id="uptitle">&middot;'+T+'&middot;</div><div id="upsubtitle">'+sT+'</div>';
	id('up').innerHTML='<div id="uptitle">'+T+'</div><div id="upsubtitle">'+sT+'</div>';
	id('intro').innerHTML="";
	resize();
}
function iframeOn(url){
	id('intro').innerHTML="";
	if(url.indexOf('/dhtml/') != -1)frames['bodyFrame'].location.replace(url);
	else frames['bodyFrame'].location.href=url;
}
function maj(){
	id('up').innerHTML=up_html;
	addSound(id('up'),'link','select');
	var t=id('textScript').innerHTML;
	id('intro').innerHTML="<div class='textScript'>"+t+"</div>";
	if(id("soundonoff")){
		var s=readCookie('dhteumeuleu_sound');
		if(!s || s=="off")sound=true; else sound=false;
		sound_onoff();
	}
}
function addSound(o,over,clic){
	if(o){
		var l=o.getElementsByTagName('a');
		for(var i=0,n=l.length;i<n;i++){
			l[i].onclick=new Function("soundManager.play('"+clic+"');");
			l[i].onmouseover=new Function("soundManager.play('"+over+"');");
		}
	}
}
function runscript(scr){
	iframeOn(''+scr);
}
function randdec(){
	randrun=true;
	id('demos').innerHTML='-'+randcpt+'-';
	randcpt--;
	if(randcpt>=0)setTimeout('randdec();',1000); 
	else {
		randrun=false;
		rmo();
		rand();
	}
}
function rand(){
	if(randcpt>0) {
		if(!randrun)randdec();
	} else {
		randcpt=3;
		var s=AJAX('pag_0.asp').responseText;
		soundManager.play('select');
		if(s)runscript(s);
	}
}
function rmv(){
	if(!randrun){
		soundManager.play('balloon');
		id('demos').innerHTML=fr?'hasard':'back home';
	}
}
function rmo(){
	if(!randrun){
		id('demos').innerHTML='home';
	}
}
function loadSections(){
	var prg=[];
	var tit=[];
	var tct=[];
	var txt=[];
	var m=id('menu');
	mi=m.getElementsByTagName('div');
	mi[0].sel=true;
	var sb=mi[0];
	var mL=mi.length;
	for(var i=0;i<mL;i++){
		var o=mi[i];
		var t=o.title.split('|');
		o.title='';
		prg[i]=t[2];
		tit[i]=t[0];
		tct[i]=t[1];
		txt[i]=t[3];
		o.n=i;
		o.onmouseover=function(){
			if(!this.sel){
				soundManager.play('clic_'+Math.floor(Math.random()*3));
				this.sel=true;
				sb.sel=false;
				sb=this;
				mrp();
			}
		}
		o.onclick=function(){
			if(!this.sel){
				this.onmouseover();
			} else {
				soundManager.play('select');
				var url=prg[this.n];
				if(url.indexOf('gallery') != -1) {
					t=readCookie('dhteumeuleu_tag');
					if(t)url += '?tag='+t;
				}
				iframeOn(url);
				uptitle(tit[this.n],txt[this.n]);
				scb="";
				sc("DHTML demos:"+tct[this.n]);
			}
		}
	}
	function mrp (){
		var x=0;
		for(var i=0;i<mL;i++) {
			var o=mi[i];
			var w=o.sel?12:1;
			o.style.width=w+'em';
			o.className=o.sel?"mi mi_over":"mi";
			o.style.left=x+'em';
			x += w+.5;
		}
		id('txtmenu').innerHTML=txt[sb.n];
	}
	mrp();
}
function resize(){
	var h=Math.max(0,(id('myBody').offsetHeight-id('upx').offsetHeight-id('down').offsetHeight));
	css('bodyCont').height=h+'px';
	css('intro').width=Math.max(0,id('myBody').offsetWidth-id('intro').offsetLeft-75)+'px';
}
function update(){
	try {
		var h=frames['bodyFrame'].location.href;
		var i=h.indexOf('/dhtml/');
		if(i>1) {
			scr=h.substring(i+7);
			if(scr!=scb){
				var url="up-v6.php?scr="+scr;
				up_html=AJAX(url).responseText;
				maj();
				scb=scr;
			}
			maj();
		}
	}
	catch (e) {
		// do nothing
	}
	if(splash){
		splash=false;
		css('bodyFrame').visibility='visible';
		css('down').visibility='visible';
		setTimeout("css('splash').visibility='hidden';css('splash').display='none';", 500);
	}
}
// sound manager from Scott Schiller : http://www.schillmania.com/projects/soundmanager/
var isIE = navigator.appName.toLowerCase().indexOf('internet explorer')+1;
var isMac = navigator.appVersion.toLowerCase().indexOf('mac')+1;
function SoundManager(container) {
  var self = this;
  this.movies = [];
  this.container = container;
  this.unsupported = 0;
  this.defaultName = 'default';
  this.FlashObject = function(url) {
    var me = this;
    this.o = null;
    this.loaded = false;
    this.isLoaded = function() {
      if (me.loaded) return true;
      if (!me.o) return false;
      me.loaded = ((typeof(me.o.readyState)!='undefined' && me.o.readyState == 4) || (typeof(me.o.PercentLoaded)!='undefined' && me.o.PercentLoaded() == 100));
      return me.loaded;
    }
    this.mC = document.createElement('div');
    this.mC.className = 'movieContainer';
    with (this.mC.style) {
      position = 'absolute';
      left = '-256px';
      width = '64px';
      height = '64px';
    }
    var html = ['<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"><param name="movie" value="'+url+'"><param name="quality" value="high"></object>','<embed src="'+url+'" width="1" height="1" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"></embed>'];
    if (navigator.appName.toLowerCase().indexOf('microsoft')+1) {
      this.mC.innerHTML = html[0];
      this.o = this.mC.getElementsByTagName('object')[0];
    } else {
      this.mC.innerHTML = html[1];
      this.o = this.mC.getElementsByTagName('embed')[0];
    }
    document.getElementsByTagName('div')[0].appendChild(this.mC);
  }
  this.addMovie = function(movieName,url) {
    self.movies[movieName] = new self.FlashObject(url);
  }
  this.checkMovie = function(movieName) {
    movieName = movieName||self.defaultName;
    if (!self.movies[movieName]) {
      self.errorHandler('checkMovie','Exception: Could not find movie',arguments);
      return false;
    } else {
      return (self.movies[movieName].isLoaded())?self.movies[movieName]:false;
    }
  }
  this.errorHandler = function(methodName,message,oArguments,e) {
    writeDebug('<div class="error">soundManager.'+methodName+'('+self.getArgs(oArguments)+'): '+message+(e?' ('+e.name+' - '+(e.message||e.description||'no description'):'')+'.'+(e?')':'')+'</div>');
  }
  this.play = function(soundID,loopCount,noDebug,movieName) {
    if (self.unsupported) return false;
    movie = self.checkMovie(movieName);
    if (!movie) return false;
    if (typeof(movie.o.TCallLabel)!='undefined') {
      try {
        self.setVariable(soundID,'loopCount',loopCount||1,movie);
        movie.o.TCallLabel('/'+soundID,'start');
        if (!noDebug) writeDebug('soundManager.play('+self.getArgs(arguments)+')');
      } catch(e) {
        self.errorHandler('play','Failed: Flash unsupported / undefined sound ID (check XML)',arguments,e);
      }
    }
  }
  this.stop = function(soundID,movieName) {
    if (self.unsupported) return false;
    movie = self.checkMovie(movieName);
    if (!movie) return false;
    try {
      movie.o.TCallLabel('/'+soundID,'stop');
      writeDebug('soundManager.stop('+self.getArgs(arguments)+')');
    } catch(e) {
      self.errorHandler('stop','Failed: Flash unsupported / undefined sound ID (check XML)',arguments,e);
    }
  }
  this.getArgs = function(params) {
    var x = params?params.length:0;
    if (!x) return '';
    var result = '';
    for (var i=0; i<x; i++) {
      result += (i&&i<x?', ':'')+(params[i].toString().toLowerCase().indexOf('object')+1?typeof(params[i]):params[i]);
    }
    return result
  }
  this.setVariable = function(soundID,property,value,oMovie) {
    if (!oMovie) return false;
    try {
      oMovie.o.SetVariable('/'+soundID+':'+property,value);
    } catch(e) {
      self.errorHandler('setVariable','Failed',arguments,e);
    }
  }
  this.setVariableExec = function(soundID,fromMethodName,oMovie) {
    try {
      oMovie.o.TCallLabel('/'+soundID,'setVariable');
    } catch(e) {
      self.errorHandler(fromMethodName||'undefined','Failed',arguments,e);
    }
  }
  this.callMethodExec = function(soundID,fromMethodName,oMovie) {
    try {
      oMovie.o.TCallLabel('/'+soundID,'callMethod');
    } catch(e) {
      self.errorHandler(fromMethodName||'undefined','Failed',arguments,e);
    }
  }
  this.callMethod = function(soundID,methodName,methodParam,movieName) {
    movie = self.checkMovie(movieName||self.defaultName);
    if (!movie) return false;
    self.setVariable(soundID,'jsProperty',methodName,movie);
    self.setVariable(soundID,'jsPropertyValue',methodParam,movie);
    self.callMethodExec(soundID,methodName,movie);
  }
  this.setPan = function(soundID,pan,movieName) {
    self.callMethod(soundID,'setPan',pan,movieName);
  }
  this.setVolume = function(soundID,volume,movieName) {
    self.callMethod(soundID,'setVolume',volume,movieName);
  }
  if (isIE && isMac) {
    this.unsupported = 1;
  }
  if (!this.unsupported) {
    this.addMovie(this.defaultName,'soundcontroller.swf');
  }
}
function SoundManagerNull() {
  this.movies = [];
  this.container = null;
  this.unsupported = 1;
  this.FlashObject = function(url) {}
  this.addMovie = function(name,url) {}
  this.play = function(movieName,soundID) {
    return false;
  }
  this.defaultName = 'default';
}
function writeDebug(msg) {
  var o = document.getElementById('debugContainer');
  if (!o) return false;
  var d = document.createElement('div');
  d.innerHTML = msg;
  o.appendChild(d);
}
var soundManager = null;
function soundManagerInit() {
  soundManager = new SoundManager();
}
// end sound manager

onload=function(){
	if(canDOM()){
		css('splash').visibility="visible";
		fr=id('lang').innerHTML=='fr';
		id('dhtml').onselectstart=new Function("return false");
		soundManagerInit();
		loadSections();
		addSound(id('myBody'),'link','select');
		var ifr=document.createElement('iframe');
		ifr.name=ifr.id="bodyFrame";
		ifr.frameBorder="0";
		if(typeof ifr.onreadystatechange)ifr.onreadystatechange=function(){update();};
		ifr.onload=function(){update();}
		id('bodyCont').appendChild(ifr);
		onresize=resize;
		resize();
		var src=id('ajax').getElementsByTagName("div").item(0).innerHTML;
		runscript(src);
	} else {
		window.location.replace("fallback.php");
	}
}
function sc(title){
	if (title!="") document.title=title;
}
