function checkProduit (element)
{
    var actualState = element.getAttribute ("actualState");
    
    if (actualState == 'true')
    {
        hideProduit (element);
        element.setAttribute("actualState", "false");
        return true;
    }

    var checkboxes = document.getElementsByName ('produit');
    var length     = checkboxes.length;
    var nbChecked  = 0;

    for (i = 0; i < length; i++)
    {
        actualState = checkboxes[i].getAttribute ("actualState");
        
        if (actualState == 'true')
        {
            nbChecked++
        }
    }
    if (nbChecked < 3)
    {
        showProduit (element);
        element.setAttribute("actualState", "true");
        return true;
    }
    else
    {
        showError();
        element.setAttribute("actualState", "false");
        return false;
    }
}

function hideProduit (element)
{
    var checkboxId = getIdFromElement (element);
    var produitDiv = EL ('compare_' + checkboxId);
    var parent     = EL ('comparateur');

    if (produitDiv != null)
    {
        parent.removeChild (produitDiv);
    }
}

function showProduit (element)
{
    var checkboxId = getIdFromElement (element);
    var produitDiv = EL ('compare_' + checkboxId);

    if (produitDiv == null)
    {
        var url = "/velo-ville-electrique/comparatorAjax?produit=" + checkboxId;
       
        loadProduit (url);
    }
}

function showError()
{
    var error = EL ('errorCheck');

    error.style.display = 'block';

    setTimeout ( function() {hideError()} , 4000);
}

function hideError()
{
    var error = EL ('errorCheck');

    error.style.display = 'none';
}

function loadProduit (url, produitDiv)
{
    var query = Bw.IO.Query.create();

    query.setNoCache();
    query.get (url, function () { gotProduit (query); } );
}

function gotProduit (query, produitDiv)
{
    var parent = EL ('comparateur');

    parent.innerHTML += query.getText();

}

function getIdFromElement (element)
{
    return element.id.split('_')[1];
}