
function getStyle(_elem) {
  return typeof _elem.currentStyle == 'undefined' ?
  	  document.defaultView.getComputedStyle(_elem, null)	// all others
  	: _elem.currentStyle									// IE
}

// Fiche produit : switch entre le contenu 1 (tab2) et 2 (tab3) de la demande de comptage
var ficprod_active='tab2'		// Contenu actif par défaut
function ficprod_tab(tabID) {
	if(tabID!=ficprod_active) {
		document.getElementById(ficprod_active).style.display='none'
		document.getElementById(ficprod_active+'-bottom').style.display='none'
		document.getElementById(tabID).style.display='block'
		document.getElementById(tabID+'-bottom').style.display='block'
		ficprod_active=tabID
	}
}


/* *********************** ONGLETS *********************** */

var tab_active='',		// Id de la tabulation active
tab_activeclass='',tab_inactiveclass=''
// Modif de l'onglet actif -> change la class des onglets, affiche le contenu adéquat, et met l'ascenceur à jour
// Si ficprod est vrai, il faut en plus vérifier et switcher l'onglet du bas, défini par ficprod_active
function tab_changeto(tabID,ficprod) {
	if(typeof(ficprod)=='undefined') var ficprod=false
	if(ficprod) {
		ficprod_off=tabID=='tab1'? ficprod_active : 'tab1'
		ficprod_on=tabID=='tab1' ? 'tab1' : ficprod_active
	}
	else { ficprod_off=tab_active; ficprod_on=tabID }
	if(tab_active) {
		document.getElementById(ficprod_off).style.display='none'
		if(ficprod) document.getElementById(ficprod_off+'-bottom').style.display='none'
		if(!tab_activeclass) tab_activeclass=document.getElementById(tab_active+'-container').className
		document.getElementById(tab_active+'-container').className='onglet-inactif'
	}
	document.getElementById(tabID+'-container').className=tab_activeclass
	if(!tab_inactiveclass) tab_inactiveclass=document.getElementById(tabID+'-container').className
	document.getElementById(ficprod_on).style.display='block'
	if(ficprod) document.getElementById(ficprod_on+'-bottom').style.display='block'
	tab_active=tabID
	if(typeof(x_update)=='function') 
		setTimeout("x_update('scroll2-slider',0,1,10000)",100)	// Laisser le temps de modifier les divs. 10000 (step du scroller) -> remontée instantanée
	return false
}


/* *********************** MENUS *********************** */
var mnu_act=new Array('','','','')
var mnu_offset=new Array('',{init:-187, min:0 }, {init:-167, min:0 }, {init:193, min:26 } )
var mnu_actID=new Array('',0)

// speed : 2.5 = normal, plus=plus lent, moins=plus rapide
// lock > 0 : entrebaillement du menu actif au chargement de la page, et modif de son paramètre 'min'
function mnu_active(id,from,speed,lock){
	var menu=document.getElementById(id),init
	if(typeof(speed)=='undefined' || !speed) var speed=2.5
	if(typeof(lock)=='undefined') var lock=0
	if(mnu_act[0] && mnu_act[0]!=id) mnu_move(mnu_act[0],mnu_act[2],mnu_act[1],2.5)	// fermeture d'un menu déjà ouvert
	if(menu) {
		var init=mnu_offset[from]['init'], min=mnu_offset[from]['min']

		// Gestion des entrebaillements
		if(lock) {		// Entrebaillement initial
			mnu_actID=Array(id,lock)
			min=init<min ? init+lock : init-lock										// Ouverture maxi initiale = valeur de l'entrebaillement (lock)
		}
		else if(mnu_actID[0]==id) init=init<min ? init+mnu_actID[1] : init-mnu_actID[1]	// Fermeture mini du menu actif = celle de l'entrebaillement

		// Ouverture / fermeture
		var x=parseInt(getStyle(menu).left,10)	// Position actuelle du menu
		if(x==init) {	// Menu déjà fermé à fond ou locked -> Ouverture
			if(!lock) mnu_act=Array(id,init,min,lock)
			mnu_move(id,x,min,speed)
		}
		else {			// Fermeture
			mnu_act=Array('','','','')
			mnu_move(id,min,init,speed)
		}
	}
	return false
}

// ouverture/fermeture progressive
function mnu_move(id,from,to,speed) {
	var step=Math.round(Math.abs(from-to))/speed
	if(step<1) step=1; else if(step>60) step=60
	if(from<to) { from+=step; if(from>to) from=to }
	else { from-=step; if(from<to) from=to }
	document.getElementById(id).style.left=from+'px'
	if(from!=to) setTimeout('mnu_move("'+id+'",'+from+','+to+','+speed+')',40)
}
