<% Global.colorpicker %>
a not yet sophisticated macro to display a colorpicker. works in site prefs and story editors

Sourcecode in Global/macros.js:
1:   function colorpicker_macro(param) {
2:      if (!param || !param.name)
3:         return;
4:   
5:      var param2 = new Object();
6:      param2.as = "editor";
7:      param2["size"] = "10";
8:      param2.onchange = "Antville.ColorPicker.set('" + param.name + "', this.value);";
9:      param2.id = "Antville_ColorValue_" + param.name;
10:     if (!param.text)
11:        param.text = param.name;
12:     if (param.color)
13:     	param.color = renderColorAsString(param.color);
14:  
15:     if (path.Story || path.StoryMgr) {
16:        var obj = path.Story ? path.Story : new Story();
17:        param2.part = param.name;
18:        // use res.push()/res.pop(), otherwise the macro
19:        // would directly write to response
20:        res.push();
21:        obj.content_macro(param2);
22:        param.editor = res.pop();
23:        param.color = renderColorAsString(obj.content.getProperty(param.name));
24:     } else if (path.Layout) {
25:        var obj = path.Layout;
26:        // use res.push()/res.pop(), otherwise the macro
27:        // would directly write to response
28:        res.push();
29:        obj[param.name + "_macro"](param2);
30:        param.editor = res.pop();
31:        param.color = renderColorAsString(obj.preferences.getProperty(param.name));
32:     } else
33:        return;
34:     renderSkin("colorpickerWidget", param);
35:     return;
36:  }