// JavaScript Document

/* h s l mean hue (0-360) saturation (0-1) lightness (0-1) 
See http://www.w3.org/TR/css3-color/ 
*/

function getcolour(h, s, l){
	h=((h % 360)+360) % 360
	
	h=h/360
	if(l<=0.5){m2=l*(s+1)}
	else {m2=l+s - l*s}
	
	m1=l*2-m2
	
	//m2=1 //comes from saturation=1, lightness=0.5
	//m1=0 
	r=255*(torgb(m1,m2,h+1/3))
	g=255*(torgb(m1,m2,h))
	b=255*(torgb(m1,m2,h-1/3))
	if (r<0) r=0
	if (r>255) r=255
	if (g<0) g=0
	if (g>255) g=255
	if (b<0) b=0
	if (b>255) b=255
	
	
	r=Math.floor(r)
	g=Math.floor(g)
	b=Math.floor(b)
	r1=255-r
	g1=255-g
	b1=255-b
	mainColour="rgb(" + r +"," + g +"," + b + ")"
	inverseColour="rgb(" + r1 +"," + g1 +"," + b1 + ")"
	if(r<0 || r >255 || g<0 || g>255 || b<0 || b>255) debugger
	
	return mainColour
}

function torgb(m1,m2,h){
	if(h<0){h=h+1}
	if(h>1){h=h-1}
	if(h*6<1){return m1 + (m2-m1)*h*6}
	if(h*2<1){return m2}
	if(h*3<2){return m1 +(m2-m1)*(2/3-h)*6}
	return m1
}
