﻿/*global $, document */
/* ---------------------------------------------------------------- */
/* Affiche les nouveautés */
function afficheNouveaute (evt) {
	evt.preventDefault();
	
	var nouveaute = $('#' + $(this).attr('rel'));
	if(nouveaute && !nouveaute.hasClass('active')) {
		$('#menuNew li.active').removeClass('active');
		$('#contenuNew li.active').removeClass('active');
		
		$(this).parent().addClass('active');
		nouveaute.addClass('active');
	}
}



/* Suppression du texte présent dans la textbox */
function clearTextBox(e) {
	if(!this.clearOneTime) {
		this.clearOneTime = true;
		$(this).val("");
		clearOneTime = true;
	}
}


/* Imprime la page */
function printPage(e) {
	e.preventDefault();
	window.print();
}


var _window = this.window;
function autoprint() {
	this.focus();
	$(document).ready(function() {
		_window.print();
	});
}


/* ---------------------------------------------------------------- */
/* Initialisation de la page */
$(document).ready(function() {
	/* Affichage des nouveautés */
	$('a.triggerAfficheNouveaute').bind('click', afficheNouveaute);
	
	/* Onglets result search */// ADDED 06 07 09
	$('.tabHeader ul li a').bind('click', displayBlocForCurrOng);
	
	/* roll over sur le menu Naviguation Top*/// ADDED 06 07 09
	displayLayerMenu();
	
	/**/
	$('#btAddCom').bind('click',verifyForm);
	
	
	/* Suppression du texte présent dans la textbox */
	$('.jsClearInput').bind('focus', clearTextBox);
	
	
	/* Lance l'impression de la page */
	$('.jsPrint').bind('click', printPage);	
	
	
	/* Lance l'animation du bloc home */ ///ADDED 29 09 09 Thomas Beduneau
	HomeLoop.init()

});

/* Onglets result search */// 06 07 09
function displayBlocForCurrOng(){
	$('.tabHeader ul li.selected').removeClass('selected');
	$(this).parent().addClass('selected');
	
	var index = $('.tabHeader ul li').index($(this).parent());
	
	$('.contentAgenda > div').hide();
	
	$('.contentAgenda').append('<div class="agenda-loader"></div>');
	
	//$($('.contentAgenda .itemBlocResult')[index]).show();	
	
	// 04-02-2010 : la page ne charge pas quand on clique sur lundi
	// return false;
}

/* Onglets result search */// 06 07 09
/*function displayBlocForCurrOng(){
	$('.tabHeader ul li.selected').removeClass('selected');
	$(this).parent().addClass('selected');
	
	var index = $('.tabHeader ul li').index($(this).parent());
	
	$('.contentAgenda > div').hide();
	$($('.contentAgenda > div')[index]).show();
	
	$($('.contentAgenda > div')[index])
	
	//$($('.contentAgenda .itemBlocResult')[index]).show();	
	
	// 04-02-2010 : la page ne charge pas quand on clique sur lundi
	// return false;
}*/

/* roll over sur le menu Naviguation Top */// ADDED 06 07 09
function displayLayerMenu(){
	// Affiche les layer (  ss menu ) //
	$('#navigation > li').bind('mouseenter',function(){
		$('#navigation .ssMenu').hide();
		if($('.ssMenu',$(this)).length){
			$('.ssMenu',$(this)).show();
		}
	})
	
	// cache les layer (  ss menu ) Mouseout //		
	$('#navigation > li').bind('mouseleave',function(){
		$('#navigation .ssMenu').hide();
	})
}

/**/
function verifyForm(){
	var flag = true;
	$('#formComments .reqField').each(function(){		
		if(!$(this).val()){
			$('.msgErr',$(this).parent()).show();
			flag = false;
		}else{
			$('.msgErr',$(this).parent()).hide();
		}
	})
	if(!flag) 
		return false;
	else 
		return true;
}

HomeLoop = {
	params : {
		linkIndex : 1,
		oLinks : "#menuNew li a",
		loopDelay : 10000
	},
	init : function(){
		$(HomeLoop.params.oLinks).bind("click",HomeLoop.reset);
		HomeLoop.params.HomeDelay = setTimeout(HomeLoop.change,HomeLoop.params.loopDelay );
	},
	reset : function(){
		this.blur();
		$(HomeLoop.params.oLinks).unbind("click",HomeLoop.reset);
		clearTimeout(HomeLoop.params.HomeDelay);
		var iNewIndex = $(HomeLoop.params.oLinks).index(this)+1;
		if(iNewIndex > $(HomeLoop.params.oLinks).length-1){
			HomeLoop.params.linkIndex = 0;
		}else{
			HomeLoop.params.linkIndex = iNewIndex ;
		};
		HomeLoop.init();
		
	},
	change : function(){
		var oNewLinkActive = $(HomeLoop.params.oLinks)[HomeLoop.params.linkIndex];
		$(oNewLinkActive ).trigger("click");
	}
}
/*Recherche.JS*/
/*global $, document */
/* ---------------------------------------------------------------- */
/* Slider */
function getSliderValue (value, maximum) {
	if (value < 1) {
		value = 1;
	}
	else if (value > maximum) {
		value = maximum;
	}
	
	return value;
}
function initSlider () {
	/* On initialise l'affichage des sliders en fonction de leur input hidden correspondant */ 
	if($('#degreDifficulte').size() !== 0 && $('#degreDifficulte').parent().find('.slider:first').size() !== 0) {
		var difficulteCourrante = getSliderValue(parseInt($('#degreDifficulte').val(), 0), 4);
		var sliderDifficulte = $('#degreDifficulte').parent().find('.slider:first');
		sliderDifficulte.removeClass('slider-4-2');
		sliderDifficulte.addClass('slider-4-' + difficulteCourrante);
	}
	
	if($('#gammePrix').size() !== 0 && $('#gammePrix').parent().find('.slider:first').size() !== 0) {
		var prixCourrant = getSliderValue(parseInt($('#gammePrix').val(), 0), 3);
		var sliderPrix = $('#gammePrix').parent().find('.slider:first');
		sliderPrix.removeClass('slider-3-2');
		sliderPrix.addClass('slider-3-' + prixCourrant);
	}
}
/* ---------------------------------------------------------------- */
/* Slider difficulté */
function changerDifficulte (evt) {
	evt.preventDefault();
	
	var difficulteCourrante = getSliderValue(parseInt($('#degreDifficulte').val(), 0), 4);

	var offset = $(this).attr('rel');
	var slider = $(this).parent().parent().find('.slider:first');
				
	if (offset === "-1" && slider.size() !== 0 && difficulteCourrante > 1 ) {
		slider.removeClass('slider-4-' + difficulteCourrante);
		difficulteCourrante -= 1;
		slider.addClass('slider-4-' + difficulteCourrante);
		$('#degreDifficulte').val(difficulteCourrante);
	}
	else if (offset === "+1" && slider.size() !== 0 && difficulteCourrante < 4) {
		slider.removeClass('slider-4-' + difficulteCourrante);
		difficulteCourrante += 1;
		slider.addClass('slider-4-' + difficulteCourrante);
		$('#degreDifficulte').val(difficulteCourrante);
	}
	else if (parseInt(offset, 0) >= 1 && parseInt(offset, 0) <= 4 && slider.size() !== 0) {
		slider.removeClass('slider-4-' + difficulteCourrante);
		difficulteCourrante = parseInt(offset);
		slider.addClass('slider-4-' + difficulteCourrante);
		$('#degreDifficulte').val(difficulteCourrante);
	}
}
/* ---------------------------------------------------------------- */
/* Slider prix */
function changerPrix (evt) {
	evt.preventDefault();
	
	var prixCourrant = getSliderValue(parseInt($('#gammePrix').val(), 0), 3);

	var offset = $(this).attr('rel');
	var slider = $(this).parent().parent().find('.slider:first');
		
	if (offset === "-1" && slider.size() !== 0 && prixCourrant > 1) {
		slider.removeClass('slider-3-' + prixCourrant);
		prixCourrant -= 1;
		slider.addClass('slider-3-' + prixCourrant);
		$('#gammePrix').val(prixCourrant);
	}
	else if (offset === "+1" && slider.size() !== 0 && prixCourrant < 3) {
		slider.removeClass('slider-3-' + prixCourrant);
		prixCourrant += 1;
		slider.addClass('slider-3-' + prixCourrant);
		$('#gammePrix').val(prixCourrant);
	}
	else if (parseInt(offset, 0) >= 1 && parseInt(offset, 0) <= 3 && slider.size() !== 0) {
		slider.removeClass('slider-3-' + prixCourrant);
		prixCourrant = parseInt(offset, 0);
		slider.addClass('slider-3-' + prixCourrant);
		$('#gammePrix').val(prixCourrant);
	}
}


/* ---------------------------------------------------------------- */
/* Initialisation de la page */
$(document).ready(function() {
							
	initSlider();
	
	/* Difficulte */
	$('a.triggerChangerDifficulte').bind('click', changerDifficulte);
	$('#formRecherche .part .degreDifficulte .slider a').bind('click', changerDifficulte);
	
	/* prix */
	$('a.triggerChangerPrix').bind('click', changerPrix);
	$('#formRecherche .part .gammePrix .slider a').bind('click', changerPrix);
	
	
	findChar();
});

/********/
function findChar(){
		$(".maggiList0300 .headerTop .blocAlphaTrier ul li a").unbind();			
		$(".maggiList0300 .headerTop .blocAlphaTrier ul li a").bind('click',function(evt){
			evt.preventDefault();
			$(".maggiList0300 .headerTop .blocAlphaTrier ul li a").removeClass("selected");
			$(this).addClass("selected");
			
			$(".maggiList0300 .pannelResult .dataCulinaire ul.listItem").hide();
			obj=".maggiList0300 .pannelResult .dataCulinaire ul#"+$(this).text();
			$(this).attr("href","#"+$(this).text());	
			$(obj).show();
			
		});
}
/*Notation.js*/
/* ---------------------------------------------------------------- */
/* Rollover sur les étoiles pour la notation */
function rollOn (src) {
  return src.replace(/-off\./, '-on.');
}
function rollOff (src) {
  return src.replace(/-on\./, '-off.');
}
function onNote(evt) {
	var setOff = false;
	var etoile = $(this);
	
	etoile.attr('src', rollOn($(this).attr('src')));
	
	etoile.prevAll().each(function (idx) {
		$(this).attr('src', rollOn($(this).attr('src')));
	});
	etoile.nextAll().each(function (idx) {
		$(this).attr('src', rollOff($(this).attr('src')));
	});
}

function offNote(evt) {
	if ($(this).parent().find('input.rolloverNote.active').size() > 0) {
		$(this).parent().find('input.rolloverNote.active').trigger('mouseenter');
	}
	else {
		$(this).parent().find('input.rolloverNote').each(function (idx) {
			$(this).attr('src', rollOff($(this).attr('src')));
		});
	}
}

/* ---------------------------------------------------------------- */
/* Initialisation de la page */
$(document).ready(function() {
	$('input.rolloverNote').hover(onNote, offNote);
	$('input.rolloverNote.active').trigger('mouseenter');
	
						/********		*********/	$('.introProduct .lireSuite').unbind('click');
	$(".introProduct .lireSuite").bind('click',function(){
		$('.partHidden',$(this).parent().parent()).show();
		/*$('.introProduct .partHidden').show();*/
		$(this).hide();
		return false;
	 });
	$('.introProduct .linkFermer').unbind('click');
	$(".introProduct .linkFermer").bind('click',function(){
		$('.partHidden',$(this).parent().parent()).hide();
		$('.introProduct .lireSuite').show();
		return false;
	 });
	$('.defEngage .lireSuite').unbind('click');
	$(".defEngage .lireSuite").bind('click',function(){
		$('.defEngage .partHidden',$(this).parent().parent()).show();
		$(this).hide();
		return false;
	 });
	$('.defEngage .linkFermer').unbind('click');
	$(".defEngage .linkFermer").bind('click',function(){
		$('.partHidden',$(this).parent().parent()).hide();
		$('.defEngage .lireSuite').show();
		return false;
	 });


/***************/	
	
	displayPromoDetail();
	rollTransparence();
	displayOnglet();
	initShowLayer();
	//showAgendaDay();
	showCalendar();
	
});

			/****/
function showCalendar(){
	$('#contenu .partTabs .titleTabs li a').unbind('click');
	$('#contenu .partTabs .titleTabs li a').bind('click',function(){
		if(!$(this).parent().hasClass("active")){
			$('#contenu .partTabs .titleTabs li').removeClass("active");
			$(this).parent().addClass("active");
			
			var index = $('#contenu .partTabs .titleTabs li').index($(this).parent());
			$('.blockResult .blockResultItem').hide();			
			$($('.blockResult .blockResultItem')[index]).show();
			
		}
		
		return false;
	});
	

}
			/****/
function showAgendaDay(){
	$('#blocTabRecettes.tabAgenda .tabHeader ul li a').unbind('click');
	$('#blocTabRecettes.tabAgenda .tabHeader ul li a').bind('click',function(){
	/* alert('----'); */
		if(!$(this).parent().hasClass("active")){
			$('.tabAgenda .tabHeader ul li').removeClass("active");
			$(this).parent().addClass("active");
			
			var index = $('.tabAgenda .tabHeader ul li').index($(this).parent());
			
			$('.tabAgenda .contentAgenda .agendaItem').hide();			
			$($('.tabAgenda .contentAgenda .agendaItem')[index]).show();
			
		}
		
		return false;
	});
	

}			
function hideLayer(blockHide){
		//$(blockHide).attr("style","display:none");
		$(blockHide).addClass("hideBlock");
	} 
function initShowLayer(){
		$('.showInfos').each(function(){
			var blockDisplay = $(this).attr("href");
			hideLayer(blockDisplay);
			
			$(this).click(function(){

				if($(blockDisplay).hasClass("hideBlock")){
					$(blockDisplay).removeClass("hideBlock");
					if($(this).parent().hasClass("displayLink")){
						$(this).addClass("active");
					}
				}
				else{
					$(blockDisplay).addClass("hideBlock");
					//$(blockDisplay).css("display","none");
					if($(this).parent().hasClass("displayLink")){
						$(this).removeClass("active");
					}
				}
				return false;
			});
		});
	}
	function displayOnglet(){
	$('.ongletsInf li a').bind('click',function(){
		var index = $('.ongletsInf li').index($(this).parents('li'));
		
		$('.ongletsInf li.active').removeClass('active');	
		$(this).parent().addClass('active');
		
		$('.infoContent > div').hide();
		$($('.infoContent .infoItem')[index]).show();
		
		return false;
	});
	
}
function displayPromoDetail(){
		$('.itemPdtPromo .introPromo .content').unbind('click');
		$('.itemPdtPromo .introPromo .content').bind('click',function(){
			var index = $('.itemPdtPromo li').index($(this).parents('li'));
			$('.bgTransparent').show();
			$('.bgTransparent',$(this)).hide();
			$('.itemPdtPromo li.active').removeClass('active');	
			$('.itemPdtPromo li .activePromo').removeClass('activePromo');	
			
			$('.itemPdtPromoDetail').hide();			
			$(this).parents('.itemPdtPromo').next().show();
			
			$('.firstActivate').removeClass('firstActivate');		
			
			if($(this).parents('li').attr('class')=='first'){
				$(this).parents('.itemPdtPromo').next().addClass('firstActivate');
			}
			
			$('.itemDetail').hide();			
			$('#itemDetail'+(index+1)).show();			
			
			$(this).parent().parent().addClass('active');
			$(this).parent().addClass('activePromo');
			
			return false;
	});
}
/**********************/
function rollTransparence(){
	$('.itemPdtPromo .introPromo .content').bind('mouseenter',function(){
		if(!$(this).parent().hasClass('activePromo')){
			$('.bgTransparent',$(this)).hide();
		}
	})

	$('.itemPdtPromo .introPromo .content').bind('mouseleave',function(){
		if($('.bgTransparent',$(this)).css('display').toLowerCase()=='none' && !$(this).parent().hasClass('activePromo')){
			$('.bgTransparent',$(this)).show();
		}
	})
}

/*******************/
/*popin.js*/
function initPopins(){
	
	var dim = getPageSize();
	$('.linkPopin').bind('click',function(){
		var _this = this;
		loadPopin($(_this).attr('rel'), this)
		return false;
	});
}

/********************************************************/
// Affichage des popins
/********************************************************/
function showPopin(data,id){
	$('#popinTemp').contents().html(data);
	$('#popinTemp').removeAttr('style');
	$('#popinTemp').show();
	setPopinPosition(id);
	setEventSelectLayers();

	
}


function loadPopin(id,url){
		
	if(!$('#popinOverlay').length)
		$('#main').before('<div id="popinOverlay""></div>');
			
	if(!$('#popinTemp').length) {
		$('#main').before('<iframe id="popinTemp" class="popin" frameborder="0" scrolling="no"  allowtransparency="true"></iframe>');
		$('#popinTemp').load(setPopinPosition);
		$('#popinTemp').attr('src', url);
	}
	
	$('#popinOverlay').unbind();
	$('#popinOverlay').bind('click',function(){
		$('#popinTemp').remove();
		$(this).remove();
		if(navigator.appVersion.indexOf("MSIE") != -1){
			$("#main select").show();
		}
	})
}


function getHeight(){
	if(window.innerHeight || window.innerWidth)
		return window.innerHeight ;
	return document.documentElement.clientHeight ;
}

function resizeOverlayForPopin(){
	$(window).bind('resize',function(){
		resizaOverlay();
	});
	
	$(window).bind('scroll',function(){
		resizaOverlay();
	});	
}	

function resizaOverlay(cond){
	var overlay = $('#popinOverlay');
	var scroll = getPageScroll();

	if(cond){
		overlay.css({
			opacity: 0.7,
			display: 'block'
		}).fadeIn('slow',function(){
			var hi = getHeight() + scroll[1];
			overlay.height(hi);
		});
	}else{
		var hi = getHeight() + scroll[1];
		overlay.height(hi);
	}
}


function setPopinPosition(id){
	id = 'popinTemp';
	var dim = getPageSize();
	$('#popinTemp').height($('#popinTemp').contents().find('.popin').height() + 12);
	$('#popinTemp').width($('#popinTemp').contents().find('.popin').width() + 15);

	if ($('#popinTemp').width() < 50)
		$('#popinTemp').width(650);

	if ($('#popinTemp').height() < 50)
		$('#popinTemp').height(350);
	
	$('#popinTemp').contents().find('.btnClose').bind('click', function(){
		$('#popinTemp').remove();
		$('#popinOverlay').remove();
		if(navigator.appVersion.indexOf("MSIE") != -1){
			$("#main select").show();
		}
	});
	
	var scroll = getPageScroll();
	var overlay = $('#popinOverlay');
	var popin = $('#'+id);
	resizaOverlay(1);
	if(id=="popin_agenda"){
	popin.css({
		top: scroll[1] + (dim[3] / 10)+200,
		left: ((dim[2]-$(popin).width())/2)-100,
		opacity: 1,
		display: 'block'
	}).fadeIn();
	}else{
	popin.css({
		top: scroll[1] + (dim[3] / 10),
		left: (dim[2]-$(popin).width())/2,
		opacity: 1,
		display: 'block'
	}).fadeIn();
	}
	popin.find('.btnClose').bind('click', function(){
		overlay.fadeOut();
		popin.fadeOut();
		if(navigator.appVersion.indexOf("MSIE") != -1){
			$("#main select").show();
		}
		return false;
	});	
	
	if(navigator.appVersion.indexOf("MSIE") != -1){
		$("#main select").hide();
	}
}

// Renvoie les dimensions de la page
function getPageSize() {
	var xScroll, yScroll;
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = window.innerWidth + window.scrollMaxX;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	var windowWidth, windowHeight;
	if (self.innerHeight) {	// all except Explorer
		if(document.documentElement.clientWidth){
			windowWidth = document.documentElement.clientWidth; 
		} else {
			windowWidth = self.innerWidth;
		}
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}
	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){	
		pageWidth = xScroll;		
	} else {
		pageWidth = windowWidth;
	}
	
	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight);
	return arrayPageSize;
};

function getPageScroll() {
	var xScroll, yScroll;
	if (self.pageYOffset) {
		yScroll = self.pageYOffset;
		xScroll = self.pageXOffset;
	} else if (document.documentElement && document.documentElement.scrollTop) {	 // Explorer 6 Strict
		yScroll = document.documentElement.scrollTop;
		xScroll = document.documentElement.scrollLeft;
	} else if (document.body) {// all other Explorers
		yScroll = document.body.scrollTop;
		xScroll = document.body.scrollLeft;	
	}
	arrayPageScroll = new Array(xScroll,yScroll);
	return arrayPageScroll;
}


$(document).ready(function(){	
	initPopins();
	resizeOverlayForPopin();
	

});
