$(document).ready(function(){
    $("#filterSize, #filterBrand").change(function() { applyFilter(); });
});

function applyFilter()
{
    var url = $("#filterBaseURL").val();
    url = url.replace(".html", "");
        
    var taille = $("#filterSize").val();
    var marque_id = $("#filterBrand").val();
    
    if      (marque_id == "0" && taille != "0")  url = url + "_ALL_" + taille;
    else if (marque_id != "0" && taille == "0")  url = url + "_" + marque_id + "_ALL";
    else if (marque_id != "0" && taille != "0")  url = url + "_" + marque_id + "_" + taille;
    
    $(location).attr("href", url + ".html");
}


var mouseX, mouseY;
var dispTimeout;

function triggerDispMoreInfo(event, pid)
{
    if ($("#moreInfoProduct"+pid).css('display') == 'none') {
        getMousePos(event);
        dispTimeout = window.setTimeout("dispMoreInfo("+pid+")", 850);
    }
}

function dispMoreInfo(pid)
{
    if (testIntersection(document.getElementById('vignetteCatalogue'+pid))) {
        $(".popMoreInfo").css('display', 'none');
        $("#moreInfoProduct"+pid).css('display', 'block');
    }
}

function hideMoreInfo(event, pid)
{
    getMousePos(event);
    if (!testIntersection(document.getElementById('vignetteCatalogue'+pid))) {
        clearTimeout(dispTimeout);
        $("#moreInfoProduct"+pid).css('display', 'none');
    }
}

function getMousePos(e)
{
    e = e || window.event;
        
    if (e.pageX || e.pageY) {
        mouseX = e.pageX;
        mouseY = e.pageY;
    } else {
        var de = document.documentElement;
        var b = document.body;
        mouseX = e.clientX + 
            (de.scrollLeft || b.scrollLeft) - (de.clientLeft || 0);
        mouseY = e.clientY + 
            (de.scrollTop || b.scrollTop) - (de.clientTop || 0);
    }
}

function testIntersection(elem)
{
    var x1 = elem.offsetLeft;
    var y1 = elem.offsetTop;
    var x2 = x1 + elem.offsetWidth;
    var y2 = y1 + elem.offsetHeight;
        
    if (mouseX > x1 && mouseX < x2 && mouseY > y1 && mouseY < y2)
        return true;
    else
        return false;
}
