<!--

var currColor = '';
var iniColor = '';

var web_safe = new Array('00', '33', '66', '99', 'CC', 'FF');

function initColor(form, fieldName, value) {
  currField = form.elements[fieldName];
  currHiddenField = form.elements[fieldName + 'Ms'];
  setColorValue(value);
  iniColor = value;
  bC(form[fieldName]);

  initInputs[initInputs.length] = new Object;
  initInputs[initInputs.length-1].type = 'color';
  initInputs[initInputs.length-1].form = form;
  initInputs[initInputs.length-1].field = fieldName;
  initInputs[initInputs.length-1].value = iniColor;
  initInputs[initInputs.length-1].hidden = iniColor;
}

function setColorValue(value, u) {
  if (currField) currField.value = value;
  if (currHiddenField) currHiddenField.value = value;
  if (u) {
    if (currField) bC(currField, 1);
  }
}

var eKeys = new Array(8, 9, 35, 36, 37, 39, 46);

function checkKey(e) {
  var keyCode = e.which ? e.which : e.keyCode;
  for (var i=0; i<eKeys.length; i++) {
    if (keyCode == eKeys[i]) return true;
  }
  return keyCode >= '0'.charCodeAt() && keyCode <= '9'.charCodeAt() || keyCode >= 'A'.charCodeAt() && keyCode <= 'F'.charCodeAt(); 
}

function checkColor(e, btnElem, leerId, ancName, fieldName) {
  var lastValue = btnElem.form.elements[fieldName].value;
  hideCurrInput();
  var kc;
  if (window.Event) {
    kc = e.wich;
  } else {
    kc = e.keyCode;
  }

  if (kc == 13) {
    bC(btnElem.form.elements[fieldName], 1);
  }

  if (kc == 27) {
    if (lastValue) {
      lastKey = lastValue;
    } else {
      lastValue = initValue;
      lastKey = initValue;
    }
    btnElem.form.elements[fieldName].value = lastValue;
    btnElem.form.elements[fieldName+'Ms'].value = lastKey;
  } else {
    var v = btnElem.form.elements[fieldName].value;
    if (v.length > 0) {
      btnElem.form.elements[fieldName + 'Ms'].value='';
      showColor(btnElem, leerId, ancName, fieldName, v);
    }
  }
}

function showColor(btnElem, leerId, ancName, fieldName, v) {
  var currBtn = shownBtn;
  hideCurrInput();
  if (currBtn != btnElem) {
    currField = btnElem.form.elements[fieldName];
    currHiddenField = btnElem.form.elements[fieldName + 'Ms'];
    if (currHiddenField && currHiddenField.value != '') {
      currColor = currHiddenField.value;
      currValue = currColor;
    } else {
      currColor = '';
      currValue = '';
    }
    shownBtn = btnElem;
    shownId = leerId;
    drawColor(leerId, ancName, currColor, v);
  }
}

function buildColorMap(v) {
  var x = 0; var y = 0;
  var dx = 11; var dy = 11;
  var str = '<map name="web_safe">';
  for (i=0; i<2; i++) {
    for (r=0; r<6; r++) {
      x = 1;
      for (g=0; g<3; g++) {
        for (b=0; b<6; b++) {
          c = web_safe[r] + web_safe[i*3+g] + web_safe[b];
          if (c != v) {
            str += '<area shape=rect coords="'+x+','+y+','+(x+dx)+','+(y+dy)+'" title="#'+c+'" href="javascript:// #'+c+'" onClick="setColorValue(\''+c+'\', 1); return false;">';
          }
          x += dx;
        }
      }
      y += dy;
    }
  }
  str += '</map>';
  return str;
}

function drawColor(leerId, ancName, value) {
  if (shownBtn != null) {
    if (shownBtn.style) shownBtn.style.borderStyle = 'inset';
  }

  var colorHTML = '<table border="0" cellspacing="0" cellpadding="0" bgcolor="white"><tr><td>';
  colorHTML += '<img src="/pix/js/colors.gif" width="199" height="133" alt="" border="0" usemap="#web_safe"><br>'
  colorHTML += '</td></tr><\/table>' + buildColorMap(value);

  var leerPos = new getPosition(ancName);
  showLeer(leerId, leerPos, colorHTML);
}

function fC(elt) {
  var fieldName = elt.name;
  elt.style.background = '#' + defaultInputBackground;
  elt.style.color = '#' + defaultInputColor;
}

function bC(elt, s) {
  var fieldName = elt.name;
  var value = elt.value;
  if (value) value = value.toUpperCase();
  var result = '';
  for (var i=0; i<value.length; i++) {
    var c = value.charCodeAt(i);
    if (c >= 48 && c <= 57 ||
        c >= 65 && c <= 70) {
      result += chr(c);
    } else {
      result += '0';
    }
  }
  value = result;
  var d = 6 - value.length;
  for (var i=0; i<d; i++) {
    value += '0';
  }
  elt.value = value;
  elt.form.elements[elt.name + 'Ms'].value = value;
  elt.style.background = '#' + elt.value;
  elt.style.color = elt.style.background;

  if (s) {
    document.wizard.act.value = 'store';
    document.wizard.submit();
  }
}

function createColorInput(form, fieldName, leerName, value, d) {
  var inputHTML = '';
  if (!findLeer(leerName)) {
    inputHTML += '<div id="' + leerName + '" style="position: absolute; top: 200; left: 10; height:133px; width:199px; z-index: 666; visibility: hidden;" onMouseUp="event.cancelBubble=true; event.returnValue = false; return false;"><\/div>';
  }
  inputHTML += '<table border="0" cellspacing="0" cellpadding="0"><tr><td class="colorInputCell"><a name="' + fieldName + '_bal"><\/a><input type="text" size="8" maxlength="6" name="' + fieldName + '" value="" class="colorInput" onFocus="fC(this)" onBlur="bC(this,1)" onKeyDown="return checkKey(event)" onKeyUp="checkColor(event, this.form.' + fieldName + '_btn, \'' + leerName + '\', \'' + fieldName + 'Anc\', \'' + fieldName + '\')"' + (d ? '' : ' disabled') + '><\/td>';
  inputHTML += '<td class="colorBtnCell"><input name="' + fieldName + '_btn" type="button" value="&nbsp;" width="34" onMouseUp="event.cancelBubble=true; event.returnValue = false; return false;" onMouseDown="showColor(this, \'' + leerName + '\', \'' + fieldName + 'Anc\', \'' + fieldName + '\', this.form.' + fieldName + '.value)" class="colorBtn"' + (d ? '' : ' disabled') + '><input type="hidden" name="' + fieldName + 'Ms" value=""><br><a name="' + fieldName + 'Anc"><\/a><\/td>';
  inputHTML += '<\/tr><\/table>';
  document.write(inputHTML);
  initColor(form, fieldName, value);
}

//-->
