//; (function(d) { var k = d.scrollTo = function(a, i, e) { d(window).scrollTo(a, i, e) }; k.defaults = { axis: 'xy', duration: parseFloat(d.fn.jquery) >= 1.3 ? 0 : 1 }; k.window = function(a) { return d(window)._scrollable() }; d.fn._scrollable = function() { return this.map(function() { var a = this, i = !a.nodeName || d.inArray(a.nodeName.toLowerCase(), ['iframe', '#document', 'html', 'body']) != -1; if (!i) return a; var e = (a.contentWindow || a).document || a.ownerDocument || a; return d.browser.safari || e.compatMode == 'BackCompat' ? e.body : e.documentElement }) }; d.fn.scrollTo = function(n, j, b) { if (typeof j == 'object') { b = j; j = 0 } if (typeof b == 'function') b = { onAfter: b }; if (n == 'max') n = 9e9; b = d.extend({}, k.defaults, b); j = j || b.speed || b.duration; b.queue = b.queue && b.axis.length > 1; if (b.queue) j /= 2; b.offset = p(b.offset); b.over = p(b.over); return this._scrollable().each(function() { var q = this, r = d(q), f = n, s, g = {}, u = r.is('html,body'); switch (typeof f) { case 'number': case 'string': if (/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(f)) { f = p(f); break } f = d(f, this); case 'object': if (f.is || f.style) s = (f = d(f)).offset() } d.each(b.axis.split(''), function(a, i) { var e = i == 'x' ? 'Left' : 'Top', h = e.toLowerCase(), c = 'scroll' + e, l = q[c], m = k.max(q, i); if (s) { g[c] = s[h] + (u ? 0 : l - r.offset()[h]); if (b.margin) { g[c] -= parseInt(f.css('margin' + e)) || 0; g[c] -= parseInt(f.css('border' + e + 'Width')) || 0 } g[c] += b.offset[h] || 0; if (b.over[h]) g[c] += f[i == 'x' ? 'width' : 'height']() * b.over[h] } else { var o = f[h]; g[c] = o.slice && o.slice(-1) == '%' ? parseFloat(o) / 100 * m : o } if (/^\d+$/.test(g[c])) g[c] = g[c] <= 0 ? 0 : Math.min(g[c], m); if (!a && b.queue) { if (l != g[c]) t(b.onAfterFirst); delete g[c] } }); t(b.onAfter); function t(a) { r.animate(g, j, b.easing, a && function() { a.call(this, n, b) }) } }).end() }; k.max = function(a, i) { var e = i == 'x' ? 'Width' : 'Height', h = 'scroll' + e; if (!d(a).is('html,body')) return a[h] - d(a)[e.toLowerCase()](); var c = 'client' + e, l = a.ownerDocument.documentElement, m = a.ownerDocument.body; return Math.max(l[h], m[h]) - Math.min(l[c], m[c]) }; function p(a) { return typeof a == 'object' ? a : { top: a, left: a} } })(jQuery);
function affdu(lien) {
    
    var re1 = new RegExp("inact");
    if (!re1.test($(lien).attr("class"))) {
        ManageAjaxCall(lien.rel, lien);
    }
}

function affduall(lien) {
    var re1 = new RegExp("/vetement-homme-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)/([^\.]*)\.aspx");
    if (re1.test(lien.rel)) {
        var matches = re1.exec(lien.rel);
        if (matches.length > 0) {
            AjaxCall(
                            matches[1], //catalog
                            matches[9], //category
                            "", //taille
                            "", //coloris
                            "", //tri
                            "", //c1
                            "", //c2
                            "", //c3
                            matches[10], //Page
                            matches[8], //typeproduit
                            matches[11]); //lib
        }
    }
    //ManageAjaxCall(lien.rel);
}

function affducol(lien) {
    var re1 = new RegExp("/vetement-homme-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)/([^\.]*)\.aspx");
    if (re1.test(lien.rel)) {
        var matches = re1.exec(lien.rel);
        if (matches.length > 0) {
            AjaxCall(
                            matches[1], //catalog
                            matches[9], //category
                            matches[7], //taille
                            "", //coloris
                            matches[2], //tri
                            matches[3], //c1
                            matches[4], //c2
                            matches[5], //c3
                            matches[10], //Page
                            matches[8], //typeproduit
                            matches[11]); //lib
        }
    }
}

function affdusiz(lien) {
    var re1 = new RegExp("/vetement-homme-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)/([^\.]*)\.aspx");
    if (re1.test(lien.rel)) {
        var matches = re1.exec(lien.rel);
        if (matches.length > 0) {
            AjaxCall(
                            matches[1], //catalog
                            matches[9], //category
                            "", //taille
                            matches[6], //coloris
                            matches[2], //tri
                            matches[3], //c1
                            matches[4], //c2
                            matches[5], //c3
                            matches[10], //Page
                            matches[8], //typeproduit
                            matches[11]); //lib
        }
    }
}
function affduc1(lien) {
    var re1 = new RegExp("/vetement-homme-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)/([^\.]*)\.aspx");
    if (re1.test(lien.rel)) {
        var matches = re1.exec(lien.rel);
        if (matches.length > 0) {
            AjaxCall(
                            matches[1], //catalog
                            matches[9], //category
                            matches[7], //taille
                            matches[6], //coloris
                            matches[2], //tri
                            "", //c1
                            matches[4], //c2
                            matches[5], //c3
                            matches[10], //Page
                            matches[8], //typeproduit
                            matches[11]); //lib
        }
    }
}
function affduc2(lien) {
    var re1 = new RegExp("/vetement-homme-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)/([^\.]*)\.aspx");
    if (re1.test(lien.rel)) {
        var matches = re1.exec(lien.rel);
        if (matches.length > 0) {
            AjaxCall(
                            matches[1], //catalog
                            matches[9], //category
                            matches[7], //taille
                            matches[6], //coloris
                            matches[2], //tri
                            matches[3], //c1
                            "", //c2
                            matches[5], //c3
                            matches[10], //Page
                            matches[8], //typeproduit
                            matches[11]); //lib
        }
    }
}
function affduc3(lien) {
    var re1 = new RegExp("/vetement-homme-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)/([^\.]*)\.aspx");
    if (re1.test(lien.rel)) {
        var matches = re1.exec(lien.rel);
        if (matches.length > 0) {
            AjaxCall(
                            matches[1], //catalog
                            matches[9], //category
                            matches[7], //taille
                            matches[6], //coloris
                            matches[2], //tri
                            matches[3], //c1
                            matches[4], //c2
                            "", //c3
                            matches[10], //Page
                            matches[8], //typeproduit
                            matches[11]); //lib
        }
    }
}

function getCouleur(Value, Chemin) {
    return Chemin + "/images/26x26/26x26_" + Value + ".jpg";
}

function getPicto(Chemin, Type) {
    if (Type == "0") {
        return Chemin + "/images/teaser_event/teaser-soldes0.png";
    } else if (Type == "1") {
        return Chemin + "/images/teaser_event/teaser-offre0.png";
    } else if (Type == "2") {
        return Chemin + "/images/teaser_event/teaser-vteFlash0.png";
    } else if (Type == "4") {
        return Chemin + "/images/teaser_event/teaser-bonneAff0.png";
    }
}

function getClassPicto(Type) {
    if (Type == "0") {
        return "toto";
    } else if (Type == "1") {
        return "toto";
    } else if (Type == "2") {
        return "toto";
    } else if (Type == "4") {
        return "toto";
    }
}

function getNbProduct(nbProduct) {
    if (nbProduct > 1)
        return "(" + nbProduct + ")";
    else
        return "";
}


function afficherOuNon(Type) {
    if (Type == "0" || Type == "1" || Type == "2" || Type == "4") {
        return "block";
    } else {
        return "none";
    }
}

function getClassPag(selected) {
    if (selected == "True") {
        return "selected";
    }
    else
        return "";
}

function getClassTout(pageNumber) {
    if (pageNumber == "0") {
        return "selected";
    }
    else
        return "";
}

function getClassPromo(TypePromotion, IsNew, AffaireDeSaison, OperationSpeciale, IsOffreClub) {
    if (TypePromotion > -1) {
        if (TypePromotion == 0) {
            return "teaserAc00 teaserAc00_2 soldes00";
        } else
            if (TypePromotion == 1) {
            return "teaserAc00 teaserAc00_1 jourJ00";
        }
        else
            if (TypePromotion == 4) {
            return "teaserAc00 teaserAc00_1 bonneAff00";
        }
        return "teaserAc00 dn";
    }
    else
        if (AffaireDeSaison > 0) {
        return "teaserAc00 teaserAc00_0 offreMom00";
    }
    else if (OperationSpeciale > 0) {
        return "teaserAc00 teaserAc00_0 opeSpe00";
    }
    else
        if (IsOffreClub > 0) {
        return "teaserAc00 teaserAc00_4 offreClub00";
    }
    else
        if (IsNew) {
        return "teaserAc00 teaserAc00_3 new00";
    }
    else {
        return "teaserAc00 dn";
    }
}



function getLibellePromo1(TypePromotion, IsNew, IsOffreClub, PrixBarre, LibellePromo1) {
    if (TypePromotion > -1) {
        return "-" + PrixBarre;
    }
    else
        if (LibellePromo1 != '') {
        return LibellePromo1;
    }
    else
        if (IsOffreClub > 0) {
        return "Offre CLUB";
    }
    else
        if (IsNew) {
        return "Nouveau";
    }
    else {
        return "";
    }
}

function getLibellePromo2(TypePromotion, LibellePromo2) {
    if (TypePromotion > -1) {
        return "";
    }
    else
        if (LibellePromo2 != '') {
        return LibellePromo2;
    }
    else {
        return "";
    }
}

function getExiste(NbListColorProducts) {
    if (NbListColorProducts > 1) {
        return "Existe en ";
    }
    else {
        return "";
    }
}

function getDisponible(NbListColorProducts) {
    if (NbListColorProducts > 1) {
        return "";
    }
    else {
        return " disponible";
    }
}

//Modif mathieu 2011/12/09
//$(document).ready(function() {
ManageAjaxCall = function(url, lien) {

    var re1 = new RegExp("/vetement-homme-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)/([^\.]*)\.aspx");
    var re2 = new RegExp("/vetement-homme-([^-]*)-([^/]*)/([^\.]*)\.aspx");


    if (re1.test(url)) {
        var matches = re1.exec(url);
        if (matches.length > 0) {
            lien.href = "javascript:void(0)";
            AjaxCall(
                            matches[1], //catalog
                            matches[9], //category
                            matches[7], //taille
                            matches[6], //coloris
                            matches[2], //tri
                            matches[3], //c1
                            matches[4], //c2
                            matches[5], //c3
                            matches[10], //Page
                            matches[8], //typeproduit
                            matches[11]); //lib
        }
    } else if (re2.test(url)) {
        var matches = re2.exec(url);
        if (matches.length > 0) {
            AjaxCall(
                            matches[1],
                            matches[9],
                            "",
                            "",
                            "",
                            "",
                            "",
                            "1",
                            "",
                            "",
                            matches[11]);
        }
    }
}
    AjaxCall = function(catalog, pcategory, size, color, order, filter1, filter2, filter3, ipageNumber, ptype, plibelle) {

        loader();

        var params = { catalogName: catalog,
            categoryName: pcategory,
            sizeName: size,
            colorName: color,
            filter1: filter1,
            filter2: filter2,
            filter3: filter3,
            pageNumber: ipageNumber,
            orderBy: order,
            pageType: ptype,
            categoryDisplayName: plibelle
        };
        $.ajax({
            type: "POST",
            url: wsHost + "/Ajax/ListingProductService.asmx/GetListing",
            dataType: "json",
            contentType: "application/json; charset=utf-8",
            data: $.toJSON(params),
            error: function() {
                // TODO => implémenter la méthode en cas d'erreur du web service
            },
            success: function(result) {
                if (result != null) {
                    TraitementResult(result.d, params);
                }
            }
        });
    }
    //Modif mathieu 2011/12/09
//});

// Fonction de traitement du résultat du web service
// qui alimente la page liste suite à un ou des filtres
function TraitementResult(result, params, middle, gotop) 
{
	$(this).scrollTo($('#tri-aff'), 1000);
    // on sauvegarde le html du teaser pour le réaffecter
    var sTeaserBasHtml = "";
    if ($("#sTeaserBas").html() != null) 
    {
        sTeaserBasHtml = "<li id=\"sTeaserBas\" class=\"di\">" + $("#sTeaserBas").html() + "</li>";
    }

	if (result.Listing.length > 0) {
		/* BIND DU LISTING */
		
        $("#content_listingPdts_b").empty();
		closeLoader();
        $(templateListing).render(result.Listing).appendTo("#content_listingPdts_b");
	}
	
    /* BIND DES FILTRES 1 */
    $("#filtre-filter1").empty();
    $("#filtreTemplate").render(result.Filters1).appendTo("#filtre-filter1");

    if (result.Filters1.length > 0) {
        $("#filtre1").css("display", "block");

        if (result.Filters1.length > $('#limiteNbFiltre').val()) {
            $("#pdetailsFiltre1").removeClass("dn");
        }
        else {
            $("#pdetailsFiltre1").addClass("dn");
        }
    }
    else {
        $("#filtre1").css("display", "none");
    }

    /* BIND DES FILTRES 2 */
    $("#filtre-filter2").empty();
    $("#filtreTemplate").render(result.Filters2).appendTo("#filtre-filter2");

    if (result.Filters2.length > 0) {
        $("#filtre2").css("display", "block");
        if (result.Filters2.length > $('#limiteNbFiltre').val()) {
            $("#pdetailsFiltre2").removeClass("dn");
        }
        else {
            $("#pdetailsFiltre2").addClass("dn");
        }
    }
    else {
        $("#filtre2").css("display", "none");
    }

    /* BIND DES FILTRES 3 */
    $("#filtre-filter3").empty();
    $("#filtreTemplate").render(result.Filters3).appendTo("#filtre-filter3");

    if (result.Filters3.length > 0) {
        $("#filtre3").css("display", "block");
        if (result.Filters3.length > $('#limiteNbFiltre').val()) {
            $("#pdetailsFiltre3").removeClass("dn");
        }
        else {
            $("#pdetailsFiltre3").addClass("dn");
        }
    }
    else {
        $("#filtre3").css("display", "none");
    }

    if (result.Sizes.length > $('#limiteNbTaille').val()) {
        $("#pdetailsSize").removeClass("dn");
    }
    else {
        $("#pdetailsSize").addClass("dn");
    }

    /* BIND DES COLORS */
    $("#filtre-color").empty();
    $("#colorTemplate").render(result.Colors).appendTo("#filtre-color");

    /* BIND DES SIZES */
    $("#filtre-size").empty();
    $("#sizeTemplate").render(result.Sizes).appendTo("#filtre-size");

    /* BIND DES TYPES */
    $("#filtre-type").empty();
    $("#typeTemplate").render(result.Types).appendTo("#filtre-type");

    /* BIND DES ORDRE DE TRI */
    $("#tri-aff").empty();
    $("#triTemplate").render(result.OrderViews).appendTo("#tri-aff");

    if (result.Listing.length > 0) {
		$(".ColorList").html('');
        // On boucle sur chaque produit pour renseigner les couleurs
		$.each(result.Listing, function(i, item) {
		    if (templateListing == '#listingHorizontalTemplate') {
		        $("#colorListPdtTemplateHorizontal").render($(item).attr('ColorList')).appendTo($(".ColorList")[i]);
		    }
		    else if (templateListing == '#listingVerticalTemplate') {
		        $("#colorListPdtTemplateVertical").render($(item).attr('ColorList')).appendTo($(".ColorList")[i]);
		    }
		});        

        if (result.PagerInfos.ItemTotal != 0) {
            $('#nbproduct').html(result.PagerInfos.ItemTotal);
            if (result.PagerInfos.ItemTotal == 1) {
                $('#sArticle').html("article");
            }
            else {
                $('#sArticle').html("articles");
            }
        }
        else {
            $('#nbproduct').html(result.Listing.length);
            if (result.Listing.length == 1) {
                $('#sArticle').html("article");
            }
            else {
                $('#sArticle').html("articles");
            }
        }
        $('#aFilterc1').attr('rel', result.GlobalUrl);
        $('#aFilterc2').attr('rel', result.GlobalUrl);
        $('#aFilterc3').attr('rel', result.GlobalUrl);
        $('#aFilterColor').attr('rel', result.GlobalUrl);
        $('#aFilterSize').attr('rel', result.GlobalUrl);

        $('#pFilterc1').html(result.LibelleFilter1 + ' :');
        $('#pFilterc2').html(result.LibelleFilter2 + ' :');
        $('#pFilterc3').html(result.LibelleFilter3 + ' :');
        // on réaffecte les teasers
        if (result.Teaser) {
            $("#content_listingPdts_b").html(result.Teaser + $("#content_listingPdts_b").html() + sTeaserBasHtml);
        }

        var isFilter = false;

        if (params.filter1 != '') {
            isFilter = true;
        }

        if (params.filter2 != '') {
            isFilter = true;
        }

        if (params.filter3 != '') {
            isFilter = true;
        }

        if (params.size != '') {
            $("#pFilterSize").removeClass("dn");
            isFilter = true;
        }
        else {
            $("#pFilterSize").addClass("dn");
        }

        if (params.color != '') {
            $('#pFilterColor').removeClass("dn");
            isFilter = true;
        }
        else {
            $('#pFilterColor').addClass("dn");
        }

        if (isFilter) {
            $('#pFilterSearch').removeClass("dn");
        }
        else {
            $('#pFilterSearch').addClass("dn");
        }

        // pagination
        if (result.PagerInfos.ListPagination.length > 0) {
            $(".pagination").each(function() {
                $(this).css("display", "block");
            });

            $("#pagHaut").empty();
            $("#paginationTemplate").render(result.PagerInfos).appendTo("#pagHaut");

            $("#pagHaut .PaginationIdPage").empty();
            $("#paginationItemTemplate").render(result.PagerInfos.ListPagination).appendTo("#pagHaut .PaginationIdPage");

            $("#pagBas").empty();
            $("#paginationTemplate").render(result.PagerInfos).appendTo("#pagBas");

            $("#pagBas .PaginationIdPage").empty();
            $("#paginationItemTemplate").render(result.PagerInfos.ListPagination).appendTo("#pagBas .PaginationIdPage");
        }
        else {
            $(".pagination").each(function() {
                $(this).css("display", "none");
            });
        }

        // on gère l'affichage du teaser
        var sTeaserBas = $("#sTeaserBas");
        if (sTeaserBas.length > 0) {
            var aTeaserHaut = $("#aTeaserHaut");
            if (aTeaserHaut.length > 0) {
                if (aTeaserHaut.val() == "none") {
                    sTeaserBas.removeClass("di pub01");
                    sTeaserBas.addClass("dn pub01");
                }
                else {
                    var teaserSize = $("#teaserSize");
                    if (teaserSize.length > 0) {
                        if ((teaserSize.val() == "2" && result.Listing.length > 5) ||
                                              (teaserSize.val() == "1" && result.Listing.length > 6)) {
                            sTeaserBas.removeClass("dn pub01");
                            sTeaserBas.addClass("di pub01");
                        }
                        else {
                            sTeaserBas.removeClass("di pub01");
                            sTeaserBas.addClass("dn pub01");
                        }
                    }
                }
            }
            else {
                sTeaserBas.css("display", "none");
            }
        }
        
        hoverListPdt();

        $("ul.list01 li a").each(function() {
            $(this).mouseover(function() {
                var blocProduit = $(this).parents(".color00").next('.blocPdt');
                var RefProduit = $(this).attr('ref');
                var newLien = $(this).attr('href');
                var newImg = $(this).attr('rel');

                var blocProduit_a_fiche = blocProduit.children('.vignPdt').children('#lien' + RefProduit + '0');
                var blocProduit_a_picto = blocProduit.children('.vignPdt').children('#lien' + RefProduit + '1');
                var blocProduit_a_titre = blocProduit.children('.intitule').children('#lien' + RefProduit);

                blocProduit_a_fiche.attr("href", newLien);
                blocProduit_a_picto.attr("href", newLien);
                blocProduit_a_titre.attr("href", newLien);
                blocProduit_a_fiche.children("img").attr("src", newImg);

                //changeImage(this, 'img' + RefProduit, 'lien' + RefProduit);
            });
        });
    }
    else 
    {
        closeLoader();
        
		$(".pagination").each(function() {
                $(this).css("display", "none");
        });

        $('#content_listingPdts_b').empty();
    }
}
