Pourquoi ce code Javascript RVB au code HSL ne fonctionne-t-il pas?

J'ai trouvé cette RVB pour HSL script plus à http://www.mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript. Je ne peux pas trouver n'importe quelle autre petite décent. Le problème est que ce code n'a même pas vraiment de travail. Quelqu'un sait pourquoi? (Je ne sais pas un peu de la couleur de maths, mais c'est peut-être le retour de la complémentarité?)

function rgbToHsl(r, g, b){
    r /= 255, g /= 255, b /= 255;
    var max = Math.max(r, g, b), min = Math.min(r, g, b);
    var h, s, l = (max + min) / 2;

    if(max == min){
        h = s = 0; //achromatic
    }else{
        var d = max - min;
        s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
        switch(max){
            case r: h = (g - b) / d + (g < b ? 6 : 0); break;
            case g: h = (b - r) / d + 2; break;
            case b: h = (r - g) / d + 4; break;
        }
        h /= 6;
    }

    return [h, s, l];
}

Edit: quand je lance rgbToHsl(126,210,22) me [ .24, .81, .45 ], ce qui est de la LGV pour une couleur orange.

source d'informationauteur Kyle Hotchkiss