navi.Registry = [];
navi.delaisRentree = 100;
navi.duree = 300;
navi.vitesse = 10;
function navi(id,l,t,w,orientation){
	this.ie = document.all ? 1 : 0;
	this.ns4 = document.layers ? 1 : 0;
	this.dom = document.getElementById ? 1 : 0;
	this.plateForme = (navigator.appVersion.indexOf("Win") != -1);
	this.visible = (this.dom)?"visible" : "hidden"
	this.id = "content"+id;
	this.ContId = "contener"+id;
	this.width = (orientation == "d")?w:209;
	this.orientation = (orientation == "d")?"left":"top";
	this.debut = 0
	this.tempsRentre = 0;
	navi.Registry[this.id] = this;
	this.Reference = "navi_"+id;
	eval(this.Reference+"=this")
	var d = document;
	d.write('<style type="text/css">');
	d.write('#' + this.id + ' { visibility:'+ this.visible +'; ');
	d.write('position: absolute;');
	d.write('left:' + 0 + 'px; ');
	d.write('width:' + w + 'px; ');
	d.write('height:' + 305 + 'px; ');
	d.write('color: #000000; ');
	d.write('padding: 0px;');
	d.write('margin: 0px;');	
	d.write('filter:Alpha(opacity=100); ');
	d.write('border: none; ');
	d.write('z-index: 2;');
	d.write('}');
	d.write('.navigation' + id + ' { ');
	d.write('position : absolute;');
	d.write('overflow : hidden;');
	d.write('top:' + t + 'px; ');
	d.write('left : -1000px;');
	d.write('padding: 0px;');
	d.write('margin: 0px;');
	d.write('width : '+w+'px;');
	d.write('height : '+(305)+'px;');
	d.write('}');
	d.write('</style>');
	this.lecture();
}

navi.prototype.lecture = function(){
	var d = document;	
	var calque = this.id;
	var titre = "titre"+this.id;
	var contener = this.ContId;	
	var objet = this.dom ? d.getElementById(calque) : this.ie ? d.all[calque] : d.layers[calque];
	var titreObjet = this.dom ? d.getElementById(titre) : this.ie ? d.all[titre] : d.layers[titre];
	var Ocontener = this.dom ? d.getElementById(contener) : this.ie ? d.all[contener] : d.layers[contener];	
	if (!objet || !titreObjet || !Ocontener) window.setTimeout(this.Reference + ".lecture()", 100)
	else {
		this.menu = objet;
		this.titreMenu = titreObjet;
		this.contenerMenu = Ocontener;			
		this.style = this.ns4 ? this.menu : this.menu.style;
		this.contenerStyle = this.ns4 ? this.contenerMenu : this.contenerMenu.style;				
		this.homePos = - this.width;
		this.outPos = 0;
		this.acceleration = (this.outPos - this.homePos) / navi.duree / navi.duree; 
		if (this.ns4) this.menu.captureEvents(Event.MOUSEOVER | Event.MOUSEOUT);
		this.menu.onmouseout = new Function("navi.rentre('" + this.id + "')");
		this.menu.onmouseover = new Function("navi.bloque('" + this.id + "')");
	}
}

navi.rentre = function(id){
	var reg = navi.Registry;
	var objet = navi.Registry[id];
	if (reg[id].style){
		reg[id].style.zIndex = 2;
	}
	objet.tempsRentre = window.setTimeout("navi.rentreCalque('" + id + "')",navi.delaisRentree);}

navi.rentreCalque = function(id){
	var reg = navi.Registry;
	var objet = navi.Registry[id];
	if (!reg[id].dom){
		reg[id].style.visibility = "hidden";
	}
	reg[id].tempsRentre = window.clearTimeout(reg[id].tempsRentre);
	reg[id].tempsRentre = 0;
	if (!reg[id].boucleR) objet.debutGlisseRentre();
}

navi.sortie = function(id){
	var reg = navi.Registry;
	var objet = navi.Registry[id];
	if (reg[id].style){
		reg[id].style.zIndex = 10;
		reg[id].contenerStyle.left = 153;
	}
	if (reg[id].tempsRentre == 0 ) {
		objet.debutGlisseSortie();
	}else{
		reg[id].tempsRentre = window.clearTimeout(reg[id].tempsRentre);
		reg[id].tempsRentre = 0;
	}
}

navi.bloque = function(id){
	var reg = navi.Registry;
	var objet = navi.Registry[id];	
	reg[id].style.zIndex = 10;
	reg[id].titreMenu.className="over";
	if(reg[id].boucleR) objet.debutGlisseSortie();
	reg[id].tempsRentre = window.clearTimeout(reg[id].tempsRentre);
	reg[id].tempsRentre = 0;
}

navi.prototype.debutGlisseRentre = function(){
	this.boucleS = window.clearTimeout(this.boucleS)
	this.boucleS = 0;
	if (!this.boucleR){
		this.titreMenu.className = "menu";
		this.debut = (new Date()).getTime();
		this.boucleR = window.setInterval(this.Reference + ".glisse('-')", navi.vitesse);
	}
}

navi.prototype.debutGlisseSortie = function()
{
	this.boucleR = window.clearTimeout(this.boucleR)
	this.boucleR = 0;
	this.debut = (new Date()).getTime();
	this.boucleS = window.setInterval(this.Reference + ".glisse('+')", navi.vitesse);}

navi.prototype.glisse = function(sens)
{
	var ecoule = (new Date()).getTime() - this.debut
	if (ecoule > navi.duree ) this.stopGlisse()
	else {
		var d =   Math.round(Math.pow(navi.duree - ecoule, 2) * this.acceleration)
		if (sens == "-") d = - this.width + d-1;
		else d = - d-1;
		this.style[this.orientation] =  d ;}}

navi.prototype.stopGlisse = function()
{
	if(this.boucleS) {
		this.boucleS = window.clearTimeout(this.boucleS);
		if (!this.dom){
			this.style.visibility = "visible";
		}
		this.style[this.orientation] = 0;
	}
	if(this.boucleR) {
		this.boucleR = window.clearTimeout(this.boucleR);
		this.style[this.orientation] = -this.width-5;
		this.contenerStyle.left = -this.width-300;}}
