return c;
}
+
+function categorize( json ) {
+ var obj = { cat: [], method: [] };
+
+ for ( var i = 0; i < json.length; i++ ) {
+ if ( !json[i].cat ) json[i].cat = "";
+
+ var cat = json[i].cat.split("/");
+
+ var pos = obj;
+ for ( var j = 0; j < cat.length; j++ ) {
+ var c = cat[j];
+ var curCat = null;
+
+ // Locate current category
+ for ( var n = 0; n < pos.cat.length; n++ )
+ if ( pos.cat[n].value == c )
+ curCat = pos.cat[n];
+
+ // Create current category
+ if ( !curCat ) {
+ curCat = { value: c, cat: [], method: [] };
+ pos.cat.push( curCat )
+ }
+
+ // If we're at the end, add the method
+ if ( j == cat.length - 1 )
+ curCat.method.push( json[i] );
+
+ // Otherwise, traverse deeper
+ else
+ pos = curCat;
+ }
+ }
+
+ return obj;
+}