
<!--
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)
    	{
      	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)
    	next_call = true;
  }//fin for
  if (next_call)
    window.setTimeout("namosw_clock();", 1000);
}//fin fonction
// -->
