function headed_name_to_case (gcase, composed)
{
var p = composed.lastIndexOf("(");
if (p < 0) {
p = composed.lastIndexOf(",");
if (p < 0) {
return getprop(composed, gcase);
}
var head = composed.substr(0, p);
var final = getprop(head, gcase);
var attrs = composed.substr(p + 1).split(" ").filter(Boolean);
if (attrs.length > 0) {
var gender = getprop(head, "_rod");
var number = ""
if (hasprop(head, "_broj")) {
number = getprop(head, "_broj");
}
for (var i = 0; i < attrs.length; i += 1) {
attrs[i] = getprop(attrs[i], gcase + "-" + gender + number);
}
final += ", " + attrs.join(" ");
}
return final;
}
else {
var head = composed.substr(0, p);
var pp = composed.indexOf(")", p);
var attrs = composed.substring(p + 1, pp).split(",")
var gender = getprop(head, "_rod");
var number = ""
if (hasprop(head, "_broj")) {
number = getprop(head, "_broj");
}
for (var i = 0; i < attrs.length; i += 1) {
var subattrs = attrs[i].split(" ").filter(Boolean);
for (var j = 0; j < subattrs.length; j += 1) {
subattrs[j] = getprop(subattrs[j], gcase + "-" + gender + number);
}
attrs[i] = subattrs.join(" ");
}
return getprop(head, gcase) + " (" + attrs.join(", ") + ")";
}
}
Ts.setcall("glavorepi", headed_name_to_case);