// JavaScript Document

$(document).ready(function(){
	$("div#header div.logo div.layer").css({backgroundPosition: "0px " + 0 + "px"})
	anim_logo();
	anim_patch(0);

	if($("div.certif").length)
		anim_certif(0);
	

	// animation d'intro
	$("div.anim_image div.img_1").delay(500).animate({opacity:1},1000);
	$("div.anim_image div.img_2").delay(2000).animate({opacity:1},{duration:1000});
	$("div.anim_image img.slogan").animate({opacity:0}, 0).delay(3000).animate({opacity:1, marginTop:40},500);

	$("div.anim_image, div.anim_bg").delay(6000).animate({opacity:0}, {duration:1000, complete:function(){
		$("div.anim_image, div.anim_bg").css({display:"none"});
	}});


	// fancybox
	$("a.fboxinline").fancybox({
		"width" : 680,
		"padding" : 0,
		"margin" : 0,
		"overlayOpacity" : 0.8,
		"overlayColor":"#000",
		"transitionIn" : "fade",
		"transitionOut" : "fade"
	});


	// fancybox
	$("a.fbox").fancybox({
		'titlePosition' : 'outside',	
		"transitionIn" : "elastic",
		"transitionOut" : "elastic"
	});


	// slide
	$("body.home div.slide").nivoSlider({
		effect:'fade',
		slices:1,
		startSlide:Math.floor(Math.random()*$('div.slide img').length),
		animSpeed:1000,
		pauseTime:4000,
		directionNav:false,
		directionNavHide:true,
		controlNav:false
	});
	
	
	// blocs "en savoir +"
	$(".savoir-plus").click(function(){
		$(".savoir-plus.on").removeClass("on");
		$(".savoir-plus-txt").hide(500);
		$(this).parent().children(".savoir-plus-txt").stop().toggle(500);
		$(this).addClass("on");
	});


	// carousel
    jQuery('body.page.sur-mesure ul.jcarousel-skin-tango').jcarousel({
		scroll:1,
		wrap: 'circular',
		easing: 'linear',
		auto:3,
		initCallback: mycarousel_initCallback
	});

    /*jQuery('body.page.realisations ul.jcarousel-skin-tango').jcarousel({
		scroll:1,
		wrap: 'circular',
		easing: 'easeOutBack'
	});
	
	// portfolio
	$("li.jcarousel-item img").click(function(){
		$("li.jcarousel-item img.on").removeClass("on");
		$(this).addClass("on");
		$("div#realisations-apercu img").attr("src", $(this).attr("target_url"));
	});
	*/

	var real_i = 3;
	jQuery('body.page.realisations ul.jcarousel-skin-tango').jcarousel({
		scroll:1,
		wrap: 'circular',
		easing: 'easeOutBack',
		itemFirstInCallback: mycarousel_itemFirstInCallback 
	});

});


function mycarousel_itemFirstInCallback(carousel, i, idx, state){
	real_i = idx+2;
	$("div#realisations-apercu img").attr("src", $("li.jcarousel-item-"+real_i+" img").attr("target_url"));
	$("li.jcarousel-item img.on").removeClass("on");
	$("li.jcarousel-item-"+real_i+" img").addClass("on");
}



function mycarousel_initCallback(carousel){
    carousel.buttonNext.bind('click', function() {
        carousel.startAuto(0);
    });
 
    carousel.buttonPrev.bind('click', function() {
        carousel.startAuto(0);
    });
 
    carousel.clip.hover(function() {
        carousel.stopAuto();
    }, function() {
        carousel.startAuto();
    });
};



function anim_certif(i){
	$("div.certif_anim div.layer").animate({right:-800}, {duration:0}).animate({right:800}, {duration:2000});
	setTimeout('$("div.certif_anim div.certif_txt").css({display: "none"});', 500);
	setTimeout('$("div.certif_anim div#certif_'+(i%2)+'").css({display: "block"});', 500);
	setTimeout("anim_certif("+(i+1)+")",5000);
}

function anim_logo(){
	v = 7500;
	$("div#header div.logo div.layer").animate({backgroundPosition: "(0 0)"},{duration:1, complete:function(){
		$(this).css({backgroundPosition: "0 0"});
	}}).animate({backgroundPosition: "(-210 0)"},{duration:v, easing:"linear", complete:function(){
		$(this).css({backgroundPosition: "-210 0"});
	}});
	setTimeout("anim_logo()", v);
}

function anim_patch(i){
	$("img.patch").css({"display" : "none"});
	$("img#patch_"+(i%2)).css({"display" : "block"});
	setTimeout("anim_patch("+(i+1)+")", 5000);
}


(function($) {
	$.extend($.fx.step,{
	    backgroundPosition: function(fx) {
            if (fx.state === 0 && typeof fx.end == 'string') {
                var start = $.curCSS(fx.elem,'backgroundPosition');
                start = toArray(start);
                fx.start = [start[0],start[2]];
                var end = toArray(fx.end);
                fx.end = [end[0],end[2]];
                fx.unit = [end[1],end[3]];
			}
            var nowPosX = [];
            nowPosX[0] = ((fx.end[0] - fx.start[0]) * fx.pos) + fx.start[0] + fx.unit[0];
            nowPosX[1] = ((fx.end[1] - fx.start[1]) * fx.pos) + fx.start[1] + fx.unit[1];
            fx.elem.style.backgroundPosition = nowPosX[0]+' '+nowPosX[1];

           function toArray(strg){
               strg = strg.replace(/left|top/g,'0px');
               strg = strg.replace(/right|bottom/g,'100%');
               strg = strg.replace(/([0-9\.]+)(\s|\)|$)/g,"$1px$2");
               var res = strg.match(/(-?[0-9\.]+)(px|\%|em|pt)\s(-?[0-9\.]+)(px|\%|em|pt)/);
               return [parseFloat(res[1],10),res[2],parseFloat(res[3],10),res[4]];
           }
        }
	});
})(jQuery);
