split javascript and video metadata
[HTML5TV.git] / www / html5tv.js
diff --git a/www/html5tv.js b/www/html5tv.js
new file mode 100644 (file)
index 0000000..0376c0e
--- /dev/null
@@ -0,0 +1,70 @@
+var theCarousel;\r
+\r
+function myCarousel_initCallback(carousel) {\r
+    theCarousel = carousel; // hack!\r
+}\r
+\r
+function myCarousel_onBeforeAnimation(carousel, state) {\r
+    for (var i = carousel.first; i <= carousel.last; i++) {\r
+        if (carousel.has(i)) {\r
+            continue;\r
+        }\r
+\r
+        if (i > carousel.options.customEventManager.getEventCount()) {\r
+            break;\r
+        }\r
+\r
+        var event = carousel.options.customEventManager.getEvent(i - 1);\r
+\r
+        var html = '<img src="' + event.args.src + '" width="117" height="66" alt="' + event.args.description + '" id="' + event.args.id + '" /><div class="thumbnailOverlay">' + event.args.title + '</div>';\r
+\r
+        carousel.add(i, html);\r
+\r
+        myCarousel_addClickHandler(event.args.id, event.startTime);\r
+    }\r
+}\r
+\r
+function myCarousel_addClickHandler(id, time) {\r
+    $("#" + id).click(function() {\r
+        var videoElement = $("video#vid").get(0);\r
+        videoElement.currentTime = time;\r
+    });\r
+}\r
+\r
+function chapterChange(isActive, args) {\r
+    if (isActive) {\r
+        $("#carousel img").css("border-color", "#272928");\r
+        $("#" + args.id).css("border-color", "white");\r
+        $("#carousel .thumbnailOverlay").css("visibility", "hidden");\r
+        $("#" + args.id + " + .thumbnailOverlay").css("visibility", "visible");\r
+\r
+        theCarousel.scroll(args.index, true);\r
+    }\r
+}\r
+\r
+$().ready(function() {\r
+       console.debug( video_sync );\r
+       $("#vid").sync( video_sync );\r
+\r
+    $(".toggleContentPanel").click(function() {\r
+        var contentPanelId = "#" + ($(this).attr("class")).split(" ")[1];\r
+        $(contentPanelId).toggle("blind", {}, 100);\r
+        var currentBackground = $(this).css("background-image");\r
+        var newBackground = currentBackground.indexOf("Show") >=0 ? "url(contentPanelHide.png)" : "url(contentPanelShow.png)";\r
+        $(this).css("background-image", newBackground);\r
+    });\r
+\r
+    var synchroniser = $("#vid").data("synchroniser");\r
+\r
+    var customEventManager = synchroniser.getCustomEventManager();\r
+    var chapterCount = customEventManager.getEventCount();\r
+\r
+    $('#carousel').jcarousel({\r
+        size: chapterCount,\r
+        itemLoadCallback: {\r
+            onBeforeAnimation: myCarousel_onBeforeAnimation\r
+        },\r
+        initCallback: myCarousel_initCallback,\r
+        customEventManager: customEventManager\r
+    });\r
+});\r