var $j = jQuery.noConflict();

var initRollover = function(){
	$j(".rollover").mouseover(function(){
		rollover($j(this));
	});
	$j(".rollover").mouseout(function(){
		rollout($j(this));
	});
}

var rollover = function(elt) {
	var imgOn = $j(elt).attr("src");
	var idImgOn = $j(elt).attr("id");
	var idImgHover = "#"+idImgOn+"_hover";
	var imgHover =  $j(idImgHover).attr("src");
	$j(elt).attr("src", imgHover);
}

var rollout = function(elt) {
	var imgOn = $j(elt).attr("src");
	var idImgOn = $j(elt).attr("id");
	var idImgOff = "#"+idImgOn+"_off";
	var imgOff =  $j(idImgOff).attr("src");
	$j(elt).attr("src", imgOff);
}

var nbItems;
var current = 0;
var slider_interval;
var itemWidth;

var initSlider = function(){
	itemWidth = $j(".slider ul li").eq(0).width()+10;	
	nbItems =  $j(".slider ul li").size();
	var width = itemWidth * nbItems;
	$j(".slider ul").css("width", width+"px");
	var left;
	if(nbItems>=4){
		slider_interval = setInterval(sliderRotate,2000);
		$j(".prev").click(function(){
			clearInterval(slider_interval);
			if(current>0){
				current--;
				left = -(current * itemWidth);
				$j(".slider ul").animate({left: left+"px"}, 800);
			}
			else if(current==0){
				current=nbItems-3;
				left = -((nbItems * itemWidth) - 498);
				left2 = -((nbItems * itemWidth) - 478);
				$j(".slider ul").css("left", left2+"px");
				$j(".slider ul").animate({left: left+"px"}, 800);
			}
			return false;
		});
		
		$j(".next").click(function(){
			clearInterval(slider_interval);
			if(current<nbItems-4){
				current++;
				left = -(current * itemWidth);
				$j(".slider ul").animate({left: left+"px"}, 800);
			}
			else if(current==nbItems-4){
				current++;
				left = -((nbItems * itemWidth) - 498);
				$j(".slider ul").animate({left: left+"px"}, 800);
			}
			else if(current==nbItems-3){
				current=0;
				left = 20;
				$j(".slider ul").css("left", left+"px");
				$j(".slider ul").animate({left: "0"}, 800);
			}
			return false;
		});
	}
	else{
		$j(".prev").hide();
		$j(".next").hide();
	}
}

var sliderRotate = function () {
	if(current<nbItems-4){
		current++;
		left = -(current * itemWidth);
		$j(".slider ul").animate({left: left+"px"}, 800);
	}
	else if(current==nbItems-4){
		current++;
		left = -((nbItems * itemWidth) - 498);
		$j(".slider ul").animate({left: left+"px"}, 800);
	}
	else if(current==nbItems-3){
		current=0;
		left = 20;
		$j(".slider ul").css("left", left+"px");
		$j(".slider ul").animate({left: "0"}, 800);
	}
}

var initShowLayer = function () {
	$j(".showLayer").click(function(){
		var id = $j(this).attr("href");
		$j(id).fadeIn();
		return false;
	});
}

var initCloseLayer = function () {
	$j(".closeLayer").click(function(){
		var id = $j(this).attr("href");
		$j(id).fadeOut();
		return false;
	});
}

var initTabs = function () {
	//MODIFS GRQ
	if ($j(".tabsNav h2.tabActive").length == 0)
		$j(".tabsNav h2").eq(0).addClass("tabActive");
	$j("#ajaxContent").load($j(".tabsNav h2.tabActive a").eq(0).attr("href"), "", function(){initMoreDetails();});
	//FIN MODIFS GRQ
	$j(".tabsNav h2 a").click(function(){
		$j("#ajaxContent").load($j(this).attr("href"), "", function(){initMoreDetails();});
		$j(".tabActive").removeClass("tabActive");
		$j(this).parent("h2").addClass("tabActive");
		return false;
	});
}

var initMoreDetails = function () {
	$j(".moreDetails").click(function(){
		if(!$j(this).hasClass("less")){
			$j(this).next(".details").slideDown();
			$j(this).addClass("less");
		}
		else{
			$j(this).next(".details").slideUp();
			$j(this).removeClass("less");
		}
		return false;
	});
}

var initFaq = function () {
	var html = '<div id="faqLayer"></div>';
	$j("body").append(html);
	$j(".carrousel dd").hide();
	$j(".carrousel dd").css("visibility", "visible");
	$j(".carrousel dt a").toggle(function(){
		$j(this).parent("dt").next("dd").slideDown();
		$j(this).addClass("faqOn");
		return false;
	}, function(){
		$j(this).parent("dt").next("dd").slideUp();
		$j(this).removeClass("faqOn");
		return false;
	});
	$j(".showFaqLayer").click(function(){		
		$j("#faqLayer").load($j(this).attr("href"), "", function(){
			$j(this).css("margin-top", -$j(this).height()/2);
			$j(this).fadeIn();
		    initFaqSatisfaction();
			initCloseFaqLayer();
		});
		$j(this).parent("li").addClass("clicked");
		return false;
	});
	//GRQ : on ouvre le popin avec la faq active
	$j(".faqAAfficher").click();
	//FIN GRQ
}

var initCloseFaqLayer = function () {
	$j(".closeFaqLayer").click(function(){
		
		//
		$j("#faqLayer").fadeOut();
		$j("#faqLayer").empty();
		return false;
	});
}

var initFaqSatisfaction = function() {
    var buttons = $j(".satisfied");
    buttons.click(function () {
        $j.ajax({
            url:$j(this).attr("href"),
            data:{                
                data:$j(this).attr("id")
            }
        });
    });
};


// MODIFIE MGU
var imgTheme;
var initContactTheme = function () {
	$j(".submitFaq").click(function(){
		$j(".faqBloc").hide();
		$j("#contactProductTitle").removeClass("error");
		$j("#listFaq").parent(".faqContainer").attr("class", "faqContainer");
		$j("#listFaq").parent(".faqContainer").addClass(imgTheme);
        // R�cup�ration des donn�es avant de terminer le traitement
        $j.get($j("#listFaqURL").val(), {product: $j(".contactProduct input:checked").attr('id')}, function(data) {
            $j("#listFaq").html(data);
            // Activation des �v�nements sur le HTML inclu
            initFaq();
            $j("#listFaq dd").eq(0).show();
            $j("#listFaq").fadeIn();
        });

		return false;
	});
	$j(".submitContact").click(function(){		
		var isChecked = false;
		$j(".contactSituation input").each(function(){
			if($j(this).is(":checked")){
				isChecked = true;
			}
		});
		
		if(!isChecked){$j("#contactSituationTitle").addClass("error");}
		else{$j("#contactSituationTitle").removeClass("error");}
		
		if(isChecked){
			$j(".faqBloc").hide();
			$j("#contactSituationTitle").removeClass("error");
			$j("#listContact").parent(".faqContainer").attr("class", "faqContainer");
			$j("#listContact").parent(".faqContainer").addClass(imgTheme);
            $j.get($j("#listContactURL").val(), {product: $j(".contactProduct input:checked").attr('id'), client: $j(".contactSituation input:checked").val()}, function(data) {
                $j("#listContact").html(data);
                // Activation des �v�nements sur le HTML inclu
                initFaq();
                $j("#listContact dd").eq(0).show();
                $j("#listContact").fadeIn();
            });
		}
		return false;
	});
	$j(".contactProduct input").click(function(){
        imgTheme = $j(this).val();
        var productID = $j(this).attr('id');
        var src = $j('#' + productID + 'picto').val();
        $j("#pictoFaq").attr("src", src);
        $j(".faqBloc").hide();
        $j("#formTheme").fadeIn();
    });
	if ($j("#def_productType").val()) {
		imgTheme = $j("#def_productType").val();
	    var productID = $j("#def_productType").attr('id');
	    var src = $j('#def_picto').val();
	    $j("#pictoFaq").attr("src", src);
	    $j(".faqBloc").hide();
	    $j("#formTheme").fadeIn();
	}
};

var selectJobType = function () {
	$j(".jobTypes input").click(function(){
		if($j(this).is(":checked")){
			$j(this).next("label").addClass("isChecked");
			/* AJOUT ADN */
			idNature = $j(this).attr("id");
			$j(".offre"+idNature).each(function(i){
				$j(this).show();
			});
			/* FIN AJOUT ADN */
		}
		else{
			$j(this).next("label").removeClass("isChecked");
			/* AJOUT ADN */
			idNature = $j(this).attr("id");
			$j(".offre"+idNature).each(function(i){
				$j(this).hide();
			});
			/* FIN AJOUT ADN */
		}
	});
}

var initJobOffers = function () {
	$j(".jobDetails").css("visibility", "visible");
	$j(".jobDetails").hide();
	$j(".offersList h2 a").toggle(function(){
		$j(this).parents("h2").next(".jobDetails").slideDown();
		$j(this).addClass("jobOn");
		return false;
	}, function(){
		$j(this).parents("h2").next(".jobDetails").slideUp();
		$j(this).removeClass("jobOn");
		return false;
	});
}

var initJobApply = function () {
	$j("#jobApply").hide();
	$j("#jobApply").css("visibility","visible");
	$j(".applyJob a").click(function(){
		$j("#jobApply").fadeIn();
		window.location = "#jobForm";
		return false;
	});
	$j(".closeJobApply").click(function(){
		$j("#jobApply").fadeOut("slow", function(){$j("#jobApplyForm").show(); $j("#confirmation").hide();});
		return false;
	});
}

var showConfirmation = function () {
	//A faire au dev : verification d'erreur si tout va bien afficher la confirmation,
	//cette fonction est appele apres le traitement du formulaire
	$j("#jobApplyForm").hide();
	$j("#confirmation").fadeIn();
}

var initPopin = function () {
	var divs = '<div id="mask"></div><div id="popin"></div>';
	$j("body").append(divs);
    $j(".showPopin").click(function() {
        $j("#popin").load($j(this).attr("href"), function() {
            $j("#popin").css("margin-left", -$j("#popin").width() / 2);
            $j("#popin").css("margin-top", -$j("#popin").height() / 2);
            $j(this).fadeIn();
            initClosePopin();
        });
        $j("#mask").show();
        return false;
    });
}
var initClosePopin = function () {
	$j(".closePopin").click(function(){
		$j("#mask").hide();
		$j("#popin").fadeOut();
		$j("#popin").empty();
		return false;
	});
	$j("#mask").click(function(){
		$j("#mask").hide();
		$j("#popin").fadeOut();
		$j("#popin").empty();
		return false;
	});
}

var homeRollover = function () {
	$j(".tableAnim td").mouseover(function(){
		$j(".animActive").removeClass("animActive");
		$j(this).find(".animBts").addClass("animActive");
	});
}

var alertHome = function () {
	$j("#homeAlert").hide();
	$j("#homeAlert").css("visibility", "visible");
	$j(".alertTitle").toggle(function(){
		$j("#homeAlert").slideDown();
		$j(this).addClass("alertActive");
		return false;
	}, function(){
		$j("#homeAlert").slideUp();
		$j(this).removeClass("alertActive");
		return false;
	});
};

// AJOUT MGU : dynamique des offres commerciales
var initOffers = function() {
    $j("#offersForm input").click(updateOffers);
    updateOffers();
};

var updateOffers = function() {
    $j.get($j("#offersForm").attr('action'), $j("#offersForm").serialize(), initOffersResults);
};

var initOffersResults = function(data) {
    $j("#results").html(data);
    // On met un �v�nement sur la pagination
    $j(".pagination a").click(function(){
        $j.get(this.href, initOffersResults);
        return false;
    });
};

var initAll = function () {
	if($j(".rollover").is("img")) initRollover();
	if($j(".slider").is("div")) initSlider();
	if($j(".showLayer").is("a")) initShowLayer();
	if($j(".closeLayer").is("a")) initCloseLayer();
	if($j(".tabsNav h2 a").is("a")) initTabs();
	if($j(".tabsRefreshNav h2 a").is("a")) initMoreDetails();
	if($j(".carrousel dt a").is("a")) initFaq();
	if($j(".submitFaq").is("input")) initContactTheme();
	if($j(".offersList h2 a").is("a")) initJobOffers();
	if($j(".jobTypes input").is("input")) selectJobType();
	if($j(".applyJob a").is("a")) initJobApply();
	if($j(".showPopin").is("a")) initPopin();
	if($j(".tableAnim td").is("td")) homeRollover();
	if($j(".alertTitle").is("h2")) alertHome();
// AJOUT MGU : dynamique des offres commerciales
    if($j("#offersForm").size() > 0) initOffers();
    
	/* Font */
	if($j(".mainTitle").is("h1")) Cufon.replace(".mainTitle", {fontFamily:"Mic32NewLt"});
	if($j(".mainTitle strong").is("strong")) Cufon.replace(".mainTitle strong", {fontFamily:"Mic32NewBd"});
	if($j(".steps h2").is("h2")) Cufon.replace(".steps h2", {fontFamily:"Mic32NewLt"});
	if($j(".headline").is("h2") || $j(".headline").is("p")) Cufon.replace(".headline", {fontFamily:"Mic32NewLt"});
	if($j(".sliderContainer h2").is("h2")) Cufon.replace(".sliderContainer h2", {fontFamily:"Mic32NewMd"});
	if($j("#sidebar h2").is("h2")) Cufon.replace("#sidebar h2", {fontFamily:"Mic32NewMd"});
	if($j(".stepsTransition h2").is("h2")) Cufon.replace(".stepsTransition h2", {fontFamily:"Mic32NewRgIt"});
	if($j(".stepsTransition h1").is("h1")) Cufon.replace(".stepsTransition h1", {fontFamily:"Mic32NewRgIt"});
	if($j(".stepsTransition p").is("p")) Cufon.replace(".stepsTransition p", {fontFamily:"Mic32NewRgIt"});
	if($j(".sitemap h2").is("h2")) Cufon.replace(".sitemap h2", {fontFamily:"Mic32NewRg"});
	if($j(".sitemap h2").is("h2")) Cufon.replace(".sitemap h2 strong", {fontFamily:"Mic32NewBd"});
	if($j(".contactProduct label").is("label")) Cufon.replace(".contactProduct label", {fontFamily:"Mic32NewRg"});
	if($j(".offerProduct label").is("label")) Cufon.replace(".offerProduct label", {fontFamily:"Mic32NewRg"});
	if($j("#sidebar .pushSimple h2").is("h2")) Cufon.replace("#sidebar .pushSimple h2", {fontFamily:"Mic32NewBd"});
	if($j("#sidebar .pushSimple p").is("p")) Cufon.replace("#sidebar .pushSimple p", {fontFamily:"Mic32NewBd"});
	if($j("#sidebar .blocVideo h2").is("h2")) Cufon.replace("#sidebar .blocVideo h2", {fontFamily:"Mic32NewMd"});
	if($j(".numeral strong").is("strong")) Cufon.replace(".numeral strong", {fontFamily:"Mic32NewRg"});
	if($j(".white").is("div")) Cufon.replace(".white", {fontFamily:"Mic32NewRg"});
	if($j(".highlightTxt").is("strong")) Cufon.replace(".highlightTxt", {fontFamily:"Mic32NewBd"});
	if($j(".blocAnimHome h2").is("h2")) Cufon.replace(".blocAnimHome h2", {fontFamily:"Mic32NewLt"});
	if($j(".homeAnims h1").is("h1")) Cufon.replace(".homeAnims h1", {fontFamily:"Mic32NewLt"});
	if($j(".homeAnims h2").is("h2")) Cufon.replace(".homeAnims h2", {fontFamily:"Mic32NewBd"});
	if($j(".homeAnims td h3").is("h3")) Cufon.replace(".homeAnims td h3", {fontFamily:"Mic32NewRg"});
	if($j(".homeAnims td h3 strong").is("strong")) Cufon.replace(".homeAnims td h3 strong", {fontFamily:"Mic32NewBd"});
	/* END Font */
}

$j(document).ready(function () {
	initAll();
});
