// Inclusion du fichier pour le bouton modifier du cms
document.writeln('<script type="text/javascript" language="JavaScript1.2" src="/pls/portal/docs/page/admin_fr/media/scripts/btt_modifier.js"></script>');
 

function mmLoadMenus() {
  if (window.mm_menu_1126113621_0) return;
  window.mm_menu_1126113621_0 = new Menu("root",327,17,"Verdana, Arial, Helvetica, sans-serif",10,"#000000","#000000","#e5eff4","#8eabb7","left","middle",3,0,1000,-5,7,true,true,true,3,true,false);
  mm_menu_1126113621_0.addMenuItem("Ahuntsic-Cartierville","location='http://www.ville.montreal.qc.ca/ar09fr'");
  mm_menu_1126113621_0.addMenuItem("Anjou","location='http://www.ville.montreal.qc.ca/ar12fr'");
  mm_menu_1126113621_0.addMenuItem("Beaconsfield-Baie d’Urfé","location='http://www.ville.montreal.qc.ca/ar04fr'");
  mm_menu_1126113621_0.addMenuItem("Côte-des-Neiges–Notre-Dame-de-Grâce","location='http://www.ville.montreal.qc.ca/ar17fr'");
  mm_menu_1126113621_0.addMenuItem("Côte-Saint-Luc–Hampstead–Montréal-Ouest","location='http://www.ville.montreal.qc.ca/ar18fr'");
  mm_menu_1126113621_0.addMenuItem("Dollard-Des Ormeaux–Roxboro","location='http://www.ville.montreal.qc.ca/ar06fr'");
  mm_menu_1126113621_0.addMenuItem("Dorval–L’Île-Dorval","location='http://www.ville.montreal.qc.ca/ar07fr'");
  mm_menu_1126113621_0.addMenuItem("Kirkland","location='http://www.ville.montreal.qc.ca/ar03fr'");
  mm_menu_1126113621_0.addMenuItem("Lachine","location='http://www.ville.montreal.qc.ca/ar19fr'");
  mm_menu_1126113621_0.addMenuItem("LaSalle","location='http://www.ville.montreal.qc.ca/ar20fr'");
  mm_menu_1126113621_0.addMenuItem("L’Île-Bizard–Sainte-Geneviève–Sainte-Anne-de-Bellevue","location='http://www.ville.montreal.qc.ca/ar01fr'");
  mm_menu_1126113621_0.addMenuItem("Mercier–Hochelaga-Maisonneuve","location='http://www.ville.montreal.qc.ca/ar27fr'");
  mm_menu_1126113621_0.addMenuItem("Montréal-Nord","location='http://www.ville.montreal.qc.ca/ar10fr'");
  mm_menu_1126113621_0.addMenuItem("Mont-Royal","location='http://www.ville.montreal.qc.ca/ar15fr'");
  mm_menu_1126113621_0.addMenuItem("Outremont","location='http://www.ville.montreal.qc.ca/ar16fr'");
  mm_menu_1126113621_0.addMenuItem("Pierrefonds-Senneville","location='http://www.ville.montreal.qc.ca/ar02fr'");
  mm_menu_1126113621_0.addMenuItem("Plateau-Mont-Royal","location='http://www.ville.montreal.qc.ca/ar25fr'");
  mm_menu_1126113621_0.addMenuItem("Pointe-Claire","location='http://www.ville.montreal.qc.ca/ar05fr'");
  mm_menu_1126113621_0.addMenuItem("Rivière-des-Prairies–Pointe-aux-Trembles–Montréal-Est","location='http://www.ville.montreal.qc.ca/ar11fr'");
  mm_menu_1126113621_0.addMenuItem("Rosemont–La Petite-Patrie","location='http://www.ville.montreal.qc.ca/ar26fr'");
  mm_menu_1126113621_0.addMenuItem("Saint-Laurent","location='http://www.ville.montreal.qc.ca/ar08fr'");
  mm_menu_1126113621_0.addMenuItem("Saint-Léonard","location='http://www.ville.montreal.qc.ca/ar13fr'");
  mm_menu_1126113621_0.addMenuItem("Sud-Ouest","location='http://www.ville.montreal.qc.ca/ar22fr'");
  mm_menu_1126113621_0.addMenuItem("Verdun","location='http://www.ville.montreal.qc.ca/ar21fr'");
  mm_menu_1126113621_0.addMenuItem("Ville-Marie","location='http://www.ville.montreal.qc.ca/ar24fr'");
  mm_menu_1126113621_0.addMenuItem("Villeray–Saint-Michel–Parc-Extension","location='http://www.ville.montreal.qc.ca/ar14fr'");
  mm_menu_1126113621_0.addMenuItem("Westmount","location='http://www.ville.montreal.qc.ca/ar23fr'");
   mm_menu_1126113621_0.hideOnMouseOut=true;
   mm_menu_1126113621_0.menuBorder=1;
   mm_menu_1126113621_0.menuLiteBgColor='#e5eff4';
   mm_menu_1126113621_0.menuBorderBgColor='#00415d';
   mm_menu_1126113621_0.bgColor='#e5eff4';

  mm_menu_1126113621_0.writeMenus();
} // mmLoadMenus()


function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
   var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
   if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}


/*
function load1(form) {
     var url = form.Llist_1.options[form.Llist_1.selectedIndex].value;
     if (url != '')      {

        if (url.substr(0,4) == "http")
        {
	    form.reset();
	    location.href = url;
        }
        else
        {
            form.reset();
	    location.href = url;
        }

        location.href = url;

     }
    return false;
}
*/
// 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
        }
     }
}



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 isValidPostalcode(theForm, url) {

		codePostal = removeSpaces(theForm.codePostal.value);
		var langue = theForm.lang.value;
		var urlPath = url + 'get?lang=' + langue + '&codePostal=' + codePostal;

		if (codePostal.length == 6 && codePostal.search(/^[a-zA-Z]\d[a-zA-Z]\d[a-zA-Z]\d$/) != -1)
		{
		theForm.codePostal.value = codePostal;
		newWin(urlPath);

		}else if (codePostal.length == 7 && codePostal.search(/^[a-zA-Z]\d[a-zA-Z]-\d[a-zA-Z]\d$/) != -1)
		{
		theForm.codePostal.value = codePostal;
		
		newWin(urlPath);
		

		}else
		{
		 theForm.codePostal.focus();
  		 alert("Votre 'CODE POSTAL' est invalide. / Your 'POSTAL CODE' is invalid. ");
		}


}




function removeSpaces(string) {
	var newString = '';
	for (var i = 0; i < string.length; i++) {
		if (string.charAt(i) != ' ') newString += string.charAt(i);
	}
	return newString;
}



   var browser = navigator.appName;
   var version = navigator.appVersion.charAt(0);
   var timerID = 0;
   function call_window(fichier)
        {
       if(((browser == "Netscape") && (version >= 2)))
         {
           popup=window.open(fichier,'archives','width=600,height=450,scrollbars=0,left=200,top=100')
           popup.location.href=fichier;
           popup.focus()
         }
       else
         {
           clearTimeout(timerID)
           popup=window.open(fichier,'archives','width=600,height=450,scrollbars=0,left=200,top=100')
		            }
     }

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

/* 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"; 
	}*/
}

function HideandSeekDivs(nom){
	//Utiliser cette fonction quand les divs ne servent qu'à montrer et masquer des éléments
	lesdivs = document.getElementsByTagName("div");
	for(var i=0;i<lesdivs.length;i++)
	{
		lesdivs[i].style.display="none";
		if(lesdivs[i].id.toUpperCase() == nom.toUpperCase())
		{
			lesdivs[i].style.display="block";
		}
	}
	
}

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="/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="/pls/portal/docs/page/librairie_fr/images/pop_print2_03.gif" class="titre_print"><img src="/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="/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"><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();
}

/* Foncition 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;
	} 
}

// 
function RObj(ea) {
var LS="";var QS=new Object()
function Err(arg) {if (ea) alert("Request Object Error:\n====================\n"+arg)}
function URID(t) {var d="";if (t) {for (var i=0; i<t.length; ++i) {var c=t.charAt(i);d+=(c=="+" ? " ":c);};};return unescape(d);}
function OL(o) {var l=0;for (var i in o) {if (typeof(o[i])!="function") l++;};return l;}
function AK(key) {var auk=true;for (var u in QS) {if (typeof(QS[u])!="function" && u.toString().toLowerCase()==key.toLowerCase()) {auk=false;return u;}};if (auk) {QS[key]=new Object();QS[key].toString=function() {return TS(QS[key])};QS[key].Count=function() {return OL(QS[key])};QS[key].Count.toString=function() {return OL(QS[key]).toString()};QS[key].Item=function(e) {if (typeof(e)=="undefined") return QS[key];else {if (typeof(e)=="number") {var a=QS[key][Math.ceil(e)];if (typeof(a)=="undefined") Err("ERROR: Index out of range in\nRequest.QueryString(\""+key+"\").Item("+e+")");return a;}else Err("ERROR: Expecting numeric input in\nRequest.QueryString(\""+key+"\").Item(\""+e+"\")");}};QS[key].Item.toString=function(e) {if (typeof(e)=="undefined") return QS[key].toString();else {var a=QS[key][e];if (typeof(a)=="undefined") Err("ERROR: Index out of range in\nRequest.QueryString(\""+key+"\").Item("+e+")");return a.toString();};};QS[key].Key=function(e) {var t=typeof(e);if (t=="string") {var a=QS[key][e];return (typeof(a)!="undefined" && a && a.toString() ? e:"");}else Err("ERROR: Object doesn't support this property or method\nRequest.QueryString.Key("+(e?e:"")+")");};QS[key].Key.toString=function() {return "undefined"};};return key}
function AVTK(key, val) {if (key!="") {var key=AK(key);var l=OL(QS[key]);QS[key][l+1]=val;}}
function TS(o) {var s="";for (var i in o) {var ty=typeof(o[i]);if (ty=="object") s+=TS(o[i]);else if (ty!="function") s+=o[i]+", ";};var l=s.length;if (l>1) return(s.substring(0,l-2));return (s=="" ? "undefined":s);}
function KM(k, o) {var k=k.toLowerCase();for (var u in o) {if (typeof(o[u])!="function" && u.toString().toLowerCase()==k) return u;};}
if (window.location && window.location.search) {LS=window.location.search;var l=LS.length;if (l>0) {LS=LS.substring(1,l);var preAmpAt=0;var ampAt=-1;var eqAt=-1;var k=0;var skip=false;for (var i=0; i<l; ++i) {var c=LS.charAt(i);if (LS.charAt(preAmpAt)=="=" || (preAmpAt==0 && i==0 && c=="=")) skip=true;if (c=="=" && eqAt==-1 && !skip) eqAt=i;if (c=="&" && ampAt==-1) {if (eqAt!=-1) ampAt=i;if (skip) preAmpAt=i+1;skip=false;};if (ampAt>eqAt) {AVTK(URID(LS.substring(preAmpAt,eqAt)),URID(LS.substring(eqAt+1,ampAt)));preAmpAt=ampAt+1;eqAt=ampAt=-1;++k;};};if (LS.charAt(preAmpAt)!="=" && (preAmpAt!=0 || i!=0 || c!="=")) {if (preAmpAt!=l) {if (eqAt!=-1) AVTK(URID(LS.substring(preAmpAt,eqAt)),URID(LS.substring(eqAt+1,l)));else if (preAmpAt!=l-1) AVTK(URID(LS.substring(preAmpAt,l)),"");};if (l==1) AVTK(LS.substring(0,1),"");};};};var TC=OL(QS);if (!TC) TC=0
QS.toString=function() {return LS.toString()};QS.Count=function() {return (TC ? TC:0)};QS.Count.toString=function() {return (TC ? TC.toString():"0")};QS.Item=function(e) {if (typeof(e)=="undefined") return LS;else {if (typeof(e)=="number") {var e=Math.ceil(e);var c=0;for (var i in QS) {if (typeof(QS[i])!="function" && ++c==e) return QS[i];};Err("ERROR: Index out of range in\nRequest.QueryString().Item("+e+")");}else return QS[KM(e, QS)];};return "undefined";};QS.Item.toString=function() {return LS.toString()};QS.Key=function(e) {var t=typeof(e);if (t=="number") {var e=Math.ceil(e);var c=0;for (var i in QS) {if (typeof(QS[i])!="function" && ++c==e) return i;}}else if (t=="string") {var e=KM(e, QS);var a=QS[e];return (typeof(a)!="undefined" && a && a.toString() ? e:"");}else Err("ERROR: Wrong number of arguments or invalid property assignment\nRequest.QueryString().Key("+(e?e:"")+")");Err("ERROR: Index out of range in\nRequest.QueryString().Item("+e+")");};QS.Key.toString=function() {Err("ERROR: Wrong number of arguments or invalid property assignment\nRequest.QueryString().Key");}
this.QueryString=function(k) {if (typeof(k)=="undefined") return QS;else {var k=KM(k, QS);if (typeof(QS[k])=="undefined") {t=new Object();t.Count=function() {return 0};t.Count.toString=function() {return "0"};t.toString=function() {return "undefined"};t.Item=function(e) {return "undefined"};t.Item.toString=function() {return "undefined"};t.Key=function(e) {Err("ERROR: Object doesn't support this property or method\nRequest.QueryString.Key("+(e?e:"")+")");};t.Key.toString=function() {return "undefined"};return t;}if (typeof(k)=="number") return QS.Item(k);else return QS[k];}}
this.QueryString.toString=function() {return LS.toString();};this.QueryString.Count=function() {return (TC ? TC:0)};this.QueryString.Count.toString=function() {return (TC ? TC.toString():"0")};this.QueryString.Item=function(e) {if (typeof(e)=="undefined") return LS.toString();else {if (typeof(e)=="number") {var e=Math.ceil(e);var c=0;for (var i in QS) {if (typeof(QS[i])!="function" && ++c==e) return QS[i];};Err("ERROR: Index out of range in\nRequest.QueryString.Item("+e+")");}else return QS[KM(e, QS)];}if (typeof(e)==("number")) Err("ERROR: Index out of range in\nRequest.QueryString.Item("+e+")");return "undefined";}
this.QueryString.Item.toString=function() {return LS.toString()};this.QueryString.Key=function(e) {var t=typeof(e);if (t=="number") {var e=Math.ceil(e);var c=0;for (var i in QS) {if (typeof(QS[i])=="object" && (++c==e)) {return i;}}}else if (t=="string") {var e=KM(e, QS);var a=QS[e];return (typeof(a)!="undefined" && a && a.toString() ? e:"");}else Err("ERROR: Wrong number of arguments or invalid property assignment\nRequest.QueryString.Key("+(e?e:"")+")");Err("ERROR: Index out of range in\nRequest.QueryString.Item("+e+")");};this.QueryString.Key.toString=function() {Err("ERROR: Wrong number of arguments or invalid property assignment\nRequest.QueryString.Key");};this.Version=0.67;this.Author="<A HREF=\"http://andrewu.co.uk/request.asp?ref=CSJSRequestObjectSrc\">Andrew Urquhart</A>";}
var Request=new RObj(true);

/*
But : obtenir les objets correspondant à un "id_name" (ex. : menu_on ou menu_off) et à un type d'objet (div, span, etc.).
Entrée : le nom du id et le type d'objets sont présents dans le document.
Sortie : un tableau d'objets est retournés. */
function getObjs(id_name, type_obj)
{
	//Tableau constitué selon le type d'objet.
	var objs = document.getElementsByTagName(type_obj); 
	
	var results= new Array();
	
	results.push(""); // Insérer un élément vide à la position 0 du tableau.
	
	// Insérer les objets correspondant au "id_name" dans un tableau. 
	// Par exemple, ce tableau contiendra tous les id menu_off1, menu_off2, menu_off3, etc. reliés au id_name menu_off.
	for(var i=0;i<objs.length;i++)
	{ 
	    str1 = objs[i].id;
		id_name1 = str1.substring(0,str1.length-1); // id_name sans le numéro à la fin
		id_name2 = str1.substring(0,str1.length-2); // id_name sans les deux derniers numéros à la fin

		if( (id_name == id_name1) || (id_name == id_name2) ){
			results.push(objs[i]);
		}
	}
	
	return results;
}

/*
But : cacher tous les spans correspondant au nom du id fourni (id_name), excepté celui correspond au numéro de id (id_no).
Entrée : id_name et id_no sont définis.
Sortie : les spans sont cachés et le span au numéro "id_no" est affiché. */
function hideAllSpansExceptOne(id_name, id_no){

   //Tableau des spans "id_name" contenus dans le document.
   var spans = getObjs(id_name, "span");
      
   // Cacher tous les spans correspondant au id_name fourni excepté celui relatif à la position fournie.
   
   for(var i=1; i<spans.length; i++)
   {	
		if( (i == id_no) && (spans[i].style.display == "none") ){
		    spans[i].style.display = ""; // afficher l'objet span avec un type d'affichage (style="display: compact").
		}
		else if( (i != id_no) && (spans[i].style.display == "") ){
			spans[i].style.display="none"; 
		}
   }
}


/*
But : cacher tous les divs correspondant au nom du id fourni (id_name), excepté celui correspond au numéro de id (id_no).
Entrée : id_name et id_no sont définis.
Sortie : les divs sont cachés et le div correspondant au numéro "id_no" est affiché. */
function hideAllDivsExceptOne(id_name, id_no){

   //Tableau des divs "id_name" contenus dans le document.
   var divs = getObjs(id_name, "div");
      
   // Cacher tous les divs correspondant au nom du id fourni (id_name), excepté celui relatif à la position fournie (id_no).
   for(var i=1; i<divs.length; i++)
   {	
		if( (i == id_no) && (divs[i].style.display == "none") || 
				(i == id_no) && (divs[i].style.display == "")	){
			divs[i].style.display = "block"; 
		}
		else if(divs[i].style.display == "block"){
			divs[i].style.display="none"; 
		}
   }
}



/*
But : cacher tous les divs correspondant au nom du id fourni (id_name), excepté celui correspond au numéro de id (id_no).
      Les divs ont une position relative c'est pourquoi on utilise l'attribut "visibility" de "style" et non "display".
Entrée : id_name et id_no sont définis.
Sortie : les divs sont cachés et le div correspondant au numéro "id_no" est affiché. */
function hideAllPopUpExceptOne(id_name, id_no){

   //Tableau des divs "id_name" contenus dans le document.
   var divs = getObjs(id_name, "div");
      
   // Cacher tous les divs correspondant au nom du id fourni (id_name), excepté celui relatif à la position fournie (id_no).
   for(var i=1; i<divs.length; i++)
   {	
		if( (i == id_no) && (divs[i].style.visibility == "hidden") ){
		    divs[i].style.visibility = "visible"; 			
		}
		else if( (i != id_no) && (divs[i].style.visibility == "visible") ){
			divs[i].style.visibility="hidden"; 			
		}
   }
}

/*
But : afficher tous les divs correspondant au nom du id fourni (id_name), excepté celui correspond au numéro de id (id_no).
Entrée : "id_name" et "id_pos" sont définis dans le document.
Sortie : les divs de type id_name sont affichés, excepté celui de numéro "id_no".
*/
function showAllDivsExceptOne(id_name, id_no){

   //Tableau des divs "id_name" contenus dans le document.
   var divs = getObjs(id_name, "div");
   
   // Afficher tous les divs correspondant au nom d'id fourni (id_name), excepté celui relatif au numéro d'id (id_no).
   for(var i=1;i<divs.length;i++)
   {	
		if( (i == id_no) && (divs[i].style.display == "block") ){
   	  divs[i].style.display = "none"; 
		}
		else if( (i != id_no) && (divs[i].style.display == "none") ){
			divs[i].style.display = "block"; 
		}
   }
}


/*
But : afficher tous les spans correspondant au nom du id fourni (id_name), excepté celui correspond au numéro de id (id_no).
Entrée : "id_name" et "id_pos" sont définis dans le document.
Sortie : les spans de type id_name sont affichés, excepté celui de numéro "id_no".
*/
function showAllSpansExceptOne(id_name, id_no){

   //Tableau des spans "id_name" contenus dans le document.
   var spans = getObjs(id_name, "span");
   
   // Afficher tous les spans correspondant au nom d'id fourni (id_name), excepté celui relatif au numéro d'id (id_no).
   for(var i=1;i<spans.length;i++)
   {	
		if( (i == id_no) && (spans[i].style.display == "") ){
   	        spans[i].style.display = "none"; 
		}
		else if( (i != id_no) && (spans[i].style.display == "none") ){
			spans[i].style.display = ""; 
		}
   }
}


/*
But : cacher tous les divs correspondant au id ("menu_on" ou "menu_off") fourni.
Entrée : le span à cacher doit exister.
Sortie : les divs correspondant au id fourni sont cachés.  */
function hideAllDivs(id_name){
   //Tableau des divs correspondant au "id_name" contenus dans le document.
   var divs = getObjs(id_name, "div");
   
   // Cacher tous les objets correspondant au id fourni.
   for(var i = 1; i < divs.length; i++)
   {
	   if(divs[i].style.display == "block"){
           divs[i].style.display="none"; 	       	       
	   }
   }
}

/*
But : cacher tous les spans correspondant au id fourni.
Entrée : le span a cacher doit exister.
Sortie : les Spans correspondant au id fourni sont cachés.  */
function hideAllSpans(id_name){
   //Tableau des spans "id" contenus dans le document.
   var spans = getObjs(id_name, "span");
   
   // Cacher tous les objets correspondant au id fourni.
   for(var i = 1; i < spans.length; i++)
   {
	   if(spans[i].style.display == ""){
           spans[i].style.display="none"; 	       	       
	   }
   }
}

/*
But : afficher tous les spans correspondant au id fourni.
Entrée : le span a afficher doit exister.
Sortie : les Spans correspondant au id fourni sont affichés.  */
function showAllSpans(id_name){
   //Tableau des Spans "id" contenus dans le document.
   var spans = getObjs(id_name, "span");

   // Afficher tous les Spans correspondant au id fourni.
   for(var i = 1; i < spans.length; i++)
   {
	   if(spans[i].style.display == "none"){
	       spans[i].style.display = ""; // afficher l'objet span avec un type d'affichage compact (style="display: compact").       
	   }
   }
}


/*
But : afficher un span appellé "menu_on" et un nommé "sub_menu" correspondant à un numéro de id.
Entrée : les spans "menu_on", "menu_off" et "sub_menu" sont définis dans le document.
Sortie : les éléments correspondant au span "menu_on" ou "menu_off" sont affichés. */
function switchMenu(id_no){
	// Afficher tous les éléments du "menu_off", excepté celui de numéro "id_no").
	showAllSpansExceptOne("menu_off", id_no);
	
	// Cacher tous les éléments du "menu_on" et de "sub_menu", excepté celui spécifié
	// au numéro "id_no".
	hideAllSpansExceptOne("menu_on", id_no);
	hideAllDivsExceptOne("sub_menu", id_no);
}


/*
But : afficher les éléments associés au span "menu_on" ou au span "menu_off".
Entrée : les spans "menu_on", "menu_off" et "sub_menu" sont définis dans le document.
Sortie : les éléments correspondant au span "menu_on" ou "menu_off" sont affichés. */
function switchMenuOnOff(id_name, id_no){
	if(id_name == "menu_on"){
		// Afficher tous les éléments du "menu_off", excepté celui de numéro "id_no").
		showAllSpansExceptOne("menu_off", id_no);
	
		// Cacher tous les éléments du "menu_on" et de "sub_menu", excepté celui spécifié
		// au numéro "id_no".
		hideAllSpansExceptOne("menu_on", id_no);
		hideAllDivsExceptOne("sub_menu", id_no);
	}	
	else if (id_name == "menu_off"){
	    // Afficher tous les éléments du "menu_off", cacher les éléments de
		// "sub_menu" et du "menu_on".
		showAllSpans("menu_off");
		hideAllSpans("menu_on");
		hideAllDivs("sub_menu");
	}
}


/* 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"; 
}


/* Nom : openDiv
   But : afficher un div selon son id. S'il est caché, il est affiché et s'il est affiché, il est caché.
   Entrée : le id doit exister dans le document.
   Sortie  : le div est affiché ou caché selon le cas.                                       */  
function openDiv(id){
	
	var obj = document.getElementById(id);
	
	if(obj.style.display == "block") {
		obj.style.display = "none";
	} 
	else {
		obj.style.display = "block";
	}
	
}


/*
But : cacher tous les divs correspondant au nom du id fourni (id_name), excepté celui correspond au numéro de id (id_no).
      Si le Div est déjà affiché, il est caché. S'il est caché, il est affiché.
Entrée : id_name et id_no sont définis.
Sortie : les spans sont cachés et le span au numéro "id_no" est affiché. */
function showOneDiv(id_name, id_no){

   //Tableau des divs "id_name" contenus dans le document.
   var divs = getObjs(id_name, "div");
      
   // Cacher tous les divs correspondant au nom du id fourni (id_name), excepté celui relatif à la position fournie (id_no).
   for(var i=1; i<divs.length; i++)
   {	
		if( (i == id_no) && (divs[i].style.display == "none") ){
		    divs[i].style.display = "block"; 
		}
		else if( (i == id_no) && (divs[i].style.display == "block") ){
		    divs[i].style.display = "none"; 
		}			
		else if( (i != id_no) && (divs[i].style.display == "block") ){
			divs[i].style.display="none"; 
		}
   }
}

/* Nom : img_fleche
   But : vérifie le id de l'image fleche.
          Si img_fleche_f = change l'image pour la flèche ouverte
		                    le id de l'image change pour img_fleche_o
		  Si img_fleche_o = change l'image pour la flèche fermé
		                    le id de l'image change pour img_fleche_f
   Entrés : le id de l'image
   Sortie : l'image et le id est changé                               */
function bt_fleche(id){
	
	if (id == "bt_fleche_f"){
		alert(id);
		document.getElementById("bt_fleche_f").src="/pls/portal/docs/page/librairie_fr/images/bt_fleche_liste_o.gif";
		var x = document.getElementById("bt_fleche_f")/*.id="bt_fleche_o"*/;
		x.id = "bt_fleche_o";
		alert(x.id);
		return x.id;
	}
	else{
		alert(id)
		document.getElementById("bt_fleche_o").src="/pls/portal/docs/page/librairie_fr/images/bt_fleche_liste_f.gif";
		document.getElementById("bt_fleche_o").id="bt_fleche_f";
		return id;
	}
}

/* Nom : switchImage()
   But : trouver une image selon son id et changer.
   Entrés : le id de l'image
   Sortie : l'image et le id est changé                               */
function switchImage(id, path){
	document.getElementById(id).src=path;
}


/* Dialogue CONFIRM */
function confirmer(url,msg){
	var alerte;
	switch (msg) {
		case 'fr' :
			alerte = "Cette page n'est disponible qu'en Anglais";
			break;
		case 'en' :
			alerte = "This page is only available in French";
			break;
		default :
			break;
	}
	var redir = confirm(alerte);
	if (redir==true) {
		window.location=url;
	}
}

// Fonctions pour les flash


function thisMovie(movieName) {
  // IE and Netscape refer to the movie object differently.
  // This function returns the appropriate syntax depending on the browser.
  if (navigator.appName.indexOf ("Microsoft") !=-1) {
    return window[movieName]
  }	else {
    return document[movieName]
  }
}

// Checks if movie is completely loaded.
// Returns true if yes, false if no.
function movieIsLoaded (theMovie) {
  if (typeof(theMovie) != "undefined") {
    return theMovie.PercentLoaded() == 100;
  } else {
    return false;
  }
}

function go(theFrame, movieName) {
  if (movieIsLoaded(thisMovie(movieName))) {
    thisMovie(movieName).GotoFrame(theFrame);
	thisMovie(movieName).Play();
  }
}




// Navigation entre les pages de résultats PES Formulaire et Publications

function gotoPage(page){
	document.getElementById("p_page").value=page-1;
	document.getElementById("set_search").submit();
}


// Pour le concours de la fête des enfants
// Vérifie si tous les champs requis sont remplis dans le formulaire.
function validateFormEN() {

    var withoutInfo = "Please enter the following information(s):";
	var nbBlankInfo = 0;

    with (document.form) {

		if (Prenom.value == "") {
			withoutInfo += "\n- Your first name";
			nbBlankInfo++;
		}
		if (Nom.value == "") {
			withoutInfo += "\n- Your last name";
			nbBlankInfo++;
		}
		if (Adresse.value == "") {
			withoutInfo += "\n- Your address";
			nbBlankInfo++;
		}
		if (Ville.value == "") {
			withoutInfo += "\n- Your city";
			nbBlankInfo++;
		}
		if (Province.value == "") {
			withoutInfo += "\n- Your province";
			nbBlankInfo++;
		}
		if (Code_postal.value == "") {
			withoutInfo += "\n- Your postal code";
			nbBlankInfo++;
		}
		if (Telephone.value == "") {
			withoutInfo += "\n- Your phone number";
			nbBlankInfo++;
		}
		if (Age.value == "") {
			withoutInfo += "\n- Your age";
			nbBlankInfo++;
		}
		if ( (Prenom_tuteur.value == "") && (Nom_tuteur.value == "") ) {
			Prenom_tuteur.value = "N/D";
			Nom_tuteur.value = "N/D";			
		}
		if ( (Nom_tuteur.value != "")&&(Prenom_tuteur.value == "") ) {
			withoutInfo += "\n- Tutor's or parent's first name";
			nbBlankInfo++;
		}
        if ( (Nom_tuteur.value == "")&&(Prenom_tuteur.value != "") ) {
			withoutInfo += "\n- Tutor's or parent's last name";
			nbBlankInfo++;
		}
  	    if (Indice.value == "") {
			withoutInfo += "\n- The clue";
			nbBlankInfo++;
		}
		if ((Jour.value == "")||(Mois.value == "")||(Annee.value == "")) {
			withoutInfo += "\n- The date related to the clue";
			nbBlankInfo++;
		}

        if (nbBlankInfo > 0){ // Display Errors.
			alert(withoutInfo);
			return false;
		}
	}
}

// Vérifie si tous les champs requis sont remplis dans le formulaire.
function validateFormFR() {

    var withoutInfo = "S.v.p, veuillez saisir l'information suivante :";
	var nbBlankInfo = 0;

    with (document.form) {

		if (Prenom.value == "") {
			withoutInfo += "\n- votre prénom";
			nbBlankInfo++;
		}
		if (Nom.value == "") {
			withoutInfo += "\n- votre nom";
			nbBlankInfo++;
		}
		if (Adresse.value == "") {
			withoutInfo += "\n- votre adresse";
			nbBlankInfo++;
		}
		if (Ville.value == "") {
			withoutInfo += "\n- votre ville";
			nbBlankInfo++;
		}
		if (Province.value == "") {
			withoutInfo += "\n- votre province";
			nbBlankInfo++;
		}
		if (Code_postal.value == "") {
			withoutInfo += "\n- votre code postal";
			nbBlankInfo++;
		}
		if (Telephone.value == "") {
			withoutInfo += "\n- votre telephone";
			nbBlankInfo++;
		}
		if (Age.value == "") {
			withoutInfo += "\n- votre âge";
			nbBlankInfo++;
		}
	    if ( (Prenom_tuteur.value == "") && (Nom_tuteur.value == "") ) {
			Prenom_tuteur.value = "N/D";
			Nom_tuteur.value = "N/D";			
		}
		if ( (Nom_tuteur.value != "") && (Prenom_tuteur.value == "") ) {
			withoutInfo += "\n- Prénom du tuteur ou du parent";
			nbBlankInfo++;
		}
        if ( (Nom_tuteur.value == "") && (Prenom_tuteur.value != "") ) {
			withoutInfo += "\n- Nom du tuteur ou du parent";
			nbBlankInfo++;
		}		
		if (Indice.value == "") {
			withoutInfo += "\n- l'indice";
			nbBlankInfo++;
		}
		if ((Jour.value == "")||(Mois.value == "")||(Annee.value == "")) {
			withoutInfo += "\n- la date reliée à l'indice";
			nbBlankInfo++;
		}

        if (nbBlankInfo > 0){ // Display Errors.
			alert(withoutInfo);
			return false;
		}
	}

}

// Pour le formulaire de contact en anglais.
function validateContactFormEN() {

    var withoutInfo = "Please enter the following information(s):";
	var nbBlankInfo = 0;

    with (document.form_courriel) {

		if (courriel.value == "") {
			withoutInfo += "\n- Your email";
			nbBlankInfo++;
		}
		if ( (courriel.value != "") && (!validEmail(courriel.value)) ) {
			withoutInfo += "\n- A valid email address";
			nbBlankInfo++;
		}
		if (message.value == "Type your message here.") {
			withoutInfo += "\n- Your message";
			nbBlankInfo++;
		}
        if (nbBlankInfo > 0){ // Display Errors.
			alert(withoutInfo);
			return false;
		}
	}
}


// FIN SCRIPT POUR LA FÊTE DES ENFANTS



/* Vérifie si la chaîne de caractère fournie en paramètre est un
   courriel valid. Retourne vrai si valide et faux sinon. */
function validEmail(email) {

  var valid = true;
  var indexAt = email.indexOf('@');

  if (email == "") {
  	valid = false;
  }

  else
  {
	if ( (email.indexOf('@') == -1 || email.indexOf('.') == -1) || 
	     (email.indexOf('@') == 0  || email.indexOf('.') == 0) ||  
		 ((email.indexOf('@') == email.length-1) || (email.indexOf('.') == email.length-1)) || 
		 (email.indexOf('@', indexAt+1) != -1) ||
		 (email.indexOf(' ') != -1) ||
		 (email.substring(indexAt-1, indexAt) == '.' || email.substring(indexAt+1, indexAt+2) == '.') ) {
    	valid = false;
  	}

	email = email.toLowerCase();

	// Check if email has only characters, numbers, '-', '_', '@' and '.'
  	for (i = 0; i < email.length; i++) {
        if (!((email.charAt(i) >= 'a'  && email.charAt(i) <= 'z') ||
		      (email.charAt(i) >= 'A'  && email.charAt(i) <= 'Z') ||
              (email.charAt(i) >= '0'  && email.charAt(i) <= '9') ||
              (email.charAt(i) == '-'  || email.charAt(i) == '_') ||
              (email.charAt(i) == '@'  || email.charAt(i) == '.')) )
        {
            valid = false;
        }
  	}

  }

  return valid;

}



function valide(langue){
/* AUTEUR: Ian Troalen 
	 DATE DE CREATION: 03/06/2004 */	
	 
	var tblMessage = new Array(new Array(), new Array());
	tblMessage[0][0] = "Veuillez entrer votre courriel.";
	tblMessage[1][0] = "Please enter your e-mail address.";
	tblMessage[0][1] = "Veuillez entrer un courriel valide.";
	tblMessage[1][1] = "Please enter a valid e-mail adress.";
	tblMessage[0][2] = "Veuillez entrer votre message.";
	tblMessage[1][2] = "Please enter your message.";
		  
		if (document.form_courriel.courriel.value == "") { // vérifie qu'on a entré un courriel
			alert(tblMessage[langue][0]); //message 1
			document.form_courriel.courriel.focus();
			return false;
   			}
		else {
			if(document.form_courriel.courriel.value != ""){			  
			   var reg = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]{2,}[.][a-zA-Z]{2,3}$/
			   if (reg.exec(document.form_courriel.courriel.value)==null) { // vérifie si le champ courriel est valide 
				  alert(tblMessage[langue][1]); //message 0
				  document.form_courriel.courriel.focus();
				  return false;
				  }
			   }
			}
		
		if(document.form_courriel.message.value)
		{
			var msg = document.form_courriel.message.value;
			if (msg == "" || msg == "Écrivez votre message ici." || msg == "Enter your message here.") { // vérifie qu'on a entré un message
			alert(tblMessage[langue][2]); //message 1
			document.form_courriel.message.focus();
			return false;
   			}
		}
		  document.form_courriel.submit();
	
}

function valideAbo(langue){
	var tblMessage = new Array(new Array(), new Array());
	var d = document.form_courriel;
	tblMessage[0][0] = "Veuillez entrer votre courriel.";
	tblMessage[0][1] = "Veuillez entrer un courriel valide.";
	tblMessage[0][2] = "Veuillez entrer votre message.";
	tblMessage[0][3] = "Veuillez entrer votre nom.";
	tblMessage[0][4] = "Veuillez entrer votre prénom.";
	tblMessage[0][5] = "Vous ne pouvez pas vous abonner et vous déabonner en même temps.";
		  

		if (d.nouveautes.checked=="1"){
			d.nouveautes.value = "oui";
			}
		
			if (d.bulletin.checked=="1"){
			d.bulletin.value = "oui";
			}
			
			if (d.retirer.checked=="1"){
			d.retirer.value = "oui";
			}
		  
		if (d.nouveautes.checked=="1" && d.retirer.checked=="1") { // vérifie que l'usager n'a pas voulu s'abonner et se désabonner en même temps
			alert(tblMessage[langue][5]); //message 5
			d.nouveautes.focus();
			return false;
   			}  
		  
		if (d.nom.value == "") { // vérifie qu'on a choisi un élu
			alert(tblMessage[langue][3]); //message 5
			d.nom.focus();
			return false;
   			}
			
		
		
		if (d.prenom.value == "") { // vérifie qu'on a choisi un élu
			alert(tblMessage[langue][4]); //message 6
			d.prenom.focus();
			return false;
   			}
		
		
		if (d.courriel.value == "") { // vérifie qu'on a entré un courriel
			alert(tblMessage[langue][0]); //message 1
			d.courriel.focus();
			return false;
   			}
		else {
			if(d.courriel.value != ""){			  
			   var reg = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]{2,}[.][a-zA-Z]{2,3}$/
			   if (reg.exec(d.courriel.value)==null) { // vérifie si le champ courriel est valide 
				  alert(tblMessage[langue][1]); //message 0
				  d.courriel.focus();
				  return false;
				  }
			   }
			}
		
		  d.submit();
	
}

function valideQuestions(langue){
	
  var d = document.demande;
  
  var tblMessage = new Array(new Array(), new Array());
  tblMessage[0][0] = "Veuillez entrer votre courriel.";
  tblMessage[0][1] = "Veuillez entrer un courriel valide.";
  tblMessage[0][2] = "Veuillez entrer votre message.";
  tblMessage[0][3] = "Veuillez entrer votre nom.";
  tblMessage[0][4] = "Veuillez entrer votre prénom.";
		  
  if (d.nom.value == "") { // vérifie qu'on a entré un nom
    alert(tblMessage[langue][3]); //message 3
    d.nom.focus();
    return false;
  }
  
  if (d.prenom.value == "") { // vérifie qu'on a entré un prénom
    alert(tblMessage[langue][4]); //message 4
    d.prenom.focus();
    return false;
  }
  
  if (d.courriel.value == "") { // vérifie qu'on a entré un courriel
    alert(tblMessage[langue][0]); //message 0
    d.courriel.focus();
    return false;
  } else {
    if(d.courriel.value != ""){			  
      var reg = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]{2,}[.][a-zA-Z]{2,3}$/
      if (reg.exec(d.courriel.value)==null) { // vérifie si le champ courriel est valide 
        alert(tblMessage[langue][1]); //message 1
        d.courriel.focus();
        return false;
      }
    }
  }

  if (d.message.value == "") { // vérifie qu'on a entré un message
    alert(tblMessage[langue][2]); //message 1
    d.message.focus();
    return false;
  }

  d.submit();
}


/* FONCTIONS POUR L'INDEX DES ACTIVITES DANS MONTREAL PRATIQUE  */


function index_checkAll(nom){
    checkboxes = eval("document.frm_"+nom+"."+nom);
	 check = true;
	for(i=1;i<checkboxes.length;i++){
		if(checkboxes[i].checked==true){
			check = false;
		}
	}
	if (check == true) {
		for(i=0;i<checkboxes.length;i++)
			checkboxes[i].checked=true;
	} else {
		index_unCheckAll();
	}
}
function index_unCheckAll(){
	for(i=0;i<document.frm_ar.ar.length;i++){
		document.frm_ar.ar[i].checked=false;
	}
    for(i=0;i<document.frm_ac.ac.length;i++){
		document.frm_ac.ac[i].checked=false;
	}
}
function index_rechercher(url){
  var arrondissements = ",";
  var activites = ",";
  //var url = "/portal/page?_pageid=65,637436&_dad=portal&_schema=PORTAL";
  for(i=1;i<document.frm_ar.ar.length;i++){
	if(document.frm_ar.ar[i].checked==true){
         arrondissements += document.frm_ar.ar[i].value + ",";
      }
  }
  for(i=1;i<document.frm_ac.ac.length;i++){
	if(document.frm_ac.ac[i].checked==true){
         activites += document.frm_ac.ac[i].value + ",";
      }
  }
  if(arrondissements.length>1) url += "?arr=" + arrondissements;
  if(activites.length>1) {
  	if(arrondissements.length>1) {
  		url += "&ac=" + activites;
  	} else {
  		url += "?ac=" + activites;
  	}
  }
  document.location=url;
}

//-->



function Change_langue(){

	var lapage=this.location.href;
	(lapage.indexOf("/fr/")!=-1)?lapage=lapage.replace("/fr/","/en/"):lapage=lapage.replace("/en/","/fr/");
	this.location = lapage;
}


// Fonctions reliées au date.

function getYesterdayDate(langue){

  var month; 
	var date = new Date(); 
	date.setDate(date.getDate()-1);

    if (langue == 'fr'){
	  month = new Array('janvier', 'f&eacute;vrier', 'mars', 'avril', 'mai', 'juin', 'juillet', 'ao&ucirc;t', 
					    'septembre', 'octobre', 'novembre', 'd&eacute;cembre');
	  
	  dateFormat = date.getDate() + ' ' + month[date.getMonth()] + ' ' + date.getFullYear();
	}
	else if (langue == 'en') {
      month = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 
						      'September', 'October', 'November', 'December');
	
	  dateFormat = month[date.getMonth()] + ' ' + date.getDate() + ', ' + date.getFullYear();
	}
	
	return(dateFormat);

    
}



/* 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 : tdBackground
   But : Change la couleur de background du td sélectionné
   Entrée : le id doit exister dans le document.
   Sortie  : le td n'a plus de background.     
   */   
function tdBackground(id,couleur){
	var obj = document.getElementById(id);
	obj.style.background = couleur;
	//alert(couleur);

}


// FONCTION POUR LE RÉPERTOIRE DES ACTIVITÉS

var lettres = "";
var rep_url = document.location+"";
rep_url = rep_url.substring(0,rep_url.lastIndexOf(',')+1)+"&lettre=";

 function printCategorie(cat){

 	if(lettres != cat && cat!='É'){
 		lettres = cat;
 
	 		document.getElementById("lettres").innerHTML+=" <a href="+rep_url+cat+" class=\"eRed9\">"+cat+"</a> -";
	 	 		
 	}
 }


/*
* Ne pas modifier les deux fonctions qui suivent.
* Elles sont utilisees pour le workflow
* des notifications des nouvelles culturelles
*/
function confirm_cycle_nouvel(lock,pg, item_id){
	var redir = confirm("Êtes-vous certain de vouloir modifier cet élément?");
	if(redir==true && lock ==0) window.open("/pls/portal/portalcon.approbation_util.SELECT_CYCLE_NOUVELLES?p_caid="+pg+"&item_id="+item_id,"","width=730,height=520,scrollbars=yes,left=380,top=0")
}

function okNouvelles(docForm, lock, cycle_id){
	var redir = confirm("Êtes-vous certain de vouloir modifier cet élément?");
	if(redir==true && lock ==0) {
          var newDocName =docForm; 
		newDocName.P_ID_CYCLE.value = cycle_id;
		newDocName.submit();
	}
}
function newElement(docForm, lock, cycle_id){
	var redir = confirm("Êtes-vous certain de vouloir ajouter un élément?");
	if(redir==true && lock ==0) {
         alert(docForm);
          var newDocName =docForm; 
		newDocName.P_ID_CYCLE.value = cycle_id;
		newDocName.submit();
	}

}

function ShowDivImg(nom_div,pos,nom_img){
	var lesdivs = document.getElementsByTagName("DIV");
	var nosdivs = new Array();
	var imgs = document.getElementsByTagName("IMG");
	var nosimgs = new Array();
	var fleche_up = new Image();
	fleche_up.src = "http://ville.montreal.qc.ca/pls/portal/docs/page/librairie_fr/images/bt_fleche_liste_f.gif"; 
	var fleche_down = new Image();
	fleche_down.src = "http://ville.montreal.qc.ca/pls/portal/docs/page/librairie_fr/images/bt_fleche_liste_o.gif"

	for(var i=0;i<lesdivs.length;i++)
	{
		if(lesdivs[i].id==nom_div)
		{
			nosdivs.push(lesdivs[i]);		
		}
	}
	for(i=0;i<imgs.length;i++)
	{
		if(imgs[i].name==nom_img)
		{
			nosimgs.push(imgs[i]);	
		}
	}
	for(i=0;i<nosdivs.length;i++)
	{
			if(i!=pos)
			{
				nosdivs[i].style.display="none";
				nosimgs[i].src= fleche_up.src;
				
			}
			else
			{
				if(nosdivs[i].style.display=="block")
				{
					nosdivs[i].style.display="none";
					nosimgs[i].src= fleche_up.src;
				}
				else
				{
					nosdivs[i].style.display="block";
					nosimgs[i].src= fleche_down.src;
				}
			}
	}
}



function getWindowWidth() {
	if (self.innerWidth) {
		frameWidth = self.innerWidth;
	}
	else if (document.documentElement && document.documentElement.clientWidth) {
		frameWidth = document.documentElement.clientWidth;
	}
	else if (document.body) {
		frameWidth = document.body.clientWidth;
	}
	else { 
		frameWidth = null;
	}
	
	return frameWidth;
}

function getWindowHeight() {
	
	if (self.innerWidth) {
		frameHeight = self.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientWidth) {
		frameHeight = document.documentElement.clientHeight;
	}
	else if (document.body) {
		frameHeight = document.body.clientHeight;
	}
	else { 
		frameHeight = null;
	}
	
	return frameHeight;
}

/* Nom : divPopUp
   But : Affiche un pop-up sous forme de div centré dans la page.
   Entrée : blocDiv = id du div, decalageX = décalage par rapport à l'axe des X et 
            decalageY = décalage par rapport à l'axe des Y.
   Sortie  : Le pop-up est affiché.     
   */  
function divPopUp(blocDiv, decalageX, decalageY) {

	var obj = document.getElementById(blocDiv);
	var windWidth = getWindowWidth();
	var windHeight = getWindowHeight();
		
	obj.style.left = windWidth/2 + decalageX + 'px';	
	obj.style.top = windHeight/2 - decalageY + 'px';
	
	if (obj.style.visibility == "visible"){
		obj.style.visibility = "hidden";
	}
	else {
		obj.style.visibility = "visible"
	}
	 
}


/* SONDAGE EN PAGE D'ACCUEIL DU PORTAIL */

/* Nom : divPopUpStat
   But : Affiche un pop-up sous forme de div centré dans la page.
   Entrée : blocDiv = id du div, decalageX = décalage par rapport à l'axe des X, 
            decalageY = décalage par rapport à l'axe des Y et stat = la chance que le pop-up
			s'affiche. Par exemple, si stat = 5, il y a 1 chance sur 5 qu'il s'affiche à
			chaque fois que la page se télécharge.
   Sortie  : Le pop-up est affiché.     
   */  
function divPopUpStat(blocDiv, decalageX, decalageY, stat) {

	var obj = document.getElementById(blocDiv);
	var windWidth; 
	var windHeight; 
	
	/* Donne un nombre entre 1 et 20 afin d'obtenir une statistique d'un sur 20.
	   Le popUp doit être affiché pour 1 personne sur 20.
	*/
    var noUtil = randomNbr(stat);
	
    if(noUtil == 1){
 	    windWidth = getWindowWidth();
	    windHeight = getWindowHeight();
		
		obj.style.left = windWidth/2 + decalageX + 'px';	
		obj.style.top = windHeight/2 - decalageY + 'px';
		
		if (obj.style.visibility == "visible"){
			obj.style.visibility = "hidden";
		}
		else {
			obj.style.visibility = "visible";
		}
	}
	else {
		obj.style.visibility = "hidden";
	}
	 
}


/* 
But : permet de faire des validations avant de soumettre le sondage de la page d'accueil.
Auteur : Jean-Philippe Grondin
Date : 29 juin 2006
*/
function soumettreSondage() {
	
	if (document.frm_sondage.code_postal.value) {
	
		var caractere = document.frm_sondage.code_postal.value.substring(0,1); /* Obtenir le premier caractère du code postal. */
		var reg = /^[a-zA-Z0-9]/ /* Caractères d'un code postal autorisés. */
			   
		if (reg.exec(document.frm_sondage.code_postal.value)!=null) { // vérifie si le code postal est valide 
			
			if(caractere == 'H') {
			
				soumettre(); /* Cette fonction est definie dans admin_fr/media/scripts/sondage.js.
												On soummet le formulaire si le code Postal commence par la lettre 'H'.
										 */
			}
			
		}
		
	}
}
/***** FIN SONDAGE EN PAGE D'ACCUEIL DU PORTAIL ****/


function newWindow(width, height) {
	if (document.documentElement.clientWidth) {
		document.documentElement.clientWidth = width;
	}
	else { 
		frameWidth = null;
	}
	return frameWidth;
}

function changeImg(imgId, imgPath) {
	
	var obj = document.getElementById(imgId);	
	obj.src = imgPath;

}






/* But : obtenir un tableau de pointeur à des éléments (div, img, etc.) 
        correspondant à une classe passée en paramètre. 
	 Antécédent : la classe existe dans la page.
	 Conséquent : le tableau d'éléments est retournée. Le tableau commence à l'indice 0.
*/
function getElementsByClass(myClass) {  

	var classArr = new Array();
	var tmpArr = new Array();
	tmpArr = document.getElementsByTagName("*");

	j = 0; // Indice du tableau qui contient les éléments correspondant à la classe.
	
	for(i=0; i<tmpArr.length; i++) {  

			if (tmpArr[i].className==myClass) {  
				classArr[j] = tmpArr[i];
				j++;
			}

	 }
	 return classArr;
}


/* But : obtenir un tableau de pointeur à des éléments (div, img, etc.) 
        correspondant à deux classes passées en paramètre. 
	 Antécédent : la classe existe dans la page.
	 Conséquent : le tableau d'éléments est retournée. Le tableau commence à l'indice 0.
*/
function getElementsByTwoClasses(myClass1, myClass2) {  

	var classArr = new Array();
	var tmpArr = new Array();
	tmpArr = document.getElementsByTagName("*");

	j = 0; // Indice du tableau qui contient les éléments correspondant à la classe.
	
	for(i=0; i<tmpArr.length; i++) {  

			if ( (tmpArr[i].className==myClass1) ||
					 (tmpArr[i].className==myClass2) ) {  
				classArr[j] = tmpArr[i];
				j++;
			}

	 }
	 return classArr;
}







/* But : ouvrir un div d'une liste avec contenu ouvrant.
	 Antécédent : la position de l'élément dans la liste.
	 Conséquent : le div correspondant à la position "pos" est affiché et les autres cachés.
*/
function openContent(pos) {

	pos = pos-1;
	
	//Tableau des divs "id_name" contenus dans le document.
	var elementsList = getElementsByTwoClasses("contenuCache", "contenuAffiche");
  
  // Cacher tous les divs correspondant au nom du id fourni (id_name), excepté celui relatif à la position fournie (id_no).	
	for(var i=0; i<elementsList.length; i++) {
		
		if( (i == pos)){
		    if (elementsList[i].className == "contenuAffiche") {
					elementsList[i].className = "contenuCache";
				}
				else {
					elementsList[i].className = "contenuAffiche";
				}
		}
		else if( (i != pos)){
			elementsList[i].className = "contenuCache";
		}
		
   }

}


/* But : Changer la classe d'un élément, selon sa position dans la page. La fonction génére un tableau d'élément
         ayant la même classe et change la classe de l'élément à la position "pos" dans le tableau. 
	 Antécédent : la position de l'élément dans la page, le nom de la classe originale et le nom de la nouvelle classe.
	 Conséquent : la classe de l'élément à la position "pos" est modifiée.
*/
function changeClass(pos, classeOri, classeNouv) {

	pos = pos-1;
	
	//Tableau des divs "id_name" contenus dans le document.
	var elementsList = getElementsByTwoClasses(classeOri, classeNouv);
  
  // Cacher tous les divs correspondant au nom du id fourni (id_name), excepté celui relatif à la position fournie (id_no).	
	for(var i=0; i<elementsList.length; i++) {
		
		if( (i == pos)){
		    if (elementsList[i].className == classeNouv) {
					elementsList[i].className = classeOri;
				}
				else {
					elementsList[i].className = classeNouv;
				}
		}
		else if( (i != pos)){
			elementsList[i].className = classeOri;
		}
		
   }

}


/* But : ouvrir un div à l'aide d'une liste déroulante (menu de 3ième niveau).
	 Antécédent : la position de l'élément dans la liste correspond à la position du div dans la page.
	 Conséquent : le div correspondant à la position "pos" est affiché et les autres cachés.
*/
function showDivByPos(myClass, pos) {

	pos = pos-1;

  var divs = getElementsByClass(myClass);
  
  // Cacher tous les divs correspondant au nom du id fourni (id_name), excepté celui relatif à la position fournie (id_no).	
	for(var i=0; i<divs.length; i++) {
		
		if(i == pos){
			if (divs[i].style.display == "block") {
				divs[i].style.display = "none";
			}
			else if (divs[i].style.display == "none") {
				divs[i].style.display = "block";
			}
		}
		else if( (i != pos)){
			divs[i].style.display = "none";	
		}
		
   }

}



/* But : afficher un div à la fois qui correspond à la position donné en paramètre.
				 Cette fonction est relié au menu de 3ième niveau.
	 Antécédent : la classe existe dans la page et tous les divs ont la même classe.
	 Conséquent : le div correspondant à la position "pos" est affiché et les autres cachés.
*/
function showDivMenu(pos){
	
	pos = pos-1;
	
	//Tableau des divs "id_name" contenus dans le document.
  var divs = getElementsByClass("contenu");
	var links = getElementsByTwoClasses("lienDivCache", "lienDivAffiche");
  
  // Cacher tous les divs correspondant au nom du id fourni (id_name), excepté celui relatif à la position fournie (id_no).	
	for(var i=0; i<divs.length; i++) {
		
		if( (i == pos)){
		    if (divs[i].style.display == "block") {
					divs[i].style.display = "none"; 
					links[i].className = "lienDivCache";
				}
				else {
					divs[i].style.display = "block";
					links[i].className = "lienDivAffiche";
				}
		}
		else if( (i != pos)){
			divs[i].style.display="none";
			links[i].className = "lienDivCache";
		}
		
   }
}



/* But : ouvrir un div à l'aide d'une liste déroulante (menu de 3ième niveau).
	 Antécédent : la position de l'élément dans la liste correspond à la position du div dans la page.
	 Conséquent : le div correspondant à la position "pos" est affiché et les autres cachés.
*/
function showDivList(myClass, pos) {

	pos = pos-1;

  var divs = getElementsByClass(myClass);
  
  // Cacher tous les divs correspondant au nom du id fourni (id_name), excepté celui relatif à la position fournie (id_no).	
	for(var i=0; i<divs.length; i++) {
		
		if(i == pos){
			divs[i].style.display = "block";
		} 
		else if( (i != pos)){
			divs[i].style.display = "none";	
		}
		
   }

}

function insererFlash(DivID, ObjectID, Width, Height, Url, BgColor)
{
  var d = document.getElementById(DivID);
  d.innerHTML = '<object type="application/x-shockwave-flash" width=' + Width + ' height=' + Height +' data=' + Url + ' id=' + ObjectID + '><param name="movie" value=' + Url + '><param name="bgcolor" value=' + BgColor + '/></object>';
}

function ieupdate()
{
	theObjects = document.getElementsByTagName("object"); 
	for (var i = 0; i < theObjects.length; i++) { 
	theObjects[i].outerHTML = theObjects[i].outerHTML;
	}
}



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 ChangeMenuClass(nom_commun,nom_unique,lediv,ev){
	// Cette fonction permet de gérer les flèches associées à un menu ouvrant
	// Les deux premiers paramètres sert à obtenir les divs subissent l'action
	// Le paramètre this est le div contenant l'item du menu
	// ev est le paramètre permettant d'identifier
	// ATTENTION
	/*
	*** Cette fonction EXIGE des SOULIGNÉS dans les ID et le NOM DES CLASSES des DIVS où elle est appelée
	*** Le souligné sert à séparer le préfixe et le suffixe d'un nom.
	*
	// ATTENTION
	*** Les noms de classes utilisées doivent contenir un SOULIGNÉ et avoir un des trois suffixes (ce qui vient après le souligné)
	*** reg, hov et act
	*/
	var nom = nom_commun + nom_unique;
	var myRegExp = new RegExp(nom_commun);
	var mydivs = Get_Tags(myRegExp,"div");
	//Retrouver les div de type menu
	
	var nom_commun_div = lediv.id.substring(0,lediv.id.lastIndexOf("_"));
	var nom_div = new RegExp(nom_commun_div);
	var menus_divs = Get_Tags(nom_commun_div,"div");
	
	if(lediv.className.indexOf("_")!=-1)
	{
		var nom_commun_classe = lediv.className.substring(0,lediv.className.lastIndexOf("_"));	
	}
	var i=-1;
	for(var j=0;j<mydivs.length;j++)
	{
		if(mydivs[j].style.display=="block")
		{
			i=j;
			break;
		}
	}
	for(j=0;j<menus_divs.length;j++)//On met tous les div de menus à inactif
	{
		menus_divs[j].className=menus_divs[j].className.substring(0,lediv.className.lastIndexOf("_")) + "_reg";
	}
	if(i!=-1)//Il y a un div d'ouvert
	{
		if(mydivs[i].id==nom)//Le div ouvert est celui où est lancé	l'événement
		{
			lediv.className = nom_commun_classe + "_act";
		}
		else
		{
			lediv.className = nom_commun_classe + "_hov";
			menus_divs[i].className = menus_divs[i].className.substring(0,lediv.className.lastIndexOf("_")) + "_act";
			if(ev.type.toUpperCase()=="MOUSEOUT")
			{
				lediv.className = nom_commun_classe + "_reg";	
			}
		}
	}
	else
	{
		if((ev.type.toUpperCase()=="MOUSEOVER")||(ev.type.toUpperCase()=="CLICK"))
		{
			lediv.className = nom_commun_classe + "_hov";	
		}
		
	}
		
}

function toggleClassLi(nomCommun, nomUnique) { 
/* But : Changer la classe dans la liste de contenu ouvrant.
	 Antécédent : Un id est composé d'un nom commun (préfixe) et d'un nom unique (suffixe).
	 Conséquent : La classe du Li qui a le id cherché à sa classe modifiée.
	 Auteur : Jean-Philippe G et Yves Gosselin 
*/	

	if (nomUnique == null) {
		var nomUnique = '';
	}
	
	var nom = nomCommun + nomUnique; 
	var myRegExp = new RegExp(nomCommun); 
	var tabLi = Get_Tags(myRegExp,"LI"); 
	
	for(i=0;i<tabLi.length;i++)
	{
		if(tabLi[i].id != nom) 
		{ 
			tabLi[i].className = "contenuCache";
		}
		else 
		{ 
			if (tabLi[i].className == "contenuAffiche") 
			{ 
				tabLi[i].className = "contenuCache";
			}
			else 
			{
				tabLi[i].className = "contenuAffiche"; 
			}
		}
	
	}

}




function checkDigits(WhatToCheck, HowManyDigits){
/* 
	Auteur : Yves Gosselin
	Date : ?
	But : Cette fonction determine si le premier parametre contient au moins le nombre 
	      d'entiers passé dans le second parametre
*/
    var DigitCounter=0
    for (i=0; i<WhatToCheck.length; i++)
    {
        if (!(isNaN(WhatToCheck.charAt(i))))
        {
            DigitCounter = DigitCounter + 1;
        }
    }
    if (DigitCounter < HowManyDigits)
    {
        return false;
    }
    else
    {
        return true;
    }
}


function moveFocusPhone(posActuelle, nbCaract, evt){
/* 
	Auteurs : Jean-Philippe Grondin et Yves Gosselin
	Date : 09 juin 2006
	But : Permet d'avancer d'un champ à un autre pour les téléphones sans utiliser la tabulation.
	      Utilisé avec le formulaire d'envoi de courriel standard. "posActuelle" correspond
				au champs actuel sur lequel est appliquée la fonction. "nbCaract" est le nombre de
				caractères permis jusqu'à temps qu'on change de champs. "evt" est relié touche enfoncée dans
				le clavier par l'utilisateur.
*/
		
		if(navigator.platform.indexOf("Mac")==-1) {
			
				with (document.form_courriel){
					
					  if ( (checkDigits(phone_nb[posActuelle].value, nbCaract)) && // Nombre de caractères allouées avant d'aller au prochaine champs
									(evt.keyCode!=8) &&   // Touche 8 sur le clavier = Retour de charriot
									(evt.keyCode!=46) &&  // Touche 46 sur le clavier = Supprimer
									(evt.keyCode!=32) ) { // Touche 32 sur le clavier = Espace
							
							if (phone_nb[posActuelle+1].value == "") {
									phone_nb[posActuelle+1].select(); // Aller au prochain champs de téléphone ("phone_nb")
									phone_nb[posActuelle+1].focus();
							}
							
						}
				}
				
		}
}


function concatChampsCourriel(){
/* 
	Auteur : Jean Philippe Grondin
	Date : 09 juin 2006
	But : Concatène tous les champs du formulaire courriel selon le Canada, les États-Unis ou
	      un pays étranger.
*/

	var pos = 0;


	with (document.form_courriel) {
		
			if(telephone.value != "") { 
					telephone.value = ""; // Vider le champs telephone.
			}		

			if(choix_pays.value == "Canada") {
			
					pays.value = choix_pays.value;
					
					province_etat.value = province.value;
					
					code_postal.value = code_postal_canUs.value;
					
					telephone.value += phone_nb[pos].value; // Indicatif regionnal
					telephone.value += " "; // Espace
					telephone.value += phone_nb[pos+1].value; // 3 premiers chiffres du numéro de téléphone 
					telephone.value += "-"; // -
					telephone.value += phone_nb[pos+2].value; // 4 derniers chiffres du numéro de téléphone
					telephone.value += "   Poste : ";
					telephone.value += phone_nb[pos+3].value; // Numero de poste
			}
			
			else if( (choix_pays.value == "États-Unis") || 
							 (choix_pays.value == "United States")  ) {
			
					pays.value = choix_pays.value;
					
					province_etat.value = etat.value;
					
					code_postal.value = code_postal_canUs.value;
					
					telephone.value += phone_nb[pos].value; // Indicatif regionnal
					telephone.value += " "; // Espace
					telephone.value += phone_nb[pos+1].value; // 3 premiers chiffres du numéro de téléphone 
					telephone.value += "-"; // -
					telephone.value += phone_nb[pos+2].value; // 4 derniers chiffres du numéro de téléphone
					telephone.value += "   Poste : ";
					telephone.value += phone_nb[pos+3].value; // Numero de poste

			}	
			
			else { // Pays etrangers.
					pays.value = pays_specifie.value;
					province_etat.value = "Sans objet";
					code_postal.value = code_postal_int.value;
					telephone.value = telephone_int.value;		
			}


	}

}



function toggleStateProvince(){
/* 
	Auteur : Jean Philippe Grondin
	Date : 09 juin 2006
	But : Affiche les formats standards de code postal et de numéro de téléphone,
         selon les pays : Canada, États-Unis ou autres pays. Utilisé avec
				 le formulaire d'envoi de courriel standard.
*/	

	with (document.form_courriel) {

		// Get current selected country in drop down list.
		var selectedCountry = choix_pays.options[choix_pays.selectedIndex].value;

		if (selectedCountry == "Canada"){
			showDiv("province");
			showDiv("canUSPhone");
			showDiv("canUSPostalCode");
			hideDiv("specifyCountry");
			hideDiv("state");
			hideDiv("intPhone");
			hideDiv("intPostalCode");
		}

		else if(selectedCountry == "États-Unis" || selectedCountry == "United States"){
			showDiv("state");
			showDiv("canUSPhone");
			showDiv("canUSPostalCode");
			hideDiv("specifyCountry");
			hideDiv("province");
			hideDiv("intPhone");
			hideDiv("intPostalCode");
		}

		else { // Other country.
			showDiv("specifyCountry");
			showDiv("intPhone");
			showDiv("intPostalCode");
			hideDiv("state");
			hideDiv("province");
			hideDiv("canUSPhone");
			hideDiv("canUSPostalCode");
		}

	}

}


function blockMaxCharsMsg(nbCharMax) {
/*
	Blocker le nombre de caractère du message selon le nombre maximum de caractères acceptés passés
	en paramètres. Utilisé avec le formulaire d'envoi de courriel standard.
*/
	with (document.form_courriel){

		if(message.value.length == nbCharMax) {
			message.value = message.value.substring(0, nbCharMax-1);
		}
	
	}

}



function general_init()
	{
		/* Sert de contenant pour toutes les fonctions ayant besoin d'être initialisées au chargement de la page*/
		init_BarreOnglets();
	}
	function init_BarreOnglets(){
		//Sert à la gestion d'une barre d'onglets avec images
		var barreOnglets = Get_Tags("barreOnglets_","div");
		if(barreOnglets)
		{
			for(var i=0;i<barreOnglets.length;i++)
			{
				var items = barreOnglets[i].getElementsByTagName("a");
				
				for(var j=0;j<items.length;j++)
				{
					setBehavior(items[j],barreOnglets[i],0);
				}
			}
		}
	}
	
	function setBehavior(obj,objGenerique,letype)
	{
		/*Cette fonction sert à règler le comportement d'une interface au moment du chargement
			de la page et dans l'interface en général. 
		Elle reçoit en paramètre un ou plusieurs objets. Le premier est l'objet dont on veut réguler le comportement.
		Le second est un objet générique qui souvent est un objet qui constitue le parent de l'objet qui subit l'action.
			Dans le cas de la barre d'onglets, le premier obj est l'onglet. Le second est la barre d'onglets.
		Le type est le type d'action à effectuer puisque l'on voulait une fonction la plus générique possible. La valeur 0
			désigne une barre d'onglets avec images.		
		*/
		if(letype==0)
		{
			//obj représente un onglet de la barre d'onglet
			//objGenerique représente représente l'objet barre d'onglet
			//On doit effectuer un traitement sur toutes les images constituant la barre d'onglets
			
			var toutes_images = objGenerique.getElementsByTagName("img");
			//L'objet onglet contient-il des images?
			var imgs_onglets = obj.getElementsByTagName("img");
			if(imgs_onglets)//Y a-t-il des images
			{
				//Ai-je une image hover?
				var hasHover = false;
				var reg,act;
				
				for(var i=0;i<imgs_onglets.length;i++)
				{
					if(imgs_onglets[i].id.indexOf("_reg")!=-1)
					{
						reg=i;
					}
					if(imgs_onglets[i].id.indexOf("_act")!=-1)
					{
						act=i;
					}
					if(imgs_onglets[i].id.indexOf("_hov")!=-1)
					{
						hasHover = true;
						break;
					}
				}
				if(hasHover)//Gestion des comportements sur les survols de souris
				{
					obj.onmouseover= function(){
						if(imgs_onglets[act].className!="display_visible")
						{
							swapClass(imgs_onglets,"display_invisible","display_visible",imgs_onglets[i]);
						}
					}
					obj.onmouseout = function(){
						if(imgs_onglets[act].className!="display_visible")
						{
							swapClass(imgs_onglets,"display_invisible","display_visible",imgs_onglets[reg]);
						}
					}
				}
				obj.onclick=function(){
					//Assurer que les images par défaut sont reg avant d'effectuer les modifications
					for(var cpt=0;cpt<toutes_images.length;cpt++)
					{
						if(toutes_images[cpt].id.indexOf("_reg")!=-1)
						{
							toutes_images[cpt].className="display_visible";
						}
						else
						{
							toutes_images[cpt].className="display_invisible";
						}
				
					}
					swapClass(imgs_onglets,"display_invisible","display_visible",imgs_onglets[act]);
					var prefixe_div = "div_" +objGenerique.id + "_";
					ToggleDivVisibility(prefixe_div,obj.id,true);
					
				}
			}
			else
			{
				obj.onclick=function(){
					var prefixe_div = "div_" +objGenerique.id + "_";
					ToggleDivVisibility(prefixe_div,obj.id,true);
				}
			}
		}
		
	}
	function swapClass(objs,defaut,desire,obj)
	{
		/*Cette fonction sert à changer la classe d'un tableau d'objets HTML passé en paramètre.
		  Si l'on retrouve plus de 2 paramètres, cela veut dire qu'un obj doit avoir une classe (paramètre desire) 
		  	qui lui est propre
		
		*/
		for(var i=0;i<objs.length;i++)
		{
			objs[i].className = defaut;
			if(arguments.length>2)
			{
				if(objs[i].id==obj.id)
				{
					objs[i].className = desire;
				}	
			}
		}
	}
	
	function getGestionNosReglementsURL() {
    url = "/pls/portal/url/page/PES_SYPRE_FR/rep_reglements/nos_reglements/nos_reglements?params_recherche=";
		url += document.location.href.toUpperCase().substr(0,document.location.href.toUpperCase().indexOf("QC.CA")+5);
		url += "/sel/sypre-consultation/recherchereglement?params=grpages=";
    url = url+pg_ids[0]+"**pg="+ids[0];
    window.location = url;
}

function getListeNosReglementsURL(params_recherche) {
    url = "/pls/portal/url/page/"+pg_ids[0]+"/nos_reglements_liste?params_recherche=";
    url = url+params_recherche;
    window.location = url;
}

	
	
	