+function ends_with(s, suffix)
+{
+ if (s.indexOf(suffix, s.length - suffix.length) !== -1) {
+ return true;
+ }
+ return false;
+}
+
+function __ffa_nav(obj, ret, name)
+{
+ var arr;
+
+ arr = obj.className.split(" ");
+ if (arr.indexOf(name + "_id") != -1) {
+ ret.push(obj);
+ return;
+ }
+
+ // check if the current element is a leaf or a node
+ // if it is then return
+ for (var i = 0 ; i < arr.length ; i++) {
+ if (ends_with(arr[i], "_id")) {
+ return;
+ }
+ }
+
+ for (var i = 0 ; i < obj.children.length ; i++) {
+ __ffa_nav(obj.children[i], ret, name);
+ }
+ return;
+}
+
+function fieldify_get_dom_element(objarr, name)
+{
+ var obj, ret = [];
+
+ for (var i = 0 ; i < objarr.length ; i++) {
+ obj = objarr[i];
+ for (var e = 0 ; e < obj.children.length ; e++) {
+ __ffa_nav(obj.children[e], ret, name);
+ }
+ }
+
+ if (ret.length > 0) {
+ return ret;
+ }
+ return false;
+}