window.gc = {
   prop : new Map(), farray : new Array(), web : new Object()};
d = document;
ndc = new Array();
coc = new Array();
kg = true;
function KeyValue(_1, _2) {
   this.key = _1;
   this.value = _2;
   }
function Map() {
   this.array = new Array();
   }
Map.prototype.put = function(_3, _4) {
   if((typeof _3 != "undefined") && (typeof _4 != "undefined")) {
      this.array[this.array.length] = new KeyValue(_3, _4);
      }
   };
Map.prototype.get = function(_5) {
   for(var k = 0; k < this.array.length; k++) {
      if(this.array[k].key == _5) {
         return this.array[k].value;
         }
      }
   return "";
   };
Map.prototype.length = function() {
   return this.array.length;
   };
Array.prototype.push = function() {
   var n = this.length >>> 0;
   for(var i = 0; i < arguments.length; i++) {
      this[n] = arguments[i];
      n = n + 1 >>> 0;
      }
   this.length = n;
   return n;
   };
Array.prototype.pop = function() {
   var n = this.length >>> 0, value;
   if(n) {
      value = this[--n];
      delete this[n];
      }
   this.length = n;
   return value;
   };
Array.prototype.subarr = function(_a, _b) {
   if(_a >= this.length || (_b != null && _b <= 0)) {
      return [];
      }
   else {
      if(_a < 0) {
         if(Math.abs(_a) > this.length) {
            _a = 0;
            }
         else {
            _a = this.length + _a;
            }
         }
      }
   if(_b == null || _b + _a > this.length) {
      _b = this.length - _a;
      }
   var _c = new Array();
   for(var i = _a; i < _a + _b; i++) {
      _c.push(this[i]);
      }
   return _c;
   };
Array.prototype.subarray = function(_e, _f) {
   if(_e < 0) {
      _e = 0;
      }
   if(_f == null || _f > this.length) {
      _f = this.length;
      }
   if(_e == _f) {
      return [];
      }
   var _10 = new Array();
   for(var i = _e; i < _f; i++) {
      _10.push(this[i]);
      }
   return _10;
   };
if(!Array.prototype.splice) {
   Array.prototype.splice = function(_12, _13) {
      if(_13 < 0) {
         _13 = 0;
         }
      var _14 = new Array();
      if(arguments.length > 2) {
         for(var i = 2; i < arguments.length; i++) {
            _14.push(arguments[i]);
            }
         }
      var _16 = this.subarray(0, _12);
      var _17 = this.subarr(_12, _13);
      var _18 = this.subarray(_12 + _13);
      var _19 = _16.concat(_14, _18);
      this.length = 0;
      for(var i = 0; i < _19.length; i++) {
         this.push(_19[i]);
         }
      return _17;
      };
   }

var DomHelper = {
   $ : function(_1b) {
      return document.getElementById(_1b);
      }
   , $P : function(_1c, _1d) {
      if(typeof _1d == "undefined") {
         return window.gc.prop.get(_1c);
         }
      else {
         window.gc.prop.put(_1c, _1d);
         }
      }
   , $FINDEX : function(_1e) {
      window.gc.farray.push(_1e);
      }
   , Browser : {
      IE :!!(window.attachEvent &&!window.opera), Opera :!!window.opera, WebKit : navigator.userAgent.indexOf("AppleWebKit/") >- 1, Gecko : navigator.userAgent.indexOf("Gecko") >- 1 && navigator.userAgent.indexOf("KHTML") ==- 1, MobileSafari :!!navigator.userAgent.match(/iPhone.*Mobile.*Safari/)},getElementsBySelector:function(_1f){var i;
      var s = [];
      var _22 = "";
      var _23 = "";
      var tag = _1f;
      var _25 = [];
      if(_1f.indexOf(" ") > 0) {
         s = _1f.split(" ");
         var fs = s[0].split("#");
         if(fs.length == 1) {
            return (_25);
            }
         if(d.getElementById(fs[1])) {
            return (d.getElementById(fs[1]).getElementsByTagName(s[1]));
            }
         return false;
         }
      if(_1f.indexOf("#") > 0) {
         s = _1f.split("#");
         tag = s[0];
         _22 = s[1];
         }
      if(_22 != "") {
         if(d.getElementById(_22)) {
            _25.push(d.getElementById(_22));
            return (_25);
            }
         return false;
         }
      if(_1f.indexOf(".") > 0) {
         s = _1f.split(".");
         tag = s[0];
         _23 = s[1];
         }
      var v = d.getElementsByTagName(tag);
      if(_23 == "") {
         return (v);
         }
      for(i = 0; i < v.length; i++) {
         curClass = " " + v[i].className + " ";
         if(curClass.indexOf(" " + _23 + " ") != "-1") {
            _25.push(v[i]);
            }
         }
      return (_25);
      }
   , getElementsByClassName : function(_28) {
      
      var s, i, r = [], l = 0, e;
      var re = new RegExp("(^|\\s)" + _28 + "(\\s|$)");
      
      
      if(navigator.userAgent.indexOf("Opera") >- 1) {
         s = [document.documentElement || document.body];
         i = 0;
         do {
            e = s[i];
            
            while(e) {
               if(e.nodeType == 1) {
                  if(e.className && re.test(e.className)) {
                     r[l++] = e;
                     }
                  s[i++] = e.firstChild;
                  }
               e = e.nextSibling;
               }
            }
         while(i--);
         }
      else {
         s = document.getElementsByTagName("*");
         i = s.length;
         
         while(i--) {
            e = s[i];
            if(e.className && re.test(e.className)) {
               r[l++] = e;
               }
            }
         }
      return r;
      }
   , createTag : function(_2b, sId, _2d, _2e, _2f, _30) {
      var tag = document.createElement(_2b);
      tag.setAttribute("tabindex", 0);
      if(sId) {
         tag.setAttribute("id", sId);
         }
      if(_2d) {
         tag.setAttribute("height", _2d);
         }
      if(_2e) {
         tag.setAttribute("width", _2e);
         }
      if(_2f) {
         tag.setAttribute("style", _2f);
         }
      if(_30) {
         tag.style.cursor = "pointer";
         }
      return tag;
      }
   , getElementsByTagName : function(t, p) {
   
      var _34 = null;
      t = t || "*";
      p = p || document;
      if(typeof p.getElementsByTagName != "undefined") {
         _34 = p.getElementsByTagName(t);
         if(t == "*" && (!_34 ||!_34.length)) {
            _34 = p.all;
            }
         }
      else {
         if(t == "*") {
            _34 = p.all;
            }
         else {
            if(p.all && p.all.tags) {
               _34 = p.all.tags(t);
               }
            }
         }
      return _34 || [];
      }
   , addClassName : function(_35, _36) {
      var _37 = _35.className;
      if(!new RegExp(_36, "i").test(_37)) {
         _35.className = _37 + ((_37.length > 0) ? " " : "") + _36;
         }
      }
   , insertAfter : function(_38, _39, _3a) {
      _38.insertBefore(_39, _3a.nextSibling);
      }
   , getParent : function(e, _3c) {
      if(!(e = DomHelper.$(e))) {
         return null;
         }
      var p = null;
      if(!_3c && DomHelper._def(e.offsetParent)) {
         p = e.offsetParent;
         }
      else {
         if(DomHelper._def(e.parentNode)) {
            p = e.parentNode;
            }
         else {
            if(DomHelper._def(e.parentElement)) {
               p = e.parentElement;
               }
            }
         }
      return p;
      }
   , removeClassName : function(_3e, _3f) {
      var _40 = new RegExp((_3f + "s?"), "i");
      _3e.className = _3e.className.replace(_40, "").replace(/^\s?|\s?$/g,"");
      }
   , getElementsByAttribute : function(_41, _42, _43, _44) {
      var _45 = (_42 == "*" && _41.all) ? _41.all : _41.getElementsByTagName(_42);
      var _46 = new Array();
      var _47 = (typeof _44 != "undefined") ? new RegExp("(^|\\s)" + _44 + "(\\s|$)") : null;
      var _48;
      var _49;
      for(var i = 0; i < _45.length; i++) {
         _48 = _45[i];
         _49 = _48.getAttribute && _48.getAttribute(_43);
         if(typeof _49 == "string" && _49.length > 0) {
            if(typeof _44 == "undefined" || (_47 && _47.test(_49))) {
               _46.push(_48);
               }
            }
         }
      return _46;
      }
   , readAttribute : function(_4b, _4c) {
      if(typeof _4b == "undefined") {
         alert("Undefined Object >> " + _4c);
         }
      else {
         return _4b.getAttribute(_4c, 2);
         }
      }
   , preventDefaultBehavior : function(_4d) {
      _4d.returnValue = false;
      if(_4d.preventDefault) {
         _4d.preventDefault();
         }
      }
   , getStyle : function(_4e, _4f) {
      var _50 = "";
      if(document.defaultView && document.defaultView.getComputedStyle) {
         _50 = document.defaultView.getComputedStyle(_4e, "").getPropertyValue(_4f);
         }
      else {
         if(_4e.currentStyle) {
            _4f = _4f.replace(/\-(\w)/g,function(_51,p1){return p1.toUpperCase();});
            _50 = _4e.currentStyle[_4f];
            }
         }
      return _50;
      }
   , addEventListener : function(e, eT, eL, cap) {
      eT = eT.toLowerCase();
      if(e.addEventListener) {
         e.addEventListener(eT, eL, cap || false);
         }
      else {
         if(e.attachEvent) {
            e.attachEvent("on" + eT, eL);
            }
         else {
            var o = e["on" + eT];
            e["on" + eT] = typeof o == "function" ? function(v) {
               o(v);
               eL(v);
               }
            : eL;
            }
         }
      }
   , clientWidth : function() {
      var v = 0, d = document, w = window;
      if((!d.compatMode || d.compatMode == "CSS1Compat") &&!w.opera && d.documentElement && d.documentElement.clientWidth) {
         v = d.documentElement.clientWidth;
         }
      else {
         if(d.body && d.body.clientWidth) {
            v = d.body.clientWidth;
            }
         else {
            if(DomHelper._def(w.innerWidth, w.innerHeight, d.height)) {
               v = w.innerWidth;
               if(d.height > w.innerHeight) {
                  v -= 16;
                  }
               }
            }
         }
      return v;
      }
   , clientHeight : function() {
      var v = 0, d = document, w = window;
      if((!d.compatMode || d.compatMode == "CSS1Compat") &&!w.opera && d.documentElement && d.documentElement.clientHeight) {
         v = d.documentElement.clientHeight;
         }
      else {
         if(d.body && d.body.clientHeight) {
            v = d.body.clientHeight;
            }
         else {
            if(DomHelper._def(w.innerWidth, w.innerHeight, d.width)) {
               v = w.innerHeight;
               if(d.width > w.innerWidth) {
                  v -= 16;
                  }
               }
            }
         }
      return v;
      }
   , pageX : function(e) {
      var x = 0;
      while(e) {
         if(DomHelper._def(e.offsetLeft)) {
            x += e.offsetLeft;
            }
         e = DomHelper._def(e.offsetParent) ? e.offsetParent : null;
         }
      return x;
      }
   , pageY : function(e) {
      var y = 0;
      while(e) {
         if(DomHelper._def(e.offsetTop)) {
            y += e.offsetTop;
            }
         e = DomHelper._def(e.offsetParent) ? e.offsetParent : null;
         }
      return y;
      }
   , _def : function() {
      for(var i = 0; i < arguments.length; ++i) {
         if(typeof (arguments[i]) == "undefined") {
            return false;
            }
         }
      return true;
      }
   , _num : function() {
      for(var i = 0; i < arguments.length; ++i) {
         if(isNaN(arguments[i]) || typeof (arguments[i]) != "number") {
            return false;
            }
         }
      return true;
      }
   , _import : function(url, rel, typ, med) {
      var _65 = document.getElementsByTagName("script")[0].src;
      var _66 = _65.replace(/pe-ap\.js(\?.*)?$/,"");
      document.write("<script type=\"text/javascript\" src=\"" + _66 + url + "\"></script>");
      }
   , getComputedStyle : function(e, p, i) {
      var s, v = "undefined", dv = document.defaultView;
      if(dv && dv.getComputedStyle) {
         s = dv.getComputedStyle(e, "");
         if(s) {
            v = s.getPropertyValue(p);
            }
         }
      else {
         if(e.currentStyle) {
            v = e.currentStyle[DomHelper.camelize(p)];
            }
         else {
            return null;
            }
         }
      return i ? (parseInt(v) || 0) : v;
      }
   , camelize : function(_6b) {
      var i, c, a = _6b.split("-");
      var s = a[0];
      for(i = 1; i < a.length; ++i) {
         c = a[i].charAt(0);
         s += a[i].replace(c, c.toUpperCase());
         }
      return s;
      }
   , _isNum : function() {
      for(var i = 0; i < arguments.length; ++i) {
         if(isNaN(arguments[i]) || typeof (arguments[i]) != "number") {
            return false;
            }
         }
      return true;
      }
   , _str : function(s) {
      for(var i = 0; i < arguments.length; ++i) {
         if(typeof (arguments[i]) != "string") {
            return false;
            }
         }
      return true;
      }
   }; 
   


var Shortcut = {
   "all_shortcuts" : {
      }
   , "add" : function(_71, _72, opt) {
      var _74 = {
         "type" : "keydown", "propagate" : false, "disable_in_input" : false, "target" : document, "keycode" : false};
      if(!opt) {
         opt = _74;
         }
      else {
         for(var dfo in _74) {
            if(typeof opt[dfo] == "undefined") {
               opt[dfo] = _74[dfo];
               }
            }
         }
      var ele = opt.target;
      if(typeof opt.target == "string") {
         ele = document.getElementById(opt.target);
         }
      var ths = this;
      _71 = _71.toLowerCase();
      var _78 = function(e) {
         e = e || window.event;
         if(opt["disable_in_input"]) {
            var _7a;
            if(e.target) {
               _7a = e.target;
               }
            else {
               if(e.srcElement) {
                  _7a = e.srcElement;
                  }
               }
            if(_7a.nodeType == 3) {
               _7a = _7a.parentNode;
               }
            if(_7a.tagName == "INPUT" || _7a.tagName == "TEXTAREA") {
               return;
               }
            }
         if(e.keyCode) {
            code = e.keyCode;
            }
         else {
            if(e.which) {
               code = e.which;
               }
            }
         var _7b = String.fromCharCode(code).toLowerCase();
         if(code == 188) {
            _7b = ",";
            }
         if(code == 190) {
            _7b = ".";
            }
         var _7c = _71.split("+");
         var kp = 0;
         var _7e = {
            "`" : "~", "1" : "!", "2" : "@", "3" : "#", "4" : "$", "5" : "%", "6" : "^", "7" : "&", "8" : "*", "9" : "(", "0" : ")", "-" : "_", "=" : "+", ";" : ":", "'" : "\"", "," : "<", "." : ">", "/" : "?", "\\" : "|"};
         var _7f = {
            "esc" : 27, "escape" : 27, "tab" : 9, "space" : 32, "return" : 13, "enter" : 13, "backspace" : 8, "scrolllock" : 145, "scroll_lock" : 145, "scroll" : 145, "capslock" : 20, "caps_lock" : 20, "caps" : 20, "numlock" : 144, "num_lock" : 144, "num" : 144, "pause" : 19, "break" : 19, "insert" : 45, "home" : 36, "delete" : 46, "end" : 35, "pageup" : 33, "page_up" : 33, "pu" : 33, "pagedown" : 34, "page_down" : 34, "pd" : 34, "left" : 37, "up" : 38, "right" : 39, "down" : 40, "f1" : 112, "f2" : 113, "f3" : 114, "f4" : 115, "f5" : 116, "f6" : 117, "f7" : 118, "f8" : 119, "f9" : 120, "f10" : 121, "f11" : 122, "f12" : 123};
         var _80 = {
            shift : {
               wanted : false, pressed : false}
            , ctrl : {
               wanted : false, pressed : false}
            , alt : {
               wanted : false, pressed : false}
            , meta : {
               wanted : false, pressed : false}
            };
         if(e.ctrlKey) {
            _80.ctrl.pressed = true;
            }
         if(e.shiftKey) {
            _80.shift.pressed = true;
            }
         if(e.altKey) {
            _80.alt.pressed = true;
            }
         if(e.metaKey) {
            _80.meta.pressed = true;
            }
         for(var i = 0; i < _7c.length; i++) {
            var k = _7c[i];
            if(k == "ctrl" || k == "control") {
               kp++;
               _80.ctrl.wanted = true;
               }
            else {
               if(k == "shift") {
                  kp++;
                  _80.shift.wanted = true;
                  }
               else {
                  if(k == "alt") {
                     kp++;
                     _80.alt.wanted = true;
                     }
                  else {
                     if(k == "meta") {
                        kp++;
                        _80.meta.wanted = true;
                        }
                     else {
                        if(k.length > 1) {
                           if(_7f[k] == code) {
                              kp++;
                              }
                           }
                        else {
                           if(opt["keycode"]) {
                              if(opt["keycode"] == code) {
                                 kp++;
                                 }
                              }
                           else {
                              if(_7b == k) {
                                 kp++;
                                 }
                              else {
                                 if(_7e[_7b] && e.shiftKey) {
                                    _7b = _7e[_7b];
                                    if(_7b == k) {
                                       kp++;
                                       }
                                    }
                                 }
                              }
                           }
                        }
                     }
                  }
               }
            }
         if(kp == _7c.length && _80.ctrl.pressed == _80.ctrl.wanted && _80.shift.pressed == _80.shift.wanted && _80.alt.pressed == _80.alt.wanted && _80.meta.pressed == _80.meta.wanted) {
            _72(e);
            if(!opt["propagate"]) {
               e.cancelBubble = true;
               e.returnValue = false;
               if(e.stopPropagation) {
                  e.stopPropagation();
                  e.preventDefault();
                  }
               return false;
               }
            }
         };
      this.all_shortcuts[_71] = {
         "callback" : _78, "target" : ele, "event" : opt["type"]};
      if(ele.addEventListener) {
         ele.addEventListener(opt["type"], _78, false);
         }
      else {
         if(ele.attachEvent) {
            ele.attachEvent("on" + opt["type"], _78);
            }
         else {
            ele["on" + opt["type"]] = _78;
            }
         }
      }
   , "remove" : function(_83) {
      _83 = _83.toLowerCase();
      var _84 = this.all_shortcuts[_83];
      delete (this.all_shortcuts[_83]);
      if(!_84) {
         return;
         }
      var _85 = _84["event"];
      var ele = _84["target"];
      var _87 = _84["callback"];
      if(ele.detachEvent) {
         ele.detachEvent("on" + _85, _87);
         }
      else {
         if(ele.removeEventListener) {
            ele.removeEventListener(_85, _87, false);
            }
         else {
            ele["on" + _85] = false;
            }
         }
      }
   };
      
   var RenderMagic = {
   is_ie : function() {
      var agt = navigator.userAgent.toLowerCase();
      return ((agt.indexOf("msie") !=- 1) && (agt.indexOf("opera") ==- 1)) ? true : false;
      }
   , is_ie7up : function() {
      var agt = navigator.userAgent.toLowerCase();
      return ((this.is_ie() && (parseInt(navigator.appVersion) < 4)) &&!(agt.indexOf("msie 5.0") !=- 1) &&!(document.all &&!window.opera && window.XMLHttpRequest)) ? true : false;
      }
   , init : function() {
      RenderMagic.pngFx();
      }
   , pngFx : function() {
      var _96 = DomHelper.getElementsByClassName("pngfix");
      
      var agt = navigator.userAgent.toLowerCase();
      
      for(var i = 0; i < _96.length; i++) {
         var _99 = _96[i].src.substring(0, _96[i].src.lastIndexOf(".")) + ".png";
         if(RenderMagic.is_ie() &&!(typeof document.body.style.maxHeight != "undefined")) {
            _96[i].style.visibility = "hidden";
            _96[i].runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + _99 + "', sizingMethod='crop')";
            _96[i].src = DomHelper.$P("pngfixpath");
            _96[i].style.visibility = "visible";
            }
         else {
            _96[i].src = _99;
            }
         }
      }
   };

   
   var PE = {
   loaded : function() {
      if(arguments.callee.done) {
         return;
         }
      arguments.callee.done = true;
      for(i = 0; i < window.gc.farray.length; i++) {
         if(typeof window.gc.farray[i] == "function") {
            window.gc.farray[i]();
            }
         else {
            if(typeof window.gc.farray[i] == "string") {
               eval(window.gc.farray[i]);
               }
            }
         }
      }
   , load : function(dtw) {
      var es = DomHelper.getElementsBySelector("div#footer");
      if(ndc[dtw] == null) {
         ndc[dtw] = 0;
         coc[coc.length] = "PE.load('" + dtw + "')";
         }
      if(es.length > ndc[dtw]) {
         nes = es.length;
         for(var x = ndc[dtw]; x < nes; x++) {
            theTarget = es[x];
            eval("PE.loaded()");
            }
         ndc[dtw] = nes;
         }
      if(kg == true) {
         setTimeout("PE.load('" + dtw + "')", 100);
         }
      return true;
      }
   , sldeshw : function() {
      }
   , progress : function(_9d) {
   
      (_9d.lng && typeof _9d.lng != "undefined") ? DomHelper.$P("language", _9d.lng) : DomHelper.$P("language", "fra");
      (_9d.pngfix && typeof _9d.pngfix != "undefined") ? DomHelper.$P("pngfixpath", _9d.pngfix) : DomHelper.$P("pngfixpath", "/images/inv.gif");
      DomHelper.$FINDEX(RenderMagic.init);
      
      if((_9d.slideshow) && (typeof _9d.slideshow != "undefined")) {
         DomHelper._import("ca.gc.sshw-mdiap.js");
         DomHelper.$P("slideshow.id", _9d.slideshow);
         DomHelper.$P("slideshow.speed", (_9d.slideshowspeed && typeof _9d.slideshowspeed != "undefined") ? _9d.slideshowspeed : "8");
         DomHelper.$P("slideshow.interface.location", (_9d.slideshowlib && typeof _9d.slideshowlib != "undefined") ? _9d.slideshowlib : "/images/sldshw");
         }
      if((_9d.multimedia) && (typeof _9d.multimedia != "undefined")) {
         DomHelper._import("ca.gc.mp-jm.js");
         }
      DomHelper._import("tooltips.js");
      PE.load();
      
      }
   };