function popup(url, w, h, nom, cat) {
  var nom;
  var params;
  var catID;
  var tagger = true;

  // Choix possible pour cat :
    // dag-fr
    // dsf-fr
    // fiducie-fr
    // adp-fr
    // ada-fr
    // dag-en
    // dsf-en
    // fiducie-en
    // adp-en
    // ada-en
    // autre-fr
    // autre-en
    // pdf
    // taleo
    // formulaires
    // disnat

  // Tenter de détecter automatiquement la catégorie selon l'url.
  if (cat == undefined || cat == null || cat == '') {
    if (url.indexOf("www.desjardinsassurancesgenerales.com") != -1) {
      cat = "dag-fr";
    }
    else if (url.indexOf("www.dsf-dfs.com/fr") != -1) {
      cat = "dsf-fr";
    }
    else if (url.indexOf("www.dsf-dfs.com/en") != -1) {
      cat = "dsf-en";
    }
    else if (url.indexOf("accesd.desjardins.com/fr") != -1) {
      cat = "adp-fr";
    }
    else if (url.indexOf("accesd.desjardins.com/en") != -1) {
      cat = "adp-en";
    }
    else if (url.indexOf("accesd.affaires.desjardins.com/fr") != -1) {
      cat = "ada-fr";
    }
    else if (url.indexOf("accesd.affaires.desjardins.com/en") != -1) {
      cat = "ada-en";
    }
    else if (url.indexOf("desjardins.taleo.net") != -1) {
      cat = "taleo";
    }
    else if (url.indexOf("https://services") != -1) {
      cat = "formulaires";
    }
    else if (url.indexOf("disnat") != -1) {
      cat = "disnat";
    }
    else if (url.indexOf("fondsdesjardins.com/fr") != -1) {
      cat = "fiducie-fr";
    }
    else if (url.indexOf("fondsdesjardins.com/en") != -1) {
      cat = "fiducie-en";
    }
    else if (url.indexOf("fondsdesjardins") != -1) {
      cat = "fiducie-fr";
    }
    else {
      cat = "autre-fr";
    }
  }

  // Choisir la bonne catégorie et déterminer si nous devons vraiment ajouter un tag Coremetrics.
  if (url.charAt(0) != "/" && url.indexOf("www.desjardins.com") == -1) {
    switch (cat) {
      case "dag-fr":
      case "dag":
        catID = "FRLIENEXTERNEDAG";
      break;

      case "dsf-fr":
      case "dsf":
        catID = "FRLIENEXTERNEDSF";
      break;

      case "fiducie-fr":
      case "fiducie":
        catID = "FRLIENEXTERNEFIDUCIE";
      break;

      case "adp-fr":
      case "adp":
        catID = "FRLIENEXTERNEADP";
      break;

      case "ada-fr":
      case "ada":
        catID = "FRLIENEXTERNEADA";
      break;

      case "autre-fr":
      case "autre":
        catID = "FRLIENEXTERNE";
        tagger = false;
      break;

      case "dag-en":
        catID = "ENLIENEXTERNEDAG";
      break;

      case "dsf-en":
        catID = "ENLIENEXTERNEDSF";
      break;

      case "fiducie-en":
        catID = "ENLIENEXTERNEFIDUCIE";
      break;

      case "adp-en":
        catID = "ENLIENEXTERNEADP";
      break;

      case "ada-en":
        catID = "ENLIENEXTERNEADA";
      break;

      case "autre-en":
        catID = "ENLIENEXTERNE";
        tagger = false;
      break;

      case "pdf":
        catID = "PDF";
      break;

      case "taleo":
        catID = "FRLIENEXTERNETALEO";
        tagger = false;
      break;

      case "formulaires":
        catID = "FRLIENEXTERNEFORMULAIRESNOTES";
      break;

      case "disnat":
        catID = "FRLIENEXTERNEDISNAT";
     break;

      default:
        catID = "FRLIENEXTERNE";
        tagger = false;
      break;
    }

    try {
      if (tagger == true && typeof(cmCreateManualPageviewTag) == "function") {
        cmCreateManualPageviewTag(url, catID, url, window.location.href, null);
      }
    }
    catch (e) {
      // Ne rien faire.
    }
  }

  if (nom) {
    fenetre = nom;
  }
  else if (window.name == "popup") {
     fenetre = "popup2";
  }
  else {
    fenetre = "popup";
  }

  params = "toolbar=yes,menubar=yes,location=yes,status=yes,scrollbars=yes,resizable=yes";

  if (w && h)
    params += ",width="+w+",height="+h;
  else
    params += ",width=800,height=600";

  window.open(url, fenetre, params);
}

function video(url, w, h) {
  params = "toolbar=no,menubar=no,scrollbars=yes,resizable=yes";
  if (w && h)
    params += ",width="+w+",height="+h;
  else
    params += ",width=966,height=830";
  window.open( url, "video", params );
}

function video_hr(url, w, h) {
  params = "toolbar=no,menubar=no,scrollbars=yes,resizable=yes";
  if (w && h)
    params += ",width="+w+",height="+h;
  else
    params += ",width=1010,height=896";
  window.open( url, "video", params );
}

function map(url) {
  newwindow = window.open(url,'name','height=605,width=635,scrollbars=no');
  if (window.focus) {
    newwindow.focus()
  }
  //  return false;
}

function pdf(url, w, h, nom) {
  popup(url, w, h, nom, 'PDF');
}

function info(url, w, h) {
  params = "toolbar=no,menubar=no,scrollbars=yes,resizable=yes";
  if (w && h)
    params += ",width="+w+",height="+h;
  else
    params += ",width=800,height=600";
  window.open( url, "info", params );
}

function aide(url, w, h) {
  params = "toolbar=no,menubar=no,scrollbars=yes,resizable=yes";
  if (w && h)
    params += ",width="+w+",height="+h;
  else
    params += ",width=480,height=360";
  window.open( url, "aide", params );
}

function imprimer() {
  params = "toolbar=yes,menubar=yes,scrollbars=yes,resizable=yes,width=800,height=600,left=10,top=10";
  if(url_page.indexOf("?")>0)
    url = url_page + "&format=print";
  else
    url = url_page + "?format=print";
  window.open(url, "imprimer", params);
}

function envoyer(lang) {
  params = "toolbar=no,menubar=no,scrollbars=yes,resizable=yes,width=740,height=450,left=10,top=10";
  if (lang=="en")
    url = "https://services.desjardins.com/liens/urls_a_referer.nsf/newCourriel?openform&frame=non&mt=COURRIEL_EN&u=" + "http://www.desjardins.com" + url_page + "&titre=" + escape(htmlToAccent(titre_page));
  else
    url = "https://services.desjardins.com/liens/urls_a_referer.nsf/newCourriel?openform&frame=non&mt=COURRIEL_FR&u=" + "http://www.desjardins.com" + url_page + "&titre=" + escape(htmlToAccent(titre_page));
  window.open(url, "envoyer", params);
}

function evaluer(cle, lang) {
  params = "toolbar=no,menubar=no,scrollbars=yes,resizable=yes,width=800,height=600,left=10,top=10,location=yes";
  titre_page = titre_page.replace(/&amp;/g, "%26");
  if (lang=="en")
    url = "http://wwwc1.desjardins.com/en/evaluer/index.jsp" + "?cle=" + cle + "&url=" + url_page + "&titre=" + titre_page;
  else
    url = "http://wwwc1.desjardins.com/fr/evaluer/index.jsp" + "?cle=" + cle + "&url=" + url_page + "&titre=" + titre_page;
  window.open(url, "evaluer", params);
}

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 MM_findObj(n, d) { //v4.0
  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 && document.getElementById) x=document.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 compteur(url, pop, w, h) {
  url += document.location.href;
  if(pop)
  {
    params = "toolbar=yes,menubar=yes,location=yes,status=yes,scrollbars=yes,resizable=yes";
    if (w && h)
      params += ",width="+w+",height="+h;
    else
      params += ",width=600,height=450";
    window.open(url , "popup", params );
  }
  else
    window.location = url;
}

// Remplace dans une chaine toutes les occurrences de str1 par str2
function remplace(chaine, str1, str2) {
  while (chaine.indexOf(str1) != -1)
    chaine = chaine.replace(str1, str2);
  return chaine;
}

// Remplace dans une chaîne les entités html par le caractère accentué ou spécial équivalent
function htmlToAccent(chaine) {
  var html = new Array("&amp;", "&lt;", "&gt;", "&agrave;", "&Agrave;", "&acirc;", "&Acirc;", "&eacute;", "&Eacute;", "&egrave;", "&Egrave;", "&ecirc;'", "&Ecirc;", "&euml;", "&Euml;", "&icirc;", "&Icirc;", "&iuml;", "&Iuml;", "&ocirc;", "&Ocirc;", 
"&ugrave;", "&Ugrave", "&ucirc;", "&Ucirc;", "&uuml;", "&Uuml;", "&ccedil;", "&Ccedil;", "&quot;", "&laquo;", "&raquo;", "&nbsp;", "&ndash;", "&mdash;", "&hellip;", "’");
  var accent = new Array("&", "<", ">", "à", "À", "â", "Â", "é", "É", "è", "È", "ê", "Ê", "ë", "Ë", "î", "Î", "ï", "Ï", "ô", "Ô", "ù", "Ù", "û", "Û", "ü", "Ü", "ç", "Ç", "\"", "«", "»", " ", "–", "—", "...", "'");
  for (var i = 0; i < html.length; i++) {
    if (chaine.indexOf(html[i]) != -1)
      chaine = remplace(chaine, html[i], accent[i]);
  }
  return chaine;
}
