// =================================== //
// Form Color Selector                 //
// v1.0 - Feb 23, 2005                 //
// ----------------------------------- //
// Created by Lloyd Hassell            //
// Website: lloydhassell.brinkster.net //
// Email: lloydhassell@hotmail.com     //
// =================================== //

// INITIALIZATION:

formColorSelector = new Object();

// CONFIGURATION:

formColorSelector.blankImgSrc = 'images/pictures/pix.gif';

formColorSelector.cellWidth = 7;
formColorSelector.cellHeight = 7;

formColorSelector.outputColorFormat = 'hex';	// 'hex' or 'rgb'.

// MAIN:

formColorSelector.isLoaded = false;

formColorSelector.hexList = new Array('FF','CC','99','66','33','00');

var hexList = '0123456789ABCDEF';

function hexToRgb(HEX) {
   HEX = HEX.toUpperCase();
   var redValue = (hexList.indexOf(HEX.charAt(0)) * 16) + hexList.indexOf(HEX.charAt(1));
   var greenValue = (hexList.indexOf(HEX.charAt(2)) * 16) + hexList.indexOf(HEX.charAt(3));
   var blueValue = (hexList.indexOf(HEX.charAt(4)) * 16) + hexList.indexOf(HEX.charAt(5));
   return redValue + ',' + greenValue + ',' + blueValue;
   }

function loadFormformColorSelector() {
   captureCursor();
   formColorSelector.boxWidth = (formColorSelector.cellWidth * 36) + 37;
   formColorSelector.boxHeight = (formColorSelector.cellHeight * 6) + 25;
   formColorSelector.layerObj = addLayer('colorBoxLyr');
   var boxHtmlStr = getTableTag(0,0,0) + '<tr><td bgcolor="#000000">';
   boxHtmlStr += getTableTag(0,3,0,'100%') + '<tr><td><font color="#FFFFFF" face="verdana,arial" size="1">kliknutím vyber</font></td>';
   boxHtmlStr += '<td align="right"><font color="#FFFFFF" face="verdana,arial" size="1"><a style="color:red;" href="javascript:closeFormformColorSelector();">Zavřít</a> </font></td></tr></table>';
   boxHtmlStr += '</td></tr><tr><td bgcolor="#000000">';
   boxHtmlStr += getTableTag(0,1,0);
   for (var colorLoop = 0; colorLoop < 216; colorLoop++) {
      if (colorLoop % 18 == 0) boxHtmlStr += '<tr>';
      var colorValue = formColorSelector.hexList[Math.floor(colorLoop/36)] + '' + formColorSelector.hexList[Math.floor(colorLoop/6)%6] + '' + formColorSelector.hexList[colorLoop%6];
      var colorText = (formColorSelector.outputColorFormat == 'hex') ? colorValue : hexToRgb(colorValue);
      boxHtmlStr += '<td bgcolor="#' + colorValue + '">';
      boxHtmlStr += '<a href="javascript:setColor(\'#' + colorText + '\')"';
      boxHtmlStr += 'onMouseOver="javascript:window.status = \'' + colorText + '\'; return true;" ';
      boxHtmlStr += 'onMouseOut="javascript:window.status = window.defaultStatus; return true;">';
      boxHtmlStr += '<img src="' + formColorSelector.blankImgSrc + '"';
      boxHtmlStr += ' width="' + formColorSelector.cellWidth + '" height="' + formColorSelector.cellHeight + '" border="0"></a></td>';
      if (colorLoop % 36 == 35) boxHtmlStr += '</tr>';
      }
   boxHtmlStr += '</table></td></tr></table>';
   setLayerHTML(formColorSelector.layerObj,boxHtmlStr);
   formColorSelector.isLoaded = true;
   }

function setColor(COLOR) {
   formColorSelector.outputObj.value = COLOR;
   hideLayer(formColorSelector.layerObj);
   }

function closeFormformColorSelector() {
   hideLayer(formColorSelector.layerObj);
   }

function openFormColorSelector(FORMNAME,ELEMENTNAME) {
   if (!formColorSelector.isLoaded) loadFormformColorSelector();
   formColorSelector.outputObj = document.forms[FORMNAME][ELEMENTNAME];
   var posX = 470;
   var posY = 91;
   moveLayerTo(formColorSelector.layerObj,getDocScrollLeft() + posX,getDocScrollTop() + posY);
   showLayer(formColorSelector.layerObj);
   }
