jQuery.noConflict();
jQuery(document).ready(function ($){

    function pngTransparent() {
        //Gere la transparence des PNG 24 pour ie6
        var blank = new Image();
        blank.src = '/extension/royalcanin/design/filiale/images/blank.gif';

        var badBrowser = (/MSIE ((5\.5)|6)/.test(navigator.userAgent) && navigator.platform == "Win32");

        if (badBrowser) {
            // Cherche les png transparent dans la page
            $('img[src$=.png]').each(function() {
                if (!this.complete) {
                    this.onload = function() { fixPng(this) };
                } else {
                    fixPng(this);
                }
            });
        }

        function fixPng(png) {
            // get src
            var src = png.src;
            // set width and height
            if (!png.style.width) { png.style.width = $(png).width(); }
            if (!png.style.height) { png.style.height = $(png).height(); }
            // replace by blank image
            png.src = blank.src;
            // set filter (display original image)
            png.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='scale')";
        }
    }

    // Appel de la fonction pngTransparent()
        $('#ficheProduit').filter( function(body) {
            pngTransparent();
        });

    // Gestion de l'impression
    $('#container .imprimer a').click(function() {
        window.print();
        this.blur();
        return false;
    });

    /* Gestion de l'effacement de la value d'un input */
    function clearInput(_item) {
        $(_item).focus(function() {
            if(this.value == this.defaultValue) {
                this.value = "";
            }
        }).blur(function() {
            if(!this.value.length) {
                this.value = this.defaultValue;
            }
        });
    }
    clearInput('.clearInput');

    /*  Gestion de la fleche de la navigation  */
    function gestionFleche(init, left) {
        var flecheMenu = $('#nav #flecheMenu');

        switch(left) {
            case 'chien':
                var posLeft = '121px';
                break;
            case 'chat':
                var posLeft = '297px';
                break;
            case 'nutrition':
                var posLeft = '473px';
                break;
            case 'aliments':
                var posLeft = '650px';
                break;
            default :
                var posLeft = '121px';
        }

        if(init =='kill') {
            flecheMenu.hide();
        } else if (init) {
            flecheMenu.css('left', posLeft);
            flecheMenu.show();
        } else {
            flecheMenu.animate( {left:posLeft }, {duration: 500});
        }
    }

    /*Gestion de la navigation */
    $('#nav').prepend('<div id="flecheMenu"></div>');

    $('#nav a').click(function() {
        var classMenu = $(this).attr('class');
        var trackEventAction = 'Afficher la rubrique';

        if($('#sousNav .ici').length) { // sous-navigation affichee

            if(classMenu == $('#sousNav .ici').attr('id')) { // clic sur rubrique affichee
            	trackEventAction = 'Masquer la rubrique';
                $(this).parent().removeClass('actif');
                $('#sousNav #'+classMenu).removeClass('ici').slideUp('', function () {
                    $('#sousNav').hide();
                });
                gestionFleche('kill');
            } else { // clic sur rubrique non affichee
                var sNavVisible = $('#sousNav .ici').attr('id');

                $('#nav .actif').removeClass('actif');
                $(this).parent().addClass('actif');

                $('#sousNav .ici').removeClass('ici').slideUp();
                $('#sousNav #'+classMenu).addClass('ici').slideDown();

                gestionFleche(false, classMenu);
            }
        } else { // sous-navigation non affichee
            $(this).parent().addClass('actif');
            $('#sousNav').fadeIn();
            $('#sousNav #'+classMenu).addClass('ici').slideDown();
            gestionFleche(true, classMenu);
        }
        /** google analytics Event tracking pour le menu **/
        _gaq.push(['_trackEvent', 'Menu de navigation', trackEventAction, this.innerText]);
        return false;
    });

    $('.dropMenu a').click(function() {
        var classMenu = $(this).attr('class');

        if($('#sousNav .ici').length) { // sous-navigation affichee

            if(classMenu == $('#sousNav .ici').attr('id')) { // clic sur rubrique affichee
                $(this).parent().removeClass('actif');
                $('#sousNav #'+classMenu).removeClass('ici').slideUp('', function () {
                    $('#sousNav').hide();
                });
                gestionFleche('kill');
            } else { // clic sur rubrique non affichee
                var sNavVisible = $('#sousNav .ici').attr('id');

                $('#nav .actif').removeClass('actif');
                $(this).parent().addClass('actif');

                $('#sousNav .ici').removeClass('ici').slideUp();
                $('#sousNav #'+classMenu).addClass('ici').slideDown();

                gestionFleche(false, classMenu);
            }
        } else { // sous-navigation non affichee
            $(this).parent().addClass('actif');
            $('#sousNav').fadeIn();
            $('#sousNav #'+classMenu).addClass('ici').slideDown();
            gestionFleche(true, classMenu);
        }
        _gaq.push(['_trackEvent', 'Fil d\'ariane', 'Sélection', this.innerText]);
        return false;
    });
    
    // Tracking pour les sous-menus de navigation
    $('#sousNav a').click(function() {
    	_gaq.push(['_trackEvent', 'Menu de navigation', 'Sélection menu', this.innerText]);
    });

    // Gestion des carousels verticaux
	$('.carouselVertical').each(function(){
        var animationActive = false;
        var idCarousel = '#'+$(this).attr('id')+' ';

        var elementHeight = $(idCarousel + '.carouselActu li').height();
        var numberElements = $(idCarousel + '.carouselActu li').length;
        $(idCarousel + '.carouselActu').css('height', (numberElements*2)*elementHeight).wrap(document.createElement('div')).parent().addClass('jcarousel-clip');

        // Gestion de defilement arriere
        $(idCarousel + '.prev a').bind('click', function(){
        	/* Tracking analytics */
        	_gaq.push(['_trackEvent', 'Caroussel Actualité', 'Défilement', 'Précédent']);
            if(animationActive != true) {
                animationActive = true;

                $(idCarousel + '.carouselActu li:last-child').clone().insertBefore(idCarousel + '.carouselActu li:last-child');
                $(idCarousel + '.carouselActu li:last-child').insertBefore(idCarousel + '.carouselActu li:first-child');

                var marginEnd = ($(idCarousel + '.carouselActu').css('marginTop'));
                var marginBegin = marginEnd.replace(/px/, '');
                marginBegin = marginBegin-elementHeight;
                marginBegin = marginBegin+'px';

                $(idCarousel + '.carouselActu').css('marginTop', marginBegin);
                $(idCarousel + '.carouselActu').stop().animate({'marginTop': marginEnd}, 'slow', function() {
                    $(idCarousel + '.carouselActu li:last-child').remove();
                    animationActive = false
                });
            }
            return false;
        });

        // Gestion de defilement avant
        $(idCarousel + '.next a').bind('click', function(){
        	_gaq.push(['_trackEvent', 'Caroussel Actualité', 'Défilement', 'Suivant']);
            if(animationActive != true) {
                animationActive = true;

                $(idCarousel + '.carouselActu li:first-child').clone().insertAfter(idCarousel + '.carouselActu li:first-child');
                $(idCarousel + '.carouselActu li:first-child').insertAfter(idCarousel + '.carouselActu li:last-child');

                var marginEnd = ($(idCarousel + '.carouselActu').css('marginTop'));
                var marginBegin = marginEnd.replace(/px/, '');
                marginBegin = marginBegin-elementHeight;
                marginBegin = marginBegin+'px';

                $(idCarousel + '.carouselActu').stop().animate({'marginTop': marginBegin}, 'slow', function() {
                    $(idCarousel + '.carouselActu').css('marginTop', marginEnd);
                    $(idCarousel + '.carouselActu li:first-child').remove();
                    animationActive = false
                });
            }
            return false;
        });

    });


    // Gestion des lightbox col de droite
    $(".lightBox .fermer a").click(function(){
        $("#overlayLightbox").hide();
        $(this).parent().parent().hide();
        $("#videotheque .playerFlash").html('<div id="flvplayer"></div>');
         if($.browser.msie) { $( function() { $('select').show(); } ); }
        this.blur();
        return false;
    });
    $("#btVideoLightbox").click(function(){
        $("#overlayLightbox").show();
        $("#videothequeLightbox").show();
        $("#titreVideo").text($(this).attr("title"));
        $("#descVideoAjax").html($("#descVideo").html());

        if($.browser.msie) { $( function() { $('select').hide(); } ); }

        chargeFlashVideo(this.href);
        this.blur();
        return false;
    });

    $("#sliderPhoto a").click(function(){
        $("#overlayLightbox").show();
        $("#photothequeLightbox").show();
        $("#photoContent").attr("src",this.href);
        $("#titrePhoto").text($(this).attr("title"));
        $("#descPhotoAjax").html($("#descPhoto").html());

        //if($.browser.msie) { $( function() { $('select').hide(); } ); }

        this.blur();
        return false;
    });

    // Gestions des carrousels
    $(".blocSlider").each(function(){
        var current = $(this);
        var menuMargin = 0;

        if ( current.parent().parent().attr("class") == 'lightBox' )
        {
            var marge = 76;
            var largeurSlider = 590;
        }
        else
        {
            var marge = current.find(".slider a").outerWidth(true);
            var largeurSlider = current.find(".masqueSlider").width();
        }

        var longueurSlide = ( current.find(".slider a").length * marge ) - largeurSlider - marge;

        current.children(".sliderPrec").click(function(){
            if ( menuMargin > 0 )
            {
                current.find(".masqueSlider .slider").animate({"left": "+="+marge+"px"}, "slow", "swing");
                menuMargin = menuMargin - marge;
            }
            this.blur();
            return false;
        });

        current.children(".sliderSuiv").click(function(){
          if ( menuMargin <= longueurSlide )
          {
            current.find(".masqueSlider .slider").animate({"left": "-="+marge+"px"}, "slow", "swing");
            menuMargin = menuMargin + marge;
          }
          this.blur();
          return false;
        });
    });

    // Gestion des descriptifs photos et video
    $("#sliderPhoto a").bind("mouseover", function(){
        // ou chargement des textes en ajax
        var divContent = $("#descPhoto");
        var divContentReplace = $(this).find('.descPhoto').html();
        divContent.html(divContentReplace);
    });

    $("#sliderVideo a").click(function(){
        // ou chargement des textes et images en ajax
        var descVideo = $("#descVideo");
        var apercuVideo = $("#apercuVideo");
        var divContentReplaceTxt = $(this).find('.descVideo').html();
        var divContentReplaceImg = $(this).find('.imageURL').text();
        descVideo.html(divContentReplaceTxt);
        apercuVideo.attr('src', '/'+divContentReplaceImg);

        $("#btVideoLightbox").attr("title", $(this).attr("title"));
        $("#btVideoLightbox").attr("href", this.href);


        this.blur();
        return false;
    });

    // Gestion des modules de recherche
    $('#nouvelleRecherche .blocLien').click( function() {
        $(this).slideUp();
        $('#nouvelleRecherche form').slideDown();
        $('#resultats').hide();
        $('.fondPhoto').hide();
        return false;
    });

    $('#rechercheAnnuaire .blocLien').click( function() {
        $(this).slideUp();
        $('#rechercheAnnuaire .blocNewRecherche').slideDown();
        return false;
    });

    //Gestion de l'ouverture des evenements (Agenda)
    $('#resultats .evenement').append('<p class="lien"><a href="#" class="ouvrir" title="En savoir plus sur l\'&eacute;v&eacute;nement">En savoir +</a></p>');
    $('#resultats .evenement .detail').append('<p class="lien"><a href="#" class="fermer" title="Fermer l\'&eacute;v&eacute;nement">Fermer</a></p>');
    $('#resultats .evenement .lien a').click( function() {
        $(this).parent().hide();
        $(this).parent().parent().find('.logoSmall img').fadeOut();
        $(this).parent().prev().show('normal');
        $(this).parent().parent().find('.detail .logoBig img').fadeIn();
        return false;
    });

    $('#resultats .evenement .detail .lien a').click( function() {
        $(this).parent().parent().parent().find('.logoSmall img').fadeIn();
        $(this).parent().parent().find('.logoBig img').fadeOut();
        $(this).parent().parent().hide('slow');
        $(this).parent().parent().parent().find('.lien').fadeIn();
        return false;

    });

    //Gestion de la librairie
    $('#resultats .document').append('<p class="lien open"><a href="#" class="ouvrir" title="Lire l`\article">Lire l\'article</a></p>');
    $('#resultats .document .detail').append('<p class="lien close"><a href="#" class="fermer" title="Fermer">Fermer</a></p>');
    $('#resultats .document .open a').click( function() {
        var imgSrc = $(this).parent().parent().find('.visuel').find('img').attr('src');
        $(this).parent().prev().animate({ marginLeft: '180px' }, 500);
        //$(this).parent().parent().find('.visuel').find('img').animate({ width: '200%', height: '200%' }, 200);
        $(this).parent().parent().find('.visuel').find('img').fadeOut('',  function() {
            $(this).attr('src', imgSrc.replace(/-small.png$/ig,'-big.png')).fadeIn();
        });

        $(this).parent().fadeOut();
        $(this).parent().prev().find('.detail').slideDown();
        return false;
    });

    $('#resultats .document .detail .close a').click( function() {
        var imgSrc = $(this).parent().parent().parent().parent().find('.visuel').find('img').attr('src');

        $(this).parent().parent().parent().parent().find('.lien').fadeIn();
        $(this).parent().parent().parent().animate({ marginLeft: '0px' }, 500);
        //$(this).parent().parent().parent().parent().find('.visuel').find('img').animate({ width: '100%', height: '100%' }, 100);
        $(this).parent().parent().parent().parent().find('.visuel').find('img').attr('src', imgSrc.replace(/-big.png$/ig,'-small.png'));
        $(this).parent().parent().slideUp();
        return false;
    });

    //Gestion de l'opacite de la navigation contact
    function opaciteImg() {

        $('#navContact li a').hover(
            function() {
                //var imgSrc = $(this).find('img').attr('src');
                //$(this).find('img').addClass('on').attr('src', imgSrc.replace(/-off.jpg$/ig,'-on.jpg'));
                $(this).find('img').toggle();
            },
            function() {
                //var imgSrcOn = $(this).find('img').attr('src');
                //$('#navContact li a .on').removeClass('on').attr('src', imgSrcOn.replace(/-on.jpg$/ig,'-off.jpg'));
                $(this).find('img').toggle();
            }
        );
    }
    opaciteImg();

    //Gestion de la fiche produits
    $('#ficheProduit .navFiches a').click( function () {
        var classLien = $(this).attr('class');
        $('#ficheProduit .actif').removeClass('actif').fadeOut('', function() {
            $('#ficheProduit #'+classLien).addClass('actif').fadeIn();
        });
        return false;
    });



    $('#editRaceElevage a').click( function() {
        $('#elevage_chien').hide();
        $('#elevage_chat').hide();
        var tabLien = $(this).attr('href').split('#');
        var attrLien = '#'+tabLien[1];
        $(attrLien).show();
        return false;
    });


    // Gestion du catalogue
    function catalogue() {
        $('#sousCatalogue .navLeft li.open .sNavLeft').show();

        // Gestion de la fleche de la nav horizontale
        $('#navCatalogue ul li.actif').append('<div id="flecheNav"></div>');
        var widthLi = $('#navCatalogue ul li.actif').width();
        var widthFleche = $('#flecheNav').width(widthLi);

        //Gestion de l'affichage des contenus par cat�gorie
        $('#sNavCatalogue ul li a').click( function() {
            var attrHref = $(this).attr('href');
            $('#sNavCatalogue ul li.actif').removeClass('actif');
            $(this).parent().addClass('actif');
            $('#sousCatalogue .sousCatalogue').hide();
            $('#sousCatalogue '+ attrHref).show();
            return false;
        });

        // Gestion de la navLeft catalogue
        $('#sousCatalogue .navLeft > li > a').click( function() {
            var idParent = $(this).parent().parent().parent().attr('id');
            var lienNav = $(this).attr('href');

            if($(this).next().is('.sNavLeft')) {
                $('#sousCatalogue #'+ idParent +' .navLeft li a.open').removeClass('open').next().slideUp();
                $('#sousCatalogue #'+ idParent +' .navLeft li a.actif').removeClass('actif');
                $(this).addClass('open').next().slideDown();
                return false;
            }

            if($(this).next().not('.sNavLeft')) {
               $('#sousCatalogue #'+ idParent +' .navLeft li a.actif').removeClass('actif');
               $('#sousCatalogue #'+ idParent +' .navLeft li a.open').removeClass('open').next().slideUp();
               $(this).addClass('actif');
               $('#sousCatalogue .blocProduits table').hide();
               $('#sousCatalogue .blocProduits '+lienNav).show();
            }
        });

        $('#sousCatalogue .navLeft li .sNavLeft li a').click( function() {
            var lienNav = $(this).attr('href');

            $('#sousCatalogue .navLeft li .sNavLeft li a.actif').removeClass('actif');
            $(this).addClass('actif');
            $('#sousCatalogue .blocProduits table').hide();
            $('#sousCatalogue .blocProduits '+lienNav).show();

        });
    }
    catalogue();

    // Gestion des zooms sur le images
    if($('#sousCatalogue .jqzoom').length) {
        $('#sousCatalogue .jqzoom').jqueryzoom({
            xzoom: 210, //zooming div default width(default width value is 200)
            yzoom: 250, //zooming div default width(default height value is 200)
            offset: 10, //zooming div default offset(default offset value is 10)
            position: "right", //zooming div position(default position value is "right")
            preload:1,
            lens:1
        });
    }

    // Gestion du blocOnglet fiche race Felins
    function ficheFelin() {
        var heightbloc = $('#infoFelin ul li .blocContenu').height();
        var heightTitre = $('#infoFelin ul li h5').height();

        $('#infoFelin ul').css('height', heightbloc + heightTitre + 30);

        $('#infoFelin ul li h5').click( function() {
            $('#infoFelin ul li.actif').removeClass('actif');
            $(this).parent().addClass('actif');
        });

    }
    ficheFelin();

    // Gestion de la lightbox Annuaire
    $("#resultats .resultat .boxSmall .lightBoxAnnuaire, #resultats .resultat .boxLarge .lightBoxAnnuaire").click(function(){
        $("#overlayLightbox").show();
        $("#annuaireLightBox").show();
        if($.browser.msie) { $( function() { $('select').hide(); } ); }
        //return true;
    });

    $('#lightBoxOnglets .onglets a').click( function() {
        var attrLien = $(this).attr('href');
        $('#lightBoxOnglets .onglets a.actif').removeClass('actif');
        $(this).addClass('actif');
        $('#lightBoxOnglets .detail .subDetailActif').removeClass('subDetailActif').addClass('subDetail');
        $('#lightBoxOnglets .detail ' + attrLien).removeClass('subDetail').addClass('subDetailActif');
        return false;
    });

    // Affichage automatique d'un minisite eleveur sur url directe
    var uri = window.location.href;
    if(uri.indexOf('#node_') != -1) {
    	uri = uri.split('#node_');
    	var id = uri[uri.length-1];
        // là on doit charger dynamiquement le contenu de la lightbox
        $("#overlayLightbox").show();
        jQuery.get("/layout/set/ajax/content/view/full/" + id,function(data){
            $("#annuaireLightBox .content").html( data );
            $("#annuaireLightBox").show();
        });
        if($.browser.msie) { $( function() { $('select').hide(); } ); }
        return false;
    }
    
    function is_array(input){
    return typeof(input)=='object'&&(input instanceof Array);
  }


    $('#lightBoxOnglets .navGauche a').click( function() {
        var attrLien = $(this).attr('href');
        $('#lightBoxOnglets .navGauche a.actif').removeClass('actif');
        $(this).addClass('actif');
        $('#lightBoxOnglets .navContenuActif').removeClass('navContenuActif').addClass('navContenu');
        $('#lightBoxOnglets '+ attrLien).removeClass('navContenu').addClass('navContenuActif');
        return false;
    });
    //Gestion de la lightbox Telechargement

    $('#aside .telechargement  ul li .btTelechargement').click( function() {
        var lienImg = $(this).attr('href');

        $('#overlayLightbox').show();
        $('#telechargementLightbox').show();
        $('#telechargementLightbox '+lienImg).show();

        var imgWidth = $('#telechargementLightbox '+lienImg +' .image img').width();
        $('#telechargementLightbox '+lienImg).width(imgWidth+100);
        return false;
    });

    $("#telechargementLightbox .fermer a").click(function(){
        $("#overlayLightbox").hide();
        $('#telechargementLightbox').hide();
        $('#telechargementLightbox .produit').hide();
        if($.browser.msie) { $( function() { $('select').show(); } ); }
        this.blur();
        return false;
    });

    // Gestion des icones publier depublier (centre de distributions)
    /*
    $('#siteDistrib #tableResults tr .publie a').click( function() {
        $(this).find('img').toggleClass('hidden');
        return false;
    });
    */

    // Gestion du bouton retour dans fiche produit
    $('#content .retourPrev').click( function() {
        $(this).back(-1);

    });


    if ($('#promoLightbox').length) lightBoxPromo();
    function lightBoxPromo() {
        $("#overlayLightbox").show();
        $('#promoLightbox').show();
    }

    //Gestion du slider printemps de la nutrition (age chien)
    if ($("#slider-range-max").length) sliderBar();
    function sliderBar() {
        $("#slider-range-max").slider({
            range: "max",
            min: 0,
            max: 240,
            value: 0,
            slide: function(event, ui) {
                switch (true)
                {
                    case ui.value == 0:
                        $("#sonAge").val(0);
                        break;
                    case (ui.value < 24):
                        $("#sonAge").val(ui.value+' mois');
                        break;
                    case (ui.value >= 24):
                        $("#sonAge").val(parseInt(ui.value/12) +' ans')
                        break;
                }
                $("#age").val(ui.value);
            }
        });
        $('#slider-range-max').find('.ui-slider-handle').prepend('<input type="text" id="sonAge" />');
        $("#sonAge").val($("#slider-range-max").slider("value"));

        //$('#slider .bg #sonAge').css('left', posLeft);
    }

});

