function CookieHandler() {

	this.setCookie = function (name, value, seconds) {

		if (typeof(seconds) != 'undefined') {
			var date = new Date();
			date.setTime(date.getTime() + (seconds*1000));
			var expires = "; expires=" + date.toGMTString();
		}
		else {
			var expires = "";
		}

		document.cookie = name+"="+value+expires+"; path=/";
	}

	this.getCookie = function (name) {

		name = name + "=";
		var carray = document.cookie.split(';');

		for(var i=0;i < carray.length;i++) {
			var c = carray[i];
			while (c.charAt(0)==' ') c = c.substring(1,c.length);
			if (c.indexOf(name) == 0) return c.substring(name.length,c.length);
		}

		return null;
	}

	this.deleteCookie = function (name) {
		this.setCookie(name, "", -1);
	}

}

var Cookies = new CookieHandler();
	var afficher = Cookies.getCookie('afficherPopin'); // get cookie 'name'



	if (typeof Prototype == "undefined") {
		throw "Unable to load Shadowbox, Prototype framework not found."
	}
	if (typeof Effect == "undefined") {
		throw "Unable to load Shadowbox, Scriptaculous effects framework not found."
	}
	var Shadowbox = {};
	Shadowbox.lib = {
		getStyle : function(B, A) {
			return Element.getStyle(B, A)
		},
		setStyle : function(C, B, D) {
			if (typeof B != "object") {
				var A = {};
				A[B] = D;
				B = A
			}
			Element.setStyle(C, B)
		},
		get : function(A) {
			return $(A)
		},
		remove : function(A) {
			Element.remove(A)
		},
		getTarget : function(A) {
			return Event.element(A)
		},
		preventDefault : function(A) {
			Event.stop(A)
		},
		addEvent : function(C, A, B) {
			Event.observe(C, A, B)
		},
		removeEvent : function(C, A, B) {
			Event.stopObserving(C, A, B)
		},
		animate : function(A, D, C, F) {
			var E = {};
			for ( var B in D) {
				for ( var B in D) {
					E[B] = String(D[B].to);
					if (B != "opacity") {
						E[B] += "px"
					}
				}
			}
			return new Effect.Morph(A, {
				afterFinish :F,
				duration :C,
				style :E
			})
		}
	}
	if (typeof Shadowbox == "undefined") {
		throw "Unable to load Shadowbox, no base library adapter found."
	}
	( function() {
		var version = "1.0";
		var options = {
			assetURL :"",
			loadingImage :"img/common/loading.gif",
			animate :true,
			animSequence :"wh",
			flvPlayer :"flvplayer.swf",
			overlayColor :"#000",
			overlayOpacity :0.85,
			overlayBgImage :"images/overlay-85.png",
			listenOverlay :true,
			autoplayMovies :true,
			showMovieControls :true,
			resizeDuration :0.35,
			fadeDuration :0.5,
			displayNav :true,
			continuous :false,
			displayCounter :true,
			counterType :"default",
			viewportPadding :0,
			handleLgImages :"resize",
			initialHeight :160,
			initialWidth :320,
			enableKeys :true,
			keysClose : [ "c", "q", 27 ],
			keysNext : [ "n", 39 ],
			keysPrev : [ "p", 37 ],
			onOpen :null,
			onFinish :null,
			onChange :null,
			onClose :null,
			handleUnsupported :"link",
			skipSetup :false,
			text : {
				cancel :"Annuler",
				loading :"Chargement...",
				close :'<img src="' + GLOBAL_SERVEUR_HTTP + 'img/popin/pict_closePopin.gif" border="0" alt="Fermer"/>',
				next :'<span class="shortcut">S</span>uivant',
				prev :'<span class="shortcut">P</span>revious',
				errors : {
					single :'You must install the <a href="{0}">{1}</a> browser plugin to view this content.',
					shared :'You must install both the <a href="{0}">{1}</a> and <a href="{2}">{3}</a> browser plugins to view this content.',
					either :'You must install either the <a href="{0}">{1}</a> or the <a href="{2}">{3}</a> browser plugin to view this content.'
				}
			},
			errors : {
				fla : {
					name :"Flash",
					url :"http://www.adobe.com/products/flashplayer/"
				},
				qt : {
					name :"QuickTime",
					url :"http://www.apple.com/quicktime/download/"
				},
				wmp : {
					name :"Windows Media Player",
					url :"http://www.microsoft.com/windows/windowsmedia/"
				},
				f4m : {
					name :"Flip4Mac",
					url :"http://www.flip4mac.com/wmv_download.htm"
				}
			},
			skin : {
				main :'<div id="shadowbox_overlay"></div><div id="shadowbox_container"><div id="shadowbox"><div id="shadowbox_title"><div id="shadowbox_title_inner"></div></div><div id="shadowbox_body"><div id="shadowbox_body_inner"></div><div id="shadowbox_loading"></div></div><div id="shadowbox_toolbar"><div id="shadowbox_toolbar_inner"></div></div></div></div>',
				loading :'<img src="{0}" alt="{1}" /><span><a href="javascript:Shadowbox.close();">{2}</a></span>',
				counter :'<div id="shadowbox_counter">{0}</div>',
				close :'<div id="shadowbox_nav_close"><a href="javascript:Shadowbox.close();" onClick="deleteOnClosePopUp();dcsMultiTrack(\'DCSext.wasc_zone\', \'Zone popin\', \'DCSext.wasc_linkname\', \'fermer\', \'DCSext.wasc_typeMT\', \'clichub\');">{0}</a></div>',
				next :'<div id="shadowbox_nav_next"><a href="javascript:Shadowbox.next();">{0}</a></div>',
				prev :'<div id="shadowbox_nav_previous"><a href="javascript:Shadowbox.previous();">{0}</a></div>'
			},
			ext : {
				img : [ "png", "jpg", "jpeg", "gif", "bmp" ],
				qt : [ "dv", "mov", "moov", "movie", "mp4" ],
				wmp : [ "asf", "wm", "wmv" ],
				qtwmp : [ "avi", "mpg", "mpeg" ],
				iframe : [ "asp", "aspx", "cgi", "cfm", "htm", "html", "pl", "php",
						"php3", "php4", "php5", "phtml", "rb", "rhtml", "shtml",
						"txt", "vbs" ]
			}
		};
		var default_options = null;
		var SL = Shadowbox.lib;
		var RE = {
			resize :/(img|swf|flv)/,
			overlay :/(img|iframe|html|inline)/,
			swf :/\.swf\s*$/i,
			flv :/\.flv\s*$/i,
			domain :/:\/\/(.*?)[:\/]/,
			inline :/#(.+)$/,
			rel :/^(light|shadow)box/i,
			gallery :/^(light|shadow)box\[(.*?)\]/i,
			unsupported :/^unsupported-(\w+)/,
			param :/\s*([a-z_]*?)\s*=\s*(.+)\s*/,
			empty :/^(?:br|frame|hr|img|input|link|meta|range|spacer|wbr|area|param|col)$/i
		};
		var cache = [];
		var current_gallery;
		var current;
		var optimal_height = options.initialHeight;
		var optimal_width = options.initialWidth;
		var current_height = 0;
		var current_width = 0;
		var preloader;
		var initialized = false;
		var activated = false;
		var drag;
		var draggable;
		var overlay_img_needed;
		var ua = navigator.userAgent.toLowerCase();
		var isStrict = document.compatMode == "CSS1Compat", isOpera = ua
				.indexOf("opera") > -1, isIE = ua.indexOf("msie") > -1, isIE7 = ua
				.indexOf("msie 7") > -1, isBorderBox = isIE && !isStrict, isSafari = (/webkit|khtml/)
				.test(ua), isSafari3 = isSafari && !!(document.evaluate), isGecko = !isSafari
				&& ua.indexOf("gecko") > -1, isWindows = (ua.indexOf("windows") != -1 || ua
				.indexOf("win32") != -1), isMac = (ua.indexOf("macintosh") != -1 || ua
				.indexOf("mac os x") != -1), isLinux = (ua.indexOf("linux") != -1);
		var absolute_pos = isIE && !isIE7;
		var plugins = null;
		if (navigator.plugins && navigator.plugins.length) {
			var detectPlugin = function(plugin_name) {
				var detected = false;
				for ( var i = 0, len = navigator.plugins.length; i < len; ++i) {
					if (navigator.plugins[i].name.indexOf(plugin_name) > -1) {
						detected = true;
						break
					}
				}
				return detected
			};
			var f4m = detectPlugin("Flip4Mac");
			var plugins = {
				fla :detectPlugin("Shockwave Flash"),
				qt :detectPlugin("QuickTime"),
				wmp :!f4m && detectPlugin("Windows Media"),
				f4m :f4m
			}
		} else {
			var detectPlugin = function(plugin_name) {
				var detected = false;
				try {
					var axo = new ActiveXObject(plugin_name);
					if (axo) {
						detected = true
					}
				} catch (e) {
				}
				return detected
			};
			var plugins = {
				fla :detectPlugin("ShockwaveFlash.ShockwaveFlash"),
				qt :detectPlugin("QuickTime.QuickTime"),
				wmp :detectPlugin("wmplayer.ocx"),
				f4m :false
			}
		}
		var apply = function(o, e) {
			for ( var p in e) {
				o[p] = e[p]
			}
			return o
		};
		var isLink = function(el) {
			return typeof el.tagName == "string"
					&& (el.tagName.toUpperCase() == "A" || el.tagName.toUpperCase() == "AREA")
		};
		SL.getViewportHeight = function() {
			var height = window.innerHeight;
			var mode = document.compatMode;
			if ((mode || isIE) && !isOpera) {
				height = isStrict ? document.documentElement.clientHeight
						: document.body.clientHeight
			}
			return height
		};
		SL.getViewportWidth = function() {
			var width = window.innerWidth;
			var mode = document.compatMode;
			if (mode || isIE) {
				width = isStrict ? document.documentElement.clientWidth
						: document.body.clientWidth
			}
			return width
		};
		SL.getDocumentHeight = function() {
			var scrollHeight = isStrict ? document.documentElement.scrollHeight
					: document.body.scrollHeight;
			return Math.max(scrollHeight, SL.getViewportHeight())
		};
		SL.getDocumentWidth = function() {
			var scrollWidth = isStrict ? document.documentElement.scrollWidth
					: document.body.scrollWidth;
			return Math.max(scrollWidth, SL.getViewportWidth())
		};
		var clearOpacity = function(el) {
			if (isIE) {
				if (typeof el.style.filter == "string"
						&& (/alpha/i).test(el.style.filter)) {
					el.style.filter = ""
				}
			} else {
				el.style.opacity = "";
				el.style["-moz-opacity"] = "";
				el.style["-khtml-opacity"] = ""
			}
		};
		var fadeIn = function(el, endingOpacity, duration, callback) {
			if (options.animate) {
				SL.setStyle(el, "opacity", 0);
				el.style.visibility = "visible";
				SL.animate(el, {
					opacity : {
						to :endingOpacity
					}
				}, duration, function() {
					if (endingOpacity == 1) {
						clearOpacity(el)
					}
					if (typeof callback == "function") {
						callback()
					}
				})
			} else {
				if (endingOpacity == 1) {
					clearOpacity(el)
				} else {
					SL.setStyle(el, "opacity", endingOpacity)
				}
				el.style.visibility = "visible";
				if (typeof callback == "function") {
					callback()
				}
			}
		};
		var fadeOut = function(el, duration, callback) {
			var cb = function() {
				el.style.visibility = "hidden";
				clearOpacity(el);
				if (typeof callback == "function") {
					callback()
				}
			};
			if (options.animate) {
				SL.animate(el, {
					opacity : {
						to :0
					}
				}, duration, cb)
			} else {
				cb()
			}
		};
		var appendHTML = function(el, html) {
			el = SL.get(el);
			if (el.insertAdjacentHTML) {
				el.insertAdjacentHTML("BeforeEnd", html);
				return el.lastChild
			}
			if (el.lastChild) {
				var range = el.ownerDocument.createRange();
				range.setStartAfter(el.lastChild);
				var frag = range.createContextualFragment(html);
				el.appendChild(frag);
				return el.lastChild
			} else {
				el.innerHTML = html;
				return el.lastChild
			}
		};
		var overwriteHTML = function(el, html) {
			el = SL.get(el);
			el.innerHTML = html;
			return el.firstChild
		};
		var getComputedHeight = function(el) {
			var h = Math.max(el.offsetHeight, el.clientHeight);
			if (!h) {
				h = parseInt(SL.getStyle(el, "height"), 10) || 0;
				if (!isBorderBox) {
					h += parseInt(SL.getStyle(el, "padding-top"), 10)
							+ parseInt(SL.getStyle(el, "padding-bottom"), 10)
							+ parseInt(SL.getStyle(el, "border-top-width"), 10)
							+ parseInt(SL.getStyle(el, "border-bottom-width"), 10)
				}
			}
			return h
		};
		var getComputedWidth = function(el) {
			var w = Math.max(el.offsetWidth, el.clientWidth);
			if (!w) {
				w = parseInt(SL.getStyle(el, "width"), 10) || 0;
				if (!isBorderBox) {
					w += parseInt(SL.getStyle(el, "padding-left"), 10)
							+ parseInt(SL.getStyle(el, "padding-right"), 10)
							+ parseInt(SL.getStyle(el, "border-left-width"), 10)
							+ parseInt(SL.getStyle(el, "border-right-width"), 10)
				}
			}
			return w
		};
		var getPlayerType = function(url) {
			if (RE.img.test(url)) {
				return "img"
			}
			var match = url.match(RE.domain);
			var this_domain = match ? document.domain == match[1] : false;
			if (url.indexOf("#") > -1 && this_domain) {
				return "inline"
			}
			var q_index = url.indexOf("?");
			if (q_index > -1) {
				url = url.substring(0, q_index)
			}
			if (RE.swf.test(url)) {
				return plugins.fla ? "swf" : "unsupported-swf"
			}
			if (RE.flv.test(url)) {
				return plugins.fla ? "flv" : "unsupported-flv"
			}
			if (RE.qt.test(url)) {
				return plugins.qt ? "qt" : "unsupported-qt"
			}
			if (RE.wmp.test(url)) {
				if (plugins.wmp) {
					return "wmp"
				} else {
					if (plugins.f4m) {
						return "qt"
					} else {
						return isMac ? (plugins.qt ? "unsupported-f4m"
								: "unsupported-qtf4m") : "unsupported-wmp"
					}
				}
			} else {
				if (RE.qtwmp.test(url)) {
					if (plugins.qt) {
						return "qt"
					} else {
						if (plugins.wmp) {
							return "wmp"
						} else {
							return isMac ? "unsupported-qt" : "unsupported-qtwmp"
						}
					}
				} else {
					if (!this_domain || RE.iframe.test(url)) {
						return "iframe"
					}
				}
			}
			return "unsupported"
		};
		var handleClick = function(ev) {
			var link;
			if (isLink(this)) {
				link = this
			} else {
				link = SL.getTarget(ev);
				while (!isLink(link) && link.parentNode) {
					link = link.parentNode
				}
			}
			Shadowbox.open(link);
			if (current_gallery.length) {
				SL.preventDefault(ev)
			}
		};
		var setupGallery = function(obj) {
			var copy = apply( {}, obj);
			if (!obj.gallery) {
				current_gallery = [ copy ];
				current = 0
			} else {
				current_gallery = [];
				var index, ci;
				for ( var i = 0, len = cache.length; i < len; ++i) {
					ci = cache[i];
					if (ci.gallery) {
						if (ci.content == obj.content && ci.gallery == obj.gallery
								&& ci.title == obj.title) {
							index = current_gallery.length
						}
						if (ci.gallery == obj.gallery) {
							current_gallery.push(apply( {}, ci))
						}
					}
				}
				if (index == null) {
					current_gallery.unshift(copy);
					index = 0
				}
				current = index
			}
			var match, r;
			for ( var i = 0, len = current_gallery.length; i < len; ++i) {
				r = false;
				if (current_gallery[i].type == "unsupported") {
					r = true
				} else {
					if (match = RE.unsupported.exec(current_gallery[i].type)) {
						if (options.handleUnsupported == "link") {
							current_gallery[i].type = "html";
							var m;
							switch (match[1]) {
							case "qtwmp":
								m = String.format(options.text.errors.either,
										options.errors.qt.url,
										options.errors.qt.name,
										options.errors.wmp.url,
										options.errors.wmp.name);
								break;
							case "qtf4m":
								m = String.format(options.text.errors.shared,
										options.errors.qt.url,
										options.errors.qt.name,
										options.errors.f4m.url,
										options.errors.f4m.name);
								break;
							default:
								if (match[1] == "swf" || match[1] == "flv") {
									match[1] = "fla"
								}
								m = String.format(options.text.errors.single,
										options.errors[match[1]].url,
										options.errors[match[1]].name)
							}
							current_gallery[i] = apply(current_gallery[i], {
								height :160,
								width :320,
								content :'<div class="shadowbox_message">' + m
										+ "</div>"
							})
						} else {
							r = true
						}
					} else {
						if (current_gallery[i].type == "inline") {
							var match = RE.inline.exec(current_gallery[i].content);
							if (match) {
								var el;
								if (el = SL.get(match[1])) {
									current_gallery[i].content = el.innerHTML
								} else {
									throw "No element found with id " + match[1]
								}
							} else {
								throw "No element id found for inline content"
							}
						}
					}
				}
				if (r) {
					current_gallery.splice(i, 1);
					if (i < current) {
						--current
					}
					--i
				}
			}
		};
		var buildBars = function() {
			var link = current_gallery[current];
			if (!link) {
				return
			}
			var title_i = SL.get("shadowbox_title_inner");
			title_i.innerHTML = (link.title) ? link.title : "";
			var tool_i = SL.get("shadowbox_toolbar_inner");
			tool_i.innerHTML = "";
			if (options.displayNav) {
				tool_i.innerHTML = String.format(options.skin.close,
						options.text.close);
				if (current_gallery.length > 1) {
					if (options.continuous) {
						appendHTML(tool_i, String.format(options.skin.next,
								options.text.next));
						appendHTML(tool_i, String.format(options.skin.prev,
								options.text.prev))
					} else {
						if ((current_gallery.length - 1) > current) {
							appendHTML(tool_i, String.format(options.skin.next,
									options.text.next))
						}
						if (current > 0) {
							appendHTML(tool_i, String.format(options.skin.prev,
									options.text.prev))
						}
					}
				}
			}
			if (current_gallery.length > 1 && options.displayCounter) {
				var counter = "";
				if (options.counterType == "skip") {
					for ( var i = 0, len = current_gallery.length; i < len; ++i) {
						counter += '<a href="javascript:Shadowbox.change(' + i + ');"';
						if (i == current) {
							counter += ' class="shadowbox_counter_current"'
						}
						counter += ">" + (i + 1) + "</a>"
					}
				} else {
					counter = (current + 1) + " of " + current_gallery.length
				}
				appendHTML(tool_i, String.format(options.skin.counter, counter))
			}
		};
		var hideBars = function(callback) {
			var title_m = getComputedHeight(SL.get("shadowbox_title"));
			var tool_m = 0 - getComputedHeight(SL.get("shadowbox_toolbar"));
			var title_i = SL.get("shadowbox_title_inner");
			var tool_i = SL.get("shadowbox_toolbar_inner");
			if (options.animate && callback) {
				SL.animate(title_i, {
					marginTop : {
						to :title_m
					}
				}, 0.2);
				SL.animate(tool_i, {
					marginTop : {
						to :tool_m
					}
				}, 0.2, callback)
			} else {
				SL.setStyle(title_i, "marginTop", title_m + "px");
				SL.setStyle(tool_i, "marginTop", tool_m + "px")
			}
		};
		var showBars = function(callback) {
			var title_i = SL.get("shadowbox_title_inner");
			if (options.animate) {
				if (title_i.innerHTML != "") {
					SL.animate(title_i, {
						marginTop : {
							to :0
						}
					}, 0.35)
				}
				SL.animate(SL.get("shadowbox_toolbar_inner"), {
					marginTop : {
						to :0
					}
				}, 0.35, callback)
			} else {
				if (title_i.innerHTML != "") {
					SL.setStyle(title_i, "margin-top", "0px")
				}
				SL.setStyle(SL.get("shadowbox_toolbar_inner"), "margin-top", "0px");
				callback()
			}
		};
		var resetDrag = function() {
			drag = {
				x :0,
				y :0,
				start_x :null,
				start_y :null
			}
		};
		var toggleDrag = function(on) {
			if (on) {
				resetDrag();
				var styles = [ "position:absolute",
						"cursor:" + (isGecko ? "-moz-grab" : "move") ];
				styles.push(isIE ? "background-color:#fff;filter:alpha(opacity=0)"
						: "background-color:transparent");
				appendHTML(
						"shadowbox_body_inner",
						'<div id="shadowbox_drag_layer" style="' + styles.join(";") + '"></div>');
				SL
						.addEvent(SL.get("shadowbox_drag_layer"), "mousedown",
								listenDrag)
			} else {
				var d = SL.get("shadowbox_drag_layer");
				if (d) {
					SL.removeEvent(d, "mousedown", listenDrag);
					SL.remove(d)
				}
			}
		};
		var listenDrag = function(ev) {
			drag.start_x = ev.clientX;
			drag.start_y = ev.clientY;
			draggable = SL.get("shadowbox_content");
			SL.addEvent(document, "mousemove", positionDrag);
			SL.addEvent(document, "mouseup", unlistenDrag);
			if (isGecko) {
				SL.setStyle(SL.get("shadowbox_drag_layer"), "cursor",
						"-moz-grabbing")
			}
		};
		var unlistenDrag = function() {
			SL.removeEvent(document, "mousemove", positionDrag);
			SL.removeEvent(document, "mouseup", unlistenDrag);
			if (isGecko) {
				SL.setStyle(SL.get("shadowbox_drag_layer"), "cursor", "-moz-grab")
			}
		};
		var positionDrag = function(ev) {
			var move_y = ev.clientY - drag.start_y;
			drag.start_y = drag.start_y + move_y;
			drag.y = Math.max(Math.min(0, drag.y + move_y), current_height
					- optimal_height);
			SL.setStyle(draggable, "top", drag.y + "px");
			var move_x = ev.clientX - drag.start_x;
			drag.start_x = drag.start_x + move_x;
			drag.x = Math.max(Math.min(0, drag.x + move_x), current_width
					- optimal_width);
			SL.setStyle(draggable, "left", drag.x + "px")
		};
		var loadContent = function() {
			var obj = current_gallery[current];
			if (!obj) {
				return
			}
			buildBars();
			switch (obj.type) {
			case "img":
				preloader = new Image();
				preloader.onload = function() {
					var h = obj.height ? parseInt(obj.height, 10)
							: preloader.height;
					var w = obj.width ? parseInt(obj.width, 10) : preloader.width;
					resizeContent(h, w,
							function(dims) {
								showBars( function() {
									setContent( {
										tag :"img",
										height :dims.i_height,
										width :dims.i_width,
										src :obj.content,
										style :"position:absolute"
									});
									if (dims.enableDrag
											&& options.handleLgImages == "drag") {
										toggleDrag(true);
										SL.setStyle(SL.get("shadowbox_drag_layer"),
												{
													height :dims.i_height + "px",
													width :dims.i_width + "px"
												})
									}
									finishContent()
								})
							});
					preloader.onload = function() {
					}
				};
				preloader.src = obj.content;
				break;
			case "swf":
			case "flv":
			case "qt":
			case "wmp":
				var markup = Shadowbox.movieMarkup(obj);
				resizeContent(markup.height, markup.width, function() {
					showBars( function() {
						setContent(markup);
						finishContent()
					})
				});
				break;
			case "iframe":
				var h = obj.height ? parseInt(obj.height, 10) : SL
						.getViewportHeight();
				var w = obj.width ? parseInt(obj.width, 10) : SL.getViewportWidth();
				var content = {
					tag :"iframe",
					allowtransparency :"1",
					name :"shadowbox_content",
					height :"100%",
					width :"100%",
					frameborder :"0",
					marginwidth :"0",
					marginheight :"0",
					scrolling :"auto"
				};
				resizeContent(
						h,
						w,
						function(dims) {
							showBars( function() {
								setContent(content);
								var win = (isIE) ? SL.get("shadowbox_content").contentWindow
										: window.frames["shadowbox_content"];
								win.location = obj.content;
								finishContent()
							})
						});
				break;
			case "html":
			case "inline":
				var h = obj.height ? parseInt(obj.height, 10) : SL
						.getViewportHeight();
				var w = obj.width ? parseInt(obj.width, 10) : SL.getViewportWidth();
				var content = {
					tag :"div",
					cls :"html",
					html :obj.content
				};
				resizeContent(h, w, function() {
					showBars( function() {
						setContent(content);
						finishContent()
					})
				});
				break;
			default:
				throw "Shadowbox cannot open content of type " + obj.type
			}
			if (current_gallery.length > 0) {
				var next = current_gallery[current + 1];
				if (!next) {
					next = current_gallery[0]
				}
				if (next.type == "img") {
					var preload_next = new Image();
					preload_next.src = next.href
				}
				var prev = current_gallery[current - 1];
				if (!prev) {
					prev = current_gallery[current_gallery.length - 1]
				}
				if (prev.type == "img") {
					var preload_prev = new Image();
					preload_prev.src = prev.href
				}
			}
		};
		var setContent = function(obj) {
			var id = "shadowbox_content";
			var content = SL.get(id);
			if (content) {
				switch (content.tagName.toUpperCase()) {
				case "OBJECT":
					var link = current_gallery[(obj ? current - 1 : current)];
					if (link.type == "wmp" && isIE) {
						try {
							shadowbox_content.controls.stop();
							shadowbox_content.URL = "non-existent.wmv";
							window.shadowbox_content = function() {
							}
						} catch (e) {
						}
					} else {
						if (link.type == "qt" && isSafari) {
							try {
								document.shadowbox_content.Stop()
							} catch (e) {
							}
							content.innerHTML = ""
						}
					}
					setTimeout( function() {
						SL.remove(content)
					}, 10);
					break;
				case "IFRAME":
					SL.remove(content);
					if (isGecko) {
						delete window.frames[id]
					}
					break;
				default:
					SL.remove(content)
				}
			}
			if (obj) {
				if (!obj.id) {
					obj.id = id
				}
				return appendHTML("shadowbox_body_inner", Shadowbox.createHTML(obj))
			}
			return null
		};
		var finishContent = function() {
			var obj = current_gallery[current];
			if (!obj) {
				return
			}
			hideLoading( function() {
				listenKeyboard(true);
				if (options.onFinish && typeof options.onFinish == "function") {
					options.onFinish(obj)
				}
			})
		};
		var resizeContent = function(height, width, callback) {
			optimal_height = height;
			optimal_width = width;
			var resizable = RE.resize.test(current_gallery[current].type);
			var dims = getDimensions(optimal_height, optimal_width, resizable);
			if (callback) {
				var cb = function() {
					callback(dims)
				};
				switch (options.animSequence) {
				case "hw":
					adjustHeight(dims.height, dims.top, true, function() {
						adjustWidth(dims.width, true, cb)
					});
					break;
				case "wh":
					adjustWidth(dims.width, true, function() {
						adjustHeight(dims.height, dims.top, true, cb)
					});
					break;
				default:
					adjustWidth(dims.width, true);
					adjustHeight(dims.height, dims.top, true, cb)
				}
			} else {
				adjustWidth(dims.width, false);
				adjustHeight(dims.height, dims.top, false);
				if (options.handleLgImages == "resize" && resizable) {
					var content = SL.get("shadowbox_content");
					if (content) {
						content.height = dims.i_height;
						content.width = dims.i_width
					}
				}
			}
		};
		var getDimensions = function(o_height, o_width, resizable) {
			if (typeof resizable == "undefined") {
				resizable = false
			}
			var height = o_height = parseInt(o_height);
			var width = o_width = parseInt(o_width);
			var shadowbox_b = SL.get("shadowbox_body");
			var view_height = SL.getViewportHeight();
			var extra_height = parseInt(SL
					.getStyle(shadowbox_b, "border-top-width"), 10)
					+ parseInt(SL.getStyle(shadowbox_b, "border-bottom-width"), 10)
					+ parseInt(SL.getStyle(shadowbox_b, "margin-top"), 10)
					+ parseInt(SL.getStyle(shadowbox_b, "margin-bottom"), 10)
					+ getComputedHeight(SL.get("shadowbox_title"))
					+ getComputedHeight(SL.get("shadowbox_toolbar"))
					+ (2 * options.viewportPadding);
			if ((height + extra_height) >= view_height) {
				height = view_height - extra_height
			}
			var view_width = SL.getViewportWidth();
			var extra_body_width = parseInt(SL.getStyle(shadowbox_b,
					"border-left-width"), 10)
					+ parseInt(SL.getStyle(shadowbox_b, "border-right-width"), 10)
					+ parseInt(SL.getStyle(shadowbox_b, "margin-left"), 10)
					+ parseInt(SL.getStyle(shadowbox_b, "margin-right"), 10);
			var extra_width = extra_body_width + (2 * options.viewportPadding);
			if ((width + extra_width) >= view_width) {
				width = view_width - extra_width
			}
			var enableDrag = false;
			var i_height = o_height;
			var i_width = o_width;
			var handle = options.handleLgImages;
			if (resizable && (handle == "resize" || handle == "drag")) {
				var change_h = (o_height - height) / o_height;
				var change_w = (o_width - width) / o_width;
				if (handle == "resize") {
					if (change_h > change_w) {
						width = Math.round((o_width / o_height) * height)
					} else {
						if (change_w > change_h) {
							height = Math.round((o_height / o_width) * width)
						}
					}
					i_width = width;
					i_height = height
				} else {
					var link = current_gallery[current];
					if (link) {
						enableDrag = link.type == "img"
								&& (change_h > 0 || change_w > 0)
					}
				}
			}
			return {
				height :height,
				width :width + extra_body_width,
				i_height :i_height,
				i_width :i_width,
				top :((view_height - (height + extra_height)) / 2)
						+ options.viewportPadding,
				enableDrag :enableDrag
			}
		};
		var centerVertically = function() {
			var shadowbox = SL.get("shadowbox");
			var scroll = document.documentElement.scrollTop;
			var s_top = scroll
					+ Math
							.round((SL.getViewportHeight() - (shadowbox.offsetHeight || 0)) / 2);
			SL.setStyle(shadowbox, "top", s_top + "px")
		};
		var adjustHeight = function(height, top, animate, callback) {
			height = parseInt(height);
			current_height = height;
			var sbi = SL.get("shadowbox_body_inner");
			if (animate && options.animate) {
				SL.animate(sbi, {
					height : {
						to :height
					}
				}, options.resizeDuration, callback)
			} else {
				SL.setStyle(sbi, "height", height + "px");
				if (typeof callback == "function") {
					callback()
				}
			}
			if (absolute_pos) {
				centerVertically();
				SL.addEvent(window, "scroll", centerVertically);
				top += document.documentElement.scrollTop
			}
			var shadowbox = SL.get("shadowbox");
			if (animate && options.animate) {
				SL.animate(shadowbox, {
					top : {
						to :top
					}
				}, options.resizeDuration)
			} else {
				SL.setStyle(shadowbox, "top", top + "px")
			}
		};
		var adjustWidth = function(width, animate, callback) {
			width = parseInt(width);
			current_width = width;
			var shadowbox = SL.get("shadowbox");
			if (animate && options.animate) {
				SL.animate(shadowbox, {
					width : {
						to :width
					}
				}, options.resizeDuration, callback)
			} else {
				SL.setStyle(shadowbox, "width", width + "px");
				if (typeof callback == "function") {
					callback()
				}
			}
		};
		var listenKeyboard = function(on) {
			if (!options.enableKeys) {
				return
			}
			if (on) {
				document.onkeydown = handleKey
			} else {
				document.onkeydown = ""
			}
		};
		var assertKey = function(valid, key, code) {
			return (valid.indexOf(key) != -1 || valid.indexOf(code) != -1)
		};
		var handleKey = function(e) {
			var code = e ? e.which : event.keyCode;
			var key = String.fromCharCode(code).toLowerCase();
			if (assertKey(options.keysClose, key, code)) {
				Shadowbox.close()
			} else {
				if (assertKey(options.keysPrev, key, code)) {
					Shadowbox.previous()
				} else {
					if (assertKey(options.keysNext, key, code)) {
						Shadowbox.next()
					}
				}
			}
		};
		var toggleTroubleElements = function(on) {
			var vis = (on ? "visible" : "hidden");
			var selects = document.getElementsByTagName("select");
			for (i = 0, len = selects.length; i < len; ++i) {
				selects[i].style.visibility = vis
			}
			var objects = document.getElementsByTagName("object");
			for (i = 0, len = objects.length; i < len; ++i) {
				objects[i].style.visibility = vis
			}
			var embeds = document.getElementsByTagName("embed");
			for (i = 0, len = embeds.length; i < len; ++i) {
				embeds[i].style.visibility = vis
			}
		};
		var showLoading = function() {
			var loading = SL.get("shadowbox_loading");
			overwriteHTML(loading, String.format(options.skin.loading,
					options.assetURL + options.loadingImage, options.text.loading,
					options.text.cancel));
			loading.style.visibility = "visible"
		};
		var hideLoading = function(callback) {
			var t = current_gallery[current].type;
			var anim = (t == "img" || t == "html");
			var loading = SL.get("shadowbox_loading");
			if (anim) {
				fadeOut(loading, 0.35, callback)
			} else {
				loading.style.visibility = "hidden";
				callback()
			}
		};
		var resizeOverlay = function() {
			var overlay = SL.get("shadowbox_overlay");
			SL.setStyle(overlay, {
				height :"100%",
				width :"100%"
			});
			SL.setStyle(overlay, "height", SL.getDocumentHeight() + "px");
			if (!isSafari3) {
				SL.setStyle(overlay, "width", SL.getDocumentWidth() + "px")
			}
		};
		var checkOverlayImgNeeded = function() {
			if (!(isGecko && isMac)) {
				return false
			}
			for ( var i = 0, len = current_gallery.length; i < len; ++i) {
				if (!RE.overlay.exec(current_gallery[i].type)) {
					return true
				}
			}
			return false
		};
		var toggleOverlay = function(callback) {
			var overlay = SL.get("shadowbox_overlay");
			if (overlay_img_needed == null) {
				overlay_img_needed = checkOverlayImgNeeded()
			}
			if (callback) {
				resizeOverlay();
				if (overlay_img_needed) {
					SL.setStyle(overlay, {
						visibility :"visible",
						backgroundColor :"transparent",
						backgroundImage :"url(" + options.assetURL
								+ options.overlayBgImage + ")",
						backgroundRepeat :"repeat",
						opacity :1
					});
					callback()
				} else {
					SL.setStyle(overlay, {
						visibility :"visible",
						backgroundColor :options.overlayColor,
						backgroundImage :"none"
					});
					fadeIn(overlay, options.overlayOpacity, options.fadeDuration,
							callback)
				}
			} else {
				if (overlay_img_needed) {
					SL.setStyle(overlay, "visibility", "hidden")
				} else {
					fadeOut(overlay, options.fadeDuration)
				}
				overlay_img_needed = null
			}
		};
		Shadowbox.init = function(opts) {
			if (initialized) {
				return
			}
			options = apply(options, opts || {});
			//appendHTML(document.body, options.skin.main);
			RE.img = new RegExp(".(" + options.ext.img.join("|") + ")s*$", "i");
			RE.qt = new RegExp(".(" + options.ext.qt.join("|") + ")s*$", "i");
			RE.wmp = new RegExp(".(" + options.ext.wmp.join("|") + ")s*$", "i");
			RE.qtwmp = new RegExp(".(" + options.ext.qtwmp.join("|") + ")s*$", "i");
			RE.iframe = new RegExp(".(" + options.ext.iframe.join("|") + ")s*$",
					"i");
			var id = null;
			var resize = function() {
				clearInterval(id);
				id = null;
				resizeOverlay();
				resizeContent(optimal_height, optimal_width)
			};
			SL.addEvent(window, "resize", function() {
				if (activated) {
					if (id) {
						clearInterval(id);
						id = null
					}
					if (!id) {
						id = setInterval(resize, 50)
					}
				}
			});
			if (options.listenOverlay) {
				SL.addEvent(SL.get("shadowbox_overlay"), "click", Shadowbox.close)
			}
			if (absolute_pos) {
				SL.setStyle(SL.get("shadowbox_container"), "position", "absolute");
				SL.setStyle("shadowbox_body", "zoom", 1);
				SL.addEvent(SL.get("shadowbox_container"), "click", function(e) {
					var target = SL.getTarget(e);
					if (target.id && target.id == "shadowbox_container") {
						Shadowbox.close()
					}
				})
			}
			if (!options.skipSetup) {
				Shadowbox.setup()
			}
			initialized = true
		};
		Shadowbox.setup = function(links, opts) {
			if (!links) {
				var links = [];
				var isrelsuivi = [];
				var a = document.getElementsByTagName("a"), rel;
				var b = document.getElementsByTagName("a"), relsuivi;
				
				for ( var i = 0, len = a.length; i < len; ++i) {
					rel = a[i].getAttribute("rel");
					relsuivi = b[i].getAttribute("relsuivi");
					isrelsuivi[links.length] = relsuivi;
					if (rel && RE.rel.test(rel)) {
						links[links.length] = a[i]
					}
				}
			} else {
				if (!links.length) {
					links = [ links ]
				}
			}
			var link;
			var islinksuivi;
			for ( var i = 0, len = links.length; i < len; ++i) {
				link = links[i];
				islinksuivi = isrelsuivi[i];
				if (typeof link.shadowboxCacheKey == "undefined") {
					link.shadowboxCacheKey = cache.length;
					SL.addEvent(link, "click", handleClick)
				}
				cache[link.shadowboxCacheKey] = this.buildCacheObj(link, opts, islinksuivi)
			}
		};
		Shadowbox.buildCacheObj = function(link, opts, islinksuivi) {
			var href = link.href;

			if(!islinksuivi)
			{
				if($$('.pageProOrange') != "")
						href = '/rebranding2008/html/pop_pro_bienvenue.html?link='+URLEncode(href);
				else
						href = '/rebranding2008/html/pop_par_bienvenue.html?link='+URLEncode(href);
			}
					
			var o = {
				el :link,
				title :link.getAttribute("title"),
				type :getPlayerType(href),
				options :apply( {}, opts || {}),
				content :href
			};
			var opt, l_opts = [ "title", "type", "height", "width", "gallery" ];
			for ( var i = 0, len = l_opts.length; i < len; ++i) {
				opt = l_opts[i];
				if (typeof o.options[opt] != "undefined") {
					o[opt] = o.options[opt];
					delete o.options[opt]
				}
			}
			var rel = link.getAttribute("rel");
			if (rel) {
				var match = rel.match(RE.gallery);
				if (match) {
					o.gallery = escape(match[2])
				}
				var params = rel.split(";");
				for ( var i = 0, len = params.length; i < len; ++i) {
					match = params[i].match(RE.param);
					if (match) {
						if (match[1] == "options") {
							eval("o.options = apply(o.options, " + match[2] + ")")
						} else {
							o[match[1]] = match[2]
						}
					}
				}
			}
			return o
		};
		Shadowbox.applyOptions = function(opts) {
			if (opts) {
				default_options = apply( {}, options);
				options = apply(options, opts)
			}
		};
		Shadowbox.revertOptions = function() {
			if (default_options) {
				options = default_options;
				default_options = null
			}
		};
		Shadowbox.open = function(obj, opts) {
			if (activated) {
				return
			}
			activated = true;
			if (isLink(obj)) {
				if (typeof obj.shadowboxCacheKey == "undefined"
						|| typeof cache[obj.shadowboxCacheKey] == "undefined") {
					obj = this.buildCacheObj(obj, opts)
				} else {
					obj = cache[obj.shadowboxCacheKey]
				}
			}
			this.revertOptions();
			if (obj.options || opts) {
				this.applyOptions(apply(apply( {}, obj.options || {}), opts || {}))
			}
			setupGallery(obj);
			if (current_gallery.length) {
				if (options.onOpen && typeof options.onOpen == "function") {
					options.onOpen(obj)
				}
				SL.setStyle(SL.get("shadowbox"), "display", "block");
				toggleTroubleElements(false);
				var dims = getDimensions(options.initialHeight,
						options.initialWidth);
				adjustHeight(dims.height, dims.top);
				adjustWidth(dims.width);
				hideBars(false);
				toggleOverlay( function() {
					SL.setStyle(SL.get("shadowbox"), "visibility", "visible");
					showLoading();
					loadContent()
				})
			}
		};
		Shadowbox.change = function(num) {
			if (!current_gallery) {
				return
			}
			if (!current_gallery[num]) {
				if (!options.continuous) {
					return
				} else {
					num = (num < 0) ? (current_gallery.length - 1) : 0
				}
			}
			current = num;
			toggleDrag(false);
			setContent(null);
			listenKeyboard(false);
			if (options.onChange && typeof options.onChange == "function") {
				options.onChange(current_gallery[current])
			}
			showLoading();
			hideBars(loadContent)
		};
		Shadowbox.next = function() {
			return this.change(current + 1)
		};
		Shadowbox.previous = function() {
			return this.change(current - 1)
		};
		Shadowbox.close = function() {
			if (!activated) {
				return
			}
			listenKeyboard(false);
			SL.setStyle(SL.get("shadowbox"), {
				display :"none",
				visibility :"hidden"
			});
			if (absolute_pos) {
				SL.removeEvent(window, "scroll", centerVertically)
			}
			toggleDrag(false);
			setContent(null);
			if (preloader) {
				preloader.onload = function() {
				};
				preloader = null
			}
			toggleOverlay(false);
			toggleTroubleElements(true);
			if (options.onClose && typeof options.onClose == "function") {
				options.onClose(current_gallery[current])
			}
			activated = false
		};
		Shadowbox.clearCache = function() {
			for ( var i = 0, len = cache.length; i < len; ++i) {
				if (cache[i].el) {
					SL.removeEvent(cache[i].el, "click", handleClick);
					delete cache[i].shadowboxCacheKey
				}
			}
			cache = []
		};
		Shadowbox.movieMarkup = function(obj) {
			var h = obj.height ? parseInt(obj.height, 10) : 300;
			var w = obj.width ? parseInt(obj.width, 10) : 300;
			var autoplay = options.autoplayMovies;
			var controls = options.showMovieControls;
			if (obj.options) {
				if (obj.options.autoplayMovies != null) {
					autoplay = obj.options.autoplayMovies
				}
				if (obj.options.showMovieControls != null) {
					controls = obj.options.showMovieControls
				}
			}
			var markup = {
				tag :"object",
				name :"shadowbox_content"
			};
			switch (obj.type) {
			case "swf":
				var dims = getDimensions(h, w, true);
				h = dims.height;
				w = dims.width;
				markup.type = "application/x-shockwave-flash";
				markup.data = obj.content;
				markup.children = [ {
					tag :"param",
					name :"movie",
					value :obj.content
				} ];
				break;
			case "flv":
				autoplay = autoplay ? "true" : "false";
				var showicons = "false";
				var a = h / w;
				if (controls) {
					showicons = "true";
					h += 20
				}
				var dims = getDimensions(h, h / a, true);
				h = dims.height;
				w = (h - (controls ? 20 : 0)) / a;
				var flashvars = [ "file=" + obj.content, "height=" + h,
						"width=" + w, "autostart=" + autoplay,
						"displayheight=" + (h - (controls ? 20 : 0)),
						"showicons=" + showicons,
						"backcolor=0x000000&amp;frontcolor=0xCCCCCC&amp;lightcolor=0x557722" ];
				markup.type = "application/x-shockwave-flash";
				markup.data = options.assetURL + options.flvPlayer;
				markup.children = [ {
					tag :"param",
					name :"movie",
					value :options.assetURL + options.flvPlayer
				}, {
					tag :"param",
					name :"flashvars",
					value :flashvars.join("&amp;")
				}, {
					tag :"param",
					name :"allowfullscreen",
					value :"true"
				} ];
				break;
			case "qt":
				autoplay = autoplay ? "true" : "false";
				if (controls) {
					controls = "true";
					h += 16
				} else {
					controls = "false"
				}
				markup.children = [ {
					tag :"param",
					name :"src",
					value :obj.content
				}, {
					tag :"param",
					name :"scale",
					value :"aspect"
				}, {
					tag :"param",
					name :"controller",
					value :controls
				}, {
					tag :"param",
					name :"autoplay",
					value :autoplay
				} ];
				if (isIE) {
					markup.classid = "clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B";
					markup.codebase = "http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0"
				} else {
					markup.type = "video/quicktime";
					markup.data = obj.content
				}
				break;
			case "wmp":
				autoplay = autoplay ? 1 : 0;
				markup.children = [ {
					tag :"param",
					name :"autostart",
					value :autoplay
				} ];
				if (isIE) {
					if (controls) {
						controls = "full";
						h += 70
					} else {
						controls = "none"
					}
					markup.classid = "clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6";
					markup.children[markup.children.length] = {
						tag :"param",
						name :"url",
						value :obj.content
					};
					markup.children[markup.children.length] = {
						tag :"param",
						name :"uimode",
						value :controls
					}
				} else {
					if (controls) {
						controls = 1;
						h += 45
					} else {
						controls = 0
					}
					markup.type = "video/x-ms-wmv";
					markup.data = obj.content;
					markup.children[markup.children.length] = {
						tag :"param",
						name :"showcontrols",
						value :controls
					}
				}
				break
			}
			markup.height = h;
			markup.width = w;
			return markup
		};
		Shadowbox.createHTML = function(obj) {
			var html = "<" + obj.tag;
			for ( var attr in obj) {
				if (attr == "tag" || attr == "html" || attr == "children") {
					continue
				}
				if (attr == "cls") {
					html += ' class="' + obj["cls"] + '"'
				} else {
					html += " " + attr + '="' + obj[attr] + '"'
				}
			}
			if (RE.empty.test(obj.tag)) {
				html += "/>\n"
			} else {
				html += ">\n";
				var cn = obj.children;
				if (cn) {
					for ( var i = 0, len = cn.length; i < len; ++i) {
						html += this.createHTML(cn[i])
					}
				}
				if (obj.html) {
					html += obj.html
				}
				html += "</" + obj.tag + ">\n"
			}
			return html
		};
		Shadowbox.getPlugins = function() {
			return plugins
		};
		Shadowbox.getOptions = function() {
			return options
		};
		Shadowbox.getCurrent = function() {
			return current_gallery[current]
		};
		Shadowbox.getVersion = function() {
			return version
		}
	})();
	Array.prototype.indexOf = Array.prototype.indexOf || function(C) {
		for ( var B = 0, A = this.length; B < A; ++B) {
			if (this[B] == C) {
				return B
			}
		}
		return -1
	};
	String.format = String.format || function(B) {
		var A = Array.prototype.slice.call(arguments, 1);
		return B.replace(/\{(\d+)\}/g, function(C, D) {
			return A[D]
		})
	}