﻿var Site = {
	
	start: function() {

		// let's adjust height///
		window.addEvent('resize', function() {
			Site.SetBodyHeader();
		});
		Site.SetBodyHeader();
		var pages=$('innersider').getElements('div');

		if($('splash')) {
			//var Splash = new SplashShrimp($('splash'));
			//Site.SplashShrimp();
		}
		else if(pages.length==5) {
			Site.PlayShrimp();
		}
		else {
			Site.LoadShrimp();
		}
		if($('references')) {
			if($('references').hasClass('loaded')) 
				Site.Init_PageRef();
		}
		if($('prestations')) {
			if($('prestations').hasClass('loaded')) 
				Site.Init_PagePrest();
		}
		//Site.rollskip();
		$$('a.boxed').slimbox();
		SqueezeBox.assign($$('a.frameboxed'), {
			parse : 'rel'
		});

	},

	rollskip : function() {
		var imgs=$$('img.roolskip');
		var Over='_on';
		var Off='_off';
		imgs.each(function(item) {
			item.addEvents({
				'mouseover' : function() {
					this.src=this.src.replace(Off, Over);
				},
				'mouseleave': function() {
					this.src=this.src.replace(Over, Off);
				}
			});
		});
	},
	
	SetBodyHeader : function() {
		// header & footer min-heigh => 10 px;
		// extra space need to center 582 px header
		// to keep footer bottom we need to inject 
		
		var mywindow = $(document.body).getCoordinates(), wrapdime= $('wrap').getCoordinates(), underdime= $('underheader').getSize(),  contdime= $('container').getSize();
		var footerdime= $('bodyfooter').getCoordinates();
		var WinCenterPoint=Math.ceil(mywindow.height/2);
		var WrapCenterPoint=Math.ceil(582/2);

		if(WinCenterPoint>WrapCenterPoint) {
			// let's center this wrap div
			var wraptopos=Math.ceil(WinCenterPoint-WrapCenterPoint);
			var wrapheight=582+wraptopos-(footerdime.height+20);
			// let's convert to %
			var headerheightpc= Math.floor((wraptopos*100)/mywindow.height);
			var wrapheightpc = Math.floor((wrapheight*100)/mywindow.height);
			var BodyHeaderFx = new Fx.Morph('bodyheader', {unit:'%', duration:500, onStart: function() {
				$('wrap').setStyle('height', wrapheightpc+ '%');
				$('main').setStyle('height', '100%');
			}, transition:Fx.Transitions.Expo.easeOut});
			BodyHeaderFx.start({
				'height':headerheightpc
			});
		}
	},

	toggleLogo : function(logotype) {

		// let's check what we have
		var logosrc=logotype.get('src');
		var path='/tpl/myriad/img/';
		if(logosrc==path+'la-crevette-grise-splash.png') {
			var src='la-crevette-grise.png';
		}
		else if(logosrc==path+'la-crevette-grise-alternate.png') {
			var src='la-crevette-grise.png';
		}
		else {
			var src='la-crevette-grise-alternate.png';
		}
		var MyLogFxFadeOut = new Fx.Morph(logotype, {
			duration: 750,
			transition: Fx.Transitions.Cubic.easeOut
			}
		);
		var MyLogFxFadeIn = new Fx.Morph(logotype, {
			duration: 750,
			transition: Fx.Transitions.Cubic.easeOut,
			onChainComplete: function() {
				MyLogFxFadeOut.start({
					'opacity' : 1
				});
			}
		});
		MyLogFxFadeIn.start({
			'opacity' : 0
		}).chain(function(){
			logotype.set({
				'src' :path+src
			});
		});
	},

	addUrl: function() {
		var loaders = $$('a');
		
		loaders.each(function(el, i){
			el.addEvent('click', function(e) {
				// let's check if the link is outside the scope of the domain
				var elhref=el.get('href');
				if (elhref.indexOf('/accueil/')==0) {
					e.stop();
				}
			});
		}, this);
	},

	GetPointer : function (blocks, match) {
		for(var i=0;i<blocks.length;i++){
			var blockid=blocks[i].get('id');
			if(blockid==match){
				var pointer=i;
				break;
			} 
		}
		return (pointer);
	
	},

	LoadShrimp : function (from) {

		var ajaxCss = new Asset.css('/tpl/myriad/css/page_ajax.css', {'id':'ajaxcss'});
		var Preloads = new Asset.images([
			'/tpl/myriad/img/la-crevette-grise.png',
			'/tpl/myriad/img/la-crevette-grise-alternate.png'
			]);
		var liloaders = $$('li.tab'), req = new Array();
		// two case on page load ... so a block exist and we must inject div in the right position
		var block = $('innersider').getFirst('div').get('id');
		if(block!='splash') {
			var blockclass=block;
			var refblock='accueil';
			var i=0;
			liloaders.each(function(liload, i) {
				var elhref=liload.getElement('a').get('href');
				var elclass=liload.get('class');
				var divid=elclass.replace(new RegExp('(^|\\s)' + 'tab' + '(?:\\s|$)'), '$1').clean();
				if(blockclass!=divid) {
					// block is not existing let's create then inject
					if (i==0) {
						var newdiv=  new Element('div', {'id': divid, 'class' : 'content initnext blockloading' });
						newdiv.inject($('innersider'), 'top');
					}
					else  {
						var newdiv=  new Element('div', {'id': divid, 'class' : 'content initnext' });
						if (i==(liloaders.length-1)) {
							newdiv.inject($('innersider'), 'bottom');
						}
						else {
							newdiv.inject($(refblock), 'after');
						}
					}
					refblock=divid;
				}
				else {
					refblock= blockclass;
				}
				i++;
			});
			liloaders.each(function(li) {
				var elhref=li.getElement('a').get('href');
				var elclass=li.get('class');
				if (elhref.indexOf('/')==0) {
					if(li.getElement('a').hasClass('active')==false) {
						// let's load the page
						var uri=elhref+'?ajax=true';
						var divid=elclass.replace(new RegExp('(^|\\s)' + 'tab' + '(?:\\s|$)'), '$1').clean();
						var request = new Request.HTML({url:uri, 
							evalScripts:true,
							onSuccess: function() {
							},
							onComplete : function(html) {
								Site.SetPanes(html, divid );
							},
							onFailure: function() {
								$(divid).set('text', 'Une erreur est survenue. Veuillez essayer a nouveau');
							}
						});
						req.push(request);
					}
				}
			});
		}
		// or after splash page... no block so let's inject...
		else {
			liloaders.each(function(liload) {
				var elhref=liload.getElement('a').get('href');
				var elclass=liload.get('class');
				if (elhref.indexOf('/')==0) {
					// let's load the page
					var divid=elclass.replace(new RegExp('(^|\\s)' + 'tab' + '(?:\\s|$)'), '$1').clean();
					var newdiv=  new Element('div', {'id': divid, 'class' : 'content initnext' });
					newdiv.inject($('innersider'));
				}
			});
			liloaders.each(function(li) {
				var elhref=li.getElement('a').get('href');
				var elclass=li.get('class');
				if (elhref.indexOf('/')==0) {
					// let's load the page
					var uri=elhref+'?ajax=true';
					var divid=elclass.replace(new RegExp('(^|\\s)' + 'tab' + '(?:\\s|$)'), '$1').clean();
					var request = new Request.HTML({url:uri, 
						evalScripts:true,
						onSuccess: function() {
						},
						onComplete : function(html) {
							Site.SetPanes(html, divid );
						},
						onFailure: function() {
							$(divid).set('text', 'Une erreur est survenue. Veuillez essayer a nouveau');
						}
					});
					req.push(request);
				}
			});
		}
		// all request has been built
		var reqGroup= new Group(req);
		reqGroup.addEvent('onComplete', function(){
			Site.InitLoading();
			if(from=='splash') {
				return ('complete');
			} 
		});
		req.each(function(request, i) {
			request.send();
		});
	},

	InitLoading: function() {
		Site.MarkBlocks();
		//sIFR.replaceElement(".content h2", named({sFlashSrc: "/tpl/myriad/swf/sifr.swf", sColor: "#333333"}));
		Slimbox.scanPage();
		Site.Init_PagePrest();
		Site.Init_PageRef();
		Site.PlayShrimp();
	},

	MarkBlocks: function () {
		var blocks = $('innersider').getChildren('div');
		blocks.each(function(block, k){
			block.removeClass('blockloading');
			block.addClass('loaded');
		});
	},
	
	SetPanes : function(html, divid) {
		// let's try to know when last req will be completed ..
		$(divid).adopt(html);
	},
	
	PlayShrimp : function () {

		/* todos :
		1 - window onresize catch leftpos !
		*/
		// let's load all blocks
		var blocks = $('innersider').getChildren('div');
		var refblock = null;
		// and set them all 
		blocks.each(function(block, k){
			if(block.hasClass('initnext')==false) {
				refblock=block.get('id');
				blockpos=block.getPosition();
				block.addClass('runner');
				block.setStyles({
					'left' : 0,
					'margin-left' :0,
					'opacity' :1
				});
			}
		});

		var leftpos= blockpos.x;
		if (refblock!='prestations') {
			$('hider').setStyle('top' , '108px');
		}
		
		var loaders = $$('li.tab a', '#accueil ul#roller li a');
		loaders.each(function(el) {
			el.addEvent('click', function(e) {
				// let's check if internal links
				
				var elhref=el.get('href');
				if (elhref.indexOf('/')==0) {
					e.stop();
					var logotype=$('logotype');
					var logosrc=logotype.get('src');
					var ContainerFx = new Fx.Morph('container', {duration:1000, transition:Fx.Transitions.Expo.easeOut});
					var HeaderFx = new Fx.Morph('header', {duration:1500, transition:Fx.Transitions.Expo.easeOut});

					if(el.hasClass('active') && elhref=='/accueil/') {
						return;
					}

					//1 - set class active
					loaders.each(function(ele, j){
						if(ele.hasClass('active'))
							ele.removeClass('active');
					});
					el.addClass('active');
					// two different animations according to height content
					if (elhref=='/accueil/') {
						// home page has been ask...
						//2 - let's check logo src
						if(logosrc!='/tpl/myriad/img/la-crevette-grise.png') {
							Site.toggleLogo(logotype);
						}
						// let's find current pane to be hided
						var current=$$('.runner');
						var currentid=current[0].get('id');

						// let's reduce the header
						var ShowFx = new Fx.Morph('accueil', {duration:750, transition:Fx.Transitions.Quint.easeIn});
						var HideFx = new Fx.Morph($(currentid), {duration:750, transition:Fx.Transitions.Quint.easeIn});

						ShowFx.start({
							'opacity':1,
							'margin-left':0,
							'left': leftpos
						});
						HideFx.start({
							'opacity':0,
							'left':3000,
							'margin-left':999
						}).chain(function() {
							ContainerFx.start({
								'height' : 205
							});
							HeaderFx.start({
								'margin-top' : 130
							}).start({
								'opacity' :1
							})
							});
						$(currentid).removeClass('runner').addClass('next');
						$('accueil').addClass('runner');
					} // end if home page
					else {
						//2 - let's check logo src
						if(logosrc!='/tpl/myriad/img/la-crevette-grise-alternate.png') {
							Site.toggleLogo(logotype);
						}
						// let's move the header and resize the content
						var header= $('header');
						var headermt = header.getStyle('margin-top');
						if(headermt=='130px') {
							// let's move and resize
							HeaderFx.start({
								'margin-top' : 0
							});
							ContainerFx.start({
								'height' : 335
							});
						}
						// let's find current pane to be hided
						var current=$$('.runner');
						var currentid=current[0].get('id');
						// let's find which pane is going to be displayed
						var hrefarray=(elhref.split("/"));
						if(hrefarray.length>3){
							var divtoshow= hrefarray[1];
						}
						else {
							var divtoshow= elhref.substring(elhref.length-1, 1);
						}
						// do we need to move left or right ?
						var pointer = Site.GetPointer(blocks, currentid);
						var divtoshownr = Site.GetPointer(blocks, divtoshow);

						var ShowFx = new Fx.Morph($(divtoshow), {duration:750, transition:Fx.Transitions.Quint.easeOut});
						var HideFx = new Fx.Morph($(currentid), {duration:500, transition:Fx.Transitions.Quint.easeIn});
						$(divtoshow).setStyles({
							'top' : '0',
							'opacity' : '0',
							'display' : 'block'
						});
						if(divtoshownr>pointer) {
							// let's animate to left
								if(divtoshow==refblock) {
									$(divtoshow).setStyles({'left' : 3000, 'margin-left': 0});
								}
								else {
									$(divtoshow).setStyles({'left' : 3000});
								}
								ShowFx.start({
									'opacity':1,
									'margin-left':0,
									'left':leftpos
									
								});
								if(currentid=='accueil') {
									HideFx.start({
										'opacity':0,
										'margin-left':-999,
										'left':-3000
									});
								}
								else {
									HideFx.start({
										'opacity':0,
										'left':-3000,
										'margin-left':-999
									});
								}
						}
						else {
							// let's animate to right
								$(divtoshow).setStyles({'left' : -3000});
								ShowFx.start({
									'opacity':1,
									'margin-left':0,
									'left':leftpos
								});
								if(currentid=='accueil') {
									HideFx.start({
										'opacity':0,
										'margin-left':-999,
										'left':-3000
									});
								}
								else if (currentid==refblock) {
									HideFx.start({
										'opacity':0,
										'left':3000,
										'margin-left':999
									});
								}
								else {
									HideFx.start({
										'opacity':0,
										'left':3000
									});
								}
						}
						$(currentid).removeClass('runner').addClass('next');
						$(divtoshow).removeClass('next').addClass('runner');
					} // end if different to home page
				} // end if links pointed to site
			});
		});
	
	},
	
	Init_PageRef : function() {
		// flypage need to be treated differently...
		var checkfirst=$('projects').getFirst('li').getFirst('a');
		var what= (checkfirst.hasClass('current')) ? 'reg' : 'fly';
		this.broowsecat=new Broowser ('previous', 'next', what, this);
		this.loadpros= new LoadProjects('pro', '.subnav li a', 'projects', 'info', 'thumbs', 'viewer', this.broowsecat);
	},

	Init_PagePrest : function() {
		this.scrooller=new Scroollers('masker', 'scrollbar','handler');
		var subnavs=$('prestations').getElements('.subnav li a');
		subnavs.each(function(subnav){
			subnav.addEvent('click',function(e){
				e.preventDefault();
				Site.PresReq(subnav);
				Site.PresSwitchPix(subnav.getProperty('rel'));
			});
		},this);
	},
	
	PresSwitchPix : function (pixid) {
		var pix=$(pixid);
		var sideloading=$('viewloading');
		var pixies=$('prestviewer').getElements('img');
		for(var i=0; i<(pixies.length);i++){
			if(pixies[i].getStyle('display')=='block') {
				var pixhide=pixies[i];
				break;
			}
		}
		pix.setStyles({'opacity' : '0', 'display' : 'block'});
		var ShowPix = new Fx.Morph(pix, {
			duration:1750,
			transition:
			Fx.Transitions.Quint.easeIn,
			onStart : function() {
				pixhide.fade(0);
			},
			onComplete : function() {
				pixhide.setStyle('display', 'none');
			}
		});
		ShowPix.start({
			'opacity':1
		});
	},
	
	PresReq : function (subnav) {

		var switcher=$('switcher');
		var tit=switcher.getElement('h2');
		var reqmasker=$('masker');
		var scrollabe=$('scrollabe');
		var loading=$('prestations').getElementById('prestloading');

		var uri= subnav.href+'?ajax=true&sub=true';
		var req = new Request.HTML({url:uri, 
			onSuccess: function(html) {
				switcher.adopt(html);
				//html.inject(receiver);
				//sIFR.replaceElement("#switcher h2", named({sFlashSrc: "/tpl/myriad/swf/sifr.swf", sColor: "#333333"}));
				reqmasker.scrollTo(0);
			},
			onFailure: function() {
				switcher.set('loading', 'Une erreur est survenue. Veuillez essayer a nouveau');
			}
		});
		var subnavs=$('prestations').getElements('.subnav li a');
		var ShowScroll = new Fx.Morph($(switcher), {duration:1500, transition:Fx.Transitions.Quint.easeIn});
		var HideScroll = new Fx.Morph($(switcher), {
			duration:500,
			transition:Fx.Transitions.Quint.easeOut, 
			onStart:function() {
				tit.fade(0);
				loading.setStyle('display','block').fade('in');
				subnavs.each(function(ele){
					ele.removeClass('active');
				});
				subnav.addClass('active');
			},
			onComplete: function() {
				tit.destroy();
				reqmasker.destroy();
				req.send().chain(function() {
					//this.scrooller=new Scroollers('masker', 'scrollbar','handler', 'scrolldown', 'scrollup');
					this.scrooller=new Scroollers('masker', 'scrollbar','handler');
				}.bind(this));
			}.bind(this),
			onChainComplete: function() {
				ShowScroll.start({
					'opacity':1
				});
				loading.fade('in').setStyle('display','none');
			}
		});
		HideScroll.start({
			'opacity':0
		});
	}
}

var Splash = {

	start: function() {
		if(Browser.Engine.trident4 || Browser.Engine.trident6) {
			eval("location='/accueil/'");
		}
		else {
			var so= new Swiff ('/tpl/myriad/swf/splash-2010.swf', {
				id:'intro',
				width:'100%',
				height:583,
				container: $('underheader-splash'),
				params : {
					'wmode': 'transparent',
					'bgcolor': '#ffffff',
					'quality': 'high',
					'align': 'middle',
					'play':'true',
					'allowScriptAccess': "sameDomain",
					'loop': 'false',
					'scale': 'noscale',
					'name':'intro',
					'salign': ''
				}
			});
			// let's hide everything //
			$('underheader-splash').removeClass('loading');
			$('bodyheader').setStyle('opacity', 0);
			$('header').setStyle('opacity', 0);
			$('menu').setStyle('opacity', 0);
			$('skip').setStyle('opacity', 0);
		}
	},
	FlashLoaded : function () {
		Splash.LoadShrimp();
	},
	FlashEnded : function() {
		Splash.FadeSplash('flash');

	},

	FadeSplash: function() {

		var Preloads = new Asset.images([
			'/tpl/myriad/img/la-crevette-grise.png',
			'/tpl/myriad/img/underheader.jpg',
			'/tpl/myriad/img/bkg_header.jpg',
			'/tpl/myriad/img/underheader.jpg'
			]);
		$('logotype').setStyle('visibility', 'visible');

		var bodyheader=$('bodyheader'), underheader=$('underheader-splash');
		var ShowFx = new Fx.Morph($('accueil'), {duration:750, transition:Fx.Transitions.Quint.easeOut});
		var HideFx = new Fx.Morph($('splash'), {duration:500, transition:Fx.Transitions.Quint.easeIn});
		var splashpos=$('splash').getPosition();
		$('splash').addClass('runner');
		$('splash').setStyles({
			'left' : 0,
			'margin-left' :0,
			'opacity' :1
		});
		var leftpos= splashpos.x;

		var skipfx = new Fx.Morph($('skip'), { duration:500 });
		//var menufx = new Fx.Morph($('menu'), { duration:500, onComplete:function() {SwitchChain.callChain();}.bind(this) });
		var containerfx = new Fx.Morph($('container'), { duration:1000 });
		var underheadfx = new Fx.Morph(underheader, {
			duration:500,
			link:'chain',
			onStart : function() {
				$('underheader').setStyle('background-image', 'url('+ Preloads[3].src +')');
				$('skipflash').fade(0);
				Site.toggleLogo($('logotype'));
			},
			onComplete : function() {
				$('accueil').setStyles({'left' : -3000});
				ShowFx.start({
					'opacity':1,
					'margin-left':0,
					'left':leftpos
				});
				HideFx.start({
					'opacity':0,
					'left':3000,
					'margin-left':999
				});
				$('splash').removeClass('runner').addClass('next');
				$('accueil').removeClass('next').addClass('runner');
			}.bind(this),
			onChainComplete : function() {
				$('skip').setStyle('opacity', 1);
				$('bodyheader').fade(1);
				$('menu').fade(1);
				$('header').fade(1);
				$('splash').fade(1);
			}.bind(this)
		});
		var SwitchChain= new Chain();
		SwitchChain.chain (
			function() {
				underheadfx.start({
					'opacity':0
				});
			},
			function() {
				underheader.destroy();
				SwitchChain.callChain();
			}
		);
		SwitchChain.callChain();
	},

	LoadShrimp : function (splashies, from) {

		var ajaxCss = new Asset.css('/tpl/myriad/css/page_ajax.css', {'id':'ajaxcss'});
		var Preloads = new Asset.images([
			'/tpl/myriad/img/la-crevette-grise.png',
			'/tpl/myriad/img/la-crevette-grise-alternate.png',
			'/tpl/myriad/img/home_graph_on.png',
			'/tpl/myriad/img/home_pack_on.png',
			'/tpl/myriad/img/home_design_on.png'
			]);
		var liloaders = $$('li.tab'), req = new Array();
		// two case on page load ... so a block exist and we must inject div in the right position
		var block = $('innersider').getFirst('div').get('id');
		if(block!='splash') {
			var blockclass=block;
			var refblock='accueil';
			var i=0;
			liloaders.each(function(liload, i) {
				var elhref=liload.getElement('a').get('href');
				var elclass=liload.get('class');
				var divid=elclass.replace(new RegExp('(^|\\s)' + 'tab' + '(?:\\s|$)'), '$1').clean();
				if(blockclass!=divid) {
					// block is not existing let's create then inject
					if (i==0) {
						var newdiv=  new Element('div', {'id': divid, 'class' : 'content initnext blockloading' });
						newdiv.inject($('innersider'), 'top');
					}
					else  {
						var newdiv=  new Element('div', {'id': divid, 'class' : 'content initnext' });
						if (i==(liloaders.length-1)) {
							newdiv.inject($('innersider'), 'bottom');
						}
						else {
							newdiv.inject($(refblock), 'after');
						}
					}
					refblock=divid;
				}
				else {
					refblock= blockclass;
				}
				i++;
			});
			liloaders.each(function(li) {
				var elhref=li.getElement('a').get('href');
				var elclass=li.get('class');
				if (elhref.indexOf('/')==0) {
					if(li.getElement('a').hasClass('active')==false) {
						// let's load the page
						var uri=elhref+'?ajax=true';
						var divid=elclass.replace(new RegExp('(^|\\s)' + 'tab' + '(?:\\s|$)'), '$1').clean();
						var request = new Request.HTML({url:uri, 
							evalScripts:true,
							onSuccess: function() {
							},
							onComplete : function(html) {
								Site.SetPanes(html, divid );
							},
							onFailure: function() {
								$(divid).set('text', 'Une erreur est survenue. Veuillez essayer a nouveau');
							}
						});
						req.push(request);
					}
				}
			});
		}
		// or after splash page... no block so let's inject...
		else {
			liloaders.each(function(liload) {
				var elhref=liload.getElement('a').get('href');
				var elclass=liload.get('class');
				if (elhref.indexOf('/')==0) {
					// let's load the page
					var divid=elclass.replace(new RegExp('(^|\\s)' + 'tab' + '(?:\\s|$)'), '$1').clean();
					var newdiv=  new Element('div', {'id': divid, 'class' : 'content initnext' });
					newdiv.inject($('innersider'));
				}
			});
			liloaders.each(function(li) {
				var elhref=li.getElement('a').get('href');
				var elclass=li.get('class');
				if (elhref.indexOf('/')==0) {
					// let's load the page
					var uri=elhref+'?ajax=true';
					var divid=elclass.replace(new RegExp('(^|\\s)' + 'tab' + '(?:\\s|$)'), '$1').clean();
					var request = new Request.HTML({url:uri, 
						evalScripts:true,
						onSuccess: function() {
						},
						onComplete : function(html) {
							Site.SetPanes(html, divid );
						},
						onFailure: function() {
							$(divid).set('text', 'Une erreur est survenue. Veuillez essayer a nouveau');
						}
					});
					req.push(request);
				}
			});
		}
		// all request has been built
		var reqGroup= new Group(req);
		reqGroup.addEvent('onComplete', function(){
			Site.InitLoading();
			if(from=='splash') {
				//SwitchChain.callChain();
				//this.FadeSplash(splashies, 'done');
			} 
		}.bind(this));
		req.each(function(request, i) {
			request.send();
		});
	}


};


eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('8 4o=9 37({3i:[29,38],c:{1d:0,1L:2p,16:1,2l:B,2x:B,4p:B,3r:B},2c:6(15,X,2E,2U,c){4.2U=2U;4.2E=2E;4.15=$(15);4.X=$(X);4.X.1Q();4.15.1Q();4.1U(c);4.2x=$(\'1r\').4Q().1v(\'1h\');4.4p=4.2x.7b(1);4.3r=$(4.2x).1E(\'17\');4.2f=30.43(($(\'T\').1E(\'17\').1G)/3);b(4.3r.1G>1){9 3Y($(4.2x),\'1F\',\'1N\')}4.2l=9 h.7a(\'2b\',{1L:{\'x\':0,\'y\':2p},q:6u,1n:h.1s.79.1o});4.2l.U(0,0);4.X.F(1);b(4.2E==\'6b\'){4.T=$(\'T\').1E(\'17\');28(8 i=0;i<(4.T.1G);i++){b(4.T[i].4Q(\'a\').3W(\'D\')){8 3U=i;33}}4.c.16=(30.43((3U)/3));4.c.1d=(30.43((3U)/3)-1)*2p;4.2l.U(4.c.1d,0)}4.5B(4.2l,4.X,4.15,4.2f)},5B:6(3Z,X,15,2f){8 16=4.c.16;8 1d=4.c.1d;8 1L=4.c.1L;b(16==1){$(\'15\').F(0)}b(16==(2f)){$(\'X\').F(0)}15.P(\'A\',6(r){r=9 4u(r).2d();16--;1d+=-(1L);3Z.l(1d);b(16==1){$(\'15\').F(0);f}b(16==2f-1){$(\'X\').F(1)}},4);X.P(\'A\',6(r){r=9 4u(r).2d();b(16>=2f)f;b(16==1){$(\'15\').F(1)}16++;1d+=1L;3Z.l(1d);b(16==2f){$(\'X\').F(0);f}},4)}});8 7d=9 37({3i:[29,38],c:{1d:0,4t:20},2c:6(1b,3X,v,5C,5D,c){4.5A=$(\'5A\');4.1b=$(1b);4.3X=$(3X);4.v=$(v);4.2W=4.1b.5F();4.2V=4.1b.2G();b(4.2W.y>4.2V.y){4.1U(c);b(4F.4J.7g){1V.P(\'5z\',4.42.d(4))}1A{1V.P(\'5z\',4.42.d(4))}}1A{4.5C.p({\'R\':\'1z\'});4.5D.p({\'R\':\'1z\'})}},42:6(){4.3g();4.5G();b(!4F.4J.77){4.1b.P(\'70\',6(e){e.6Z();4.3b.6Y.l(e)}.d(4))}$$(\'3q\').1X({\'6X\':4.4n.d(4)})},3g:6(){$(\'71\').1X({\'4X\':4.4k.d(4)});4.1b.1X({\'4X\':4.4k.d(4)});4.72=4.5s.d(4)},5G:6(76){4.1b.5q(0);4.2W=4.1b.5F();4.2V=4.1b.2G();4.3b=9 5w(4.3X,4.v,{7h:\'7i\',5v:[0,4.2W.y-4.2V.y],7v:4.2W.y-4.2V.y,7w:4.5r.d(4),7x:4.4q}).U(4.1b.3D().y).1e(\'K\');4.4n()},7A:6(e,G){e.2d();$2I(4.2o);b(G){4.2o=4.2M.5y(4.c.4t,4,-5)}1A{4.2o=4.2M.5y(4.c.4t,4,5)}},4k:6(e){e.2d();$2I(4.2o);4.2o=4.2M(e.5t<=0?20:-20)},5r:6(3Q){4.1b.5q(4.1b.3D().x,3Q)},2M:6(5p){4.3b.U(4.3b.3Q+5p)},4n:6(){$2I(4.2o)},5s:6(e){e.2d();4.2M(e.5t<=0?20:-20)},4q:6(1d){4.7n.1k(4.4w,1d)}});5w.5E({6W:6(r){b($(r.1l)==4.1a){8 5H=4.5v<0?-1:1;8 2z=r.7o[4.5u]-4.1a.5f()[4.5u]-4.6M;2z=2z.6D(-4.c.1L,4.6C-4.c.1L);4.3Q=30.6G(4.6H+5H*4.6B(2z));4.6V();4.6R();4.1e(\'4q\',2z)}}});8 6Q=9 37({3i:[29,38],c:{1d:0,1L:2p,16:1,2l:B,2x:B,4p:B,3r:B,6O:$u,4V:$u,6K:$u,4x:$u},2c:6(2E,M,19,1j,1r,1F,5X,c){4.M=$(\'3m\').1E(\'.6L 17 a\');b($(\'5U\')){8 5T=$(\'5U\').1E(\'2r#5a 17 a\');5T.Q(6(5W){4.M.31(5W)},4)}4.3T=5X;4.19=$(\'T\');4.1j=$(\'1j\');4.39=4.19.1E(\'a\');4.1r=$(\'1r\');4.1F=$(\'1F\');4.1U(c);4.1J=4.5h(\'1J\');4.D=4.5K(\'D\');4.44(2E);4.4l();4.61()},61:6(){$(\'Y\').P(\'A\',6(r){r.2D();4.4r()}.2F(4))},44:6(){4.39.Q(6(1m){1m.1Q();1m.P(\'A\',6(e){8 12=($(e.1l).4H(\'a\'))?$(e.1l):$(e.1l).3v(\'a\');e.2D();4.4c(1m.1v(\'1D\'));4.2t(1m,J)}.2F(4))},4)},4c:6(5Z){8 5o=9 4z.4K({t:5Z+\'?5N=J\',K:6(2A){4.4b(2A.1r,2A.22,2A.2s)}.2F(4)}).4N()},4b:6(2Y,22,2s){8 2P=9 h.s(4.1r,{q:V,1n:h.1s.1x.1o});8 2J=9 h.s(4.1F,{q:V,1n:h.1s.1x.1o});8 5L=9 h.s(4.1j,{q:V,1n:h.1s.1x.1o});8 3z=4.1j.11(\'5O\');8 3y=4.1j.11(\'62\');8 3x=9 h.s(4.1j,{q:47,1n:h.1s.1x.1o,\'2Z\':6(){2P.l({\'L\':\'0\'});2J.l({\'L\':\'0\'})}.d(4),\'K\':6(){3z.u();3y.u();3z.U(\'3P\',22[0][\'6J\']);3y.U(\'3P\',22[0][\'19\']);4.1r.u();4.1F.u();8 i=1;8 2r=9 1c(\'2r\',{\'1h\':22[0][\'1h\']});4.1r.1M(2r);2Y.Q(6(3n){8 17=9 1c(\'17\',{\'3a\':3n.4d});8 a=9 1c(\'a\',{\'1D\':3n.1D,\'3p\':3n.3p});a.U(\'3P\',i).2X(17);2r.1M(17);i++},4);2s.Q(6(2m){8 a=9 1c(\'a\',{\'1D\':2m.12,\'3p\':2m.3p,\'3A\':2m.3A});8 1y=9 1c(\'1y\',{\'1h\':2m.1h,\'2h\':2m.2h,\'m\':5Y,\'N\':5Y,\'3B\':2m.3B});1y.2X(a);4.1F.1M(a)},4);b(2Y.1G>1){9 3Y(2r,\'1F\',\'1N\')}55.5i();8 5S=$(\'S\').2G();b(5S.x>V){8 4a=$(\'1F\').40();b(4a.1G>0){4a[0].1e(\'A\');8 4f=$$(\'#S a.1N\');4f.27(\'1N\');4f.11(\'1y\').F(1)}}}.d(4)});3x.l({\'L\':\'0\'}).W(6(){5L.l({\'L\':1});2P.l({\'L\':\'1\'});2J.l({\'L\':\'1\'})})},5K:6(3w){28(8 i=0;i<4.39.1G;i++){b(4.39[i].3W(3w)){f 4.39[i];33}}},2t:6(O){b(4.D)4.D.27(\'D\');b(O)4.D=O.1O(\'D\')},4l:6(){4.M.Q(6(v){v.1Q();v.P(\'A\',6(e){8 12=($(e.1l).4H(\'a\'))?$(e.1l):$(e.1l).3v(\'a\');e.2D();4.5M(v);4.5g(v,J)}.2F(4))},4)},5M:6(v){8 5o=9 4z.4K({t:v.1v(\'1D\')+\'?5N=J\',K:6(2A){4.5Q(2A)}.2F(4)}).4N()},5Q:6(2N){8 T=2N.T;8 2Y=2N.1r;8 22=2N.22;8 2s=2N.2s;8 4e=$(\'T\');8 S=$(\'S\');8 3z=4.1j.11(\'5O\');8 3y=4.1j.11(\'62\');8 2P=9 h.s(4.1r,{q:V,1n:h.1s.1x.1o});8 2J=9 h.s(4.1F,{q:V,1n:h.1s.1x.1o});8 3x=9 h.s(4.1j,{q:V,1n:h.1s.1x.1o});8 5l=9 h.s(S,{q:V,1n:h.1s.1x.1o});8 5k=9 h.s(S,{q:47,1n:h.1s.1x.1o,\'2Z\':6(){3x.l({\'L\':\'0\'});2P.l({\'L\':\'0\'});2J.l({\'L\':\'0\'})}.d(4),\'K\':6(){4e.u();T.Q(6(19){8 17=9 1c(\'17\');8 a=9 1c(\'a\',{\'3a\':19.4d,\'1D\':19.1D,\'3A\':19.3A,\'2R\':{\'A\':6(e){e.2D();4.4c(19.1D);4.2t(a,J)}.d(4)}}).2X(17);b(19.4d==\'D\')4.D=a;8 1y=9 1c(\'1y\',{\'1h\':19.1h,\'2h\':19.2h,\'m\':85,\'N\':85,\'3B\':19.3B}).2X(a);4e.1M(17)},4);4.4b(2Y,22,2s);4.3T=9 4o(\'15\',\'X\',\'8B\');55.5i()}.d(4)});5k.l({\'L\':\'0\'}).W(6(){5l.l({\'L\':\'1\'})})},5h:6(3w){28(8 i=0;i<4.M.1G;i++){b(4.M[i].3W(3w)){f 4.M[i];33}}},5c:6(O){28(8 i=0;i<4.M.1G;i++){b(4.M[i]==O){f i;33}}},5g:6(O){b(4.1J)4.1J.27(\'1J\');b(O.3v().3v().1v(\'1h\')=="5a"){4.1J=4.M[4.5c(O)-3].1O(\'1J\')}1A{b(O)4.1J=O.1O(\'1J\')}},4r:6(){4.3T.2l.U(0,2p);8 8b=($(\'2b\').5f());4.3H=$(\'T\').1E(\'17\');4.1C=$(\'T\').1E(\'a\');4.1w=$(\'T\').1E(\'1y\');4.Y=$(\'Y\');4.7M=$(\'S\').46();4.3M=$(\'3m\').11(\'3j.3M\');4.4s=$(\'1r\');8 45=$(\'Y\').46();8 7S=$(\'T\').46();8 3t=9 h.s($(\'2b\'),{q:56,12:"W"});8 3V=9 h.s($(\'S\'),{q:V,12:"35"});8 4h=9 h.s($(\'S\'),{q:V,12:"35"});8 1t=9 4G();1t.W(6(){4.3M.F(0);4.4s.F(0);4.Y.p({\'2z\':\'7K\',\'G\':45.G+3,\'E\':45.E-7G,\'z-32\':47,\'7I-1H\':\'#4m\'});4.Y.1Q(\'A\');4.Y.11(\'a\').u();4.Y.11(\'a\').1O(\'1N\');4.1C.Q(6(14){14.p({\'o-1H\':\'#4m\',\'o-m\':\'1K\',\'k\':\'1K\'});14.1X({\'A\':6(r){8 5d=14.11(\'1y\');14.1O(\'1N\');5d.F(0.3)}.d(4),\'4j\':6(r){14.p({\'o-m\':\'1K\',\'o-1H\':\'#64\',\'o-13\':\'2j\',\'k\':\'1i\'})},\'4i\':6(r){14.p({\'o-m\':\'1K\',\'o-1H\':\'#2K\',\'o-13\':\'2j\',\'k\':\'1i\'})}})}.d(4));1t.C()}.d(4),6(){$(\'S\').p({\'z-32\':V});2q=9 2T();4.1w.Q(6(1q){8 2u=9 h.s(1q,{q:V});2q.31(2u);2u.l({\'m\':\'1i\',\'N\':\'1i\',\'k-G\':\'3e\',\'k-E\':\'3e\'})}.d(4));8 3J=9 3h(2q);3J.P(\'K\',6(){4.1w.5n(\'k-G\',\'k-E\');1t.C()}.d(4))}.d(4),6(){$$(\'#3m .6n\').p({\'k-E\':\'3R\',\'N\':\'7U\',\'m\':\'86\'});4h.l({\'k-G\':\'48\'});$(\'S\').p({\'z-32\':V});1t.C()}.d(4),6(){3V.l({\'N\':87}).W(6(){3I.l({\'m\':88})}).W(6(){1t.C()})}.d(4),6(){$(\'T\').p({\'m\':8a});4.3H.p({\'R\':\'2Q\',\'m\':\'5m\',\'N\':\'5m\',\'k-E\':\'59\',\'k-3L\':\'48\',\'k-G\':\'59\',\'k-83\':\'48\'});1t.C()}.d(4),6(){$(\'2b\').p({\'k-E\':\'3R\',\'k-G\':\'3R\'});3t.l({m:7X}).l({N:7W});1t.C()}.d(4),6(){8 2C=0;2B=9 2T();4.1w=4.1w.4T();4.1w.Q(6(1q){8 1S=9 h.s(1q,{q:3c,K:6(){1q.5n(\'k-G\',\'k-E\')}});2C+=7Y;2B.31(1S);1S.l.2H(2C,1S,[{\'m\':\'52\',\'N\':\'52\',\'k-G\':\'1i\',\'k-E\':\'1i\'}])}.d(4));8 3S=9 3h(2B);3S.P(\'K\',6(){4.1C.p({\'o-m\':\'1K\',\'o-1H\':\'#2K\',\'o-13\':\'2j\',\'k\':\'1i\'});4.Y.11(\'a\').27(\'1N\');4.Y.11(\'a\').U(\'6f\',\'7Z\');4.Y.P(\'A\',6(r){r.2D();4.4g()}.d(4));4.M.Q(6(58){58.1X({\'A\':6(r){4.4g(\'81\')}.d(4)})}.d(4));1t.C()}.d(4))}.d(4));8 3I=9 h.s($(\'S\'),{q:80,12:"W",2Z:6(){$(\'1j\').1k(\'R\',\'1z\');$(\'X\').1k(\'R\',\'1z\');$(\'15\').1k(\'R\',\'1z\');$(\'2b\').1k(\'k-E\',\'8r\')},K:6(){1t.C()}});1t.C()},4g:6(7J){8 3t=9 h.s($(\'2b\'),$1W({q:56,12:"W"},{}));8 3V=9 h.s($(\'S\'),{q:V,12:"W",K:6(){1B.C()}});8 4h=9 h.s($(\'S\'),{q:V,12:"W",K:6(){1B.C()}});8 3I=9 h.s($(\'S\'),{q:6i,12:"W",K:6(){1B.C()}});8 1B=9 4G();1B.W(6(){3t.l({m:2p}).l({N:8G});1B.C()}.d(4),6(){$(\'T\').p({\'m\':8j});4.3H.Q(6(3K){3K.1T(\'13\')}.d(4));4.1C.Q(6(14){14.1Q(\'A\',\'4j\',\'4i\')}.d(4));1B.C()}.d(4),6(){$(\'S\').1T(\'13\');3I.l({\'m\':8m});$$(\'#3m .6n\').1T(\'13\').p({\'m\':\'7N\',\'7Q\':\'E\',\'7F\':\'7E\',\'84-3L\':\'3R\',\'o-3L\':\'0\'})}.d(4),6(){3V.l({\'N\':7V})}.d(4),6(){$(\'1j\').1k(\'R\',\'2Q\');$(\'X\').1k(\'R\',\'2Q\');$(\'15\').p({\'R\':\'2Q\',\'82\':\'89\',\'L\':1});$(\'2b\').1T(\'13\');1B.C()}.d(4),6(){2q=9 2T();4.1w.Q(6(1q){8 2u=9 h.s(1q,{q:3c,K:6(){1q.1T(\'13\')}});2q.31(2u);2u.l({\'m\':\'6c\',\'N\':\'6c\',\'k-G\':\'1i\',\'k-E\':\'1i\'})}.d(4));8 3J=9 3h(2q);3J.P(\'K\',6(){4.1C.1T(\'13\');4.1C.p({\'o-1H\':\'#2K\',\'o-m\':\'1K\',\'o-13\':\'2j\',\'k\':\'3l\'});1B.C()}.d(4))}.d(4),6(){4.44();4.3H.Q(6(3K){3K.p({\'k-E\':\'8c\',\'k-3L\':\'3l\'})}.d(4));4.Y.11(\'a\').U(\'6f\',\'8z 8x\');4.Y.1Q(\'A\');4.Y.P(\'A\',6(r){r.2D();4.4r()}.2F(4));4.Y.1T(\'13\');4.4s.F(1);4.3M.F(1);28(8 i=0;i<(4.1C.1G);i++){b(4.1C[i].3W(\'D\')){8 3U=i;33}}4.3T=9 4o(\'15\',\'X\',\'6b\');4.1C.Q(6(14){14.p({\'o-1H\':\'#2K\',\'o-m\':\'1K\',\'o-13\':\'2j\',\'k\':\'3l\'});14.1X({\'4j\':6(r){14.p({\'o-m\':\'8e\',\'o-1H\':\'#64\',\'o-13\':\'2j\',\'k\':\'1i\'})},\'4i\':6(r){14.p({\'o-m\':\'1K\',\'o-1H\':\'#2K\',\'o-13\':\'2j\',\'k\':\'3l\'})}})}.d(4))}.d(4));4.4l();4.1C.p({\'o-1H\':\'#4m\',\'o-m\':\'1K\'});8 2C=0;2B=9 2T();4.1w=4.1w.4T();4.1w.Q(6(1q){8 1S=9 h.s(1q,{K:6(){1q.1T(\'k-G\',\'k-E\')}});2C+=60;2B.31(1S);1S.l.2H(2C,1S,[{\'m\':\'1i\',\'N\':\'1i\',\'k-G\':\'3e\',\'k-E\':\'3e\'}])}.d(4));8 3S=9 3h(2B);3S.P(\'K\',6(){1B.C()})}});8 6j=9 37({3i:[29,38],c:{},2c:6(2i,c){8 6g=4;4.1U(c);4.2i=$(2i);4.3E=4.2i.40();4.3E.1X({A:6(25){6g.A(25,4)}});4.2t(4.2i.11(\'.D\'))},A:6(25,1m){4.2t(1m,J);4.1e(\'6E\',[25,1m])},2t:6(O,7p){b(4.D)4.D.27(\'D\');b(O)4.D=O.1O(\'D\')}});8 3Y=9 37({7j:6j,c:{},2c:6(2i,2e,41,c){4.2U(2i,c);4.2e=$(2e);4.4W=4.2e.40();4.4W.F(\'6q\');$(41).F(\'67\');9 7r.2e(4.2e.1E(\'1y\').7z(6(O){f O.1k(\'R\',\'1z\').1v(\'2h\')}),{K:6(){4.5e=J;$(41).F(\'74\');b(4.D)4.49(4.3E.6m(4.D))}.d(4)})},A:6(25,1m){4.2U(25,1m);9 4u(25).2d();4.49(4.3E.6m(1m))},49:6(32){b(!4.5e)f;8 1P=4.4W[32];b(1P==4.2L)f;1P.7c().F(\'6q\').2X(4.2L||4.2e.4Q(),4.2L?\'7f\':\'7e\').F(\'67\');1P.11(\'1y\').1k(\'R\',\'2Q\');$7u(4.2L,1P).1v(\'7t\').W(6(){4.1e(\'4R\',1P)}.d(4));4.2L=1P;f 4}});8 1u={24:{g:{x:7y,y:7l},66:{x:6i,y:7m},4P:{x:20,y:20},4v:{x:50,y:75},v:Z,1l:B,6h:J,3s:J,36:7B,6e:0.7,6l:\'\',69:\'\',68:{},6t:{},6o:{},4E:Z,6x:Z,5V:{},4V:$u,4x:$u,6d:$u,6I:$u,53:$u,4R:$u,5j:$u},2c:6(24){b(4.c)f 4;4.24=$1Y(4.24,24);4.c={};4.1U(4.24).3g();4.2g={1V:4.3C.d(4,[B]),1p:4.5b.d(4),2n:4.2n.d(4),2S:4.63.d(4)};4.2y=4.3u=Z;f 4},3g:6(){4.18=9 1c(\'3j\',{1h:\'26-18\',65:{R:\'1z\',36:4.c.36}});4.n=9 1c(\'3j\',{1h:\'26-n\'});4.3s=9 1c(\'a\',{1h:\'26-6N-2n\',1D:\'#\'});4.I=9 1c(\'3j\',{1h:\'26-1V\',65:{R:\'1z\',36:4.c.36+2}}).1M(4.3s,4.n);4.2k={18:9 h.6s(4.18,$1Y({4w:\'L\',2Z:29.6r.6v,q:3c,12:\'35\'},4.c.68)).U(0),I:9 h.s(4.I,$1Y({2Z:29.6r.6v,6w:\'21\',q:6u,1n:h.1s.1x.1o,12:\'35\',6w:\'21\'},4.c.6t)),n:9 h.6s(4.n,$1Y({4w:\'L\',q:3c,12:\'35\'},4.c.6o)).U(0)};$(23.3q).1M(4.18,4.I)},7C:6(34,c){f 34.P(\'A\',6(){f!1u.6p(4,c)})},6p:6(4M,c){4.2c();b(4.1a)4.4y();4.1a=$(4M);4.1U($1Y(4.24,c||{}));b(4.1a&&4.c.4E){8 2O=4.1a.8n(4.c.4E);b(2O&&(2O=4K.8o(2O,4.c.6x)))4.1U(2O)}4.6y();4.t=((4.1a)?(4.c.t||4.1a.1v(\'1D\')):4M)||\'\';8 v=4.c.v;b(v)f 4.3N(v,4.1Z[v].3O(4,J));8 4I=Z;4.1Z.8q(6(6z,2S){8 n=6z.3O(4);b(n){4I=4.3N(2S,n);f J}f Z},4);f 4I},6y:6(){4.18.U(\'3a\',4.c.69);4.I.U(\'3a\',4.c.6l);b(4F.4J.8s)4.I.1O(\'26-1V-8E\')},2n:6(e){8 4D=($2w(e)==\'r\');b(4D)e.2d();b(!4.2y||(4D&&!$8D(4.c.6h).3O(4,e)))f 4;4.2k.18.l(0).W(4.4U.d(4));4.I.1k(\'R\',\'1z\');4.4y();4.4L();4.2y=Z;4.1e(\'4x\',[4.n]);f 4},4y:6(){4.1a=4.1g=B;4.c={};4.1Q().1U(4.24).C()},4B:6(){4.1g=B;4.3N(\'3k\',\'8A 8v 1N\')},3N:6(v,n){b(!4.M[v])f Z;4.n.8u=\'26-n-\'+v;4.4A=4.3F.2H(4.2k.18.c.q,4,4.M[v].3O(4,n));b(4.18.8t(\'L\'))f 4;4.4U(J);4.2k.18.l(4.c.6e);f 4.3C()},3F:6(n,g){4.4A=$2I(4.4A);4.4Y();b(!n){4.51(J)}1A{b(4.3u)4.51(Z);4.1e(\'6d\',[4.n],20)}4.n.u();b([\'3k\',\'7D\',Z].7H($2w(n)))4.n.U(\'3P\',n||\'\');1A 4.n.1M(n);4.C();b(!4.2y){4.4L(J);4.3G(g,J);4.2y=J;4.1e(\'4V\',[4.n])}1A{4.3G(g)}},3G:6(g,6a){8 1f=23.2G(),1p=23.3D();4.g=$1Y((4.3u)?4.c.66:4.c.g,g);8 34={m:4.g.x,N:4.g.y,E:(1p.x+(1f.x-4.g.x-4.c.4P.x)/2).2v(),G:(1p.y+(1f.y-4.g.y-4.c.4P.y)/2).2v()};$2I(4.6k||B);4.4Y();b(!6a){4.2k.I.l(34).W(4.4S.d(4))}1A{4.I.p(34).1k(\'R\',\'\');4.6k=4.4S.2H(50,4)}f 4.3C()},4L:6(1I){8 2a=(1I)?\'P\':\'8l\';4.3s[2a](\'A\',4.2g.2n);4.18[2a](\'A\',4.2g.2n);23[2a](\'8h\',4.2g.2S)[2a](\'4X\',4.2g.1p);1V[2a](\'3G\',4.2g.1V)[2a](\'1p\',4.2g.1V)},51:6(1I){4.3u=1I;4.I[(1I)?\'1O\':\'27\'](\'26-1N\');b(1I)4.1e(\'7L\',[4.I])},4U:6(1I){4.18.1k(\'R\',(1I)?\'\':\'1z\');$(23.3q)[(1I)?\'1O\':\'27\'](\'3q-7T\')},4S:6(){b(4.n.1v(\'L\'))4.1e(\'4R\',[4.I]);4.2k.n.l(1)},4Y:6(){b(!4.n.1v(\'L\'))4.1e(\'5j\',[4.I]);4.2k.n.U(0)},63:6(e){7R(e.2S){4O\'7P\':4.2n(e);4O\'7O\':4O\'8y\':f Z}},5b:6(e){f 4.n.8w(e.1l)},3C:6(){8 g=23.2G(),1p=23.3D();4.18.p({E:1p.x+\'21\',G:1p.y+\'21\',m:g.x+\'21\',N:g.y+\'21\'});4.I.p({E:(1p.x+(g.x-4.I.8F)/2).2v()+\'21\',G:(1p.y+(g.y-4.I.8C)/2).2v()+\'21\'});f 4.1e(\'53\',[4.18,4.I])},1Q:6(2w){b(!4.$2R)f 4;b(!2w)4.$2R=B;1A b(4.$2R[2w])4.$2R[2w]=B;f 4},1W:6(57){f $1W(4,57)},M:9 54(),1Z:9 54()};1u.1W(9 29($u)).1W(9 38($u)).1W(9 4G($u));1u.1Z.1W({1P:6(1R){f(1R||(/\\.(?:8i|8g|8f)$/i).5P(4.t))?4.t:Z},3f:6(1R){b($(4.c.1l))f $(4.c.1l);b(4.1a&&!4.1a.8d)f 4.1a;8 4C=4.t.4H(/#([\\w-]+)$/);f(4C)?$(4C[1]):(1R?4.1a:Z)},3d:6(1R){f(1R||(4.t&&!(/^(?:8k|#)/i).5P(4.t)))?4.t:Z},4Z:6(1R){f(1R||4.t)?4.t:Z},3k:6(1R){f J}});1u.M.1W({1P:6(t){8 g,H=9 8p();4.1g=B;H.3o=H.5J=H.5R=(6(){H.3o=H.5J=H.5R=B;b(!H.m){4.4B.2H(10,4);f}8 1f=23.2G();1f.x-=4.c.4v.x;1f.y-=4.c.4v.y;g={x:H.m,y:H.N};28(8 i=2;i--;){b(g.x>1f.x){g.y*=1f.x/g.x;g.x=1f.x}1A b(g.y>1f.y){g.x*=1f.y/g.y;g.y=1f.y}}g.x=g.x.2v();g.y=g.y.2v();4.1g=$(H);H=B;4.1g.7q({m:g.x,N:g.y});b(4.2y)4.3F(4.1g,g)}).d(4);H.2h=t;b(H&&H.3o&&H.6F)H.3o();f(4.1g)?[4.1g,g]:B},3f:6(O){f O.3f()},1M:$6A(0),3d:6(t){4.1g=9 4z.6P($1Y({6U:\'1v\'},4.c.5V)).1X({6T:6(5I){4.3F(5I);4.1g=B}.d(4),6S:4.4B.d(4)});4.1g.4N.2H(10,4.1g,[{t:t}])},4Z:6(t){f 9 1c(\'4Z\',$1Y({2h:t,7k:0,m:4.c.g.x,N:4.c.g.y},4.c.7s))},3k:6(5x){f 5x}});1u.M.t=1u.M.3d;1u.1Z.t=1u.1Z.3d;1u.1Z.1M=1u.1Z.3f;2T.5E({4T:6(){28(8 j,x,i=4.1G;i;j=73(30.78()*i),x=4[--i],4[i]=4[j],4[j]=x);f 4}});',62,539,'||||this||function||var|new||if|options|bind||return|size|Fx|||margin|start|width|content|border|setStyles|duration|event|Morph|url|empty|handler|||||click|null|callChain|current|left|fade|top|tmp|win|true|onComplete|opacity|handlers|height|el|addEvent|each|display|browser|projects|set|500|chain|next|browsecat|false||getElement|link|style|proa|previous|curslide|li|overlay|project|element|masker|Element|pos|fireEvent|box|asset|id|0px|info|setStyle|target|item|transition|easeOut|scroll|prothumb|thumbs|Transitions|ExpandBrowser|SqueezeBox|get|prothumbs|Quint|img|none|else|CollapseBrowser|proas|href|getElements|viewer|length|color|state|active|1px|offset|adopt|loading|addClass|image|removeEvents|preset|ptfxx|erase|setOptions|window|extend|addEvents|merge|parsers||px|projinfo|document|presets|ev|sbox|removeClass|for|Events|fn|wrapper|initialize|stop|images|slides|bound|src|menu|solid|fx|imgscroll|medium|close|periodScroll|312|prothumbsfx|ul|mediums|setCurrent|ptfx|toInt|type|ulthumbs|isOpen|position|jsonObj|prothumbsfxx|timer|preventDefault|what|bindWithEvent|getSize|delay|clear|MoveViewerFx|333|curimage|scrollVertical|response|obj|MoveThumbsFx|block|events|key|Array|parent|dimensions|scrollSize|inject|thumbnails|onStart|Math|push|index|break|to|cancel|zIndex|Class|Options|projectitems|class|vscroll|250|ajax|37px|clone|build|Group|Implements|div|string|3px|references|thumbnail|onload|rel|body|thumblis|closeBtn|wrapresize|isLoading|getParent|aclass|MoveInfoFx|projectcont|clientcont|title|alt|reposition|getScroll|menuitems|applyContent|resize|prolis|browresize|fxGroup|proli|right|sidebar|setContent|call|html|step|20px|fx2Group|broowsecat|currentpos|browheight|hasClass|scrollbar|Slideshow|scroller|getChildren|loader|domReady|ceil|setProjectsEvents|browsecatpos|getCoordinates|1000|5px|show|proslim|updateProject|getProject|classe|procont|activeproject|ReverseBrowser|browmargin|mouseout|mouseover|startScrollingWheely|setHandlersEvents|f3f3f3|stopScrolling|Broowser|ulid|tick|OpenBrowser|thumbdiv|speed|Event|marginImage|property|onClose|trash|Request|applyTimer|onError|bits|stoppable|parse|Browser|Chain|match|ret|Engine|JSON|toggleListeners|from|send|case|marginInner|getFirst|onShow|showContent|shuffle|toggleOverlay|onOpen|imagesitems|mousewheel|hideContent|iframe||toggleLoading|70px|onMove|Hash|Slimbox|400|properties|loadpro|2px|roller|checkTarget|getIndex|proathumb|loaded|getPosition|setActive|getActive|scanPage|onHide|MoveBroowser|MoveBrowBack|72px|removeProperties|request|distance|scrollTo|scrollToVerticalPosition|mouseWheel|wheel|axis|range|Slider|str|periodical|domready|scrollabe|broowse|scrolldown|scrollup|implement|getScrollSize|makeScrollbar|dir|resp|onabort|getCurrent|BackInfoFx|getCat|json|dt|test|updateCat|onerror|browsize|extrahandlers|accueil|ajaxOptions|extra|parentbroowser|283|projecturi||setBrowingEvents|dd|onKey|666|styles|sizeLoading|in|overlayFx|classOverlay|instantly|fly|85px|onUpdate|overlayOpacity|text|that|closable|200|MenuList|showTimer|classWindow|indexOf|contentinner|contentFx|fromElement|hide|prototype|Tween|resizeFx|750|clearChain|unit|parseSecure|assignOptions|parser|arguments|toStep|full|limit|onClick|complete|round|min|onResize|client|onBeforeClose|subnav|half|btn|onLoad|HTML|LoadProjects|end|onFailure|onSuccess|method|checkStep|clickedElement|mouseup|drag|stopPropagation|mousedown|hider|mouseEvent|parseInt|out||ignoreMouse|trident|random|Expo|Scroll|substring|dispose|Scroollers|before|after|webkit|mode|vertical|Extends|frameBorder|450|150|knob|page|effect|setProperties|Asset|iframeOptions|tween|pick|steps|onChange|onTick|600|map|startScrollingVertically|65555|assign|array|auto|overflow|270|contains|background|called|fixed|onLoading|browpos|367px|up|esc|float|switch|projectspos|overlayed|380px|123|240|720|100|RETOUR|1500|cat|visibility|bottom|padding||740px|275|745|visible|740|wrappos|8px|parentNode|4px|gif|png|keydown|jpg|50000|javascript|removeEvent|359|getProperty|decode|Image|some|16px|trident4|retrieve|className|during|hasChild|VOIR|down|TOUT|Error|reg|offsetHeight|lambda|ie6|offsetWidth|92'.split('|'),0,{}))

window.addEvent('domready', function() {
	Site.start();
});
