src/js/serializers/JSONSerializer.js
branchpopcorn-port
changeset 147 955119f901b4
parent 137 ef6c1252c459
child 149 a10198c95808
--- a/src/js/serializers/JSONSerializer.js	Wed Oct 26 11:32:01 2011 +0200
+++ b/src/js/serializers/JSONSerializer.js	Wed Oct 26 11:32:21 2011 +0200
@@ -36,3 +36,39 @@
 IriSP.JSONSerializer.prototype.currentMedia = function() {  
   return this._data.medias[0]; /* FIXME: don't hardcode it */
 };
+
+/* this function searches for an annotation which matches title, description and keyword 
+   "" matches any field. 
+*/    
+IriSP.JSONSerializer.prototype.searchAnnotations = function(title, description, keyword) {
+    var rTitle;
+    var rDescription;
+    var rKeyword;
+    
+    /* match anything if given the empty string */
+    if (title == "")
+      title = ".*";
+    if (description == "")
+      description = ".*";
+    if (keyword == "")
+      keyword = ".*";
+    
+    rTitle = new RegExp(title, "i");  
+    rDescription = new RegExp(description, "i");  
+    rKeyword = new RegExp(keyword, "i");  
+    
+    var ret_array = [];
+    
+    var i;
+    for (i in this._data.annotations) {
+      var annotation = this._data.annotations[i];
+      
+      if (rTitle.test(annotation.content.title) && 
+          rDescription.test(annotation.content.description)) {
+          /* FIXME : implement keyword support */
+          ret_array.push(annotation);
+      }
+    }
+    
+    return ret_array;
+}
\ No newline at end of file