  selectBoxes = new Array();
  directOrder = new Array();
  function selectBoxNotify(formField){;}
  function setOption( text, value, formField, notify, index ){
    formFieldValue = value;
    activeText = text;
    setVisibility( 'selectBoxContent'+formField, 0, 'none' );
    writeIntoLayer( 'selectedValue' + formField, text );
    if( document.forms.length > 0 ) {
      document.forms[0][formField].value = formFieldValue;
    }
    if( notify ) {
      selectBoxNotify( formField, formFieldValue, index );
    }
  }
  
  function writeSelectBox( formField, keyValueArray, zIndex, elementWidth, visibleEntries, selectedValue, notify, error, readonly, direction, elementClass ) {
	  var formValue = "";
	  entryFound = false;
	  var pulldownImage  = pulldownGif;
	  if( error == true ){
	    pulldownImage = pulldownErrorGif;
	  }
	  for( i=0; i < keyValueArray.length; i++ ){
	    if( keyValueArray[i+1] == selectedValue ){
	      selectText = keyValueArray[i];
	      formValue  = keyValueArray[i+1];
	      entryFound = true;
	      break;
	    }
	    i++;
	  }
	  if( !entryFound ){
	    selectText = keyValueArray[0];
	    formValue  = keyValueArray[1];
	  }
	  selectBoxes.push( formField );
	  directOrder[formField] = false;
	  selectBox = '';
	  deep = (visibleEntries * 16) + 14;
	  elementClass = ( elementClass != undefined )? elementClass:"";
	  if( readonly == true ){
	    selectBox += '<input type="text" class="defaultReadonly '+elementClass+'" readonly="readonly" value="' + selectText + '" '+'/'+'>';
	    selectBox += '<input type="hidden" name="' + formField + '" value="' + formValue + '" '+'/'+'>';
	  }else{
			selectBox += '<div id="'+ formField +'" class="selectBoxContainer '+elementClass+'" style="z-index:' + zIndex +';">';
			selectBox += '<div class="selectBoxTitle" onClick="setVisibility(\'selectBoxContent' + formField + '\');" onMouseover="directOrder[\'' + formField + '\']=true;" onMouseout="directOrder[\'' + formField + '\']=false;">';
			selectBox += '<div id="selectedValue' + formField + '" class="selectBoxCaption">' + selectText + '<'+'/div>';
			selectBox += '<div class="selectBoxButton"><img src="' + pulldownImage + '" width="18" height="16" alt="' + selectText + '" '+'/'+'><'+'/div>';
			selectBox += '<'+'/div>';
			selectBox += '<div id="selectBoxContent' + formField + '" class="selectBoxDropdown" style="height:'+deep+'">';
			selectBox += '<div class="selectBoxDropdownList" style="height:'+deep+'">';
			for( i=0; i < keyValueArray.length; i++ ){
			  keyValueArray[i+1] = keyValueArray[i+1].replace(/'/g,"\\\'");
			  var tempValue = keyValueArray[i].replace(/'/g,"\\\'");
			  selectBox += '<a href="javascript:setOption(\'' + tempValue + '\',\'' + keyValueArray[i+1] + '\',\'' + formField + '\',' + notify + ',' + zIndex +');" class="selectboxEntry">' + keyValueArray[i] + '<'+'/a>';
			  i++;
			}
			selectBox += '<'+'/div>';
			selectBox += '<'+'/div>';
			selectBox += '<input type="hidden" name="' + formField + '" value="' + formValue + '" '+'/'+'>';
			selectBox += '<'+'/div>';
	  }
	  return selectBox;
	}
  
  /*function writeSelectBox( formField, keyValueArray, zIndex, elementWidth, visibleEntries, selectedValue, notify, error, readonly, direction, sublayerwidth, elementClass ) {
    var formValue = "";
    entryFound = false;
    var bgcolorBorder  = "#003399";
    var bgcolorBorder1 = "#FF6600";
    var borderGif      = p003399Gif;
    var pulldownImage  = pulldownGif;
    if( error == true ){
      bgcolorBorder = "#ff0000";
      pulldownImage = pulldownErrorGif;
      borderGif     = pff0000Gif;
    }
    for( i=0; i < keyValueArray.length; i++ ){
      if( keyValueArray[i+1] == selectedValue ){
        selectText = keyValueArray[i];
        formValue  = keyValueArray[i+1];
        entryFound = true;
        break;
      }
      i++;
    }
    if( !entryFound ){
      selectText = keyValueArray[0];
      formValue  = keyValueArray[1];
    }
    selectBoxes.push( formField );
    directOrder[formField]=false;
    tdWidth = elementWidth-20;
    if( visibleEntries > (keyValueArray.length / 2) ) {
      visibleEntries = (keyValueArray.length / 2);
    }
    if( elementClass == null ){
    	elementClass = "";
    }
    deep = (visibleEntries * 16) + 14;
    selectBox = '';
    if( readonly == true ){
      selectBox += '<input type="text" class="defaultReadonly '+elementClass+'" readonly="readonly" value="' + selectText + '">';
      selectBox += '<input type="hidden" name="' + formField + '" value="' + formValue + '">';
    }else{
  	  selectBox += '<div id="'+ formField +'" class="selectBoxContainer '+elementClass+'" style="z-index:' + zIndex +';">';
  	  selectBox += '<div style="position: relative">';
  	  selectBox += '<table class="selectBoxTable">';
  	  selectBox += '<colgroup><col /><col width="18" /></colgroup>';
  	  selectBox += '<td onClick="setVisibility(\'selectBoxContent' + formField + '\');" onMouseover="directOrder[\'' + formField + '\']=true;" onMouseout="directOrder[\'' + formField + '\']=false;" style="cursor:pointer;"><span id="selectedValue' + formField + '">&nbsp; ' + selectText + '</span></td>';
      selectBox += '<td><a href="javascript:setVisibility(\'selectBoxContent' + formField + '\');" onMouseover="directOrder[\'' + formField + '\']=true;" onMouseout="directOrder[\'' + formField + '\']=false;"><img src="' + pulldownImage + '" width="18" height="16" border="0" /></a></td>';
      selectBox += '</tr></table>';
      if( sublayerwidth ){
        if( direction == "above" ){
    			selectBox += '<div id="selectBoxContent' + formField + '" class="selectBoxContent" style="width:'+ sublayerwidth +'; top:' + -(deep+1) + 'px;" >';
        }else{
        	selectBox += '<div id="selectBoxContent' + formField + '" class="selectBoxContent" style="width:'+ sublayerwidth +'; border-top:1px solid '+ bgcolorBorder +'; top:17px;">';
        }
        selectBox += '<table width="' + sublayerwidth + '" cellspacing="0" cellpadding="0" border="0">';
      }else{
        if(direction == "above"){
    			selectBox += '<div id="selectBoxContent' + formField + '" class="selectBoxContent" style="top:' + -(deep+1) + 'px;" >';
        }else{
        	selectBox += '<div id="selectBoxContent' + formField + '" class="selectBoxContent">';
        }
        selectBox += '<table width="' + elementWidth + '" cellspacing="0" cellpadding="0" border="0">';
      }
      if(direction == "above"){
        if( sublayerwidth ){
          selectBox += '<tr><td colspan="3" bgcolor="' + bgcolorBorder + '"><img src="' + borderGif + '" width="' + sublayerwidth + '" height="1"></td></tr>';
        }else{
          selectBox += '<tr><td colspan="3" bgcolor="' + bgcolorBorder + '"><img src="' + borderGif + '" width="' + elementWidth + '" height="1"></td></tr>'; 
        }
      }
      selectBox += '<tr>';
      selectBox += '<td width="1" bgcolor="' + bgcolorBorder + '"><img src="' + transGif + '" width="1" height="1"></td>';
      selectBox += '<td width="' + (tdWidth-2) + '" valign="top">';
      if( sublayerwidth ){
        selectBox += '<div style="width:' + (sublayerwidth-2) + 'px; height:' + deep + 'px; background-color:#ffffff; overflow:auto;">';
      }
      else {
        selectBox += '<div style="width:' + (elementWidth-2) + 'px; height:' + deep + 'px; background-color:#ffffff; overflow:auto;">'; 
      }
      selectBox += '<span id="vSpace" style="padding-bottom:7px;"></span>';
      for( i=0; i < keyValueArray.length; i++ ){
        keyValueArray[i+1] = keyValueArray[i+1].replace(/'/g,"\\\'");
        var tempValue = keyValueArray[i].replace(/'/g,"\\\'");
        selectBox += '<a href="javascript:setOption(\'' + tempValue + '\',\'' + keyValueArray[i+1] + '\',\'' + formField + '\',' + notify + ',' + zIndex +');" class="selectboxEntry">&nbsp; ' + keyValueArray[i] + '</a>';
        i++;
      }
      selectBox += '</div>';
      selectBox += '</td>';
      selectBox += '<td width="1" bgcolor="' + bgcolorBorder + '"><img src="' + transGif + '" width="1" height="1"></td>';
      selectBox += '</tr>';
      if( sublayerwidth ){
        selectBox += '<tr><td colspan="3" bgcolor="' + bgcolorBorder + '"><img src="' + borderGif + '" width="' + sublayerwidth + '" height="1"></td></tr>';
      } else {
        selectBox += '<tr><td colspan="3" bgcolor="' + bgcolorBorder + '"><img src="' + borderGif + '" width="' + elementWidth + '" height="1"></td></tr>';
      }
      selectBox += '</table>';
      selectBox += '</div>';
      selectBox += '</div>';
      selectBox += '<input type="hidden" name="' + formField + '" value="' + formValue + '">';
      selectBox += '</div>';
      selectBox += '<div style="width:2px;height:2px;overflow:hidden;"></div>';
    }
    return selectBox;
  }*/
  
  function checkSelectBoxStatus() {
    for( j=0; j<selectBoxes.length; j++ ) {
      if( !directOrder[ selectBoxes[j] ] ) {
        setVisibility( 'selectBoxContent' + selectBoxes[j], 0, 'none' );
      }
    }
  }
  var scriptedCheckbox = "";
  function writeCheckbox( formField, description, boxInputValue, boxInputName, boxIndex, zIndex, elementWidth, notify, error, className, mandatory, readonly ){
    // old true/false checkbox method
    var isChecked = (boxInputValue == "true");
    getCheckboxHTML(formField, description, "false", "true", isChecked, boxInputName, boxIndex, zIndex, elementWidth, notify, error, className, true, readonly);
  }

  function getCheckboxHTML( formField, description, uncheckedValue, checkedValue, isChecked, boxInputName, boxIndex, zIndex, elementWidth, notify, error, className, renderMandatory, readonly ){
    var currentGifDefault;
    var currentGifSwitch;
    var boxInputValue = ( isChecked == true ) ? checkedValue : uncheckedValue;
    if(isChecked){
      currentGifDefault   = checkboxGifHigh;
      currentGifSwitch    = checkboxGif;
      if( error ){
        currentGifDefault = checkboxErrorGifHigh;
        currentGifSwitch  = checkboxErrorGif;
      }
      if( readonly ){
        currentGifDefault = checkboxDisabledGifHigh;
        currentGifSwitch  = checkboxDisabledGif;
        checkReadOnly.push( formField );
      }else{
        for( i = 0; i<checkReadOnly.length; i++ ){
          if( checkReadOnly[i] == formField ){
            checkReadOnly.slice( i, 1 );
          }
        }
      }
    }else{
      currentGifDefault   = checkboxGif;
      currentGifSwitch    = checkboxGifHigh;
      if( error ){
        currentGifDefault = checkboxErrorGif;
        currentGifSwitch  = checkboxErrorGifHigh;
      }
      if( readonly ){
        currentGifDefault = checkboxDisabledGif;
        currentGifSwitch  = checkboxDisabledGifHigh;
        checkReadOnly.push( formField );
      }else{
        for( i = 0; i < checkReadOnly.length; i++ ) {
          if( checkReadOnly[i] == formField ) {
            checkReadOnly.slice( i, 1 );
          }
        }
      }
    }
   
    description = description.replace( /\n/g, '<br /><br />' );
    checkClient();

	var mandatoryRendering = renderMandatory?" <em>*</em>":"";

    scriptedCheckbox =  '<div id="' + formField + '_container" class="elementContainer checkbox" >\n';
    scriptedCheckbox += '  <label for="' + boxInputName + '">' + description + mandatoryRendering+ '</label>\n';
    scriptedCheckbox += '  <img src="' + currentGifDefault + '" id="checkboxImage' + boxIndex + '" preload="' + currentGifSwitch + '" onclick="setCheckbox(this,\'' + formField + '\',\'' + boxInputName + '\');" vspace="1" />\n';
    scriptedCheckbox += '  <input name="' + boxInputName + '" value="'+boxInputValue+'" type="hidden" />\n';
    scriptedCheckbox += '</div>';
    return scriptedCheckbox;
  }
   
  var allowSend = true;
  function handleSubmit( cValue ){
   if( allowSend == true ){
     allowSend = false;
     if( cValue ){
       document.forms[0].elements['action_name'].value = cValue;
     }
     document.forms[0].submit();
   }
   return false;
  }
  function writeButton( formId, formName, className, currentValue, label ){
    var scriptedButton = '<a href="#" onclick="return handleSubmit(\'' + currentValue + '\')" id="defaultAnchorButton">'+label+'</a>';
    return scriptedButton;
  }
  function writeLinkButton( formId, formName, className, currentValue, label) {
    var scriptedButton = '<a href="#" onclick="return handleSubmit(\'' + currentValue + '\')" class="arrow"><img src="../../narrowband/img/palette/1x1_trans.gif">' + label + '</a>';
    return scriptedButton;  	
  }

