	var	allbannieres = new Hashtable () ;
	var	crossFadeDuration = 4 ;
	var	delayofrotate ;

	//	------------------------------------------------------------------------------------------------------------------
	/*
	*
	*		Méthode appelée au chargement d'une bannière, elle ajoute la nouvelle bannière dans la hashtable de gestion
	*		elle assure également le lancement de la fonction permettant de changer l'image à interval régulier
	*
	*/
	function Banniere_add(nameofbanniere,withtransition){
		transition=withtransition;
		var elementofbanniere=new Array();
		var j=0;
		for(var i=2;i<Banniere_add.arguments.length;i+=3){
			var subelement=new Array();
			subelement[0]=Banniere_add.arguments[i];
			subelement[1]=Banniere_add.arguments[i+1];
			subelement[2]=Banniere_add.arguments[i+2];
			elementofbanniere[j++]=subelement ;
		}

		if(allbannieres)allbannieres.put(nameofbanniere,elementofbanniere);
		//else alert ( "impossible d'obtenir la Hashtable allbannieres !" ) ;

		var	obj	= 	findDOM ( nameofbanniere , 0 ) ;

		//	Affectation de la première image de la bannière

		Banniere_showByPosition ( nameofbanniere , obj , elementofbanniere , 0 ) ;

		var action = findDOM ( nameofbanniere + "_action" , 0 ) ;
		if ( action ) action.innerHTML = "stop" ;
	
	}

	//	------------------------------------------------------------------------------------------------------------------
	//	Affectation de la première image de la bannière
	function				Banniere_affecteImage ( obj , name , image ) { 
		var viewer = Banniere_getObjectByName ( obj , "IMG", "viewer" ) ;
		if ( viewer ) {
			if ( isIE ) {
				viewer.style.filter = "blendTrans(duration=2)";
				viewer.style.filter = "blendTrans(duration=crossFadeDuration)";
				viewer.filters.blendTrans.Apply();
			}
			viewer.src = image;
			if ( isIE )	viewer.filters.blendTrans.Play();
		}
	}

	//	------------------------------------------------------------------------------------------------------------------
	function				Banniere_rotate ( t ) {
		delayofrotate = t ;
		window.setInterval ( "Banniere_change()", delayofrotate ) ;
	}

	//	------------------------------------------------------------------------------------------------------------------
	function				Banniere_getObjectByName ( obj , type , name ) {
		var h = obj.getElementsByTagName ( type ) ;
		for ( var i = 0 ; i < h.length ; i ++ ) {
			if ( h[i].name == name | h[i].id == name ) {
				return h[i] ;
			}
		}
		return null ;
	}


	//	------------------------------------------------------------------------------------------------------------------
	function				Banniere_getValueOfHidden ( obj , nameofhidden ) {
		var h = obj.getElementsByTagName ( "INPUT" ) ;
		for ( var i = 0 ; i < h.length ; i ++ ) {
			if ( h[i].name == nameofhidden ) {
				return h[i].value ;
			}
		}
		return null ;
	}

	//	------------------------------------------------------------------------------------------------------------------
	function				Banniere_setValueOfHidden ( obj , nameofhidden , v ) {
		var h = obj.getElementsByTagName ( "INPUT" ) ;
		for ( var i = 0 ; i < h.length ; i ++ ) {
			if ( h[i].name == nameofhidden ) {
				h[i].value = v ;
			}
		}
	}

	//	------------------------------------------------------------------------------------------------------------------
	/*
	*		Demande de changement du contenu d'une bannière
	*		banniere : nom de la bannière dont le contenu est à changer
	*		image : nom de l'image à afficher dans la bannière
	*		lien : lien vers lequel pointe la bannière
	*/
	function				Banniere_change () {
		var								keys								=					allbannieres.keys () ;
		for ( var j = 0 ; j < keys.length ; j ++ ) {
			var							nameofbanniere			=					keys [ j ] ;
			var							obj									=					findDOM ( nameofbanniere , 0 ) ;
			//	Si il a été possible d'obtenir un pointeur vers le visualisateur d'image, alors on change l'image
			if ( obj ) {
				var beforerefresh = Banniere_getValueOfHidden ( obj , "beforerefresh" ) ;
				if ( beforerefresh != -1 ) {
					if ( ( beforerefresh - delayofrotate ) < 0 ) {
						var elementofbanniere = allbannieres.get ( nameofbanniere ) ;
						var position = Banniere_getValueOfHidden ( obj , "position" ) ;
						position ++ ;
						if ( position >= elementofbanniere.length ) position = 0 ;			
						Banniere_showByPosition ( nameofbanniere , obj , elementofbanniere , position ) ;
					} else Banniere_setValueOfHidden ( obj , "beforerefresh" , beforerefresh - delayofrotate ) ;
				}
			} //else alert ( "impossible d'obtenir l'objet correspondant à " + nameofbanniere ) ;
		}
	}

	//	------------------------------------------------------------------------------------------------------------------
	function			Banniere_action ( nameofbanniere ) {
		var obj = findDOM ( nameofbanniere , 0 ) ;
		if ( obj ) {
			var action_etat = Banniere_getValueOfHidden ( obj , "action_etat" ) ;
			if ( action_etat == "stop" ) Banniere_stop ( nameofbanniere , obj ) ;
			else Banniere_play ( nameofbanniere , obj ) ;
		}
	}
	
	//	------------------------------------------------------------------------------------------------------------------
	function			Banniere_stop ( nameofbanniere , obj ) {
		var							beforerefresh				=					Banniere_getValueOfHidden ( obj , "beforerefresh" ) ;
		Banniere_setValueOfHidden ( obj , "beforerefresh" , -1 ) ;
		var action = findDOM ( nameofbanniere + "_action" , 0 );
		if ( action ) {
			action.innerHTML = "jouer" ;
			Banniere_setValueOfHidden ( obj , "action_etat" , "jouer" ) ;
		}
	}

	//	------------------------------------------------------------------------------------------------------------------
	function			Banniere_play ( nameofbanniere , obj ) {
		var							beforerefresh				=					Banniere_getValueOfHidden ( obj , "beforerefresh" ) ;
		Banniere_setValueOfHidden ( obj , "beforerefresh" , 0 ) ;
		var action = findDOM ( nameofbanniere + "_action" , 0 );
		if ( action ) {
			action.innerHTML = "stop" ;
			Banniere_setValueOfHidden ( obj , "action_etat" , "stop" ) ;
		}
	}

	//	------------------------------------------------------------------------------------------------------------------
	/*
	*
	*		Permet d'afficher directement une image de la bannière
	*
	*/
	function			Banniere_gotoImage ( nameofbanniere , position ) {
		var							obj									=					findDOM ( nameofbanniere , 0 ) ;
		var							elementofbanniere 	=					allbannieres.get ( nameofbanniere ) ;
		Banniere_showByPosition ( nameofbanniere , obj , elementofbanniere , position ) ;
	}

	//	------------------------------------------------------------------------------------------------------------------
	/*
	*	
	*		Affichage d'une image de la bannière
	*
	*/
	
	function				Banniere_showByPosition ( nameofbanniere , obj , elementofbanniere , position ) {

		if ( elementofbanniere ) {

			//	Recherche du ( ou des ) img imbriqués dans le DIV
			Banniere_affecteImage ( obj , "IMG" , elementofbanniere[position][0] ) ;
						
			Banniere_setValueOfHidden ( obj , "texte"						, elementofbanniere [ position ][ 2 ] ) ;
			Banniere_setValueOfHidden ( obj , "beforeposition"	, Banniere_getValueOfHidden ( obj , "position" ) ) ;
			Banniere_setValueOfHidden ( obj , "position"				, position ) ;

			var action = Banniere_getValueOfHidden ( obj , "action_etat" ) ;
			if ( action == "jouer" ) {
				Banniere_setValueOfHidden ( obj , "beforerefresh" 	, -1 ) ;
			} else {
				Banniere_setValueOfHidden ( obj , "beforerefresh" 	, Banniere_getValueOfHidden ( obj , "intervaleofrefresh" ) ) ;
			}

			var commande = findDOM ( nameofbanniere + "_" + position , 0 ) ;
			if ( commande ) {
				commande.className = "commande-actif" ;
			}

			var beforeposition = Banniere_getValueOfHidden ( obj , "beforeposition" ) ;
			commande = findDOM ( nameofbanniere + "_" + beforeposition , 0 ) ;
			if ( commande ) {
				commande.className = "commande-inactif" ;
			}
		
		}

	}

	//	------------------------------------------------------------------------------------------------------------------
	/*
	*
	*		Fonction affichant le lien placé dans la bannière
	*
	*/
	function				Banniere_onClick ( nameofbanniere ) {
		var	obj		= 	findDOM ( nameofbanniere , 0 ) ;	
		//	Si il a été possible d'obtenir un pointeur vers le visualisateur d'image, alors on change l'image
		if ( obj ) {
			var	position	=	Banniere_getValueOfHidden ( obj , "position" ) ;
			var	elementofbanniere = allbannieres.get ( nameofbanniere ) ;

			var target = Banniere_getValueOfHidden ( obj , "target" ) ;
			if ( target == "_top" ) document.location.href = elementofbanniere [ position ][ 1 ] ;
			else window.open ( elementofbanniere [ position ][ 1 ] ) ;
			
		} else alert ( "impossible d'obtenir l'objet correspondant à " + nameofbanniere ) ;
	}

	//	------------------------------------------------------------------------------------------------------------------
	/*
	*
	*		Fonction affichant un popup pour l'image
	*
	*/
	function				Banniere_popUp ( nameofbanniere ) {
		var	obj		= 	findDOM ( nameofbanniere , 0 ) ;	
		//	Si il a été possible d'obtenir un pointeur vers le visualisateur d'image, alors on change l'image
		if ( obj ) {
			var	position	=	Banniere_getValueOfHidden ( obj , "position" ) ;
			var	elementofbanniere = allbannieres.get ( nameofbanniere ) ;

			window.open ( elementofbanniere [ position ][ 1 ] ) ;
			
		} else alert ( "impossible d'obtenir l'objet correspondant à " + nameofbanniere ) ;
	}

