code: function hslToRgb(h, s, l, a, out) {
  		function hueToRgb(m1, m2, h) {
  			h = h % 1;
  			if (h < 0) {
  				h += 1;
  			}
  			if (h < 1 / 6) {
  				return m1 + (m2 - m1) * h * 6;
  			}
  			if (h < 1 / 2) {
  				return m2;
  			}
  			if (h < 2 / 3) {
  				return m1 + (m2 - m1) * (2/3 - h) * 6;
  			}
  			return m1;
  		}
  
  		var m1, m2;
  		if (l < 0.5) {
  			m2 = l * (s + 1);
  		} else {
  			m2 = l + s - l * s;
  		}
  		m1 = l * 2 - m2;
  
  		if (!out) {
  			out = [];
  		}
  
  		out[0] = hueToRgb(m1, m2, h + 1/3);
  		out[1] = hueToRgb(m1, m2, h);
  		out[2] = hueToRgb(m1, m2, h - 1/3);
  		out[3] = a;
  
  		return out;
  	}
docs: http://www.w3.org/TR/css3-color/#hsl-color