
// Affichage de la date et heure 
// Date et heure sous la forme Lundi 2 juin 2008 21:08:32 = type 2 
	function namosw_init_clock()
	{
	//*************************************Expliquation sur le fonctionnement du script***********************************
	//Ce programme permet de créer une horloge en temps réel
	//On peut définir autant d'horloge que l'on souhaite (sur une même page) chaqu'une d'entre elle doit être definie par 2 paramètres le premier
	//permet de définir l'id de la balise span dans laquelle l'horloge apparaitra et le second paramètre permet de definir
	//le type d'horloge à utiliser
	//7 types d'horloge peuvent être affichées
	//********************************************************************************************************************
	//Cette fonction permet de charger les paramètres qui définissent les différentes horloges (localisation et type de l'horloge)
	//ainsi que le contenu des tableaux contenant les noms des jours et des mois lors du chargement de la page
		var type, i, top, obj, clocks, strobj, tempvar;
  		clocks = new Array();
	//Permet de récupérer les n argument définits dans les paramètres de la fonction namosw_init_clock() lors du chargement de la page
  		for (i = 0, top = 0; i < namosw_init_clock.arguments.length; i += 2)//ici on extrait chaque paramètre définit dans la fonction namosw_init_clock() lors du chargement de la page et on les places dans un tableau objet
   		{
	//namosw_init_clock.arguments[i]  : paramètre i définit dans les arguments de la fonction namosw_init_clock(argument1, argument2,...)
    strobj = eval('document.getElementById("' + namosw_init_clock.arguments[i] + '")');//Permet de définir l'objet dans lequel sera afficher l'horloge sur la page html à partir des paramètres paires définit dans la fonction lors du chargement de la page
    type = namosw_init_clock.arguments[i+1];
    if (type < 1 && 7 < type) continue;
    clocks[top++] = strobj;
    clocks[top++] = type;
   		}
	//*****************definition des tableau contenant les noms des mois et des jours****************
  	clocks.months = new Array('Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet',
                            'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre');
  	clocks.days   = new Array('Dimanche', 'Lundi', 'Mardi', 'Mercredi',
                            'Jeudi', 'Vendredi', 'Samedi');
	//************************************************************************************************
  	if (top > 0)
   	{
    document.namosw_clocks = clocks;
    namosw_clock();
   	}
	}
	function namosw_clock()
	{
	//fonction permettant l'affichage des différentes horloges suivant les différents formats ainsi que les différents endroits
	//(au niveau des balises span) ainsi que le lancement de l'execution toutes les secondes
  	var i, type, clocks, next_call, str, hour, ampm, now, year2, year4;
  	clocks = document.namosw_clocks;
  	if (clocks == null) return;
  	next_call = false;
  	//affichage de toutes les horloges en fonction du type et de l'id de la balise span dans laquelle l'horloge sera affiché
    for (i = 0; i < clocks.length; i += 2) {
    obj   = clocks[i];//objet dans lequel sera affiché la n ième horloge
    type  = clocks[i+1];//type d'affichage de la n ième horloge
    now   = new Date();
    year2 = now.getYear();
    year4 = year2;
    if (year2 < 1000) year4 = 1900 + year2;
    if (year2 >= 100) year2 = year4;
 	//définition des formats en fonction du type 1,2,3,4...
 	//remarque : document.getElementById("type1").innerHTML permet d'afficher la date ou l'heure au niveau de la balise span ayant comme id type1
    if (type == 1 || type == 2)
     {
       obj.innerHTML = now.getDate() + ' ' + clocks.months[now.getMonth()] + ' ' + year4;
       if (type == 2) 
         obj.innerHTML = clocks.days[now.getDay()] + ' ' + obj.innerHTML;
     }
    else if (type == 3 || type == 4)
     {
       obj.innerHTML = year2 + '/' + (now.getMonth()+1) + '/' + now.getDate();
     }
    else if (type == 5 || type == 6)
     {
       obj.innerHTML = (now.getMonth()+1) + '/' + now.getDate() + '/' + year2;
     } 
    
    if (type == 4 || type == 6 || type == 7 || type == 2)
     {
       hour = now.getHours();
       ampm = 0;
       //Dans cette ligne on teste aussi si les minutes et(ou) les secondes sont <10 si c'est le cas on concatène un 0 devant 
       //l'heure et(ou) les secondes (on pourrait faire la même chose avec les heures 
       str = hour +':'+ ((now.getMinutes() < 10) ? '0'+now.getMinutes():now.getMinutes()) +':'+ ((now.getSeconds() < 10) ? '0'+now.getSeconds():now.getSeconds());
       if (type == 7) 
        {
        obj.innerHTML  = str;
        }
       else
        {
        obj.innerHTML += ' ' + str;
        }
     }
    //si on utilise l'affichage de l'heure on met la variable next_call a true afin d'executer (settimeout) la fonction namosw_clock()
    //toutes les secondes (1000 millisecondes) pour obtenir l'affichage des secondes en temps réel
    if (type == 4 || type == 6 || type == 7 || type == 2)
     next_call = true;
  	}//fin for
  	if (next_call)
    window.setTimeout("namosw_clock();", 1000);
}//fin fonction
	
/* Identification du browser
	CSS Browser Selector v0.3.5 (Feb 05, 2010)
	Rafael Lima (http://rafael.adm.br)
	http://rafael.adm.br/css_browser_selector
	License: http://creativecommons.org/licenses/by/2.5/
	Contributors: http://rafael.adm.br/css_browser_selector#contributors

	Example de CSS à placer
	<style type="text/css">
	.ie .example {
	  background-color: yellow
	}
	.ie7 .example {
	  background-color: orange
	}
	.gecko .example {
	  background-color: gray
	}
	.win.gecko .example {
	  background-color: red
	}
	.linux.gecko .example {
	  background-color: pink
	}
	.opera .example {
	  background-color: green
	}
	.konqueror .example {
	  background-color: blue
	}
	.webkit .example {
	  background-color: black
	}
	.example {
	  width: 100px;
	  height: 100px;
	}
	.no_js { display: block }
	.has_js { display: none }
	.js .no_js { display: none }
	.js .has_js { display: block }
	*/
	function css_browser_selector(u){
		var ua = u.toLowerCase(),
		is=function(t){return ua.indexOf(t)>-1;},
		g='gecko',w='webkit',s='safari',o='opera',
		h=document.documentElement,
		b=[(!(/opera|webtv/i.test(ua))&&/msie\s(\d)/.test(ua))?('ie ie'+RegExp.$1)
				:is('firefox/2')?g+' ff2'
				:is('firefox/3.5')?g+' ff3 ff3_5'
				:is('firefox/3')?g+' ff3'
				:is('gecko/')?g
				:is('opera')?o+(/version\/(\d+)/.test(ua)?' '+o+RegExp.$1:(/opera(\s|\/)(\d+)/.test(ua)?' '+o+RegExp.$2:''))
				:is('konqueror')?'konqueror'
				:is('chrome')?w+' chrome'
				:is('iron')?w+' iron'
				:is('applewebkit/')?w+' '+s+(/version\/(\d+)/.test(ua)?' '+s+RegExp.$1:'')
				:is('mozilla/')?g:'',is('j2me')?'mobile'
				:is('iphone')?'iphone'
				:is('ipod')?'ipod'
				:is('mac')?'mac'
				:is('darwin')?'mac'
				:is('webtv')?'webtv'
				:is('win')?'win'
				:is('freebsd')?'freebsd'
				:(is('x11')||is('linux'))?'linux':'','js']; 
		c = b.join(' '); h.className += ' '+c;
		return c;}; 
		css_browser_selector(navigator.userAgent);

// Gestion des onglets produits
function multiClass(eltId) {
	arrLinkId = new Array('_0','_1','_2','_3','_4');
	intNbLinkElt = new Number(arrLinkId.length);
	arrClassLink = new Array('current','ghost');
	strContent = new String()
	for (i=0; i<intNbLinkElt; i++) {
		strContent = "menu"+arrLinkId[i];
		if ( arrLinkId[i] == eltId ) {
			document.getElementById(arrLinkId[i]).className = arrClassLink[0];
			document.getElementById(strContent).className = 'on content';
		} else {
			document.getElementById(arrLinkId[i]).className = arrClassLink[1];
			document.getElementById(strContent).className = 'off content';
		}
	}	
}
// Rotation des onglets
function defilement(onglet)
{
    switch(onglet)
    {
    	case 0 :
        	// On fait les actions de l'etape 0
        	// Et on fait une pause
        	multiClass("_0");
       		setTimeout("defilement(1)",20000);
       		break;
    	case 1 :
           	// On fait les actions de l'etape 1
           	// Et on fait une pause
          multiClass("_1");
          setTimeout("defilement(2)",20000);
          break;
       case 2 :
           // On fait les actions de l'etape 2
           // Et on fait une pause
          multiClass("_2");
          setTimeout("defilement(3)",20000);
          break;
       case 3 :
           // On fait les actions de l'etape 3
           // Et on fait une pause
          multiClass("_3");
          setTimeout("defilement(4)",20000);
          break;
       case 4 :
           // On fait les actions de l'etape 4
           
           multiClass("_4");
           setTimeout("defilement(0)",20000);
          break;
   		  
    }
}
/* Rotation des Annonces */
/*
//Effect.Appear(document.getElementById("Annonce_0"));
//Effect.Fade(document.getElementById("Annonce_0"));
//Effect.Puff(document.getElementById("Annonce_0")); 
//Effect.BlindDown(document.getElementById("Annonce_0"));
//Effect.BlindUp(document.getElementById("Annonce_0"));
//Effect.SwitchOff(document.getElementById("Annonce_0"));
//Effect.SlideDown(document.getElementById("Annonce_0"));
//Effect.SlideUp(document.getElementById("Annonce_0"));
//Effect.DropOut(document.getElementById("Annonce_0"));
//Effect.Shake(document.getElementById("Annonce_0"));
//Effect.Pulsate(document.getElementById("Annonce_0"));
//Effect.Squish(document.getElementById("Annonce_0"));
//Effect.Fold(document.getElementById("Annonce_0"));
//Effect.Grow(document.getElementById("Annonce_0"));
//Effect.Shrink(document.getElementById("Annonce_0"));
//Effect.Highlight(document.getElementById("Annonce_0"));
//Effect.toggle(document.getElementById("Annonce_0"));
*/
function Annonce(i)
{
	z=Number(i);
	var lst= getElementsBySelector('div.Annonce');
	NbElt = new Number(lst.length);
		
	if (i==0){ /* 1er appel de la fonction */
		i=Number(NbElt); /* Positionnement sur la dernière annonce */ 
	}
	
	/*document.write(NbElt); 	
	document.write(i);
	document.write(z);*/
	
switch(i)
{
case 1 :
	if (!(z==0)) Effect.DropOut(document.getElementById("Annonce_2"));
	Effect.Appear(document.getElementById("Annonce_1"));
	setTimeout("Annonce("+NbElt+")",15000);
	break;	
case 2 :
	if (!(z==0)) Effect.DropOut(document.getElementById("Annonce_3"));
	Effect.Appear(document.getElementById("Annonce_2"));
	setTimeout("Annonce(1)",15000);
	break;		
case 3 :
	if (!(z==0)) Effect.DropOut(document.getElementById("Annonce_4"));
	Effect.Appear(document.getElementById("Annonce_3"));
	setTimeout("Annonce(2)",15000);
	break;	
case 4 :
	if (!(z==0)) Effect.DropOut(document.getElementById("Annonce_5"));
	Effect.Appear(document.getElementById("Annonce_4"));
	setTimeout("Annonce(3)",15000);
	break;	
case 5 :
	if (!(z==0)) Effect.DropOut(document.getElementById("Annonce_1"));
	Effect.Appear(document.getElementById("Annonce_5"));
	setTimeout("Annonce(4)",15000);
	break;			
}

} 

/* Recuperer la liste des éléments par selecteur */
function getElementsBySelector(selector){
	//Extracted from nifty.js
		var i,selid="",selclass="",tag=selector,f,s=[],objlist=[];
		if(selector.indexOf(" ")>0){  //descendant selector like "tag#id tag"
			s=selector.split(" ");
			var fs=s[0].split("#");
			if(fs.length==1) return(objlist);
			f=document.getElementById(fs[1]);
			if(f) return(f.getElementsByTagName(s[1]));
			return(objlist);
		}
		if(selector.indexOf("#")>0){ //id selector like "tag#id"
			s=selector.split("#");
			tag=s[0];
			selid=s[1];
	    }
		if(selid!=""){
			f=document.getElementById(selid);
			if(f) objlist.push(f);
			return(objlist);
	    }
		if(selector.indexOf(".")>0){  //class selector like "tag.class"
			s=selector.split(".");
			tag=s[0];
			selclass=s[1];
	    }
		var v=document.getElementsByTagName(tag);  // tag selector like "tag"
		if(selclass=="")
			return(v);
		for(i=0;i<v.length;i++){
			if(v[i].className.indexOf(selclass)>=0)
				objlist.push(v[i]);
	    }
		return(objlist);
	}



