//fichier JavaScript gérant les chargements des pages en Ajax ainsi que l'ajout de leur fichier JS
$(document).ready(initLoadAjax);
//variable globale
var widthDiv = 980;
var heightImgAccueil = 255;
function initLoadAjax()
{
    //on ajoute une opacité sur le loader
    $('#overlay').css('opacity','0.8');
    //on récupère la width que nous donne le Php en id
    var widthJsSlide = $('.jsSlide').attr('id');
    //on applique la width
    $('.jsSlide').css('width',widthJsSlide+'px');
    //on ajoute l'écouteur de fenetre en premier afin de pouvoir charger la div nécessaire
    $(window).bind( "hashchange",cacherDiv);
    //on définit les écouteurs sur les a du menu en header && footer
    $('a[rel=ajax]').click(addPage);
    //on lance la fonction cacherDiv dès le load de la page pour afficher la div qu'on à besoin
    $(window).trigger('hashchange');
}

function loadPageAccueil()
{
    
}

function cacherDiv()
{
    $('#overlay').css('display','block');
    var hashRecup = $.bbq.getState( "hash" );
    //si hashRecup est null (dans le cas d'une premiere connexion sur le site, on définit accueil comme premiere page)
    //alert("récuperation hash dans cacherDiv :"+hashRecup);
    if(hashRecup == null || hashRecup == "")
    {
        hashRecup = "#accueil";
    }
    //on retire tous les a selected
    $('a[rel=ajax]').parent().removeClass('selectedJs');
    //on ajoute la classe selected
    $('a[hash='+hashRecup+']').parent().addClass('selectedJs');
    //multiplicateur
    var multiplicateur = $('#header a[hash='+hashRecup+']').attr('rev');
    //on retire la diese a l'ancre
    pageAjax = hashRecup.replace(/^.*#/, '');
    //on appelle la page html en ajax s'il la div n'est pas déjà chargée
    if(!($('#'+pageAjax).hasClass('divSlide')) && !($('#'+pageAjax).hasClass('formulesDiv')) && pageAjax!= "formulesRub")
    {
        //si on tente d'accéder à une sous rubrique de formules, le gestionnaire de load ramène à la rubrique principale
        if(pageAjax == "lesformules" || pageAjax == "animRepas" || pageAjax == "formulesRub")
        {
            pageAjax = "formules";
            hashRecup = "#formules";
            multiplicateur = $('#header a[hash='+hashRecup+']').attr('rev');
        }
        //si c'est la page Contact ou ContactPartenaire, on augmente le wrapper
        if (pageAjax == "contact" ||pageAjax == "contactPartenaire")
        {
            $('#wrapper').animate({height:'750px'});
        }
        else
        {
            $('#wrapper').animate({height:'500px'});;
        }
        //on load la page Php
        $.post("pagesPhp/"+pageAjax+".php",
        function(data)
        {
            $('.jsSlide').append(data);
            $('#'+pageAjax).css('left',widthDiv*multiplicateur+'px');
            switch(pageAjax)
            {
                case "accueil" :
                    $(".nivoSlider").nivoSlider({effect:'fade'});
                    $('.nivoSlider').css('height',heightImgAccueil+"px");
                    break;
                case "presentation" :
                    $('#presentation a[rel=ajax]').click(addPage);
                case "formules" :
                    $('#formules a[rel=ajax]').click(addPage);
                    $("#formules div:not(.text):not(#linkintform):not(#mainForm)").css('visibility','hidden');
                    break;
                case "nosreferences" :
                    $('#nosreferences a[rel=ajax]').click(addPage);
                    break;
                case "galerie" :
                    $('#galerie #gallery a').lightBox();
                    break;
                case "contact" :
                    $("#contact a[rel=ajax]").click(addPage);
                    var idFormulaire = $("#contact form").attr('id');
                    $('#contact #dateEventid').datepicker({onClose:verifDate});
                    ecouteurForm(idFormulaire);
                    break;
                case "contactPartenaire" :
                    var idFormulaire = $("#contactPartenaire form").attr('id');
                    ecouteurForm(idFormulaire);                
            }
            $('.jsSlide').animate({left:-980*multiplicateur},function(){$('#overlay').fadeOut('fast');});
        });
    }
    else
    {
        //si c'est la page Contact ou ContactPartenaire, on augmente le wrapper
        if (pageAjax == "contact" ||pageAjax == "contactPartenaire")
        {
            $('#wrapper').animate({height:'750px'});
            if (pageAjax == "contact")
            {
                var idFormCon = $("#contact form").attr('id');
            }
            else
            {
                var idFormCon = $("#contactPartenaire form").attr('id');
            }
            setIdFormTest(idFormCon);
        }
        else
        {
            $('#wrapper').animate({height:'500px'});;
        }
        
        //on vérifie si ce n'est pas un lien interne de la rubrique formule
        if(pageAjax != "lesformules" && pageAjax != "animRepas" && pageAjax !="formulesRub")
        {
            $('.jsSlide').animate({left:-980*multiplicateur},function(){$('#overlay').fadeOut('fast');});   
        }
        else
        {
            var recupMuliFormule = $("#formules a[hash="+hashRecup+"]").attr('rev');
            //alert(hashRecup);
            if(hashRecup == "#formulesRub" || hashRecup == "#formules")
            {
               hashRecup = "#mainForm"; 
            }
            $("#formules div:not(.text)").removeAttr('style'); 
            $("#formules div:not("+hashRecup+"):not(.text):not(#linkintform)").css('visibility','hidden');   
            if(pageAjax == "formulesRub" || pageAjax == "formules")
            {
                recupMuliFormule = 0;
            }            
            $('#formules').animate({top:-500*recupMuliFormule},function(){$('#overlay').fadeOut('fast');});
        }
    }
}

function addPage()
{
    //on ajoute dans l'historique le lien
    $.bbq.pushState({ hash: this.hash });
    return false;
}
