--- /dev/null
+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