split javascript and video metadata
[HTML5TV.git] / www / html5tv.js
1 var theCarousel;\r
2 \r
3 function myCarousel_initCallback(carousel) {\r
4     theCarousel = carousel; // hack!\r
5 }\r
6 \r
7 function myCarousel_onBeforeAnimation(carousel, state) {\r
8     for (var i = carousel.first; i <= carousel.last; i++) {\r
9         if (carousel.has(i)) {\r
10             continue;\r
11         }\r
12 \r
13         if (i > carousel.options.customEventManager.getEventCount()) {\r
14             break;\r
15         }\r
16 \r
17         var event = carousel.options.customEventManager.getEvent(i - 1);\r
18 \r
19         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
20 \r
21         carousel.add(i, html);\r
22 \r
23         myCarousel_addClickHandler(event.args.id, event.startTime);\r
24     }\r
25 }\r
26 \r
27 function myCarousel_addClickHandler(id, time) {\r
28     $("#" + id).click(function() {\r
29         var videoElement = $("video#vid").get(0);\r
30         videoElement.currentTime = time;\r
31     });\r
32 }\r
33 \r
34 function chapterChange(isActive, args) {\r
35     if (isActive) {\r
36         $("#carousel img").css("border-color", "#272928");\r
37         $("#" + args.id).css("border-color", "white");\r
38         $("#carousel .thumbnailOverlay").css("visibility", "hidden");\r
39         $("#" + args.id + " + .thumbnailOverlay").css("visibility", "visible");\r
40 \r
41         theCarousel.scroll(args.index, true);\r
42     }\r
43 }\r
44 \r
45 $().ready(function() {\r
46         console.debug( video_sync );\r
47         $("#vid").sync( video_sync );\r
48 \r
49     $(".toggleContentPanel").click(function() {\r
50         var contentPanelId = "#" + ($(this).attr("class")).split(" ")[1];\r
51         $(contentPanelId).toggle("blind", {}, 100);\r
52         var currentBackground = $(this).css("background-image");\r
53         var newBackground = currentBackground.indexOf("Show") >=0 ? "url(contentPanelHide.png)" : "url(contentPanelShow.png)";\r
54         $(this).css("background-image", newBackground);\r
55     });\r
56 \r
57     var synchroniser = $("#vid").data("synchroniser");\r
58 \r
59     var customEventManager = synchroniser.getCustomEventManager();\r
60     var chapterCount = customEventManager.getEventCount();\r
61 \r
62     $('#carousel').jcarousel({\r
63         size: chapterCount,\r
64         itemLoadCallback: {\r
65             onBeforeAnimation: myCarousel_onBeforeAnimation\r
66         },\r
67         initCallback: myCarousel_initCallback,\r
68         customEventManager: customEventManager\r
69     });\r
70 });\r