...
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#	modified:   content/static/clientui/ui.coffee
#	modified:   content/static/clientui/ui.coffee.c.js
#	modified:   content/static/clientui/ui.coffee.js
#
diff --git a/content/static/clientui/ui.coffee b/content/static/clientui/ui.coffee
index 42f3fe3..224327d 100644
--- a/content/static/clientui/ui.coffee
+++ b/content/static/clientui/ui.coffee
@@ -1,11 +1,11 @@
 class ClientUI
     constructor: () ->
         @root = $('#root')
-        #@goDirectoryList()
+        @goDirectoryList()
 
         # DEBUG
-        @currentDirectoryId = 1
-        @goBrowse('/home/eugeny/source/P2-dvcpro25/CONTENTS/VIDEO/')
+        #@currentDirectoryId = 1
+        #@goBrowse('/home/eugeny/source/P2-dvcpro25/CONTENTS/VIDEO/')
         #@goBrowse('/home/eugeny/source/P2-dvcpro25/CONTENTS/VIDEO/000000.MXF ')
 
     replace_view: (html) ->
diff --git a/content/static/clientui/ui.coffee.c.js b/content/static/clientui/ui.coffee.c.js
index 881d881..4d81932 100644
--- a/content/static/clientui/ui.coffee.c.js
+++ b/content/static/clientui/ui.coffee.c.js
@@ -1 +1,116 @@
-(function(){var a;a=(function(){function b(){this.root=$("#root");this.currentDirectoryId=1;this.goBrowse("/home/eugeny/source/P2-dvcpro25/CONTENTS/VIDEO/")}b.prototype.replace_view=function(c){return this.root.html(c)};b.prototype.go=function(c,e){var d=this;return $.get("/media/ajax/"+c,function(f){d.replace_view(f);return e()})};b.prototype.goDirectory=function(d){var c=this;this.currentDirectoryId=d;this.goBrowse("/");return;return this.go("directory/"+d,function(){c.root.find("#go-back").click(function(){return c.goDirectoryList()});return c.root.find("#go-browse").click(function(){return c.goBrowse("/")})})};b.prototype.goDirectoryList=function(){var c=this;return this.go("directory-list",function(){return c.root.find("a").each(function(d,f){return $(f).click(function(){return c.goDirectory($(f).attr("data-id"))})})})};b.prototype.goBrowse=function(c){var d=this;this.currentPath=c;return this.go("browse/"+this.currentDirectoryId+"/"+c,function(){var e;d.root.find("#go-back").click(function(){return d.goDirectoryList()});if(c==="/"){d.root.find("#go-up").hide();c=""}else{d.root.find("#go-up").click(function(){var f;f=c.split("/");f=f.splice(0,f.length-1);c=f.join("/");return d.goBrowse(c)})}d.root.find("a.browse-item").each(function(f,g){return $(g).click(function(){c=c+"/"+$(g).attr("data-id");return d.goBrowse(c)})});if($("video")){e=$("video")[0];e.addEventListener("timeupdate",function(){var j,f,g,i,k;k=e.currentTime;j=Math.floor(k/3600);f=Math.floor(k/60%60);i=Math.floor(k%60);g=Math.floor(k*1000%1000);k=j+":"+(f<10?"0":"")+f+":"+(i<10?"0":"")+i+"."+(g<100?"0":"")+(g<10?"0":"")+g;return $(".timestamp").text(k)});$("a[data-time]").click(function(){var f;f=parseFloat($(this).attr("data-time"));return e.currentTime=f});return $(".comment-form a").click(function(){var f;f=$(".comment-form input").val();$(".comment-form input").val("");return $.post("/media/ajax/browse/"+d.currentDirectoryId+"/"+c,{comment:f,time:e.currentTime},function(){return alert("Comment sent!")})})}})};return b})();$(function(){return new a()})}).call(this);
\ No newline at end of file
+// Generated by CoffeeScript 1.4.0
+(function() {
+  var ClientUI;
+
+  ClientUI = (function() {
+
+    function ClientUI() {
+      this.root = $('#root');
+      this.goDirectoryList();
+    }
+
+    ClientUI.prototype.replace_view = function(html) {
+      return this.root.html(html);
+    };
+
+    ClientUI.prototype.go = function(url, callback) {
+      var _this = this;
+      return $.get('/media/ajax/' + url, function(html) {
+        _this.replace_view(html);
+        return callback();
+      });
+    };
+
+    ClientUI.prototype.goDirectory = function(id) {
+      var _this = this;
+      this.currentDirectoryId = id;
+      this.goBrowse('/');
+      return;
+      return this.go("directory/" + id, function() {
+        _this.root.find('#go-back').click(function() {
+          return _this.goDirectoryList();
+        });
+        return _this.root.find('#go-browse').click(function() {
+          return _this.goBrowse('/');
+        });
+      });
+    };
+
+    ClientUI.prototype.goDirectoryList = function() {
+      var _this = this;
+      return this.go('directory-list', function() {
+        return _this.root.find('a').each(function(i, e) {
+          return $(e).click(function() {
+            return _this.goDirectory($(e).attr('data-id'));
+          });
+        });
+      });
+    };
+
+    ClientUI.prototype.goBrowse = function(path) {
+      var _this = this;
+      this.currentPath = path;
+      return this.go("browse/" + this.currentDirectoryId + "/" + path, function() {
+        var video;
+        _this.root.find('#go-back').click(function() {
+          return _this.goDirectoryList();
+        });
+        if (path === '/') {
+          _this.root.find('#go-up').hide();
+          path = '';
+        } else {
+          _this.root.find('#go-up').click(function() {
+            var components;
+            components = path.split('/');
+            components = components.splice(0, components.length - 1);
+            path = components.join('/');
+            return _this.goBrowse(path);
+          });
+        }
+        _this.root.find('a.browse-item').each(function(i, e) {
+          return $(e).click(function() {
+            path = path + '/' + $(e).attr('data-id');
+            return _this.goBrowse(path);
+          });
+        });
+        if ($('video')) {
+          video = $('video')[0];
+          video.addEventListener('timeupdate', function() {
+            var h, m, ms, s, ts;
+            ts = video.currentTime;
+            h = Math.floor(ts / 3600);
+            m = Math.floor(ts / 60 % 60);
+            s = Math.floor(ts % 60);
+            ms = Math.floor(ts * 1000 % 1000);
+            ts = h + ':' + (m < 10 ? '0' : '') + m + ':' + (s < 10 ? '0' : '') + s + '.' + (ms < 100 ? '0' : '') + (ms < 10 ? '0' : '') + ms;
+            return $('.timestamp').text(ts);
+          });
+          $('a[data-time]').click(function() {
+            var t;
+            t = parseFloat($(this).attr('data-time'));
+            return video.currentTime = t;
+          });
+          return $('.comment-form a').click(function() {
+            var text;
+            text = $('.comment-form input').val();
+            $('.comment-form input').val('');
+            return $.post("/media/ajax/browse/" + _this.currentDirectoryId + "/" + path, {
+              comment: text,
+              time: video.currentTime
+            }, function() {
+              return alert('Comment sent!');
+            });
+          });
+        }
+      });
+    };
+
+    return ClientUI;
+
+  })();
+
+  $(function() {
+    return new ClientUI();
+  });
+
+}).call(this);
diff --git a/content/static/clientui/ui.coffee.js b/content/static/clientui/ui.coffee.js
index 3ec75c7..4d81932 100644
--- a/content/static/clientui/ui.coffee.js
+++ b/content/static/clientui/ui.coffee.js
@@ -6,8 +6,7 @@
 
     function ClientUI() {
       this.root = $('#root');
-      this.currentDirectoryId = 1;
-      this.goBrowse('/home/eugeny/source/P2-dvcpro25/CONTENTS/VIDEO/');
+      this.goDirectoryList();
     }
 
     ClientUI.prototype.replace_view = function(html) {
