
addary = new Array();           //red
addary[0] = new Array(0,1,0);   //red green
addary[1] = new Array(-1,0,0);  //green
addary[2] = new Array(0,0,1);   //green blue
addary[3] = new Array(0,-1,0);  //blue
addary[4] = new Array(1,0,0);   //red blue
addary[5] = new Array(0,0,-1);  //red
addary[6] = new Array(255,1,1);
clrary = new Array(360);
for(i = 0; i < 6; i++)
    for(j = 0; j < 60; j++) 
    {
        clrary[60 * i + j] = new Array(3);
        for(k = 0; k < 3; k++) 
        {
            clrary[60 * i + j][k] = addary[6][k];
            addary[6][k] += (addary[i][k] * 4);
        }
    }

function capture() 
{

    layobj = document.getElementById('wheel');
    layobj.onmousemove = moved;
}

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}

function moved(e) 
{
    wheel = document.getElementById('wheel');
    pos = findPos(wheel);
    
    y = 4;
    if(e != null)
        y *= (e.pageX - pos[0]);
    else
        y *= event.offsetX;
    
    x = 4;
    if(e != null)
        x *= (e.pageY - pos[1]); //grrrr, firefox
    else
        x *= event.offsetY;
    
    sx = x - 512;
    sy = y - 512;
    qx = (sx < 0)?0:1;
    qy = (sy < 0)?0:1;
    q = 2 * qy + qx;
    quad = new Array(-180,360,180,0);
    xa = Math.abs(sx);
    ya = Math.abs(sy);
    d = ya * 45 / xa;
    if(ya > xa) 
        d = 90 - (xa * 45 / ya);
    deg = Math.floor(Math.abs(quad[q] - d));
    n = 0;
    sx = Math.abs(x - 512);
    sy = Math.abs(y - 512);
    r = Math.sqrt((sx * sx) + (sy * sy));
    if(x == 512 & y == 512) 
    {
        c = "000000";
    }
    else 
    {
        for(i = 0; i < 3; i++) 
        {
            r2 = clrary[deg][i] * r / 256;
            if(r > 256) r2 += Math.floor(r - 256);
            if(r2 > 255) r2 = 255;
            n = 256 * n + Math.floor(r2);
        }
        c = n.toString(16);
        while(c.length < 6) c = "0" + c;
    }
        
    document.getElementById('currentColor').value = "#" + c;
    return false;
}