/**
 * Gestion des onglets dynamique
 * @version 1.1 29/09/2008
 * @author Charles-Alexandre Monette
 * Ajout 29/09/2008 - Ajout de la fonction gto(id)
 */

var actif = null;
var objMinuterie = null;
var ongletsInvisibles = Array();
var imagesInvisibles = Array();
var ongletActif = 0;
var contenu = null;
var contenuImage = null;
var olBase = null;

function TableauOnglets( pane, tabs ) {
	for ( id in tabs ) Event.observe( id, 'click', function( e ) { 
		for ( id in tabs ) $( id ).removeClassName( 'active' );
		ancetres = Element.ancestors( Event.element( e ) );
		ancetres[ 0 ].addClassName( 'active' );
		if ( actif != ancetres[ 0 ].id ) {
			cible = $( tabs[ ancetres[ 0 ].id  ] );
			Element.hide( pane );
			Element.update( pane, cible.innerHTML );
			new Effect.Appear( pane );
		}
		actif = ancetres[ 0 ].id;
		Event.stop( e );
	} );
}

function Minuterie( pane, paneImage, onglets, listeImages, ol ) {
	ongletsInvisibles = onglets;
	imagesInvisibles = listeImages;
	contenu = pane;
	contenuImage = paneImage;
    olBase = ol;
}

function play() {
	if ( actif != null ) nxt();
	actif = true;
	Element.update( 'btn_main_playpause', $( 'btn_pause' ).innerHTML );
	objMinuterie = window.setTimeout( "play();", 7000 );
}

function pause() {
	Element.update( 'btn_main_playpause', $( 'btn_play' ).innerHTML );
	actif = false;
	window.clearTimeout( objMinuterie );
}

function nxt() {
	pause();
    $( olBase + ( ongletActif + 1 ) ).removeClassName( 'active' );
	ongletActif++;
	if ( ongletActif >= ongletsInvisibles.length ) ongletActif = 0;
	afficher( ongletActif );
}

function bck() {
	pause();
    $( olBase + ( ongletActif + 1 ) ).removeClassName( 'active' );
	ongletActif--;
	if ( ongletActif < 0 ) ongletActif = ( ongletsInvisibles.length - 1 );
	afficher( ongletActif );
}

function gto( id ) {
    pause();
    id--;
    $( olBase + ( ongletActif + 1 ) ).removeClassName( 'active' );
    if( id != ongletActif ) {
        ongletActif = id;
        afficher( id );
    }
}

function changeState() {
	if ( actif ) {
		pause();
	} else {
		play();	
	}
}

function afficher( noOnglet ) {
	cible = $( ongletsInvisibles[ noOnglet ] );
	cibleImage = $( imagesInvisibles[ noOnglet ] );
	Element.hide( contenu );
	Element.hide( contenuImage );
    $( olBase + ( ongletActif + 1 ) ).addClassName( 'active' );
	window.setTimeout( "Element.update( contenu, cible.innerHTML );", 100 );
	window.setTimeout( "Element.update( contenuImage, cibleImage.innerHTML );", 100 );
	window.setTimeout( "new Effect.Appear( contenuImage, { duration: 0.3 } );", 100 );
	if ( navigator.userAgent.search(/^(.*)Safari(.*)$/) == -1 ) {
		window.setTimeout( "new Effect.Appear( contenu, { duration: 0.3 } );", 100 );
	} else {
		window.setTimeout( "Element.show( contenu );", 200 );
	}
}
