/*----------------------------------------------------------------------------//
// Javascript pour le site client  -------------------------------------------//
//----------------------------------------------------------------------------//
// Client : -
// Note   : -
// Date   : -
//----------------------------------------------------------------------------*/

/*----------------------------------------------------------------------------*/
// Inclusion dynamique des fichiers externes javascripts
/*----------------------------------------------------------------------------*/
function importJavascript(src)
{
	document.write("<script type=\"text/javascript\" src=\"" + src + "\"></scr" + "ipt>");
}
function importCss(href, media)
{
	document.write('<link rel="stylesheet" type="text/css" media="' + media + '" href="' + href + '" />');
}

/*----------------------------------------------------------------------------*/
// Importations de fichiers
/*----------------------------------------------------------------------------*/
// importJavascript("/includes/js/plugins/jquery.plugin.js");
importJavascript("/includes/js/plugins/jcarousel.js");
importJavascript("/includes/js/plugins/watermark.js");
importJavascript("/includes/js/plugins/abso.thickbox.js");
importCss("/includes/js/plugins/abso.thickbox.css", "screen");
importJavascript("/includes/js/swfobject.js");

/*----------------------------------------------------------------------------*/
// Declarations jQuery
/*----------------------------------------------------------------------------*/
jQuery(document).ready(function() {
	
	var animationMenu = false;
	var menuSelectionne = "";
	var nouveauMenuSelectionne = "";
	
	/*------------------------------------------------------------------------*/
	// AJUSTEMENTS DYNAMIQUES
	/*------------------------------------------------------------------------*/
	var LargeurNavFixe = $(".NavFixe").width();
	$("p.Recherche").css("width", (LargeurNavFixe -28) + "px");
	$(".BlocPanier").css("width", (LargeurNavFixe -28) + "px");
	
	if($("#Corps").height() < $("#ColonneLaterale").height()){
		$("#Corps").css("height", $("#ColonneLaterale").height() + "px");	
	}
	
	$(".TableauCommande tr").each(function(){
		$("td:last", this).css("border-right","none");
	});
	
	/*$("#ResultatsRecherche .ConteneurParticularites").each(function(){
		var liste = $("p", this).hide().text().split(", ");
		var output = "<ul>";
		for (i in liste) {
			output += "<li>" + liste[i].replace("&nbsp;", "") + "</li>";
		}
		output += "</ul>";
		$(this).html(output);
	});*/
	
	/*------------------------------------------------------------------------*/
	// RECETTE À L'ACCUEIL
	/*------------------------------------------------------------------------*/
	$(".RecetteAccueil").hover(function(){
		$(".RecetteAccueil p").stop().animate({ 
			top:"0px"
			}, 400 );
		}, function(){
			$(".RecetteAccueil p").stop().animate({ 
			top:"-33px"
			}, 400 );
	});
	
	/*------------------------------------------------------------------------*/
	// CHAMP DE RECHERCHE
	/*------------------------------------------------------------------------*/
	$(function($){
	   $("p.Recherche #q").Watermark($("p.Recherche #q").attr("title"));
	   $(".ChampsRecherche input").Watermark($(".ChampsRecherche input").attr("title"));
	   $("#SearchBox a").wrapInner("<span></span>");
	});
	
	/*------------------------------------------------------------------------*/
	// MENU SECONDAIRE EN ACCORDÉON
	/*------------------------------------------------------------------------*/
	$("#MenuSecondaire li.On").each(function(){
		$(this).children("ul").css("display","block");						 
	});
	
	$("#MenuSecondaire .ItemDeroulant").click(function(){		
		
		if(animationMenu == false){
			
			animationMenu = true;
			nouveauMenuSelectionne = $(this).parent("li");
			
			if($(nouveauMenuSelectionne).attr("id") != $(menuSelectionne).attr("id")){
				if (menuSelectionne != "") {
					$(menuSelectionne).removeClass("On");
					$(menuSelectionne).children("ul").slideUp(300);
					
					$(nouveauMenuSelectionne).addClass("On");
					$(nouveauMenuSelectionne).children("ul").slideDown(300, function(){
						animationMenu = false;
					});
					menuSelectionne = nouveauMenuSelectionne;		
				}
				else {
					$(nouveauMenuSelectionne).addClass("On");
					$(nouveauMenuSelectionne).children("ul").slideDown(300, function(){
						animationMenu = false;
					});
					menuSelectionne = nouveauMenuSelectionne;
				}
			}
			else {
				$(menuSelectionne).toggleClass("On");
				$(menuSelectionne).children("ul").slideToggle(300, function(){
					animationMenu = false;
				});
			}
			return false;
		}
	});
	
	/*------------------------------------------------------------------------*/
	// CAROUSSEL À L'ACCUEIL
	/*------------------------------------------------------------------------*/
	$(".ContenuCaroussel").jCarouselLite({
        btnNext: ".BoutonSuivant",
        btnPrev: ".BoutonPrecedant"
    });
	
	$(".Popup").click(function(){
		
		$(".PopupInformations").removeClass("Actif");
		
		var ciblePopup = $(this).parents().next(".PopupInformations");
		$(ciblePopup).css("bottom", 80 + "px");
		$(ciblePopup).toggleClass("Actif");
		
		$(document).bind("click", function() {
            $(".PopupInformations").removeClass("Actif");
            $(this).unbind("click");
        });
		return false;
	});
	
	$("span.Over", "ul.CategoriesRecettes").css({opacity: 0.5});
	$("li", "ul.CategoriesRecettes").mouseover(function(){
		$(this).children("span.Over").css("display", "block");													  
	});
	$("li", "ul.CategoriesRecettes").mouseout(function(){
		$(this).children("span.Over").css("display", "none");													  
	});
	
	/*if($("#BlocRecherche").hasClass("On")){
		$("#BlocRecherche .BlocContenu").css("display","block");
	}
	
	$("#BlocRecherche .BtOuverture, #BlocRecherche .TitreBlocRecherche").click(function(){
		$("#BlocRecherche .BlocContenu").slideToggle(200, function(){
			$("#BlocRecherche").toggleClass("On");												   
		});
		return false;
	});*/

	$('#btnRecherche').click(function() {
	    redirectToSearchPage();
	});

});

function equalHeight(group) {
    tallest = 0;
    $(group).each(function(){
        thisHeight = $(this).height();
        if(thisHeight > tallest)
			tallest = thisHeight;
    });
    $(group).css("min-height", tallest);
	if ($.browser.msie && $.browser.version < 7)
    	$(group).css("height", tallest);
}

function showProductSheet(){
	tb_show("", "#TB_inline?height=511&amp;width=338&amp;inlineId=FicheNutrition", "");
	$("#TB_window").addClass("FicheNutritionnelle");
}

function showProductSheetForm(){
    tb_show("", "#TB_inline?height=473&amp;width=657&amp;inlineId=FicheNutrition", "");
	$("#TB_window").addClass("FormulaireFicheNutrionnelle");
}

/* - Fonction : Validation des champs de formulaire - */
function GetValidateFormErrors(groupName, OnlyOneErrorByField, classError) {
    var msg = new Array();
    var ctl = new Array();

    if (classError != '') $('.' + classError).removeClass(classError);
    if (classError != '') $('.' + classError).parent().removeClass(classError);

    //Ne pas oublier d'appliquer "Page_ClientValidate()" avant d'appeler cette procédure
    for (var i = 0; i < Page_Validators.length; i++) {
        if (Page_Validators[i].validationGroup == groupName && !Page_Validators[i].isvalid) {
            if (OnlyOneErrorByField) {
                var exist = false;
                for (var y = 0; y < ctl.length; y++) {
                    if (ctl[y] == Page_Validators[i].controltovalidate)
                        exist = true;
                }

                if (!exist) {
                    msg[msg.length] = Page_Validators[i].errormessage;
                    if (classError != '') $('#' + Page_Validators[i].controltovalidate).addClass(classError);
                    if (classError != '') $('#' + Page_Validators[i].controltovalidate).parent().addClass(classError);
                }
            }
            else {
                msg[msg.length] = Page_Validators[i].errormessage;
                if (classError != '') $('#' + Page_Validators[i].controltovalidate).addClass(classError);
                if (classError != '') $('#' + Page_Validators[i].controltovalidate).parent().addClass(classError);
            }

            ctl[i] = Page_Validators[i].controltovalidate;
        }

    }

    return msg;
}

function ShowError(errorTitle, errorText, errArray) {
    $('#errorTitle').html(errorTitle);

    if (errorText != '') $('#errorDescription').show(); else $('#errorDescription').hide();
    $('#errorDescription').html(errorText);
    if (errArray != null && errArray.length > 0) {
        $('#errorItems').empty();
        $('<ul></ul>').appendTo('#errorItems');
        for (var i = 0; i < errArray.length; i++)
            $('<li>' + errArray[i] + '</li>').appendTo('div#errorItems ul');
        $('#errorItems').show();
    }
    else $('#errorItems').hide();
    tb_show(null, '#TB_inline?height=150&amp;width=350&amp;inlineId=ErreurPopup', false);
}


function ValidateForm(groupName, showPopup) {
    if (!Page_ClientValidate(groupName)) {
        var msg = GetValidateFormErrors(groupName, true, "Erreur");
        if (showPopup) {
            ShowError(errorTitle, errorText, msg);
        }

        return false;
    }

    return true;
}

// -- Coveo

function redirectToSearchPage() {
    var query = jQuery('#q').val();
    if (query != null && query != '') {
        window.location = searchPageUrl + "?q=" + query;
    }
}

function CheckSearch(e) {
    if (window.event) { // IE
        keynum = e.keyCode;
    }
    else if (e.which) { // Netscape/Firefox/Opera
        keynum = e.which;
    }
    // Si Enter
    if (keynum == 13) {
        // Lancer la recherche
        redirectToSearchPage();
        return false;
    }
    return true;
}

function RenderClick(e, btnID, validationGroup) {
    if (window.event) // IE
    {
        keynum = e.keyCode;
    }
    else if (e.which) // Netscape/Firefox/Opera
    {
        keynum = e.which;
    }
    // Si Enter
    if (keynum == 13) {
        // Lancer un postback sur le bouton passé en paramètre
        if (Page_ClientValidate(validationGroup)) {
            //
            __doPostBack(btnID, '');

        }
        return false;
    }
    return true;
}

function RenderClick(e, btnID) {
    if (window.event) // IE
    {
        keynum = e.keyCode;
    }
    else if (e.which) // Netscape/Firefox/Opera
    {
        keynum = e.which;
    }
    // Si Enter
    if (keynum == 13) {
        // Lancer un postback sur le bouton passé en paramètre
        __doPostBack(btnID, '');
        return false;
    }
    return true;
}
