rgb to hsl test broken

by J. Jones

HTML

<button id='foo' onclick='test()'>clear console</button>
<div id="console">console log type thing</div>
<p>

JavaScript

$(document).ready(function(){
  function clearConsole() {
    $('#console').html(" ");
  }

  function log(msg) {
    var oldmsg = $('#console').html();
    var newmsg = msg + "<br>" + oldmsg;
    $('#console').html(newmsg);
  }
});

var g_ = Object;
g_.hexDigits = ["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"];

function test() {
    log("test starting");
    clearConsole();
  var color = "#000080";
  log("color is:"+color);
  var r = hex2rgb(color);
  log("rgb is:"+r);
  var hsl = rgb2hsl(r);
  log("hsl is:"+hsl);
  var r2 = hsl2rgb(hsl);
  log("r2 is:"+r2);
  var h = rgb2hex(r2);
  log("hex is:"+h);
  if ( color !== h ) {
    log("NOT matched! " + color + " vs " + h );
  }
}

// returns h,s,l in range of 0-1
function rgb2hsl(rgbin) {
  var rgb = rgbin.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
    log("rgb2hsl:matched:"+rgb);
  var dred = rgb[1]/255.0;
  var dgreen = rgb[2]/255.0;
  var dblue = rgb[3]/255.0;
    log("rgb2hsl:dred:"+dred+",dgreen:"+dgreen+",dblue:"+dblue);
  return rgbToHsl(dred,dgreen,dblue);
}
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;
    }
    var ret = "hsl("+h+", "+s+", "+l+")";
    log("rgbToHsl returning: " + ret );
    return ret;
}

function hsl2rgb(hslin) {
  log("hsl2rgb:hsl:" + hslin );
  var hsl = hslin.match(/^hsl\(([\.\d]+),\s*([\.\d]+),\s*([\.\d]+)\)$/);
  log("hsl matched is: " + hsl );
  var dhue = parseFloat(hsl[1]);
  var dsat = parseFloat(hsl[2]);
  var dlightness = parseFloat(hsl[3]);
 ...