xref: /aosp_15_r20/build/make/tools/droiddoc/templates-pdk/assets/carousel.js (revision 9e94795a3d4ef5c1d47486f9a02bb378756cea8a)
1*9e94795aSAndroid Build Coastguard Worker/* file: carousel.js
2*9e94795aSAndroid Build Coastguard Worker   date: oct 2008
3*9e94795aSAndroid Build Coastguard Worker   author: jeremydw,smain
4*9e94795aSAndroid Build Coastguard Worker   info: operates the carousel widget for announcements on
5*9e94795aSAndroid Build Coastguard Worker         the android developers home page. modified from the
6*9e94795aSAndroid Build Coastguard Worker         original market.js from jeremydw. */
7*9e94795aSAndroid Build Coastguard Worker
8*9e94795aSAndroid Build Coastguard Worker/* -- video switcher -- */
9*9e94795aSAndroid Build Coastguard Worker
10*9e94795aSAndroid Build Coastguard Workervar oldVid = "multi"; // set the default video
11*9e94795aSAndroid Build Coastguard Workervar nowPlayingString = "Now playing:";
12*9e94795aSAndroid Build Coastguard Workervar assetsRoot = "assets/";
13*9e94795aSAndroid Build Coastguard Worker
14*9e94795aSAndroid Build Coastguard Worker
15*9e94795aSAndroid Build Coastguard Worker/* -- app thumbnail switcher -- */
16*9e94795aSAndroid Build Coastguard Worker
17*9e94795aSAndroid Build Coastguard Workervar currentDroid;
18*9e94795aSAndroid Build Coastguard Workervar oldDroid;
19*9e94795aSAndroid Build Coastguard Worker
20*9e94795aSAndroid Build Coastguard Worker// shows a random application
21*9e94795aSAndroid Build Coastguard Workerfunction randomDroid(){
22*9e94795aSAndroid Build Coastguard Worker
23*9e94795aSAndroid Build Coastguard Worker	// count the total number of apps
24*9e94795aSAndroid Build Coastguard Worker	var droidListLength = 0;
25*9e94795aSAndroid Build Coastguard Worker	for (var k in droidList)
26*9e94795aSAndroid Build Coastguard Worker		droidListLength++;
27*9e94795aSAndroid Build Coastguard Worker
28*9e94795aSAndroid Build Coastguard Worker	// pick a random app and show it
29*9e94795aSAndroid Build Coastguard Worker  var j = 0;
30*9e94795aSAndroid Build Coastguard Worker  var i = Math.floor(droidListLength*Math.random());
31*9e94795aSAndroid Build Coastguard Worker  for (var x in droidList) {
32*9e94795aSAndroid Build Coastguard Worker    if(j++ == i){
33*9e94795aSAndroid Build Coastguard Worker    	currentDroid = x;
34*9e94795aSAndroid Build Coastguard Worker    	showPreview(x);
35*9e94795aSAndroid Build Coastguard Worker    	centerSlide(x);
36*9e94795aSAndroid Build Coastguard Worker    }
37*9e94795aSAndroid Build Coastguard Worker  }
38*9e94795aSAndroid Build Coastguard Worker
39*9e94795aSAndroid Build Coastguard Worker}
40*9e94795aSAndroid Build Coastguard Worker
41*9e94795aSAndroid Build Coastguard Worker// shows a bulletin, swaps the carousel highlighting
42*9e94795aSAndroid Build Coastguard Workerfunction droid(appName){
43*9e94795aSAndroid Build Coastguard Worker
44*9e94795aSAndroid Build Coastguard Worker  oldDroid = $("#droidlink-"+currentDroid);
45*9e94795aSAndroid Build Coastguard Worker  currentDroid = appName;
46*9e94795aSAndroid Build Coastguard Worker
47*9e94795aSAndroid Build Coastguard Worker  var droid = droidList[appName];
48*9e94795aSAndroid Build Coastguard Worker
49*9e94795aSAndroid Build Coastguard Worker  $("#"+appName).show().siblings().hide();
50*9e94795aSAndroid Build Coastguard Worker
51*9e94795aSAndroid Build Coastguard Worker  if(oldDroid)
52*9e94795aSAndroid Build Coastguard Worker    oldDroid.removeClass("selected");
53*9e94795aSAndroid Build Coastguard Worker
54*9e94795aSAndroid Build Coastguard Worker  $("#droidlink-"+appName).addClass("selected");
55*9e94795aSAndroid Build Coastguard Worker}
56*9e94795aSAndroid Build Coastguard Worker
57*9e94795aSAndroid Build Coastguard Worker
58*9e94795aSAndroid Build Coastguard Worker// -- * build the carousel based on the droidList * -- //
59*9e94795aSAndroid Build Coastguard Workerfunction buildCarousel() {
60*9e94795aSAndroid Build Coastguard Worker  var appList = document.getElementById("app-list");
61*9e94795aSAndroid Build Coastguard Worker  for (var x in droidList) {
62*9e94795aSAndroid Build Coastguard Worker    var droid = droidList[x];
63*9e94795aSAndroid Build Coastguard Worker    var icon = droid.icon;
64*9e94795aSAndroid Build Coastguard Worker    var name = droid.name;
65*9e94795aSAndroid Build Coastguard Worker    var a = document.createElement("a");
66*9e94795aSAndroid Build Coastguard Worker    var img = document.createElement("img");
67*9e94795aSAndroid Build Coastguard Worker    var br = document.createElement("br");
68*9e94795aSAndroid Build Coastguard Worker    var span = document.createElement("span");
69*9e94795aSAndroid Build Coastguard Worker    var text = document.createTextNode(droid.name);
70*9e94795aSAndroid Build Coastguard Worker
71*9e94795aSAndroid Build Coastguard Worker    a.setAttribute("id", "droidlink-" + x);
72*9e94795aSAndroid Build Coastguard Worker    a.className = x;
73*9e94795aSAndroid Build Coastguard Worker    a.setAttribute("href", "#");
74*9e94795aSAndroid Build Coastguard Worker    a.onclick = function() { showPreview(this.className); return false; }
75*9e94795aSAndroid Build Coastguard Worker    img.setAttribute("src", toRoot + assetsRoot + "images/home/" + droid.icon);
76*9e94795aSAndroid Build Coastguard Worker    img.setAttribute("alt", "");
77*9e94795aSAndroid Build Coastguard Worker
78*9e94795aSAndroid Build Coastguard Worker    span.appendChild(text);
79*9e94795aSAndroid Build Coastguard Worker    a.appendChild(img);
80*9e94795aSAndroid Build Coastguard Worker    a.appendChild(br);
81*9e94795aSAndroid Build Coastguard Worker    a.appendChild(span);
82*9e94795aSAndroid Build Coastguard Worker    appList.appendChild(a);
83*9e94795aSAndroid Build Coastguard Worker
84*9e94795aSAndroid Build Coastguard Worker
85*9e94795aSAndroid Build Coastguard Worker    /* add the bulletins */
86*9e94795aSAndroid Build Coastguard Worker    var layout = droid.layout;
87*9e94795aSAndroid Build Coastguard Worker    var div = document.createElement("div");
88*9e94795aSAndroid Build Coastguard Worker    var imgDiv = document.createElement("div");
89*9e94795aSAndroid Build Coastguard Worker    var descDiv = document.createElement("div");
90*9e94795aSAndroid Build Coastguard Worker
91*9e94795aSAndroid Build Coastguard Worker    div.setAttribute("id", x);
92*9e94795aSAndroid Build Coastguard Worker    div.setAttribute("style", "display:none");
93*9e94795aSAndroid Build Coastguard Worker    imgDiv.setAttribute("class", "bulletinImg");
94*9e94795aSAndroid Build Coastguard Worker    descDiv.setAttribute("class", "bulletinDesc");
95*9e94795aSAndroid Build Coastguard Worker
96*9e94795aSAndroid Build Coastguard Worker	  if (layout == "imgLeft") {
97*9e94795aSAndroid Build Coastguard Worker	    $(imgDiv).addClass("img-left");
98*9e94795aSAndroid Build Coastguard Worker	    $(descDiv).addClass("desc-right");
99*9e94795aSAndroid Build Coastguard Worker	  } else if (layout == "imgTop") {
100*9e94795aSAndroid Build Coastguard Worker	    $(imgDiv).addClass("img-top");
101*9e94795aSAndroid Build Coastguard Worker	    $(descDiv).addClass("desc-bottom");
102*9e94795aSAndroid Build Coastguard Worker	  } else if (layout == "imgRight") {
103*9e94795aSAndroid Build Coastguard Worker	    $(imgDiv).addClass("img-right");
104*9e94795aSAndroid Build Coastguard Worker	    $(descDiv).addClass("desc-left");
105*9e94795aSAndroid Build Coastguard Worker	  }
106*9e94795aSAndroid Build Coastguard Worker
107*9e94795aSAndroid Build Coastguard Worker	  imgDiv.innerHTML = "<img src='" + toRoot + assetsRoot + "images/home/" + droid.img + "'>";
108*9e94795aSAndroid Build Coastguard Worker	  descDiv.innerHTML = (droid.title != "") ? "<h3>" + droid.title + "</h3>" + droid.desc : droid.desc;
109*9e94795aSAndroid Build Coastguard Worker		$(div).append(imgDiv);
110*9e94795aSAndroid Build Coastguard Worker		$(div).append(descDiv);
111*9e94795aSAndroid Build Coastguard Worker
112*9e94795aSAndroid Build Coastguard Worker    $("#carouselMain").append(div);
113*9e94795aSAndroid Build Coastguard Worker
114*9e94795aSAndroid Build Coastguard Worker  }
115*9e94795aSAndroid Build Coastguard Worker}
116*9e94795aSAndroid Build Coastguard Worker
117*9e94795aSAndroid Build Coastguard Worker// -- * slider * -- //
118*9e94795aSAndroid Build Coastguard Worker
119*9e94795aSAndroid Build Coastguard Worker// -- dependencies:
120*9e94795aSAndroid Build Coastguard Worker//    (1) div containing slides, (2) a "clip" div to hide the scroller
121*9e94795aSAndroid Build Coastguard Worker//    (3) control arrows
122*9e94795aSAndroid Build Coastguard Worker
123*9e94795aSAndroid Build Coastguard Worker// -- * config below * -- //
124*9e94795aSAndroid Build Coastguard Worker
125*9e94795aSAndroid Build Coastguard Workervar slideCode = droidList; // the dictionary of slides
126*9e94795aSAndroid Build Coastguard Workervar slideList = 'app-list'; // the div containing the slides
127*9e94795aSAndroid Build Coastguard Workervar arrowRight = 'arrow-right'; // the right control arrow
128*9e94795aSAndroid Build Coastguard Workervar arrowLeft = 'arrow-left'; // the left control arrow
129*9e94795aSAndroid Build Coastguard Worker
130*9e94795aSAndroid Build Coastguard Worker
131*9e94795aSAndroid Build Coastguard Workerfunction showPreview(slideName) {
132*9e94795aSAndroid Build Coastguard Worker  centerSlide(slideName);
133*9e94795aSAndroid Build Coastguard Worker  if (slideName.indexOf('selected') != -1) {
134*9e94795aSAndroid Build Coastguard Worker    return false;
135*9e94795aSAndroid Build Coastguard Worker  }
136*9e94795aSAndroid Build Coastguard Worker  droid(slideName); // do this function when slide is clicked
137*9e94795aSAndroid Build Coastguard Worker}
138*9e94795aSAndroid Build Coastguard Worker
139*9e94795aSAndroid Build Coastguard Workervar thumblist = document.getElementById(slideList);// the div containing the slides
140*9e94795aSAndroid Build Coastguard Worker
141*9e94795aSAndroid Build Coastguard Workervar slideWidth = 144; // width of a slide including all margins, etc.
142*9e94795aSAndroid Build Coastguard Workervar slidesAtOnce = 3; // no. of slides to appear at once (requires odd number to have a centered slide)
143*9e94795aSAndroid Build Coastguard Worker
144*9e94795aSAndroid Build Coastguard Worker// -- * no editing should be needed below * -- //
145*9e94795aSAndroid Build Coastguard Worker
146*9e94795aSAndroid Build Coastguard Workervar originPosition = {};
147*9e94795aSAndroid Build Coastguard Workervar is_animating = 0;
148*9e94795aSAndroid Build Coastguard Workervar currentStripPosition = 0;
149*9e94795aSAndroid Build Coastguard Workervar centeringPoint = 0;
150*9e94795aSAndroid Build Coastguard Workervar rightScrollLimit = 0;
151*9e94795aSAndroid Build Coastguard Worker
152*9e94795aSAndroid Build Coastguard Worker// makeSlideStrip()
153*9e94795aSAndroid Build Coastguard Worker// - figures out how many slides there are
154*9e94795aSAndroid Build Coastguard Worker// - determines the centering point of the slide strip
155*9e94795aSAndroid Build Coastguard Workerfunction makeSlideStrip() {
156*9e94795aSAndroid Build Coastguard Worker  var slideTotal = 0;
157*9e94795aSAndroid Build Coastguard Worker  centeringPoint = Math.ceil(slidesAtOnce/2);
158*9e94795aSAndroid Build Coastguard Worker  for (var x in slideCode) {
159*9e94795aSAndroid Build Coastguard Worker    slideTotal++;
160*9e94795aSAndroid Build Coastguard Worker  }
161*9e94795aSAndroid Build Coastguard Worker  var i = 0;
162*9e94795aSAndroid Build Coastguard Worker  for (var code in slideCode) {
163*9e94795aSAndroid Build Coastguard Worker    if (i <= centeringPoint-1) {
164*9e94795aSAndroid Build Coastguard Worker      originPosition[code] = 0;
165*9e94795aSAndroid Build Coastguard Worker    } else {
166*9e94795aSAndroid Build Coastguard Worker      if (i >= slideTotal-centeringPoint+1)  {
167*9e94795aSAndroid Build Coastguard Worker        originPosition[code] = (slideTotal-slidesAtOnce)*slideWidth;
168*9e94795aSAndroid Build Coastguard Worker      } else {
169*9e94795aSAndroid Build Coastguard Worker        originPosition[code] = (i-centeringPoint+1)*slideWidth;
170*9e94795aSAndroid Build Coastguard Worker      }
171*9e94795aSAndroid Build Coastguard Worker    }
172*9e94795aSAndroid Build Coastguard Worker    i++;
173*9e94795aSAndroid Build Coastguard Worker  }
174*9e94795aSAndroid Build Coastguard Worker  rightScrollLimit = -1*(slideTotal-slidesAtOnce)*slideWidth;
175*9e94795aSAndroid Build Coastguard Worker}
176*9e94795aSAndroid Build Coastguard Worker
177*9e94795aSAndroid Build Coastguard Worker// slides with acceleration
178*9e94795aSAndroid Build Coastguard Workerfunction slide(goal, id, go_left, cp) {
179*9e94795aSAndroid Build Coastguard Worker  var div = document.getElementById(id);
180*9e94795aSAndroid Build Coastguard Worker  var animation = {};
181*9e94795aSAndroid Build Coastguard Worker  animation.time = 0.5;  // in seconds
182*9e94795aSAndroid Build Coastguard Worker  animation.fps = 60;
183*9e94795aSAndroid Build Coastguard Worker  animation.goal = goal;
184*9e94795aSAndroid Build Coastguard Worker  origin = 0.0;
185*9e94795aSAndroid Build Coastguard Worker  animation.origin = Math.abs(origin);
186*9e94795aSAndroid Build Coastguard Worker  animation.frames = (animation.time * animation.fps) - 1.0;
187*9e94795aSAndroid Build Coastguard Worker  var current_frame = 0;
188*9e94795aSAndroid Build Coastguard Worker  var motions = Math.abs(animation.goal - animation.origin);
189*9e94795aSAndroid Build Coastguard Worker  function animate() {
190*9e94795aSAndroid Build Coastguard Worker    var ease_right = function (t) { return (1 - Math.cos(t * Math.PI))/2.0; };
191*9e94795aSAndroid Build Coastguard Worker    var ease = ease_right;
192*9e94795aSAndroid Build Coastguard Worker    if (go_left == 1) {
193*9e94795aSAndroid Build Coastguard Worker      ease = function(t) { return 1.0 - ease_right(t); };
194*9e94795aSAndroid Build Coastguard Worker    }
195*9e94795aSAndroid Build Coastguard Worker    var left = (ease(current_frame/animation.frames) * Math.abs(animation.goal - animation.origin)) - cp;
196*9e94795aSAndroid Build Coastguard Worker    if(left < 0) {
197*9e94795aSAndroid Build Coastguard Worker      left = 0;
198*9e94795aSAndroid Build Coastguard Worker    }
199*9e94795aSAndroid Build Coastguard Worker    if(!isNaN(left)) {
200*9e94795aSAndroid Build Coastguard Worker      div.style.left = '-' + Math.round(left) + 'px';
201*9e94795aSAndroid Build Coastguard Worker    }
202*9e94795aSAndroid Build Coastguard Worker    current_frame += 1;
203*9e94795aSAndroid Build Coastguard Worker    if (current_frame == animation.frames) {
204*9e94795aSAndroid Build Coastguard Worker      is_animating = 0;
205*9e94795aSAndroid Build Coastguard Worker      window.clearInterval(timeoutId)
206*9e94795aSAndroid Build Coastguard Worker    }
207*9e94795aSAndroid Build Coastguard Worker  }
208*9e94795aSAndroid Build Coastguard Worker  var timeoutId = window.setInterval(animate, animation.time/animation.fps * 1000);
209*9e94795aSAndroid Build Coastguard Worker}
210*9e94795aSAndroid Build Coastguard Worker
211*9e94795aSAndroid Build Coastguard Worker//Get style property
212*9e94795aSAndroid Build Coastguard Workerfunction getStyle(element, cssProperty){
213*9e94795aSAndroid Build Coastguard Worker  var elem = document.getElementById(element);
214*9e94795aSAndroid Build Coastguard Worker  if(elem.currentStyle){
215*9e94795aSAndroid Build Coastguard Worker    return elem.currentStyle[cssProperty]; //IE
216*9e94795aSAndroid Build Coastguard Worker  } else{
217*9e94795aSAndroid Build Coastguard Worker    var style =  document.defaultView.getComputedStyle(elem, null); //firefox, Opera
218*9e94795aSAndroid Build Coastguard Worker    return style.getPropertyValue(cssProperty);
219*9e94795aSAndroid Build Coastguard Worker  }
220*9e94795aSAndroid Build Coastguard Worker}
221*9e94795aSAndroid Build Coastguard Worker
222*9e94795aSAndroid Build Coastguard Worker// Left and right arrows
223*9e94795aSAndroid Build Coastguard Workerfunction page_left() {
224*9e94795aSAndroid Build Coastguard Worker  var amount = slideWidth;
225*9e94795aSAndroid Build Coastguard Worker  animateSlide(amount, 'left');
226*9e94795aSAndroid Build Coastguard Worker}
227*9e94795aSAndroid Build Coastguard Worker
228*9e94795aSAndroid Build Coastguard Workerfunction page_right() {
229*9e94795aSAndroid Build Coastguard Worker  var amount = slideWidth;
230*9e94795aSAndroid Build Coastguard Worker  animateSlide(amount, 'right');
231*9e94795aSAndroid Build Coastguard Worker}
232*9e94795aSAndroid Build Coastguard Worker
233*9e94795aSAndroid Build Coastguard Worker
234*9e94795aSAndroid Build Coastguard Worker// animates the strip
235*9e94795aSAndroid Build Coastguard Worker// - sets arrows to on or off
236*9e94795aSAndroid Build Coastguard Workerfunction animateSlide(amount,dir) {
237*9e94795aSAndroid Build Coastguard Worker  var currentStripPosition = parseInt(getStyle(slideList,'left'));
238*9e94795aSAndroid Build Coastguard Worker  var motionDistance;
239*9e94795aSAndroid Build Coastguard Worker  if (amount == slideWidth ) {
240*9e94795aSAndroid Build Coastguard Worker    motionDistance = slideWidth;
241*9e94795aSAndroid Build Coastguard Worker  } else {
242*9e94795aSAndroid Build Coastguard Worker    motionDistance = amount;
243*9e94795aSAndroid Build Coastguard Worker  }
244*9e94795aSAndroid Build Coastguard Worker
245*9e94795aSAndroid Build Coastguard Worker  var rightarrow = document.getElementById(arrowRight);
246*9e94795aSAndroid Build Coastguard Worker  var leftarrow = document.getElementById(arrowLeft);
247*9e94795aSAndroid Build Coastguard Worker
248*9e94795aSAndroid Build Coastguard Worker  function aToggle(state,aDir) {
249*9e94795aSAndroid Build Coastguard Worker    if (state == 'on') {
250*9e94795aSAndroid Build Coastguard Worker      if (aDir =='right') {
251*9e94795aSAndroid Build Coastguard Worker        rightarrow.className = 'arrow-right-on';
252*9e94795aSAndroid Build Coastguard Worker        rightarrow.href = "javascript:page_right()";
253*9e94795aSAndroid Build Coastguard Worker      } else {
254*9e94795aSAndroid Build Coastguard Worker        leftarrow.className = 'arrow-left-on';
255*9e94795aSAndroid Build Coastguard Worker        leftarrow.href = "javascript:page_left()";
256*9e94795aSAndroid Build Coastguard Worker      }
257*9e94795aSAndroid Build Coastguard Worker    } else {
258*9e94795aSAndroid Build Coastguard Worker      if (aDir =='right') {
259*9e94795aSAndroid Build Coastguard Worker        rightarrow.href = "javascript:{}";
260*9e94795aSAndroid Build Coastguard Worker        rightarrow.className = 'arrow-right-off';
261*9e94795aSAndroid Build Coastguard Worker      } else {
262*9e94795aSAndroid Build Coastguard Worker        leftarrow.href = "javascript:{}";
263*9e94795aSAndroid Build Coastguard Worker        leftarrow.className = 'arrow-left-off';
264*9e94795aSAndroid Build Coastguard Worker      }
265*9e94795aSAndroid Build Coastguard Worker    }
266*9e94795aSAndroid Build Coastguard Worker  }
267*9e94795aSAndroid Build Coastguard Worker
268*9e94795aSAndroid Build Coastguard Worker  function arrowChange(rP) {
269*9e94795aSAndroid Build Coastguard Worker    if (rP >= rightScrollLimit) {
270*9e94795aSAndroid Build Coastguard Worker      aToggle('on','right');
271*9e94795aSAndroid Build Coastguard Worker    }
272*9e94795aSAndroid Build Coastguard Worker    if (rP <= rightScrollLimit) {
273*9e94795aSAndroid Build Coastguard Worker      aToggle('off','right');
274*9e94795aSAndroid Build Coastguard Worker    }
275*9e94795aSAndroid Build Coastguard Worker    if (rP <= slideWidth) {
276*9e94795aSAndroid Build Coastguard Worker      aToggle('on','left');
277*9e94795aSAndroid Build Coastguard Worker    }
278*9e94795aSAndroid Build Coastguard Worker    if (rP >= 0) {
279*9e94795aSAndroid Build Coastguard Worker      aToggle('off','left');
280*9e94795aSAndroid Build Coastguard Worker    }
281*9e94795aSAndroid Build Coastguard Worker  }
282*9e94795aSAndroid Build Coastguard Worker
283*9e94795aSAndroid Build Coastguard Worker  if (dir == 'right' && is_animating == 0) {
284*9e94795aSAndroid Build Coastguard Worker    arrowChange(currentStripPosition-motionDistance);
285*9e94795aSAndroid Build Coastguard Worker    is_animating = 1;
286*9e94795aSAndroid Build Coastguard Worker    slide(motionDistance, slideList, 0, currentStripPosition);
287*9e94795aSAndroid Build Coastguard Worker  } else if (dir == 'left' && is_animating == 0) {
288*9e94795aSAndroid Build Coastguard Worker    arrowChange(currentStripPosition+motionDistance);
289*9e94795aSAndroid Build Coastguard Worker    is_animating = 1;
290*9e94795aSAndroid Build Coastguard Worker    rightStripPosition = currentStripPosition + motionDistance;
291*9e94795aSAndroid Build Coastguard Worker    slide(motionDistance, slideList, 1, rightStripPosition);
292*9e94795aSAndroid Build Coastguard Worker  }
293*9e94795aSAndroid Build Coastguard Worker}
294*9e94795aSAndroid Build Coastguard Worker
295*9e94795aSAndroid Build Coastguard Workerfunction centerSlide(slideName) {
296*9e94795aSAndroid Build Coastguard Worker  var currentStripPosition = parseInt(getStyle(slideList,'left'));
297*9e94795aSAndroid Build Coastguard Worker  var dir = 'left';
298*9e94795aSAndroid Build Coastguard Worker  var originpoint = Math.abs(currentStripPosition);
299*9e94795aSAndroid Build Coastguard Worker  if (originpoint <= originPosition[slideName]) {
300*9e94795aSAndroid Build Coastguard Worker    dir = 'right';
301*9e94795aSAndroid Build Coastguard Worker  }
302*9e94795aSAndroid Build Coastguard Worker  var motionValue = Math.abs(originPosition[slideName]-originpoint);
303*9e94795aSAndroid Build Coastguard Worker  animateSlide(motionValue,dir);
304*9e94795aSAndroid Build Coastguard Worker}
305*9e94795aSAndroid Build Coastguard Worker
306*9e94795aSAndroid Build Coastguard Worker
307*9e94795aSAndroid Build Coastguard Workerfunction initCarousel(def) {
308*9e94795aSAndroid Build Coastguard Worker  buildCarousel();
309*9e94795aSAndroid Build Coastguard Worker  showPreview(def);
310*9e94795aSAndroid Build Coastguard Worker  makeSlideStrip();
311*9e94795aSAndroid Build Coastguard Worker}
312