/*
	Slimbox v1.71 - The ultimate lightweight Lightbox clone
	(c) 2007-2009 Christophe Beyls <http://www.digitalia.be>
	MIT-style license.
*/
var Slimbox	=	(function(){
						  var n=Browser.Engine.trident4,u,g,G=-1,o,w,E,v,y,M,s,m={},t=new Image(),K=new Image(),I,a,h,q,J,e,H,c,A,L,x,i,d,C;
						  window.addEvent("domready",function() {
								$(document.body).adopt($$(
																					   I=new Element("div",{id:"lbOverlay",events:{click:D}}),
																					   a=new Element("div",{id:"lbCenter"}),
																					   H=new Element("div",{id:"lbBottomContainer"})).setStyle("display","none"));
																					 h=new Element("div",{id:"lbImage"}).injectInside(a).adopt(q=new Element("div",{styles:{position:"relative"}}).adopt(J=new Element("a",{id:"lbPrevLink",href:"#",events:{click:B}}),e=new Element("a",{id:"lbNextLink",href:"#",events:{click:f}})));
																					 c=new Element("div",{id:"lbBottom"}).injectInside(H).adopt(new Element("a",{id:"lbCloseLink",href:"#",events:{click:D}}),A=new Element("div",{id:"lbCaption"}),L=new Element("div",{id:"lbNumber"}),new Element("div",{styles:{clear:"both"}}))});
						  function z()
						  {
							  var N=window.getScroll(),O=window.getSize();
							  $$(a,H).setStyle("left",N.x+(O.x/2));
							  if(v)
							  {
								  I.setStyles({left:N.x,top:N.y,width:O.x,height:O.y});
							  }
						   }
						  
						  function l(N)
						  {
							  ["object",n?"select":"embed"].forEach(function(P){Array.forEach(document.getElementsByTagName(P),function(Q){if(N){Q._slimbox=Q.style.visibility}Q.style.visibility=N?"hidden":Q._slimbox})});
							  I.style.display=N?"":"none";
							  var O=N?"addEvent":"removeEvent";
							  window[O]("scroll",z)[O]("resize",z);
							  document[O]("keydown",p)
						  }
						  
						  function p(O)
						  {
							  var N=O.code;
							  return u.closeKeys.contains(N)?D():u.nextKeys.contains(N)?f():u.previousKeys.contains(N)?B():false;
						  }
						  
						  function B()
						  {
							  return b(w);
						  }
						  
						  function f()
						  {
							  return b(E);
						  }
						  
						  function b(N)
						  {
							  if(N>=0)
							  {
								  G=N;
								  o=g[N][0];
								  w=(G||(u.loop?g.length:0))-1;
								  E=((G+1)%g.length)||(u.loop?0:-1);
								  r();
								  a.className="lbLoading";
								  m=new Image();
								  m.onload=k;m.src=o;
							  }
							  return false;
						  }
						  function k()
						  {
							  
							  a.className="";
							  d.set(0);
							  h.setStyles({backgroundImage:"url("+o+")",display:""});
   							  q.setStyle("width",m.width);
							  $$(q,J,e).setStyle("height",m.height);
							 A.set("html",g[G][1]||"");	// Titre
							  L.set("html",(((g.length>1)&&u.counterText)||"").replace(/{x}/,G+1).replace(/{y}/,g.length)); // Sous titre
							  
							  
							  if(w>=0)
							  {
								  t.src=g[w][0];
							  }
							  if(E>=0)
							  {
								  K.src=g[E][0];
							  }
							  M=h.offsetWidth;
							  s=h.offsetHeight;
							  var P=Math.max(0,y-(s/2)),N=0,O;
						  	  
							  if(a.offsetHeight!=s)
							  {
								  N=i.start({height:s,top:P});
							  }
							
							  if(a.offsetWidth!=M)
							  {
								  N=i.start({width:M,marginLeft:-M/2});
							  }
							  
							  O=function()
							  	{
									H.setStyles({width:M,top:P+s,marginLeft:-M/2,visibility:"hidden",display:""});
		   						    d.start(1);
								};
							  
							  if(N)
							  {
								  //alert(O);
								  i.chain(O);
							  }
							  else
							  {
								  O();
							  }
						}
						
						function j()
						{
							if(w>=0)
							{
								J.style.display="";
							}
						  	if(E>=0)
							{
								e.style.display="";
							}
						  	C.set(-c.offsetHeight).start(0);
						  	H.style.visibility="";
						}
						  
						function r()
						{
							m.onload=$empty;
							m.src=t.src=K.src=o;
							i.cancel();
							d.cancel();
							C.cancel();
							$$(J,e,h,H).setStyle("display","none")
						}
						
						function D()
						{
							if(G>=0)
							{
								r();
								G=w=E=-1;
								a.style.display="none";
								x.cancel().chain(l).start(0)
							}
							return false
						}
						
						  Element.implement({slimbox:function(N,O){$$(this).slimbox(N,O);return this}});
						  Elements.implement({slimbox:function(N,Q,P){Q=Q||function(R){return[R.href,R.title]};P=P||function(){return true};var O=this;O.removeEvents("click").addEvent("click",function(){var R=O.filter(P,this);return Slimbox.open(R.map(Q),R.indexOf(this),N)});return O}});
						  return{open:function(P,O,N){u=$extend({loop:false,overlayOpacity:0.8,overlayFadeDuration:400,resizeDuration:400,resizeTransition:false,initialWidth:250,initialHeight:250,imageFadeDuration:400,captionAnimationDuration:400,counterText:"Image {x} of {y}",closeKeys:[27,88,67],previousKeys:[37,80],nextKeys:[39,78]},N||{});
						  x=new Fx.Tween(I,{property:"opacity",duration:u.overlayFadeDuration});
						  i=new Fx.Morph(a,$extend({duration:u.resizeDuration,link:"chain"},u.resizeTransition?{transition:u.resizeTransition}:{}));
						  d=new Fx.Tween(h,{property:"opacity",duration:u.imageFadeDuration,onComplete:j});
						  C=new Fx.Tween(c,{property:"margin-top",duration:u.captionAnimationDuration});
						  if(typeof P=="string")
						  {
							  P=[[P,O]];
							  O=0
						}
						y=window.getScrollTop()+(window.getHeight()/2);
						M=u.initialWidth;
						s=u.initialHeight;
						a.setStyles({top:Math.max(0,y-(s/2)),width:M,height:s,marginLeft:-M/2,display:""});
						v=n||(I.currentStyle&&(I.currentStyle.position!="fixed"));
						if(v){I.style.position="absolute"}
						x.set(0).start(u.overlayOpacity);
						z();l(1);
						g=P;
						u.loop=u.loop&&(g.length>1);
						return b(O)}}})();

// AUTOLOAD CODE BLOCK (MAY BE CHANGED OR REMOVED)
Slimbox.scanPage = function() {
	$$("a").filter(function(el) {
		return el.rel && el.rel.test(/^lightbox/i);
	}).slimbox({/* Put custom options here */}, null, function(el) {
		return (this == el) || ((this.rel.length > 8) && (this.rel == el.rel));
	});
};
if (!/android|iphone|ipod|series60|symbian|windows ce|blackberry/i.test(navigator.userAgent)) {
	window.addEvent("domready", Slimbox.scanPage);
}
