/**
 * Color Pallet
 *
 * Copyright (c) 2003-2004 kentaro [webmaster@antipop.zapto.org]
 * Distributed under the modified BSD license
 *
*/

function colorPallet() {

  this.palletId = 'colorPallet';
  this.buttonClassName = 'showPalletButton';
  this.captionText = '\u30AB\u30E9\u30FC\u30D1\u30EC\u30C3\u30C8';
  this.colCount = 10;
  this.color = '#FF0000,#DC143C,#B22222,#800000,#8B0000,#A52A2A,#A0522D,#8B4513,#CD5C5C,#BC8F8F,#F08080,#FA8072,#E9967A,#FF7F50,#FF6347,#F4A460,#FFA07A,#CD853F,#D2691E,#FF4500,#FFA500,#FF8C00,#D2B48C,#FFDAB9,#FFE4C4,#FFE4B5,#FFDEAD,#F5DEB3,#DEB887,#B8860B,#DAA520,#FFD700,#FFFF00,#FAFAD2,#EEE8AA,#F0E68C,#BDB76B,#7CFC00,#ADFF2F,#7FFF00,#00FF00,#32CD32,#9ACD32,#808000,#6B8E23,#556B2F,#228B22,#006400,#008000,#2E8B57,#3CB371,#8FBC8F,#90EE90,#98FB98,#00FF7F,#00FA9A,#008080,#008B8B,#20B2AA,#66CDAA,#5F9EA0,#4682B4,#7FFFD4,#B0E0E6,#AFEEEE,#ADD8E6,#B0C4DE,#87CEEB,#87CEFA,#48D1CC,#40E0D0,#00CED1,#00FFFF,#00FFFF,#00BFFF,#1E90FF,#6495ED,#4169E1,#0000FF,#0000CD,#000080,#00008B,#191970,#483D8B,#6A5ACD,#7B68EE,#9370DB,#9932CC,#9400D3,#8A2BE2,#BA55D3,#DDA0DD,#E6E6FA,#D8BFD8,#DA70D6,#EE82EE,#4B0082,#8B008B,#800080,#C71585,#FF1493,#FF00FF,#FF00FF,#FF69B4,#DB7093,#FFB6C1,#FFC0CB,#FFE4E1,#FFEBCD,#FFFFE0,#FFF8DC,#FAEBD7,#FFEFD5,#FFFACD,#F5F5DC,#FAF0E6,#FDF5E6,#E0FFFF,#F0F8FF,#F5F5F5,#FFF0F5,#FFFAF0,#F5FFFA,#F8F8FF,#F0FFF0,#FFF5EE,#FFFFF0,#F0FFFF,#FFFAFA,#FFFFFF,#DCDCDC,#D3D3D3,#C0C0C0,#A9A9A9,#778899,#708090,#808080,#696969,#2F4F4F,#000000';

}

colorPallet.prototype = {

  showPallet : function(nodeId){
    var nodeId = nodeId;
    var cDIV = document.createElement('div');
    cDIV.id = this.palletId;
    cDIV.style.marginTop = '5px';
    cDIV.style.marginBottom = '5px';
    var color = this.color.split(',');
    var pallet = '<table style=\"background-color:#ffffff;border:solid 1px #333333;\">\n';
    pallet += '<caption style=\"font-size:70%;background-color:#999999;border:solid #333333;border-width:1px 1px 0 1px;\">' + this.captionText + ' <span style=\"background-color:#fafafa;border:solid 1px #333333;padding:1px;cursor:pointer;\" onclick=\"CP.removePallet(\'' + this.palletId + '\');\">\u9589</span></caption>\n';
    for (var i = 0; i < color.length; i++) {
      if ((i + 1)%this.colCount == 1) {
        pallet += '<tr>\n';
      }
      pallet += '<td title=\"' + color[i] + '\" style=\"width:10px;height:10px;border:solid 1px #333333;cursor:pointer;color:' + color[i] + ';background-color:' + color[i] + '\" onclick=\"CP.changeColor(\'' + nodeId + '\', \'' + color[i] + '\');CP.removePallet(\'' + this.palletId + '\');\"></td>\n';
      if ((i + 1)%this.colCount == 0) {
        pallet += '</tr>\n';
      }
    }
    pallet += '</table>\n';
    cDIV.innerHTML = pallet;
    var node = document.getElementById(nodeId).parentNode;
    node.appendChild(cDIV);
  },

  removePallet : function(nodeId) {
    var nodeId = nodeId;
    var node = document.getElementById(nodeId).parentNode;
    node.removeChild(document.getElementById(this.palletId));
  },

  changeColor : function(nodeId, color) {
    var node = document.getElementById(nodeId);
    var color = color;
    node.setAttribute('value', color.substring(1,7));
  }

}

var CP = new colorPallet();