jQuery.easing['jswing'] = jQuery.easing['swing'];
jQuery.extend( jQuery.easing,
{
	def: 'easeOutQuad',
	swing: function (x, t, b, c, d) {
		//alert(jQuery.easing.default);
		return jQuery.easing[jQuery.easing.def](x, t, b, c, d);
	},
	easeInQuad: function (x, t, b, c, d) {
		return c*(t/=d)*t + b;
	},
	easeOutQuad: function (x, t, b, c, d) {
		return -c *(t/=d)*(t-2) + b;
	},
	easeInOutQuad: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t + b;
		return -c/2 * ((--t)*(t-2) - 1) + b;
	},
	easeInCubic: function (x, t, b, c, d) {
		return c*(t/=d)*t*t + b;
	},
	easeOutCubic: function (x, t, b, c, d) {
		return c*((t=t/d-1)*t*t + 1) + b;
	},
	easeInOutCubic: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t*t + b;
		return c/2*((t-=2)*t*t + 2) + b;
	},
	easeInQuart: function (x, t, b, c, d) {
		return c*(t/=d)*t*t*t + b;
	},
	easeOutQuart: function (x, t, b, c, d) {
		return -c * ((t=t/d-1)*t*t*t - 1) + b;
	},
	easeInOutQuart: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
		return -c/2 * ((t-=2)*t*t*t - 2) + b;
	},
	easeInQuint: function (x, t, b, c, d) {
		return c*(t/=d)*t*t*t*t + b;
	},
	easeOutQuint: function (x, t, b, c, d) {
		return c*((t=t/d-1)*t*t*t*t + 1) + b;
	},
	easeInOutQuint: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
		return c/2*((t-=2)*t*t*t*t + 2) + b;
	},
	easeInSine: function (x, t, b, c, d) {
		return -c * Math.cos(t/d * (Math.PI/2)) + c + b;
	},
	easeOutSine: function (x, t, b, c, d) {
		return c * Math.sin(t/d * (Math.PI/2)) + b;
	},
	easeInOutSine: function (x, t, b, c, d) {
		return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
	},
	easeInExpo: function (x, t, b, c, d) {
		return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;
	},
	easeOutExpo: function (x, t, b, c, d) {
		return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
	},
	easeInOutExpo: function (x, t, b, c, d) {
		if (t==0) return b;
		if (t==d) return b+c;
		if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
		return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
	},
	easeInCirc: function (x, t, b, c, d) {
		return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;
	},
	easeOutCirc: function (x, t, b, c, d) {
		return c * Math.sqrt(1 - (t=t/d-1)*t) + b;
	},
	easeInOutCirc: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
		return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
	},
	easeInElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
	},
	easeOutElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
	},
	easeInOutElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d/2)==2) return b+c;  if (!p) p=d*(.3*1.5);
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
		return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
	},
	easeInBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 1.70158;
		return c*(t/=d)*t*((s+1)*t - s) + b;
	},
	easeOutBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 1.70158;
		return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
	},
	easeInOutBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 1.70158; 
		if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
		return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
	},
	easeInBounce: function (x, t, b, c, d) {
		return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b;
	},
	easeOutBounce: function (x, t, b, c, d) {
		if ((t/=d) < (1/2.75)) {
			return c*(7.5625*t*t) + b;
		} else if (t < (2/2.75)) {
			return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
		} else if (t < (2.5/2.75)) {
			return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
		} else {
			return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
		}
	},
	easeInOutBounce: function (x, t, b, c, d) {
		if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b;
		return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b;
	}
});
/*
	Slimbox v2.04 - The ultimate lightweight Lightbox clone for jQuery
	(c) 2007-2010 Christophe Beyls <http://www.digitalia.be>
	MIT-style license.

(function(w){var E=w(window),u,f,F=-1,n,x,D,v,y,L,r,m=!window.XMLHttpRequest,s=[],l=document.documentElement,k={},t=new Image(),J=new Image(),H,a,g,p,I,d,G,c,A,K;w(function(){w("body").append(w([H=w('<div id="lbOverlay" />')[0],a=w('<div id="lbCenter" />')[0],G=w('<div id="lbBottomContainer" />')[0]]).css("display","none"));g=w('<div id="lbImage" />').appendTo(a).append(p=w('<div style="position: relative;" />').append([I=w('<a id="lbPrevLink" href="#" />').click(B)[0],d=w('<a id="lbNextLink" href="#" />').click(e)[0]])[0])[0];c=w('<div id="lbBottom" />').appendTo(G).append([w('<a id="lbCloseLink" href="#" />').add(H).click(C)[0],A=w('<div id="lbCaption" />')[0],K=w('<div id="lbNumber" />')[0],w('<div style="clear: both;" />')[0]])[0]});w.slimbox=function(O,N,M){u=w.extend({loop:false,overlayOpacity:0.8,overlayFadeDuration:400,resizeDuration:400,resizeEasing:"swing",initialWidth:250,initialHeight:250,imageFadeDuration:400,captionAnimationDuration:400,counterText:"Image {x} of {y}",closeKeys:[27,88,67],previousKeys:[37,80],nextKeys:[39,78]},M);if(typeof O=="string"){O=[[O,N]];N=0}y=E.scrollTop()+(E.height()/2);L=u.initialWidth;r=u.initialHeight;w(a).css({top:Math.max(0,y-(r/2)),width:L,height:r,marginLeft:-L/2}).show();v=m||(H.currentStyle&&(H.currentStyle.position!="fixed"));if(v){H.style.position="absolute"}w(H).css("opacity",u.overlayOpacity).fadeIn(u.overlayFadeDuration);z();j(1);f=O;u.loop=u.loop&&(f.length>1);return b(N)};w.fn.slimbox=function(M,P,O){P=P||function(Q){return[Q.href,Q.title]};O=O||function(){return true};var N=this;return N.unbind("click").click(function(){var S=this,U=0,T,Q=0,R;T=w.grep(N,function(W,V){return O.call(S,W,V)});for(R=T.length;Q<R;++Q){if(T[Q]==S){U=Q}T[Q]=P(T[Q],Q)}return w.slimbox(T,U,M)})};function z(){var N=E.scrollLeft(),M=E.width();w([a,G]).css("left",N+(M/2));if(v){w(H).css({left:N,top:E.scrollTop(),width:M,height:E.height()})}}function j(M){if(M){w("object").add(m?"select":"embed").each(function(O,P){s[O]=[P,P.style.visibility];P.style.visibility="hidden"})}else{w.each(s,function(O,P){P[0].style.visibility=P[1]});s=[]}var N=M?"bind":"unbind";E[N]("scroll resize",z);w(document)[N]("keydown",o)}function o(O){var N=O.keyCode,M=w.inArray;return(M(N,u.closeKeys)>=0)?C():(M(N,u.nextKeys)>=0)?e():(M(N,u.previousKeys)>=0)?B():false}function B(){return b(x)}function e(){return b(D)}function b(M){if(M>=0){F=M;n=f[F][0];x=(F||(u.loop?f.length:0))-1;D=((F+1)%f.length)||(u.loop?0:-1);q();a.className="lbLoading";k=new Image();k.onload=i;k.src=n}return false}function i(){a.className="";w(g).css({backgroundImage:"url("+n+")",visibility:"hidden",display:""});w(p).width(k.width);w([p,I,d]).height(k.height);w(A).html(f[F][1]||"");w(K).html((((f.length>1)&&u.counterText)||"").replace(/{x}/,F+1).replace(/{y}/,f.length));if(x>=0){t.src=f[x][0]}if(D>=0){J.src=f[D][0]}L=g.offsetWidth;r=g.offsetHeight;var M=Math.max(0,y-(r/2));if(a.offsetHeight!=r){w(a).animate({height:r,top:M},u.resizeDuration,u.resizeEasing)}if(a.offsetWidth!=L){w(a).animate({width:L,marginLeft:-L/2},u.resizeDuration,u.resizeEasing)}w(a).queue(function(){w(G).css({width:L,top:M+r,marginLeft:-L/2,visibility:"hidden",display:""});w(g).css({display:"none",visibility:"",opacity:""}).fadeIn(u.imageFadeDuration,h)})}function h(){if(x>=0){w(I).show()}if(D>=0){w(d).show()}w(c).css("marginTop",-c.offsetHeight).animate({marginTop:0},u.captionAnimationDuration);G.style.visibility=""}function q(){k.onload=null;k.src=t.src=J.src=n;w([a,g,c]).stop(true);w([I,d,g,G]).hide()}function C(){if(F>=0){q();F=x=D=-1;w(a).hide();w(H).stop().fadeOut(u.overlayFadeDuration,j)}return false}})(jQuery);
*/



jQuery(document).ready(function(){
 
 if (jQuery.browser.safari && document.readyState != "complete"){
    //console.info('ready...');
    setTimeout( arguments.callee, 100 );
    return;
  }
		
	// EXTERNAL & BLANK LINKS
	$('a.external,a.blank,a[href^="http://"]').attr('target','_blank'); 
	//$('a[href$=".pdf"]').addClass('pdf');
	
	
	//Menu animation						
	$('.index #main-menu ul,.origines #main-menu ul,.contact #main-menu ul,.mentions-legales #main-menu ul').css({display: "none"}); //Fix Opera
		
	$('.index #main-menu li,.origines #main-menu li,.contact #main-menu li,.mentions-legales #main-menu li').hover(function(){
		$(this).find('ul:first').css({visibility : "visible", display : "none"}).show(400);
	
	},function(){
			$(this).find('ul:first').css({visibility : "hidden"}).hide(400);
	});
	
	
	$('#onglet').hover( function() {
		$(this).stop().animate({right:'0px'},500);
	},function(){
		$(this).stop().animate({right:'-119px'},500);
	});
	
	//$('.slimbox a, a.slimbox').slimbox({counterText:'{x} / {y}'});
	
	
	// INDEX PAGE ANIM & SLIDER
	var io = {
		pager:true,
		interval:true,
		intervaltime: 6000,
		callback: function(element, index){
			//console.log(element, index);			
			$('.pager a').removeClass('active');
			$('.pager a[rel="'+index+'"]').addClass('active');		
		}
	}
	//if( $('#intro-img').length ){		
	if( $('body').hasClass('first') && $('#intro-img').length){		
		setTimeout(function() {
			$('#intro-img').animate({
						bottom: '0'
				},
				1000,
				function(){
					setTimeout(function() {$('#logo').show('fast');}, 2500);
				
				}).animate({
					left: '-2100',
					bottom: '-1000',
					width: '4800px',
					height: '1469px'					
				},
				4000,
				function() {	
					// Animation complete.
					//alert('Anim complete');
					//setTimeout(function() {
						$('.overview').show();
						$('.pager').show();
						//$('#onglet').animate({right:'-119px'},500);
						$('#main-menu').fadeIn('slow');
						$('#intro-img').fadeOut(2000);
						$('#slider-horisontal').tinycarousel(io);
						$('body').removeClass('first');		
					//}, 2000);			
				});
		}, 4000);		
	}else{
		$('#slider-horisontal').tinycarousel(io);
	}
	/**/
	// NORMAL SLIDESHOW
	$('.slideshow img:not(:first)').hide();
	$('.slideshow').slideshow({	timeout:4000	});	
	
	// PORTFOLIO PAGE SLIDER
	ss = false;
	ssid = 0; 
	var o = { 
		axis: 'y',
		callback:function(el, i){			
			var id =  $(el).attr('id').substring(5)*1 ;
			//var el = $("#item_"+id);
			//console.log( item);			
			//window.location.hash = ssid = id;			
			//window.location.hash = ssid = $(el).attr('class').substr(1)*1;					
			
			window.location.hash = id;			
			ssid = $(el).attr('class').substr(1)*1;					
			
			if(ss) ss.stop();
			ss = $(el).find('.item-slideshow').data('slideshow');
			ss.play();		
			//debug(ss);
		}	
	}
	if(window.location.hash.length > 0){
		//debug(window.location.hash.substr(1));
		//ssid = window.location.hash.substr(1)*1;
		id = window.location.hash.substr(1)*1;		
		var el = $("#item_"+id);
		//console.log(el);
		var ssid = $(el).attr('class').substr(1)*1;		
		//console.log(ssid);
		o.start = ssid +1;		
	}
	
	//debug(o);
	$('#slider-vertical').tinycarousel(o);
	
	// PORTFOLIO ITEM SLIDESHOW
	$('.item-slideshow li:not(:first)').hide();
	$('.item-slideshow').slideshow({
		slide_element: 'li',
		timeout:4000,
		fadetime:'slow',
		pausestate:1,
		onChange: function(id){
			//debug( $('.overview .p'+ ssid).find('ul.item-img-icos li') );
			var icos = $('.overview .p'+ ssid).find('ul.item-img-icos li').removeClass('selected');
			sc = $(icos[ss.current()]);
			sc.addClass('selected');
		}
	});	

	$('.item-img-icos li a').click( function() {
		var id = $(this).parent().attr('rel');
		ss.stop();
		ss.gotoSlide(id);	

		$(this).parent().parent().find('li').removeClass('selected');
		$(this).parent('li').addClass('selected');
		
		return false;
	});
	
	
	
});	 // END INIT JQUERY
/*
$(window).load(function() {
	$('#slider').nivoSlider(
		{
		 pauseTime:5000,
		 effect:'fade',
		 controlNav:false,
		 directionNavHide:false,
		 pauseOnHover:false
		}
	);
	//$('#slider2').nivoSlider({controlNav:false,directionNav:false,pauseOnHover:false});
});
*/


////////////////////////////
function scrollToID(id){
	var targetOffset = $(id).offset().top;
	//console.log(targetOffset);
	//console.debug($(id));
	$('html, body').animate({scrollTop: targetOffset}, 500, function() { 
		location.hash = id;
	});
};

////////////////////////////
function debug($obj) {
	if (window.console && window.console.debug)
	 window.console.debug('debug: %o', $obj);
};
function log($s) {
	if (window.console && window.console.log)
	 window.console.log($s);
};
