﻿/* MSG ERRORS
--------------------------------------------------------------------------------------------------------------------------------------*/

var msgOK			= "OK";
var msgPresence		= "Champs obligatoire";
var errEmail		= "Email invalide";

/* COMMON
--------------------------------------------------------------------------------------------------------------------------------------*/

$(function(){
	
	if($('#emballage').length)
	{
		//parametrisation du clic pour comment lire un emballage
		$('#emballage li a').click(function() {
				$.get(this, function(data) {
					  $('#descriptif_emballage').html(data);		  
				});
			return false;
				//var launch = $('a.launch', this);
				//if (launch.size() > 0) { this.onclick = launch.attr('onclick'); }
		});
		
	}
	initMenu();
	if($('.stdOnglets, #calculerAge')[0]) initTabs();
	if($('#listeRaisons')[0]) initRaisons();
	
	//rechercher
	$('a#btnSearchForm').click(function(){
		valInput = $("#s").attr("value");
		
		if(valInput.indexOf("Ex :") == 0){
			/*	alert("ok");
				$("#s").attr("value") = " ";
				console.log($("#s").attr("value"));
				alert("ok");
				*/
				$("#s").attr("value","");
				$("form").submit();	
			}
		$("form").submit();	
		return false;
	});
	
	
	// Carousel Prehome
	if($('#carouselRecs').length){
		$('#carouselRecs').jcarousel({scroll:1});
	}
	
	if($('#carouselUne').length){
		$('#carouselUne').jcarousel({
		scroll:1,
		size:3,
		auto: 3,
        wrap: 'last',
		
        initCallback: mycarousel_initCallback

		});
	}
	
	if($('#carouselDeguster').length){
		$('#carouselDeguster').jcarousel({
		scroll:1,
		size:3,
		auto: 3,
        wrap: 'last',
		
        initCallback: mycarousel_initCallback

		});
	}	
	
	if($('#carouselRentreeContenu').length){
		$('#carouselRentreeContenu').jcarousel({
		wrap: null,
		scroll:1,
        initCallback: mycarousel_initCallback
		});
	}
	
	
	// Carousel PNNS
	$('#PNNS').jcarousel({scroll:1, auto: 5, wrap: 'last'});
	
	// Focus form
	$('#input_recherche').focus(function(){
	
		if($(this).attr('value') == this.defaultValue) $(this).attr('value', '');
	}).blur(function(){
		if($.trim(this.value) == '') this.value = (this.defaultValue ? this.defaultValue : '');
	});
	
	if($('#pageRecherche')[0]) initSearch();
	equalHeight($('#searchResults .item h3'));
	
	// Classic Search check
	/*$('#searchForm, #sideSearchForm').bind('submit', function(){
		if($('#s').val() == 'Tapez votre recherche') return false;
	});*/
	
	// Std facybox
	$('.facybox').facybox();
	$('a[rel*=facybox]').facybox({
        // noAutoload: true
      });


	// PrintLink
	$('.printLink, .blankLink').attr('target', 'blank');
	
	// Btn share rec
	if($('#btnShareRec')[0]){
		$(document).bind('reveal.facybox', function(){
			if($('#par_nom')[0]) initPartagerForm();
		});
	}	
  
	// Facy Video
	$('.facyVideo').click(function(){
		$.facybox('<div id="lbVideo"><div id="playerVideo"></div></div>');
		var flashvars = {
			'SITE_URL'	: SITE_URL,
			'VIDEO' : $(this).attr('href')
		};
		
		swfobject.embedSWF(TEMPLATE_URL+"/swf/player.swf", "playerVideo", "600", "365", "9.0.262", TEMPLATE_URL+"/swf/expressInstall.swf", flashvars, {}, {});
		
		if(pageTracker)
			pageTracker._trackPageview($(this).attr('href'));
		
		return false;
	});
	$('a.close').click(function(){
		//$('#lbVideo').remove();
	});
	
	// #
	$('.searchFormAvance #s').focus(function(){
		if($(this).attr('value') == this.defaultValue){
			$(this).attr('value', '');
			$(this).css('color','#FAE9C6');
			$(this).css('fontStyle','normal');
		}
		
	}).blur(function(){
		if($.trim(this.value) == '') this.value = (this.defaultValue ? this.defaultValue : '');
		
		if($.trim(this.value) == '' || $(this).attr('value') == this.defaultValue){
			$(this).css('color','gray');
			$(this).css('fontStyle','italic');
		}
		else{
			$(this).css('color','#FAE9C6');
			$(this).css('fontStyle','normal');
		}
		
	}).keyup(function(){
		if($.trim(this.value) == '' || $(this).attr('value') == this.defaultValue){
			
			
			$(this).css('color','gray');
			$(this).css('fontStyle','italic');
		}
		else{
			$(this).css('color','#FAE9C6');
			$(this).css('fontStyle','normal');
		}
	});
	
	
	if($("#ie6link").length){
		$("#ie6link").trigger('click');
	}

});


/* FUNCTIONS
--------------------------------------------------------------------------------------------------------------------------------------*/

function initTabs(){
	$('.tabContent').not('.open').hide();
	
	// Menu
	$('.stdOnglets .menu a').click(function(){
		var list = $(this).parent().parent();
		list.find('a').removeClass('active');
		$(this).addClass('active');
		
		list.parent().find('.tabContent').hide();
		$($(this).attr('href')).show();
		
		return false;
	});
	
	// Select
	$('#calculerAge').click(function(){
		$('.tabContent').hide();
		$('#'+$('#ages').val()).show();
		return false;
	});
}

function initMenu(){
	// Main Menu

	//Pages recettes
	$('.page-template-recherche3-php #menu .recettes').addClass('active');
	$('.page-template-resultats3-php #menu .recettes').addClass('active');
	$('.single.catID1 #menu .recettes').addClass('active');
	
	//pages produits
	$('.page-template-produits-php #menu .produits').addClass('active');
	$('.single.catID3 #menu .produits').addClass('active');
	
	//Pages trucs et astuces
	$('.page-template-home_trucs_et_astuces-php #menu .truc_astuces').addClass('active');
	$('.single.catID16 #menu .truc_astuces').addClass('active');
	
	//Pages savoir faire
	$('.page-template-home_savoir_faire-php #menu .savoir_faire').addClass('active');
	$('.single.catID17 #menu .savoir_faire').addClass('active');
	
	//Pages Nutrition
	$('.page-template-home_nutrition-php #menu .nutrition').addClass('active');
	$('.page-template-raisons_fromage-php #menu .nutrition').addClass('active');
	$('.page-template-nutrition_type3-php #menu .nutrition').addClass('active');
	$('.page-template-nutrition_type2-php #menu .nutrition').addClass('active');
	$('.page-template-nutrition_type1-php #menu .nutrition').addClass('active');
	
	
	//$(active).
	$('#menu li').hover(function(){
		$(this).stop(true).fadeTo(300, 1);
	}, function(){
		if(!$(this).hasClass('active')) $(this).stop(true).fadeTo(300, 0.7);
	}).not('.active').fadeTo(300, 0.7);

	
	
	// Contact
	$('.fbContact').click(function(){
		triggerFB($(this).attr('href'), function(){
			initContactForm();
		});
		return false;
	});
	
	//jeu brochettes verification
	if($(".page-template-brochette_tirage-php #verification").length){
		var verif_gagnant = 1;
		
		$("#verification").click(function(){
			verificationFromage(verif_gagnant);			
			return false;
		});
	}
	
	//jeu brochettes so chic
	if($(".page-template-brochette_sochic-php").length){
		$("#petites_idees a.lien").click(function(){
			if(!$(this).hasClass("actif")){
				id_actif = $(this).attr("id");
				$(".idees_contenus.actif").fadeOut(200,function(){
					$("#petites_idees .actif").removeClass("actif");
					$("#"+id_actif).addClass("actif");
					$("#"+id_actif+"_contenu").addClass("actif").fadeIn(500);
				});
			}
			return false;	
		});
	}
	
	//jeu brochettes so chic
	if($(".page-template-fromages_fondre-php").length){
		$("#accordionFromage1,#accordionFromage2").accordion({ autoHeight: false });
		$("#accordionFromage3 h3 a").click(function(){
			return false;	
		});
		$(".tabFromage:not([class~=actif])").hide();
		$("#menuFromage a").click(function(){
			if(!$(this).hasClass("actif")){
				id_actif = $(this).attr("id");
				$(".tabFromage.actif").hide(0,function(){
					$("#menuFromage a.actif").removeClass("actif");
					$("#"+id_actif).addClass("actif");
					$("#"+id_actif+"_contenu").addClass("actif").show();
					
					$("#tabFromage").removeClass('lfondue_content lraclette_content ltartiflette_content').addClass(id_actif+"_content");
				});
			}
			return false;	
		});
	}
	
	//jeu brochettes so chic
	if($(".page-template-monrepasdefete-php").length){
	
		$("#sous_menu a").click(function(){
			if(!$(this).parent().hasClass("actif")){
				$("#sous_menu .actif").removeClass("actif");
				$(this).parent().addClass("actif");
				sm_actif = $(this).parent().attr("id");
				$("#slideBG").removeClass("slide1 slide2 slide3");
				if(sm_actif=="ssmenu1"){
					$("#slideBG").addClass("slide1");
					$(".slide").hide();
					$("#slide1").show();
				}
				if(sm_actif=="ssmenu2"){
					$("#slideBG").addClass("slide2");
					$(".slide").hide();
					$("#slide2").show();
				}
				if(sm_actif=="ssmenu3"){
					$("#slideBG").addClass("slide3");
					$(".slide").hide();
					$("#slide3").show();
				}
			}
			return false;	
		});
	}
	
}

function verificationFromage(etape){
	
	 if(etape<4){
	 	$("#verification").removeClass("etape"+etape);
		etape++;
	    $("#verification").addClass("etape"+etape);
		setTimeout("verificationFromage("+etape+")",500);
	 }else{
		$("#verification").css("display","none")
		$(".box").css("display","block");
		clearTimeout(); 
	 }
}
function getMenuPos(num){
	switch(num){
		case 1 : return 0;
		case 2 : return 40;
		case 3 : return 80;
		case 4 : return 160;
		case 5 : return 200;
		case 6 : return 241;
		case 7 : return 120;
	}
}

function initSearch(){
	$("#pageRecherche .advancedSlider").slider({
		min : 1,
		max: 3,
		step : 1,
		value: 2
	});
	
	$('#btnAdvancedSearch').click(function(){
		var type1 = $('#slider1').slider('option', 'value');
		var type2 = $('#slider2').slider('option', 'value');
		var type3 = $('#slider3').slider('option', 'value');
		$('#btnAdvancedSearch').addClass('loading');
		
		$.getJSON(SITE_URL+'/resultats/', {'res': 'nb','t1':type1, 't2':type2, 't3':type3}, function(data){
			$('#btnAdvancedSearch').removeClass('loading');
			$('#searchRes').show().find('strong').text(data.nb);
			$('#voirRecettes').attr('href', SITE_URL+'/resultats/?res=vue&t1='+type1+'&t2='+type2+'&t3='+type3+'&nb='+data.nb);
		});
		return false;
	});
}

function equalHeight(group){
	var tallest = 0;
	group.each(function() {
		var thisHeight = $(this).height();
		if(thisHeight > tallest) {
			tallest = thisHeight;
		}
	});
	group.height(tallest);
}

function initRaisons(){
	if(window.location.hash){
		$(window.location.hash+ ' .raisonContent').slideDown();
		$(window.location.hash).find('.savoirPlus').text('Fermer');
	}
	
	$('#listeRaisons .header').click(function(){
		if($(this).next().is(':visible')){
			$(this).next().slideUp();
			//$(this).find('.savoirPlus').text('En savoir +');
		}else{
			$('#listeRaisons .raisonContent:visible').slideUp(); //.prev().find('.savoirPlus').text('En savoir +');
			$(this).next().slideDown();
			//$(this).find('.savoirPlus').text('Fermer');
		}
	});
}

function initPartagerForm(){
	var parNom = new LiveValidation('par_nom', {onlyOnSubmit:true, validMessage:msgOK});
	parNom.add(Validate.Presence, {failureMessage:msgPresence});
	
	// Prénom
	var parPrenom = new LiveValidation('par_prenom', {onlyOnSubmit:true, validMessage:msgOK});
	parPrenom.add(Validate.Presence, {failureMessage:msgPresence});
	
	// Emails
	var parEmail1 = new LiveValidation('par_email1', {onlyOnSubmit:true, validMessage:msgOK});
	parEmail1.add(Validate.Presence, {failureMessage:msgPresence});
	parEmail1.add(Validate.Email, {failureMessage:errEmail});
	
	var parEmail2 = new LiveValidation('par_email2', {onlyOnSubmit:true, validMessage:msgOK});
	parEmail2.add(Validate.Email, {failureMessage:errEmail});
	var parEmail3 = new LiveValidation('par_email3', {onlyOnSubmit:true, validMessage:msgOK});
	parEmail3.add(Validate.Email, {failureMessage:errEmail});
	var parEmail4 = new LiveValidation('par_email4', {onlyOnSubmit:true, validMessage:msgOK});
	parEmail4.add(Validate.Email, {failureMessage:errEmail});
	
	// Msg
	var parMsg = new LiveValidation('par_msg', {onlyOnSubmit:true, validMessage:msgOK});
	parMsg.add(Validate.Presence, {failureMessage:msgPresence});
	
	$('#formShare').bind('submit', function(){
		if(LiveValidation.massValidate([parNom, parPrenom, parEmail1, parEmail2, parEmail3, parEmail4])){
			$('#formShare h3').addClass('loading');
			var fields = $('#formShare').find('input, textarea, select').serializeArray();
			$('#facyProd').load(SITE_URL+'/recommander/', fields);
		}
		return false;
	});
}

function launchVideo(video){
	$.facybox('<div id="lbVideo"><div id="playerVideo"></div></div>');
	var flashvars = {
		'SITE_URL'	: SITE_URL,
		'VIDEO' : TEMPLATE_URL+'/swf/experts/'+video
	};
	
	swfobject.embedSWF(TEMPLATE_URL+"/swf/player.swf", "playerVideo", "600", "338", "9.0.262", TEMPLATE_URL+"/swf/expressInstall.swf", flashvars, {}, {});
			
	return false;
}

function mycarousel_initCallback(carousel)
{

   
	
	jQuery('#carouselUne-next').bind('click', function() {

        carousel.next();
        return false;
    });

    jQuery('#carouselUne-prev').bind('click', function() {
        carousel.prev();
        return false;
    });


    // Pause autoscrolling if the user moves with the cursor over the clip.
    carousel.clip.hover(function() {
        carousel.stopAuto();
    }, function() {
        carousel.startAuto();
    });
};

function initContactForm(){
	// Nom
	var insNom = new LiveValidation('conNom', {onlyOnSubmit:true, validMessage:msgOK});
	insNom.add(Validate.Presence, {failureMessage:msgPresence});
	
	// Prénom
	var insPrenom = new LiveValidation('conPrenom', {onlyOnSubmit:true, validMessage:msgOK});
	insPrenom.add(Validate.Presence, {failureMessage:msgPresence});
	
	// Email
	var insEmail = new LiveValidation('conEmail', {onlyOnSubmit:true, validMessage:msgOK});
	insEmail.add(Validate.Presence, {failureMessage:msgPresence});
	insEmail.add(Validate.Email, {failureMessage:errEmail});
	
	// Nom
	var insMsg = new LiveValidation('conMsg', {onlyOnSubmit:true, validMessage:msgOK});
	insMsg.add(Validate.Presence, {failureMessage:msgPresence});
	
	setAjaxRequest('form-contact', [insNom, insPrenom, insEmail, insMsg], false);
}

// Lance la lightbox ainsi que la fonction passé en paramètre une fois chargée
function triggerFB(href, fn, classe){
	jQuery.facybox(function(){
		$.get(href, function(data){
			$.facybox(data, classe);
			if(typeof fn === "function") fn();
		});
	});
}

function setAjaxRequest(formID, tabFields, redir, page){
	var form = $('#'+formID);
	
	form.bind('submit', function(){
		// Suppression des messages d'erreur
		$('#'+formID+' .formError').remove();
		
		// If form is OK
		if(LiveValidation.massValidate(tabFields)){
			//showAjaxLoader();
			
			var fields = form.find('input, textarea, select').serializeArray();
			$.getJSON(form.attr('action'), fields, function(data){
				//showBtnSend();
				
				if(data.error){
					// Affichage Erreur
					form.append($('<div/>', {
						'class' : 'formError',
						text : data.error
					}));
				}else{
					if(redir) window.location.href = page;
					else $.facybox(data.ok, 'facyStdMsg');
				}
			});
		}
		return false;
	});
}
