+ return encode_options($values, $GLOBALS[$name . '_options']['options']);
+}
+
+# for radios and pulldowns:
+# pass posted value
+# returns what the user sees in the pulldown or on the radio button caption
+function enc_pulled($str, $name) {
+ if(!isset($GLOBALS[$name . '_options'])) {
+ die("pulldown('$name') must be called before this template can be run. See wfpl/encode.php");
+ }
+ foreach($GLOBALS[$name . '_options']['options'] as &$kv) {
+ if($kv[0] == $str) {
+ return $kv[1];
+ }
+ }
+ return $str;
+}
+
+function enc_radio_n($str, $name, $n) {
+ if(!isset($GLOBALS[$name . '_options'])) {
+ die("pulldown('$name') must be called before this template can be run. See wfpl/encode.php");
+ }
+
+ if(!isset($GLOBALS[$name . '_options']['options'][$n])) {
+ die("Template error: pulldown('$name') does not have element # $n");
+ }
+
+ $value = enc_attr($GLOBALS[$name . '_options']['options'][$n][0]);
+
+ if($str === $value) {
+ $value .= '" checked="checked';
+ }
+
+ return $value;
+}
+function enc_radio_0($str, $name) { return enc_radio_n($str, $name, 0); }
+function enc_radio_1($str, $name) { return enc_radio_n($str, $name, 1); }
+function enc_radio_2($str, $name) { return enc_radio_n($str, $name, 2); }
+function enc_radio_3($str, $name) { return enc_radio_n($str, $name, 3); }
+function enc_radio_4($str, $name) { return enc_radio_n($str, $name, 4); }
+function enc_radio_5($str, $name) { return enc_radio_n($str, $name, 5); }
+function enc_radio_6($str, $name) { return enc_radio_n($str, $name, 6); }
+function enc_radio_7($str, $name) { return enc_radio_n($str, $name, 7); }
+function enc_radio_8($str, $name) { return enc_radio_n($str, $name, 8); }
+function enc_radio_9($str, $name) { return enc_radio_n($str, $name, 9); }
+function enc_radio_10($str, $name) { return enc_radio_n($str, $name, 10); }
+function enc_radio_11($str, $name) { return enc_radio_n($str, $name, 11); }
+function enc_radio_12($str, $name) { return enc_radio_n($str, $name, 12); }
+function enc_radio_13($str, $name) { return enc_radio_n($str, $name, 13); }
+function enc_radio_14($str, $name) { return enc_radio_n($str, $name, 14); }
+function enc_radio_15($str, $name) { return enc_radio_n($str, $name, 15); }
+function enc_radio_16($str, $name) { return enc_radio_n($str, $name, 16); }
+function enc_radio_17($str, $name) { return enc_radio_n($str, $name, 17); }
+function enc_radio_18($str, $name) { return enc_radio_n($str, $name, 18); }
+function enc_radio_19($str, $name) { return enc_radio_n($str, $name, 19); }
+function enc_radio_20($str, $name) { return enc_radio_n($str, $name, 20); }
+
+
+function enc_radio_caption_n($str, $name, $n) {
+ if(!isset($GLOBALS[$name . '_options'])) {
+ die("pulldown('$name') must be called before this template can be run. See wfpl/encode.php");
+ }
+
+ if(!isset($GLOBALS[$name . '_options']['options'][$n])) {
+ die("Template error: pulldown('$name') does not have element #$n");
+ }
+
+ return $GLOBALS[$name . '_options']['options'][$n][1];