var element = $('#target_div');
element.dual_canvas_helper(config);
var selected_color = "magenta";
var normal_color = "cyan";
var selected_text = "yellow";
var normal_text = "blue";
var theta = 2 * Math.PI / n_circles;
for (var i=0; i<n_circles; i++) {
var cx = offset * Math.cos(theta * i);
var cy = offset * Math.sin(theta * i);
circles[name] = element.circle({name: true,
x:cx, y:cy, r:small_radius, color:normal_color,
normal_position: [cx, cy]});
texts[name] = element.text({name: true, text: name, degrees: 0,
x: cx, y: cy, color:normal_text, align:"center", valign:"center"});
var invisible_circle = element.circle({name: name, x:cx, y:cy, r:small_radius,
invisible_circle.on("mouseover", do_transition);
var selected_name = null;
var selected_position = null;
var do_transition = function (event) {
var name = event.canvas_name;
if ((name) && (name != selected_name)) {
circles[name].transition({color:selected_color, r:big_radius, x:0, y:0}, duration);
texts[name].transition({color:selected_text, x:0, y:0, degrees:720}, text_duration);
circles[selected_name].transition(
{color:normal_color, r:small_radius, x:selected_position[0], y:selected_position[1]},
texts[selected_name].transition(
{color:normal_text, x:selected_position[0], y:selected_position[1], degrees:0},
selected_position = [event.object_info.x, event.object_info.y];