// Fichier javascript version Évolution (Portail VDM 2.0)

/*
Permet d'affecter une classe sur le dernier élément d'une liste horizontale
Paramètres:
liste:		obj jQuery qui comporte une liste de <li>			ex.: $("ul>li", $("#nav_central")
tolerance:	nombre de pixel de tolérence						ex.: 20
classe:		nom de la classe qui sera affecté au dernier <li>	ex.: 'dernier'
*/
function affecterClasseDernierItemDeLaLigne(liste, tolerance, classe){
	liste.each(function(index){
		var gch = $(this).offset();	
		gch = gch.left;
		var drt = gch + $(this).outerWidth(true);
		
		//Nous ne sommes pas au dernier élément...
		if($(this).next().length>0){
			var gchNext = $(this).next().offset();
			gchNext = gchNext.left;
			var dist = drt - gchNext;
			
			if(dist>tolerance){$(this).addClass(classe);}
		}else{
			$(this).addClass(classe);
		}
	});
}

// DÉBUT * passer des caractères encodés iso-8859 à du utf-8 pour coveo 6
UTF8 = {
	encode: function(s){
		for(var c, i = -1, l = (s = s.split("")).length, o = String.fromCharCode; ++i < l;
		s[i] = (c = s[i].charCodeAt(0)) >= 127 ? o(0xc0 | (c >>> 6)) + o(0x80 | (c & 0x3f)) : s[i]
		);
		return s.join("");
	},
	decode : function (utftext) {
		var string = "";
		var i = 0;
		var c = c1 = c2 = 0;
 
		while ( i < utftext.length ) {
 
			c = utftext.charCodeAt(i);
 
			if (c < 128) {
				string += String.fromCharCode(c);
				i++;
			}
			else if((c > 191) && (c < 224)) {
				c2 = utftext.charCodeAt(i+1);
				string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
				i += 2;
			}
			else {
				c2 = utftext.charCodeAt(i+1);
				c3 = utftext.charCodeAt(i+2);
				string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
				i += 3;
			}
 
		}
 
		return string;
	}
};

function change_onsubmit_form_rech(){
	// Affecte <form name="rech"> ou le <form id="rech">
	if (_form_rech = document.getElementById('rech')){
		// Modification la méthode "onsubmit" du <form>
		_form_rech.onsubmit = function(){
			// input name="q"
			var _q = this.q;
			// Retrait de l'attribut "name" pour que ce champ ne soit pas envoyé au submit. Évite le double encodage quand on fait "Back".
			_q.removeAttribute('name');
			
			// Création d'un nouveau champ input type="hidden". Insertion de la query convertie en utf8. C'est ce champ qui sera envoyé en submit.
			var _hid_q = document.createElement('input');
			_hid_q.type = 'hidden';
			_hid_q.name = 'q';
			_hid_q.value = UTF8.encode(_q.value);
			_q.parentNode.appendChild(_hid_q);
			
			if (this.sitename){
				// input name="sitename"
				var _sitename = this.sitename;
				// Retrait de l'attribut "name" pour que ce champ ne soit pas envoyé au submit. Évite le double encodage quand on fait "Back".
				_sitename.removeAttribute('name');
				
				// Création d'un nouveau champ input type="hidden". Insertion du sitename convertie en utf8. C'est ce champ qui sera envoyé en submit.
				var _hid_sitename = document.createElement('input');
				_hid_sitename.type = 'hidden';
				_hid_sitename.name = 'sitename';
				_hid_sitename.value = UTF8.encode(_sitename.value);
				_sitename.parentNode.appendChild(_hid_sitename);
			}
		}
	}
}

if (typeof jQuery == 'undefined'){ 
	window.onload = function(){
		change_onsubmit_form_rech();
	}
}else{
	$(document).ready(function(){
		change_onsubmit_form_rech();
	});
}
// FIN *** passer des caractères encodés iso-8859 à du utf-8 pour coveo 6


// Inclusion du fichier pour le bouton modifier du cms
document.writeln('<script type="text/javascript" language="JavaScript 1.2" src="/pls/portal/docs/page/admin_fr/media/scripts/btt_modifier.js"></script>');


// DÉBUT * Javascript document.ready()
$(function() {
			/* pour opera mobile */

  /*enelver la bordure droite du dernier element d'un menu central (nov 2011- mno)*/
	 $("div#nav_central ul li").last().css("border-right", "0px");
	 
	//affectation d'une classe au premier li du menu de gauche
	$("#nav_gch ul:first li:first").addClass('accueil_site');
	
	// DÉBUT * Solution aux défauts d'affichage du background-image sous IE<8 pour la classe a.externe quand le lien est sur deux lignes et inline
	
	
	if($.browser.msie && (jQuery.browser.version.substr(0,3) <8 ) ){
			if($("a.externe").length > 0 ){
				 $("a.externe").append("<span><img src=\"/pls/portal/docs/page/lib_fr/media/images/ic_lien_externe.gif\"></span>");
				 $("a.externe span > img").css({'display' : 'inline', 'position' : 'relative' , 'left' : '0px', 'top' : '2px'});
				 $("a.externe").css({'background-image' : 'none', 'padding' : '0' });
			}
			// * Solution aux défauts d'affichage du background-image sous IE<8 pour la classe a.suivre_lien quand le lien est sur deux lignes et inline
			if($("a.suivre_lien").length > 0 ){
				 $("a.suivre_lien").append("<img src='/pls/portal/docs/page/lib_fr/media/images/ui_frm/ic_flecheBleu_lien.gif' style='display: inline; padding-left: 6px; width: 9px; height: 7px; margin-left: 0px;'/>");
				 $("a.suivre_lien").css({'background-image' : 'none', 'padding' : '0' });
			}
	}
	
	
	/*
	//Propostion : mémorisser les background images des éléments parents et les réaffecter dans le script.
	//Le restrait du bg-image sur a.externe semble aussi manger le gbimage de l'élément parent.
	if($.browser.msie && (jQuery.browser.version.substr(0,3) <8 ) ){
			if($("a.externe").length > 0 ){
				$("a.externe").each(function(){
						$(this).after("<span class='ext'><img src=\"/pls/portal/docs/page/lib_fr/media/images/ic_lien_externe.gif\"></span>");	
						$("span.ext img").css({'display' : 'inline' , 'position' : 'relative' , 'left' : '0px', 'top' : '2px'} );
						$(this).css({'background-image' : 'none', 'padding' : '0' });
				})
			}
	}
	*/
	// FIN * a.externe  sous IE<8 

});
// FIN *** Javascript document.ready()

// DÉBUT * Fonction jQuery contenu ouvrant */
function menuToggle(){
	$(this).toggleClass("active").next(".cOuv_cont").slideToggle("fast");
}
// FIN *** Fonction jQuery contenu ouvrant */


//Affecte des classes à l'élément html selon le fureteur détecté, utile pour faire quelques traitements d'exception css - http://rafael.adm.br/css_browser_selector /* mise a jour pour la barre utilitaire dans les mobiles 2011-10-31  ajout du if pour opera mobile*/

	function css_browser_selector(u){
	if(/Tablet/.test(navigator.userAgent)){ $('html').addClass('operaMobi');}else{
	var ua=u.toLowerCase(),is=function(t){return ua.indexOf(t)>-1},g='gecko',w='webkit',s='safari',o='opera',m='mobile',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.6')?g+' ff3 ff3_6':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('blackberry')?m+' blackberry':is('android')?m+' android':is('chrome')?w+' chrome':is('iron')?w+' iron':is('applewebkit/')?w+' '+s+(/version\/(\d+)/.test(ua)?' '+s+RegExp.$1:''):is('mozilla/')?g:'',is('j2me')?m+' j2me':is('iphone')?m+' iphone':is('ipod')?m+' ipod':is('ipad')?m+' ipad':is('mac')?'mac':is('darwin')?'mac':is('webtv')?'webtv':is('win')?'win'+(is('windows nt 6.0')?' vista':''):is('freebsd')?'freebsd':(is('x11')||is('linux'))?'linux':'','js']; c = b.join(' '); h.className += ' '+c; return c;};}css_browser_selector(navigator.userAgent);
	



// DÉBUT * récupérer des paramètres dans l'url

//	Lit les parametres GET  d'une adresse de page et retourne un tableau associatif
//	Retourne {"param1"    : "valeur1","param2" : "valeur2"}
//	Appeller avec le nom du param recherché entre crochets pour isoler un parametre donné sous forme de chaîne, sinon, retourne tous les parametres _GET. 
//	Ex : var first = getUrlVars()["param"];

function getUrlVars()
{
		var vars = [], hash;
		var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
		for(var i = 0; i < hashes.length; i++)
		{
				hash = hashes[i].split('=');
				vars.push(hash[0]);
				vars[hash[0]] = hash[1];
		}
		return vars;
}


//NE PLUS UTILISER CETTE FONCTION : SE SERVIR PLUTOT DE getUrlVars()
function get_url_param(name)
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return results[1];
}

// FIN *** récupérer des paramètres dans l'url

// DÉBUT * Fonction addFlash() qui sert ajouter un fichier flash dans une page
// Fonctionne avec la version 2.1 du fichier swfobject.js
function addFlash(lien,id,width,height,param){
	
	if(param!=null){
		var flashvars = param.flashVar;
		var params = param.flashParam;		
		var attributes = param.flashAttributes;
		
	};

		swfobject.embedSWF(lien, id, width, height, "10", "/pls/portal/docs/page/librairie_fr/media/flash/expressInstall.swf",flashvars,params,attributes);

}
// FIN *** Fonction addFlash() qui sert ajouter un fichier flash dans une page

function addFlashAlbumVideo(videoName, videoFolder){
	
	//var test33 = document.getElementById('VideoF').innerHTML;
	//alert(test33);
	//document.getElementById('VideoF').innerHTML = '';
	
	var param = {	
		flashVar:{
		  width: "400",
		  height: "245",
		  file: "rtmp://media.ville.montreal.qc.ca/vod/", // à dynamiser
		  //image: "/pls/portal/docs/page/quartier_des_spectacles_fr/media/images/ph_poster_qds_video_long.jpg",
			image: "", // à dynamiser
		  id: videoFolder+'/'+videoName,
		  showstop:"true",
		  autostart:"true"
		},

		flashParam:{
		  menu: "false",
		  bgcolor: "#ffffff",
		  scale : "noscale",
		  quality : "high",
		  allowScriptAccess : "always",
		  allowfullscreen:"true",
		  wmode:"transparent"
		},
		
		flashAttributes:{
		  id: "Video_Famille", // à dynamiser
		  name: "Video_Famille" // à dynamiser
		}	
	};
	
	addFlash("/pls/portal/docs/page/lib_fr/media/flash/mediaplayer/mediaplayer.swf", // Lien vers le fichier SWF *
		 "VideoF", // ID du Div * 
		 400, // Largeur ( Width ) *
		 245, // Hauteur ( Height ) *
		 param); //Optionnel - Param&#232;tre de Attribu&#233; &#224; Flash dans de rare occasion
	
}



// DÉBUT * Fonction manip_f_ariane() qui sert a masquer des niveaux du fil d'ariane
function manip_f_ariane(niv){
	d = document.getElementById("fil_ariane");
	var arrFa = d.getElementsByTagName("a");
	
	if(arrFa.length == 1){
		arrFa[0].style.display = "none";
		arrSpan = d.getElementsByTagName("span");
		arrSpan[0].id = "fa";
		
	}else{
	
	
	for(i = 0; i < niv; i++){
		arrFa[i].style.display = "none";
	}

	arrFa[niv].id = "fa_item1";
	}
	
}
// FIN *** Fonction manip_f_ariane() qui sert a masquer des niveaux du fil d'ariane


// DÉBUT * communication AS3/JS pour la carte des arrondissement en footer
function ShowDivJs(value) {	

arr_lang = vLang; 

/*alert(arr_lang);*/

var tblTrad = new Array(new Array(), new Array());
	tblTrad[0][1] = "Arrondissement : ";
	tblTrad[1][1] = "Borough: ";
	tblTrad[0][2] = "Superficie : ";
	tblTrad[1][2] = "Area: ";
	tblTrad[0][3] = "Population : ";
	tblTrad[1][3] = "Population: ";


var nomArr;
var popArr;
var supArr;

var xmlHttp;

// DÉBUT * Fonction setXML 
function setXML(){ 
	xmlHttp=GetXmlHttpObject();
	var url="/pls/portal/docs/page/lib_fr/media/xml/carte.xml";
	xmlHttp.onreadystatechange=function() {
		if (xmlHttp.readyState==4) { 
		xmlDoc=xmlHttp.responseXML;
		parseXML(xmlDoc);
		return;
		}
	}
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
// FIN *** Fonction setXML

// DÉBUT * Fonction GetXmlHttpObject
function GetXmlHttpObject(){
var xmlHttp=null;
try {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
return xmlHttp;
}
// Fin *** Fonction GetXmlHttpObject

// DÉBUT * Fonction parseXML
function parseXML(xmlDoc){
	xmlHttp=GetXmlHttpObject();
	var url="/pls/portal/docs/page/lib_fr/media/xml/carte.xml";
	xmlHttp.onreadystatechange=function() {
		if (xmlHttp.readyState==4){ 
		var xmlDoc=xmlHttp.responseXML;
		var arronListe = xmlDoc.getElementsByTagName("arrondissement");
			for(var i=0; i<arronListe.length; i++) {
			var arron = arronListe[i].getAttribute("id");
				if (arron == value){
					if(navigator.userAgent.indexOf("Firefox")!=-1 || navigator.userAgent.indexOf("Safari")!=-1 ){
					nomArr = xmlDoc.getElementsByTagName("nom")[i].textContent;
					popArr = xmlDoc.getElementsByTagName("population")[i].textContent;
					supArr = xmlDoc.getElementsByTagName("superficie")[i].textContent;
					//alert (arron + " = " + value);
					//alert(nomArr + " " + popArr + " "+ supArr);
					}else{
					nomArr = xmlDoc.getElementsByTagName("nom")[i].text;
					popArr = xmlDoc.getElementsByTagName("population")[i].text;
					supArr = xmlDoc.getElementsByTagName("superficie")[i].text;
					}
					
					//Si lang = EN. on remplace la virgule par un point pour la superficie.
					if(arr_lang == 1){
							if (supArr.indexOf(",") != -1){
								supArr = supArr.replace(/,/,'.');
							}
							
							if (popArr.indexOf(" ") != -1){
								
								reg = /\s/;
								popArr = popArr.replace(reg,',');									
							}
					}
					
					document.getElementById("ftr_arrInfo").style.display = "block";
					document.getElementById("ftr_lien").style.visibility = "hidden";
					document.getElementById("ftr_arrInfo").innerHTML = "<p>" + tblTrad[arr_lang][1] +"<b>"+ nomArr + "</b></p><p>" + tblTrad[arr_lang][2] + supArr + " km<sup>2</sup></p><p>" + tblTrad[arr_lang][3] + popArr +"</p>";
				}
			}
		}
	}
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
// FIN *** Fonction parseXML

setXML();
	
}

function fermeDivJs(value) {
	
	document.getElementById("ftr_arrInfo").style.display = "none";	
	document.getElementById("ftr_lien").style.visibility = "visible";
}

// FIN *** communication JS AS3 pour la carte des arrondissement 


// DÉBUT * communication AS3/JS pour la carte des arrondissement en gbox

function survolArr(numArr){
	var arrSurvol = document.getElementById("arr_"+ numArr);
	arrSurvol.className = "arrSurvol";
	//arrSurvol.setAttribute("class", "arrSurvol");
}
function rollOutArr(numArr){
	var arrSurvol = document.getElementById("arr_"+ numArr);
	arrSurvol.className = "";
}

// fonction qui envoie le id de l'arrondissement à As3 onmouseover
function getFlashMovie(movieName) {
  var isIE = navigator.appName.indexOf("Microsoft") != -1;
  return (isIE) ? window[movieName] : document[movieName];
}
function sendArr(numArr){
	getFlashMovie("arrondissements").sendToAs(numArr);
}

// 	FIN *** communication AS3/JS pour la carte des arrondissement en gbox


//	DÉBUT * Fonctions pour le bloc mesures d'urgences

// 	DÉBUT * Fonctions pour les dimensions du bg pour mesures d'urgence
function getDocWidth() {
 var D = document;
 return (D.body.clientWidth);
}

//	Nom: getDocHeight
//	But: Retourne la hauteur totale du document (pas la hauteur de l'écran, mais le document en entier)

function getDocHeight() {
    var D = document;
    return (D.documentElement.scrollHeight)
}
function setBgSize(){
	//Test pour vérifier si l'element mesure d'urgence est présent sur la page
	if(document.getElementById("bg_msr_urg") != null){
		var browserWidth = getDocWidth();
		var browserHeight = getDocHeight();
		var bg_msr_urg = document.getElementById("bg_msr_urg");
		
		bg_msr_urg.style.width = browserWidth + "px";
		bg_msr_urg.style.height = browserHeight + "px";
	}
}
// 	FIN *** Fonctions pour les dimensions du bg pour mesures d'urgence

function ferm_msr_urg(){
	var t = document.getElementById("bg_msr_urg");
	t.parentNode.removeChild(t);
	var u = document.getElementById("msr_urg");
	u.parentNode.removeChild(u);
}

//	FIN *** Fonctions pour le bloc mesures d'urgences


/* Nom : randomNbr
   But : obtenir un numéro au hasard.
   Entrée : le nombre maximal que l'on désire obtenir. 
   Sortie : un nombre situé entre 1 et le nombre maximal. */
function randomNbr(maxNumber) {
	index = Math.floor(Math.random() * (maxNumber+1));

	if(index == 0) {
		index++;
	}
		
	return index;	
}

/* Nom : randomImgsJpg
   But : Afficher une image jpg au hasard.
   Entrée : le nom du répertoire, le nombre d'images contenu dans le répertoire, la largeur, la hauteur et la classe de l'image.
   Sortie : Affichage d'une image au hasard. */
function randomImgsJpg(dirName, nbrImgsInDir, width, height, classe){

	// Permet d'éviter que deux images identiques s'affichent.
	var img1 = randomNbr(nbrImgsInDir); // Numéro d'image.

	document.write("<img src='" + dirName + img1 + ".jpg'" + "width='" + width + "' height='" + height + "' class='" + classe + "' >");
}

/* Nom : randomImgsGif
   But : Afficher une image gif au hasard.
   Entrée : le nom du répertoire, le nombre d'images contenu dans le répertoire, la largeur, la hauteur et la classe de l'image.
   Sortie : Affichage d'une image au hasard. */ 
function randomImgsGif(dirName, nbrImgsInDir, width, height, classe){

	// Permet d'éviter que deux images identiques s'affichent.
	var img1 = randomNbr(nbrImgsInDir); // Numéro d'image.

	document.write("<img src='" + dirName + img1 + ".gif'" + "width='" + width + "' height='" + height + "' class='" + classe + "' >");
	
}


/* Nom : randomImgsJpg Pour le header 
   But : Afficher une image jpg au hasard.
   Entrée : le nom du répertoire, le nom du div contenant l'image en background, le nombre d'images contenu dans le répertoire, la largeur, la hauteur et la classe de l'image.
   Sortie : Affichage d'une image au hasard. */
function randomHeader(dirName, divName,  nbrImgsInDir, width, height, classe){
	
	var d = document.getElementById(divName);
	

	// Permet d'éviter que deux images identiques s'affichent.
	var img1 = randomNbr(nbrImgsInDir); // Numéro d'image.
	
		/*alert(img1);*/
	
	d.style.background = "transparent url(" + dirName + img1 + ".jpg) no-repeat center top";


}



// DÉBUT * Fonction load1
// Ouvrir un lien html à partir d'une liste déroulante.
function load1(form) {
     var url = form.Llist_1.options[form.Llist_1.selectedIndex].value;
 	 urlBeginning = url.substr(0, url.length-14); // ex. : http://www.nomDomaine.com
	 urlEnd = url.substr(url.length-14, url.length-1); // ?target=_blank 
	 
     if(url != ''){
        if (urlEnd == "?target=_blank") 
        {
	    	form.reset();
	    	window.open(urlBeginning); // Ouvrir le lien dans une nouvelle fenêtre
        }
        else 
        {
            form.reset();
	    	location.href = url; // Ouvrir le lien dans la même fenêtre
        }
     }
}
// FIN *** Fonction load1


function css_seek_and_destroy(){
	
/*var iframeLink = document.getElementsByTagName("iframe");*/

var linkLength=document.getElementsByTagName("link").length

for(x=0; x<document.getElementsByTagName("link").length;x++){
	/*alert(document.getElementsByTagName("link")[x].href);*/
	
}
/*alert(linkLength-1);*/
document.getElementsByTagName("link")[linkLength-1].href = "";

/*document.styleSheets[5].href = "";*/

}


// DÉBUT * redirection > sert entre autre pour rediriger à partir des collectrices vides (collectrices de redirection = patch)

function url_redirect(set_url) {
	window.location = set_url;
}

// FIN *** redirection

// DÉBUT * Fonction utilisée par le bouton langue
function redirectUrl(url,message){
	switch (message) {
		case 'msg1' : 
			msg = "Cette page n'est pas disponible, vous serez redirigé vers la page d'accueil.";
			break;
		case 'msg2' : 
			msg = "Cette page n'est pas disponible, vous serez redirigé vers la page d'accueil du portail.";
			break;
		case 'msg1en' : 
			msg = "This page is not available, you will be redirected to the main page.";
			break;
		case 'msg2en' : 
			msg = "This page is not available, you will be redirected to the portal's main page.";
			break;
		default : 
			msg = "Cette page n'est pas disponible, vous serez redirigé vers la page d'accueil.";
	}
	var redir = confirm(msg);
	if (redir==true) {
		window.location=url;
	} 
}
// FIN *** Fonction utilisée par le bouton langue


// DÉBUT * SCRIPTS DE DEPLACEMENT DE CONTENU //

function deplace_contenu(origineLoc, nouvelleLoc){
	
	//alert("origineLoc:" +origineLoc);
	//alert("nouvelleLoc: " +nouvelleLoc);
	var contDiv = document.getElementById(origineLoc).innerHTML;
	contDiv.style.display="none";
	document.getElementById(nouvelleLoc).innerHTML = contDiv;
	
}

// traite une date au format 'YYYY-MM-DD' en fonction de la langue de la page, et l'imprime dans le code à l'appel de la fonction
function print_oraDate(lang) {
	// param = 'fr' ou 'en' en fonction de la langue de la page
	
	var langForMonthArray = '';
	
	if(lang == 'fr') {
		langForMonthArray = 0;
	} else {
		langForMonthArray = 1;
	}
		
	var maDate_array=dateAujourdhui_plsql.split('-');
	
	var moisChiffreSimp = '';
	var jourChiffreSimp = '';
	
	if(maDate_array[1].charAt(0) == 0) {
		moisChiffreSimp = maDate_array[1].substr(1, 1);
	} else {
		moisChiffreSimp = maDate_array[1];
	}
	
	if(maDate_array[2].charAt(0) == 0) {
		jourChiffreSimp = maDate_array[2].substr(1, 1);
	} else {
		jourChiffreSimp = maDate_array[2];
	}
	
	var tblMois = new Array(new Array(), new Array());
	tblMois[0][1] = "janvier";
	tblMois[1][1] = "January";
	tblMois[0][2] = "février";
	tblMois[1][2] = "February";
	tblMois[0][3] = "mars";
	tblMois[1][3] = "March";
	tblMois[0][4] = "avril";
	tblMois[1][4] = "April";	
	tblMois[0][5] = "mai";
	tblMois[1][5] = "May";
	tblMois[0][6] = "juin";
	tblMois[1][6] = "June";
	tblMois[0][7] = "juillet";
	tblMois[1][7] = "July";
	tblMois[0][8] = "août";
	tblMois[1][8] = "August";
	tblMois[0][9] = "septembre";
	tblMois[1][9] = "September";
	tblMois[0][10] = "octobre";
	tblMois[1][10] = "October";
	tblMois[0][11] = "novembre";
	tblMois[1][11] = "November";
	tblMois[0][12] = "décembre";
	tblMois[1][12] = "December";
		
	var dateToPrint = '';
	
	if(lang == 'fr') {
		dateToPrint = jourChiffreSimp+' '+tblMois[langForMonthArray][moisChiffreSimp]+' '+maDate_array[0];
	} else {
		dateToPrint = tblMois[langForMonthArray][moisChiffreSimp]+' '+jourChiffreSimp+', '+maDate_array[0];
	}
	
	document.write(dateToPrint);

}



function printPopUp() {
	var str = "";
	if(document.getElementById('ariane')!=null){
	 str = document.getElementById("ariane").innerHTML;
	}
	var index = str.lastIndexOf('&gt;');
	var titre_bande="";
	var langue = "fr";
	var print_text = "Imprimer ce texte";
	if(index != -1){
		titre_bande = str.substring(index+4,str.length);
	}else{
		titre_bande = str;
	}
	newWindow = window.open('','name','scrollbars=yes,height=500,width=592');
	body = "<html><head>";	
	for(i=0;i<document.getElementsByTagName("link").length;i++){
		body += '<link href="'+document.getElementsByTagName("link")[i].href+'" rel="stylesheet" type="text/css">';
	}
	body += '</head><body><table width="575" border="0" cellspacing="0" cellpadding="0"><tr>'+
    '<td width="138" rowspan="2"><img src="http://ville.montreal.qc.ca/pls/portal/docs/page/librairie_fr/images/pop_print2_01.gif" width="138" height="50"></td>'+
    '<td height="12" colspan="3" bordercolor="0" bgcolor="#8C0000"></td></tr>'+
    '<tr><td height="38" colspan="3" background="http://ville.montreal.qc.ca/pls/portal/docs/page/librairie_fr/images/pop_print2_03.gif" class="titre_print"><img src="http://ville.montreal.qc.ca/pls/portal/docs/page/librairie_fr/images/spacer.gif" width="2" height="1">'+
	titre_bande+
	'</td></tr>'+
    '<tr><td height="28" bgcolor="#ffffff">&nbsp;</td>'+
    '<td width="313" class="eMediumGrey9" bgcolor="#ffffff">'
	/*if(document.getElementById('ariane')!=null){
		body += document.getElementById('ariane').innerHTML;
	}*/
	if(document.getElementById('langue')!=null){
		langue = document.getElementById('langue').innerHTML;
		if(langue=='en')print_text="Print this text";
	}
    body += '</td><td width="11" bgcolor="#ffffff"><img src="http://ville.montreal.qc.ca/pls/portal/docs/page/librairie_fr/images/fleche_noir.gif" width="3" height="5" align="right" vspace="3" hspace="4"></td>'+
    '<td width="113" valign="middle" class="eRed10" bgcolor="#ffffff"><a href="javascript:window.print()" class="eRed11Bold">'+print_text+'</a></td>'+
    '</tr></table><table cellspacing="0" width="575" height="422" border="0" bgcolor="#ffffff" cellpadding="5" id="print_format"><tr valign="top"><td>';
	if(document.getElementById('titre')!=null){
		body += document.getElementById('titre').innerHTML;
	}
	if(document.getElementById('stitre')!=null){
		body += document.getElementById('stitre').innerHTML;
	}

	for(i=0;i<document.getElementsByTagName('div').length;i++){
		if(document.getElementsByTagName('div')[i].id=='print'){
			body += document.getElementsByTagName('div')[i].innerHTML;
		}
	}

	if(document.getElementById('generique')!=null){
		body += document.getElementById('generique').innerHTML;
	}
	body += "</td></tr></table>";
	body += '<script type="text/javascript">'+
	'for(i=0;i<document.getElementsByTagName("div").length;i++){'+
		'str = document.getElementsByTagName("div")[i].id;'+
		'if (str.indexOf("bt_fleche_liste_f")==-1){'+
			'document.getElementsByTagName("div")[i].style.display="block";'+
		'}else{'+
			'document.getElementsByTagName("div")[i].style.display="none";'+
		'}'+
		'if(str.indexOf("no_print")!=-1){'+
			'document.getElementsByTagName("div")[i].style.display="none";'+	
		'}'+
	'}'+
	'for(k=0;k<document.getElementsByTagName("span").length;k++){'+
	'spanID = document.getElementsByTagName("span")[k].id;'+
	'if(spanID.indexOf("menu_o")!=-1){'+
	'document.getElementsByTagName("span")[k].style.display="none";}}'+
	'</script>'
	body += "</body></html>";
	newWindow.document.write(body);
	
	newWindow.document.close();
}

// réviser svp
function sw_elemVis(obj_id) {
	var obj = document.getElementById(obj_id);
	
	
	if(obj.style.display == 'none') {
		obj.style.display = 'block';
	} else {
		obj.style.display = 'none';
	}
}

/* DÉBUT * SCRIPTS DE TRANSITION ********************* /
/* a revoir frequemment pour supprimer au moment opportun */

function Get_Tags(nom,letype){
	//Retourne sous forme de tableau les tags HTML (paramètre letype) dans le id CONTIENT un nom (Le premier paramètre) particulier
	var les_elements = document.getElementsByTagName(letype.toUpperCase());
	var tableau = new Array();
	for(var i=0;i<les_elements.length;i++)
	{
			if(les_elements[i].id.search(nom)!=-1)
			{
				tableau.push(les_elements[i]);		
			}
	}
	return tableau;
}

function ToggleDivVisibility(nom_commun,nom_unique,veilleuse){
	// Cette fonction sert à gérer la visibilité d'une série de div 
	// Le nom_commun ou préfixe sert à constituer un tableau de div permettant leur gestion
	// Le nom_unique ou suffixe permet de donner un id unique à chaque nom et d'identifier sur quelle div l'opération doit
	// être effectuée
	//Le paramètre veilleuse est optionnel. S'il est passé true, un div restera toujours allumé.
	// Si un seul paramètre est passé, il s'agira de l'id d'un div que l'on voudra montrer ou cacher
	// Auteur : Yves Gosselin
	var lesdivs = document.getElementsByTagName("DIV");
	if(arguments.length>1)
	{
			var nom = nom_commun + nom_unique;
			var myRegExp = new RegExp(nom_commun);
			var mydivs = Get_Tags(myRegExp,"div");
			for(i=0;i<mydivs.length;i++)
			{
				if(mydivs[i].id!=nom)
				{
					mydivs[i].style.display="none";
				}
				else
				{
					if(veilleuse)
					{
						if(mydivs[i].style.display=="none" || mydivs[i].style.display=="")
						{
							mydivs[i].style.display="block";
						}
					}
					else
					{
						(mydivs[i].style.display=="block")?mydivs[i].style.display="none":mydivs[i].style.display="block";
					}
				}
			}
	}
	else
	{
		for(i=0;i<lesdivs.length;i++)
		{
			if(lesdivs[i].id==nom_commun)
			{
				(lesdivs[i].style.display=="block")?lesdivs[i].style.display="none":lesdivs[i].style.display="block";
			}
		}
	}
}	


function changeImg(imgId, imgPath) {
	
	var obj = document.getElementById(imgId);	
	obj.src = imgPath;

}



/* Nom : showDiv
   But : afficher un div selon son id.
   Entrée : le id doit exister dans le document.
   Sortie  : le div est affiché.                                       */  
function showDiv(id){
	var obj = document.getElementById(id);
	obj.style.display = "block"; 
}

/* Nom : hideDiv
   But : cacher un div selon son id.
   Entrée : le id doit exister dans le document.
   Sortie  : le div est caché.                                       */   
function hideDiv(id){
	var obj = document.getElementById(id);
	obj.style.display = "none"; 
}


	/* DÉBUT * Fonctions wrappées dans d'autre fonction (et qui pourrait être repensée...) */
	
	function newWin(url){

		var confirmWin = window.open(url,'','width=450,height=250,scrollbars=no,left=380,top=0')
		
			//give a reference between the opener
			//and the popup for backwards compatibility
			if(confirmWin.opener==null){
				confirmWin.opener = self;
		}
	}
	
	function removeSpaces(string) {
		var newString = '';
		for (var i = 0; i < string.length; i++) {
			if (string.charAt(i) != ' ') newString += string.charAt(i);
		}
		return newString;
	}
	

/* Name : showIt
   Purpose : show an object (table, div, p, ...) corresponding to an id.
   Input : you must specified an id for the object you want to show.
   Output  : the object is shown.                                          */   
function showIt(id){
	
	for(i=0;i<document.getElementsByTagName("div").length;i++){
		if(document.getElementsByTagName("div")[i].id==id || document.getElementsByTagName("div")[i].id==id.toUpperCase()){
			var obj = document.getElementsByTagName("div")[i];
			if(obj.style.display == "none"){
				obj.style.display = "block"; 
				
			} else if(obj.style.display == "block"){
				obj.style.display = "none"; 
			}
		}
	}
	/*var obj = document.getElementById(id);
	if(obj.style.display == "none"){
		obj.style.display = "block"; 
	} else if(obj.style.display == "block"){
		obj.style.display = "none"; 
	}*/
}


	
	/* FIN *** Fonctions wrappées dans d'autre fonction (et qui pourrait être repensée...) */
	
// Fonction pour la gestion complète des cookies : Création / Récupération / Suppression

	/*
		 name - name of the cookie
		 value - value of the cookie
		 [expires] - expiration date of the cookie
			 (defaults to end of current session)
		 [path] - path for which the cookie is valid
			 (defaults to path of calling document)
		 [domain] - domain for which the cookie is valid
			 (defaults to domain of calling document)
		 [secure] - Boolean value indicating if the cookie transmission requires
			 a secure transmission
		 * an argument defaults when it is assigned null as a placeholder
		 * a null placeholder is not required for trailing omitted arguments
	*/
	
	function setCookie(name, value, expires, path, domain, secure) {
		var curCookie = name + "=" + escape(value) +
				((expires) ? "; expires=" + expires.toGMTString() : "") +
				((path) ? "; path=" + path : "") +
				((domain) ? "; domain=" + domain : "") +
				((secure) ? "; secure" : "");
		document.cookie = curCookie;
	}
	
	
	/*
		name - name of the desired cookie
		return string containing value of specified cookie or null
		if cookie does not exist
	*/
	
	function getCookie(name) {
		var dc = document.cookie;
		var prefix = name + "=";
		var begin = dc.indexOf("; " + prefix);
		if (begin == -1) {
			begin = dc.indexOf(prefix);
			if (begin != 0) return null;
		} else
			begin += 2;
		var end = document.cookie.indexOf(";", begin);
		if (end == -1)
			end = dc.length;
		return unescape(dc.substring(begin + prefix.length, end));
	}
	
	
	/*
		 name - name of the cookie
		 [path] - path of the cookie (must be same as path used to create cookie)
		 [domain] - domain of the cookie (must be same as domain used to
			 create cookie)
		 path and domain default if assigned null or omitted if no explicit
			 argument proceeds
	*/
	
	function deleteCookie(name, path, domain) {
		if (getCookie(name)) {
			document.cookie = name + "=" +
			((path) ? "; path=" + path : "") +
			((domain) ? "; domain=" + domain : "") +
			"; expires=Thu, 01-Jan-70 00:00:01 GMT";
		}
	}
	
	// date - any instance of the Date object
	// * hand all instances of the Date object to this function for "repairs"
	
	function fixDate(date) {
		var base = new Date(0);
		var skew = base.getTime();
		if (skew > 0)
			date.setTime(date.getTime() - skew);
	}



/* FIN * SCRIPTS DE TRANSITION ********************** */




// DEBUT * Pour le bloc d'archives des applications du JO (communiqués, nouvelles, avis publics et appels d'offres)

function populateMonthArchives() { 
	annee = document.archives.an.value;
	for (i = 0; i < 12; i++) {
		document.archives.mo.options[0] = null;
	}
	if (annee == courrentYear) {
		for (i = 0; i < courrentYearMonth.length; i++) {
			document.archives.mo.options[i] = new Option([courrentYearMonth[i]], i + 1, false, false);
		}
	} else {
		for (i = 0; i < yearMonth.length; i++) {
			document.archives.mo.options[i] = new Option([yearMonth[i]], i + 1, false, false);
		}
	}
}

// FIN *** Pour le bloc d'archives des applications du JO (communiqués, nouvelles, avis publics et appels d'offres)

// -------------------------------------
// DÉBUT - Générer un album photo

//Paramètres : ('java' pour js, Url xml, id galerie dans album param, largeur(opt), hauteur(opt))
function createAlbum(set, url, numAlbum, lrg, htr){
	
	//Largeurs et hauteurs par défaut pour anciens sites
	var largeur	=	545;
	var hauteur	=	775;
	//Dimensions type pour nouveaux sites : 525 x 746 : par paramètre
	
	if(lrg != undefined){largeur	=	lrg}
	if(htr != undefined){hauteur	=	htr}

	if(set=="java"){
			var paramUrl=url;
		//Appelant en provenance de javascript
		
		var param = {	
			flashVar:{},

			flashParam:{wmode:"transparent"}, 
		
			flashAttributes:{
		  	id: "album_loader", // à dynamiser
		  	name: "album_loader" // à dynamiser
		}	
	};
	

	addFlash("/pls/portal/docs/page/librairie_fr/flash/album_loader.swf", // Lien vers le fichier SWF *
		 "albumPhoto", // ID du Div * 
		 largeur, // Largeur ( Width ) *
		 hauteur, // Hauteur ( Height ) *
		 param); //Optionnel - Param&#232;tre de Attribu&#233; &#224; Flash dans de rare occasion

	
			document.getElementById("flashcontent").innerHTML+="<div id='src' style='display:none'>"+paramUrl+"</div><div id='num' style='display:none'>"+numAlbum+"</div>"
		
			
		/*	var so = new SWFObject("/pls/portal/docs/page/librairie_fr/flash/album_loader.swf", 	//URL
								   "album_loader", // Object name
								   "545", // Width
								   "775", // Height
								   "9", // Flash player version (9)
								   "#FFFFFF"); // Backgroundcolor (not use)
							so.write("flashcontent"); // flashcontent is the div id
						document.getElementById("flashcontent").innerHTML+="<div id='src' style='display:none'>"+paramUrl+"</div><div id='num' style='display:none'>"+numAlbum+"</div>"*/

		
		}else{
			var paramUrl=document.getElementById("src").innerHTML;
			var numAlbum = document.getElementById("num").innerHTML;
			document.getElementById("src").innerHTML="";
			// Call in album_loader object, inFoXML function with bInfo parameter
			if(navigator.appName.indexOf("Microsoft") != -1)
			{
				
                album_loader.inFoXML(paramUrl,numAlbum);	
			}
			else
			{
				window.document.album_loader.inFoXML(paramUrl,numAlbum);
			};
			
		//Appelant en provenance de flash
		
		};
	
	
	
	
};

// FIN - Générer un album photo
// -------------------------------------


/**********************************************************************************************************************************************************/
/*
Function : createSlideShow
Creator : Luc Normandin
Date : 09/09
Method : create slideShow for a page group
*/
/**********************************************************************************************************************************************************/


			function createSlideShow(pictureFolder,pictureContainer,setting,timer){
				var xml = "<picture>";
				var time;
				if(timer!=null){
					time = timer;
					
					
					}else{
					time = 3000;	
					
					};
				for(var a=0;a<pictureContainer.length;a++){
					
					if(pictureContainer[a].Clickable != null){
							xml += createXmlElement("pict", createXmlElement("name",pictureContainer[a].Name) +
															createXmlElement("link",pictureContainer[a].Clickable));				
						}else{
							xml += createXmlElement("pict", createXmlElement("name",pictureContainer[a].Name));
						};	
				};
				xml += "</picture>";
				
				
				
				var flashvars = {
				  RootFolder:pictureFolder,
				  PictureLoader: xml,
				  Timer:time
				};
					
				var params = {
				  menu: "false",
				  bgcolor: "#ffffff",
				  scale : "noscale",
				  quality : "high"
				};
				var attributes = {
				  id: setting.name + setting.divId,
				  name: setting.name  
				};
				
				swfobject.embedSWF("/pls/portal/docs/PAGE/LIBRAIRIE_FR/FLASH/PICTUREPARSER.SWF", setting.divId, setting.width, setting.height, "10.0.0","expressInstall.swf", flashvars, params, attributes);
				
				
			};
			
			function createXmlElement(name,content){
				var xml
				if (!content){
					xml='<' + name + '/>'
				}
				else {
					xml='<'+ name + '>' + content + '</' + name + '>'
				}
				return xml
			}

/**********************************************************************************************************************************************************/
/* carte  du Montréal en bas de page*/
jQuery(document).ready(function() {
								
		$("#map-container").css('display', 'inline');
		 var lang = langueActuelle();
		 //Détection de langue */	
		function langueActuelle(){
			var lang=	"fr"; //par défaut
			var langue_bascule = $("#prt_lang a").text(); 
			if(langue_bascule ==	"English"){lang="fr";}
			else if(langue_bascule ==	"Français" || langue_bascule=="Fran&ccedil;ais"  ){lang="en";}
			return lang;
		}
		
		 //détection  arrondissement
		if (typeof(etat) == 'object' && typeof(etat.pg_name_no_lang) != 'undefined'){
			var $map_container_img_pg = $('#map-container img#'+etat.pg_name_no_lang);
			if ($map_container_img_pg.length != 0){
				$map_container_img_pg.addClass('selected').css('display', 'inline');
			}
		 }
		/*if (typeof(etat) == 'object' && typeof(etat.pg_name) != 'undefined'){
			var grp_page_active = etat.pg_name; //ex: arrond_sla_fr
			$('#map-container img').each(function() {
				var img_active = $(this).attr('id')+'_'+lang;
				if(grp_page_active == img_active){
					$('#map-container img#'+$(this).attr('id')).addClass('selected').css('display', 'inline');	
				}
			 });
		 }*/
		 			//lire xml pour détail arrondissemet
					$.ajax({
						type:'GET',
						url:'/pls/portal/docs/page/lib_fr/media/xml/carte.xml',
						dataType:"xml",
						success: function(xml){	
							$(xml).find("arrondissement").each(function(){
								var name_arrond=$(this).attr("name")+'-list';
								var nom_arrond = $(this).find("nom").text();
								var population_arrond =  $(this).find("population").text();
								var superficie_arrond =  $(this).find("superficie").text();
								if(lang=="fr"){
									var $list = $('<ul class="'+ name_arrond +'"><li>Arrondisement : ' + nom_arrond + '</li>'+'<li>Superficie : ' + superficie_arrond + ' '+'km<sup>2</sup></li>'+'<li>Population : ' + population_arrond + '</li></ul>');
								}
								 else if(lang=="en"){
									 //Si lang = en on remplace la virgule par un point pour la superficie et l'espace par une virgule pour population
									var superficie = superficie_arrond.toString().replace(/\,/g, '.');
									var population = population_arrond.toString().replace(/\ /g, ',');
									var $list = $('<ul class="'+ name_arrond +'"><li>Borough: ' + nom_arrond + '</li>'+'<li>Area: ' + superficie + ' '+'km<sup>2</sup></li>'+'<li>Population: ' + population + '</li></ul>');
								}
								$('#ftr_arrond').append($list);
									
							});
						}
					});
			//affichage	
			$('#ftr_liens').css('display', 'inline');
			$("#map-container area").mouseover(function(){
				var regionMap = '.'+$(this).attr('id')+'-map';
				var regionList = '.'+$(this).attr('id')+'-list';
				$(regionMap).css('display', 'inline');

				if (! $('#ftr_arrond ul').hasClass('selected')) {
					$(regionList).css('display', 'inline');
					$('#ftr_liens').css('display', 'none');
				}
				
			}).mouseout(function(){
				var regionMap = '.'+$(this).attr('id')+'-map';
				var regionList = '.'+$(this).attr('id')+'-list';

				if (! $(regionMap).hasClass('selected')) {
					$(regionMap).css('display', 'none');
				}

				if (! $('#ftr_arrond ul').hasClass('selected')) {
					$(regionList).css('display', 'none');
					$('#ftr_liens').css('display', 'inline');
				}
			}).click(function(){
				$('#map-container img.region').removeClass('selected').css('display', 'none');
				$('#ftr_arrond ul').removeClass('selected').css('display', 'none');
				
				var regionMap = '.'+$(this).attr('id')+'-map';
				var regionList = '.'+$(this).attr('id')+'-list';
				$(regionMap).addClass('selected').css('display', 'inline');
				$(regionList).addClass('selected').css('display', 'inline');
			});
			//pour ie6 et ie7
			$("#map-container img.map").each(function() {
			$(this).attr("hideFocus", "true").css("outline", "none");
			});
		
});
