IAD_Array = {};
/*
Elle retourne le result de l'application de mapFunc sur les elts du tableau. Elle permet de faire la comme des elements d'un tableau par exemple)
*/
IAD_Array.arrayFoldLeft = function(srce, mapFunc, defaultValue)
{
    if(srce.length==0)
    {
        return typeof defaultValue == "undefined" ? null : defaultValue ;
    }
    defaultValue = srce[0];
    for(var i=1; i<srce.length; i++)
    {
        defaultValue = mapFunc(defaultValue, srce[i]);
    }
    return defaultValue;
}

/*
Elle retourne un tableau contenant le resulat de l'ajout de @srce a @dest. Si @inDest vaut true @dest sera modifie sinon le cumule se fera dans un nouveau tableau.
*/
IAD_Array.arrayMerge = function(dest, srce, inDest)
{
    if(inDest)
    {
        for(var i=0; i<srce.length; i++)
        {
            dest.push(srce[i]);
        }
        return dest;
    }
    acc = [];
    for(var i=0; i<des.length; i++)
    {
        acc.push(dest[i]);
    }
    for(var i=0; i<srce.length; i++)
    {
        acc.push(srce[i]);
    }
    return acc;
}
