var cnms = new Array (
['000000','Black'],['000080','Navy'],['00008B','DarkBlue'],['0000CD','MediumBlue'],
['0000FF','Blue'],['006400','DarkGreen'],['008000','Green'],['008080','Teal'],
['008B8B','DarkCyan'],['00BFFF','DeepSkyBlue'],['00CED1','DarkTurquoise'],['00FA9A','MediumSpringGreen'],
['00FF00','Lime'],['00FF7F','SpringGreen'],['00FFFF','Aqua/Cyan'],['191970','MidnightBlue'],
['1E90FF','DodgerBlue'],['20B2AA','LightSeaGreen'],['228B22','ForestGreen'],['2E8B57','SeaGreen'],
['2F4F4F','DarkSlateGray'],['32CD32','LimeGreen'],['3CB371','MediumSeaGreen'],['40E0D0','Turquoise'],
['4169E1','RoyalBlue'],['4682B4','SteelBlue'],['483D8B','DarkSlateBlue'],['48D1CC','MediumTurquoise'],
['4B0082','Indigo'],['556B2F','DarkOliveGreen'],['5F9EA0','CadetBlue'],['6495ED','CornflowerBlue'],
['66CDAA','MediumAquaMarine'],['696969','DimGray'],['6A5ACD','SlateBlue'],['6B8E23','OliveDrab'],
['708090','SlateGray'],['778899','LightSlateGray'],['7B68EE','MediumSlateBlue'],['7CFC00','LawnGreen'],
['7FFF00','Chartreuse'],['7FFFD4','Aquamarine'],['800000','Maroon'],['800080','Purple'],
['808000','Olive'],['808080','Gray' ],['87CEEB','SkyBlue'],['87CEFA','LightSkyBlue'],
['8A2BE2','BlueViolet'],['8B0000','DarkRed'],['8B008B','DarkMagenta'],['8B4513','SaddleBrown'],
['8FBC8F','DarkSeaGreen'],['90EE90','LightGreen'],['9370D8','MediumPurple'],['9400D3','DarkViolet'],
['98FB98','PaleGreen'],['9932CC','DarkOrchid'],['9ACD32','YellowGreen'],['A0522D','Sienna'],
['A52A2A','Brown'],['A9A9A9','DarkGray'],['ADD8E6','LightBlue'],['ADFF2F','GreenYellow'],
['AFEEEE','PaleTurquoise'],['B0C4DE','LightSteelBlue'],['B0E0E6','PowderBlue'],['B22222','FireBrick'],
['B8860B','DarkGoldenRod'],['BA55D3','MediumOrchid'],['BC8F8F','RosyBrown'],['BDB76B','DarkKhaki'],
['C0C0C0','Silver'],['C71585','MediumVioletRed'],['CD5C5C','IndianRed'],['CD853F','Peru'],
['D2691E','Chocolate'],['D2B48C','Tan'],['D3D3D3','LightGray'],['D87093','PaleVioletRed'],
['D8BFD8','Thistle'],['DA70D6','Orchid'],['DAA520','GoldenRod'],['DC143C','Crimson'],
['DCDCDC','Gainsboro'],['DDA0DD','Plum'],['DEB887','BurlyWood'],['E0FFFF','LightCyan'],
['E6E6FA','Lavender'],['E9967A','DarkSalmon'],['EE82EE','Violet'],['EEE8AA','PaleGoldenRod'],
['F08080','LightCoral'],['F0E68C','Khaki'],['F0F8FF','AliceBlue'],['F0FFF0','HoneyDew'],
['F0FFFF','Azure'],['F4A460','SandyBrown'],['F5DEB3','Wheat'],['F5F5DC','Beige'],
['F5F5F5','WhiteSmoke'],['F5FFFA','MintCream'],['F8F8FF','GhostWhite'],['FA8072','Salmon'],
['FAEBD7','AntiqueWhite'],['FAF0E6','Linen'],['FAFAD2','LightGoldenRodYellow'],['FDF5E6','OldLace'],
['FF0000','Red'],['FF00FF','Fuchsia/Magenta'],['FF1493','DeepPink'],['FF4500','OrangeRed'],
['FF6347','Tomato'],['FF69B4','HotPink'],['FF7F50','Coral'],['FF8C00','Darkorange'],
['FFA07A','LightSalmon'],['FFA500','Orange'],['FFB6C1','LightPink'],['FFC0CB','Pink'],
['FFD700','Gold'],['FFDAB9','PeachPuff'],['FFDEAD','NavajoWhite'],['FFE4B5','Moccasin'],
['FFE4C4','Bisque'],['FFE4E1','MistyRose'],['FFEBCD','BlanchedAlmond'],['FFEFD5','PapayaWhip'],
['FFF0F5','LavenderBlush'],['FFF5EE','SeaShell'],['FFF8DC','Cornsilk'],['FFFACD','LemonChiffon'],
['FFFAF0','FloralWhite'],['FFFAFA','Snow'],['FFFF00','Yellow'],['FFFFE0','LightYellow'],
['FFFFF0','Ivory'],['FFFFFF','White']);

function bSearch (color)
{
  var low = -1,
      high = cnms.length,
      mid;

  while(high - low > 1)
  {
    mid = (low + high) >>> 1;
    if(cnms[mid][0] < color)
      low = mid;
    else
      high = mid;
  }

  if(cnms[high][0] == color) return high;
  return -1;
}

ValChars = "0123456789ABCDEF";
function enHex(x)
{
    return(ValChars.substring(x,x+1))
}
function toHex(n)
{
    return (enHex((0xf00000 & n) >> 20) +
            enHex((0x0f0000 & n) >> 16) +
            enHex((0x00f000 & n) >> 12) +
            enHex((0x000f00 & n) >>  8) +
            enHex((0x0000f0 & n) >>  4) +
            enHex((0x00000f & n) >>  0))
}
var spbr,spbg,spbb,spfr,spfg,spfb;

function Colorchange() {
var fnm, bnm, ix;

    fnm = 'Unnamed';
    bnm = 'Unnamed';
    var clf = spfr.value * 256;
    clf += spfg.value*1;
    clf *= 256;
    clf += spfb.value*1;
    clf = toHex(clf);
    ix  = bSearch(clf);
    if (ix >= 0) fnm = cnms[ix][1];
    var clb = spbr.value * 256;
    clb += spbg.value * 1;
    clb *= 256;
    clb += spbb.value*1;
    clb = toHex(clb);
    ix  = bSearch(clb);
    if (ix >= 0) bnm = cnms[ix][1];
    document.getElementById("colorsample").innerHTML = 
    '<table class="sptab"><tr><td bgcolor="#'+ clb + '"><font color="#'+ clf + '">Color Text</font></td</tr></table>';
    document.getElementById("hexes").innerHTML =
    '<table class="sptab"><tr><td>Background: #'+ clb + '(' + bnm + ')</td><td> ,Foreground: #'+ clf + '(' + fnm + ')</td</tr></table>';
    
}

function Color() { 
var c;

  var rep = document.getElementById("colordiv");  
  var h = '<table class = "sptab" cols="4"><tr><td>';
  h += '</td><td>Red</td><td>Green</td><td>Blue</td></tr><tr><td>';
  h += 'Background</td><td>';
  h += '<div id="spbrdiv"></div></td><td>';
  h += '<div id="spbgdiv"></div></td><td>';
  h += '<div id="spbbdiv"></div></td></tr><tr><td>';
  h += 'Foreground</td><td>';
  h += '<div id="spfrdiv"></div></td><td>';
  h += '<div id="spfgdiv"></div></td><td>';
  h += '<div id="spfbdiv"></div></td></tr></table>';
  
  h += '<a id="colorsample">Color test</a><br />';
  h += '<a id="hexes"></a><br />';
  rep.innerHTML = h;
  spbr = new spin("spbr", "spbrdiv", false, 0, 255, 1, 32, 255, 40, 20);
  spbg = new spin("spbg", "spbgdiv", false, 0, 255, 1, 32, 0, 40, 20);
  spbb = new spin("spbb", "spbbdiv", false, 0, 255, 1, 32, 0, 40, 20);
  spfr = new spin("spfr", "spfrdiv", false, 0, 255, 1, 32, 0, 40, 20);
  spfg = new spin("spfg", "spfgdiv", false, 0, 255, 1, 32, 0, 40, 20);
  spfb = new spin("spfb", "spfbdiv", false, 0, 255, 1, 32, 255, 40, 20);
  spbr.onchange = Colorchange;
  spbg.onchange = Colorchange;
  spbb.onchange = Colorchange;
  spfr.onchange = Colorchange;
  spfg.onchange = Colorchange;
  spfb.onchange = Colorchange;
  Colorchange();
}

