18a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrillvar resizePackagesNav;
28a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrillvar classesNav;
38a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrillvar devdocNav;
48a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrillvar sidenav;
58a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrillvar content;
68a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrillvar HEADER_HEIGHT = 117;
78a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrillvar cookie_namespace = 'android_developer';
88a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrillvar NAV_PREF_TREE = "tree";
98a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrillvar NAV_PREF_PANELS = "panels";
108a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrillvar nav_pref;
118a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrillvar toRoot;
128a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrillvar isMobile = false; // true if mobile, so we can adjust some layout
13fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Lyvar isIE6 = false; // true if IE6
148a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill
15fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly// TODO: use $(document).ready instead
168a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrillfunction addLoadEvent(newfun) {
178a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  var current = window.onload;
188a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  if (typeof window.onload != 'function') {
198a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    window.onload = newfun;
208a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  } else {
218a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    window.onload = function() {
228a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill      current();
238a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill      newfun();
248a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    }
258a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  }
268a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill}
278a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill
28fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Lyvar agent = navigator['userAgent'].toLowerCase();
29fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly// If a mobile phone, set flag and do mobile setup
30fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Lyif ((agent.indexOf("mobile") != -1) ||      // android, iphone, ipod
31fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    (agent.indexOf("blackberry") != -1) ||
32fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    (agent.indexOf("webos") != -1) ||
33fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    (agent.indexOf("mini") != -1)) {        // opera mini browsers
348a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  isMobile = true;
358a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  addLoadEvent(mobileSetup);
36fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly// If not a mobile browser, set the onresize event for IE6, and others
37fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly} else if (agent.indexOf("msie 6") != -1) {
38fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  isIE6 = true;
39fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  addLoadEvent(function() {
40fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    window.onresize = resizeAll;
41fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  });
42fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly} else {
43fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  addLoadEvent(function() {
44fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    window.onresize = resizeHeight;
45fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  });
468a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill}
478a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill
488a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrillfunction mobileSetup() {
498a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  $("body").css({'overflow':'auto'});
508a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  $("html").css({'overflow':'auto'});
518a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  $("#body-content").css({'position':'relative', 'top':'0'});
528a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  $("#doc-content").css({'overflow':'visible', 'border-left':'3px solid #DDD'});
538a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  $("#side-nav").css({'padding':'0'});
548a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  $("#nav-tree").css({'overflow-y': 'auto'});
558a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill}
568a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill
578a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill/* loads the lists.js file to the page.
588a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan MorrillLoading this in the head was slowing page load time */
598a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan MorrilladdLoadEvent( function() {
608a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  var lists = document.createElement("script");
618a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  lists.setAttribute("type","text/javascript");
628a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  lists.setAttribute("src", toRoot+"reference/lists.js");
638a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  document.getElementsByTagName("head")[0].appendChild(lists);
648a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill} );
658a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill
66fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert LyaddLoadEvent( function() {
67fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  $("pre:not(.no-pretty-print)").addClass("prettyprint");
68fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  prettyPrint();
69fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly} );
70fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly
718a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrillfunction setToRoot(root) {
728a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  toRoot = root;
738a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  // note: toRoot also used by carousel.js
748a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill}
758a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill
768a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrillfunction restoreWidth(navWidth) {
778a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  var windowWidth = $(window).width() + "px";
78fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  content.css({marginLeft:parseInt(navWidth) + 6 + "px"}); //account for 6px-wide handle-bar
79fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly
80fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  if (isIE6) {
81fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    content.css({width:parseInt(windowWidth) - parseInt(navWidth) - 6 + "px"}); // necessary in order for scrollbars to be visible
82fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  }
83fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly
848a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  sidenav.css({width:navWidth});
858a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  resizePackagesNav.css({width:navWidth});
868a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  classesNav.css({width:navWidth});
878a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  $("#packages-nav").css({width:navWidth});
888a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill}
898a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill
908a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrillfunction restoreHeight(packageHeight) {
918a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  var windowHeight = ($(window).height() - HEADER_HEIGHT);
928a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  var swapperHeight = windowHeight - 13;
938a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  $("#swapper").css({height:swapperHeight + "px"});
948a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  sidenav.css({height:windowHeight + "px"});
958a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  content.css({height:windowHeight + "px"});
968a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  resizePackagesNav.css({maxHeight:swapperHeight + "px", height:packageHeight});
978a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  classesNav.css({height:swapperHeight - parseInt(packageHeight) + "px"});
988a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  $("#packages-nav").css({height:parseInt(packageHeight) - 6 + "px"}); //move 6px to give space for the resize handle
998a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  devdocNav.css({height:sidenav.css("height")});
1008a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  $("#nav-tree").css({height:swapperHeight + "px"});
1018a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill}
1028a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill
1038a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrillfunction readCookie(cookie) {
1048a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  var myCookie = cookie_namespace+"_"+cookie+"=";
1058a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  if (document.cookie) {
1068a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    var index = document.cookie.indexOf(myCookie);
1078a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    if (index != -1) {
1088a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill      var valStart = index + myCookie.length;
1098a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill      var valEnd = document.cookie.indexOf(";", valStart);
1108a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill      if (valEnd == -1) {
1118a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill        valEnd = document.cookie.length;
1128a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill      }
1138a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill      var val = document.cookie.substring(valStart, valEnd);
1148a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill      return val;
1158a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    }
1168a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  }
1178a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  return 0;
1188a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill}
1198a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill
1208a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrillfunction writeCookie(cookie, val, section, expiration) {
121fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  if (val==undefined) return;
1228a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  section = section == null ? "_" : "_"+section+"_";
1238a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  if (expiration == null) {
1248a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    var date = new Date();
1258a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    date.setTime(date.getTime()+(10*365*24*60*60*1000)); // default expiration is one week
1268a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    expiration = date.toGMTString();
1278a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  }
128fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  document.cookie = cookie_namespace + section + cookie + "=" + val + "; expires=" + expiration+"; path=/";
129fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly}
1308a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill
1318a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrillfunction init() {
1328a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  $("#side-nav").css({position:"absolute",left:0});
1338a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  content = $("#doc-content");
1348a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  resizePackagesNav = $("#resize-packages-nav");
1358a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  classesNav = $("#classes-nav");
1368a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  sidenav = $("#side-nav");
1378a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  devdocNav = $("#devdoc-nav");
1388a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill
139fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  var cookiePath = "";
1408a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  if (location.href.indexOf("/reference/") != -1) {
141fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    cookiePath = "reference_";
1428a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  } else if (location.href.indexOf("/guide/") != -1) {
143fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    cookiePath = "guide_";
144fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  } else if (location.href.indexOf("/sdk/") != -1) {
145fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    cookiePath = "sdk_";
146fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  } else if ((location.href.indexOf("/resources/") != -1) ||
147fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly             (location.href.indexOf("/training/") != -1)) {
148fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    cookiePath = "resources_";
1498a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  }
1508a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill
1518a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  if (!isMobile) {
152fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    $("#resize-packages-nav").resizable({handles: "s", resize: function(e, ui) { resizePackagesHeight(); } });
153fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    $("#side-nav").resizable({handles: "e", resize: function(e, ui) { resizeWidth(); } });
1548a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    var cookieWidth = readCookie(cookiePath+'width');
1558a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    var cookieHeight = readCookie(cookiePath+'height');
1568a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    if (cookieWidth) {
1578a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill      restoreWidth(cookieWidth);
158fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    } else if ($("#side-nav").length) {
1598a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill      resizeWidth();
1608a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    }
1618a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    if (cookieHeight) {
1628a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill      restoreHeight(cookieHeight);
1638a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    } else {
1648a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill      resizeHeight();
1658a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    }
1668a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  }
1678a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill
168fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  if (devdocNav.length) { // only dev guide, resources, and sdk
169fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    tryPopulateResourcesNav();
170fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    highlightNav(location.href);
1718a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  }
1728a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill}
1738a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill
174fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Lyfunction tryPopulateResourcesNav() {
175fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  var sampleList = $('#devdoc-nav-sample-list');
176fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  var articleList = $('#devdoc-nav-article-list');
177fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  var tutorialList = $('#devdoc-nav-tutorial-list');
178fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  var topicList = $('#devdoc-nav-topic-list');
179fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly
180fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  if (!topicList.length || !ANDROID_TAGS || !ANDROID_RESOURCES)
181fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    return;
182fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly
183fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  var topics = [];
184fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  for (var topic in ANDROID_TAGS['topic']) {
185fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    topics.push({name:topic,title:ANDROID_TAGS['topic'][topic]});
186fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  }
187fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  topics.sort(function(x,y){ return (x.title < y.title) ? -1 : 1; });
188fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  for (var i = 0; i < topics.length; i++) {
189fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    topicList.append(
190fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly        $('<li>').append(
191fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly          $('<a>')
192fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly            .attr('href', toRoot + "resources/browser.html?tag=" + topics[i].name)
193fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly            .append($('<span>')
194fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly              .addClass('en')
195fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly              .html(topics[i].title)
196fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly            )
197fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly          )
198fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly        );
199fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  }
200fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly
201fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  var _renderResourceList = function(tag, listNode) {
202fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    var resources = [];
203fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    var tags;
204fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    var resource;
205fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    var i, j;
206fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    for (i = 0; i < ANDROID_RESOURCES.length; i++) {
207fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly      resource = ANDROID_RESOURCES[i];
208fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly      tags = resource.tags || [];
209fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly      var hasTag = false;
210fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly      for (j = 0; j < tags.length; j++)
211fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly        if (tags[j] == tag) {
212fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly          hasTag = true;
213fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly          break;
214fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly        }
215fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly      if (!hasTag)
216fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly        continue;
217fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly      resources.push(resource);
218fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    }
219fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    //resources.sort(function(x,y){ return (x.title.en < y.title.en) ? -1 : 1; });
220fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    for (i = 0; i < resources.length; i++) {
221fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly      resource = resources[i];
222fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly      var listItemNode = $('<li>').append(
223fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly          $('<a>')
224fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly            .attr('href', toRoot + "resources/" + resource.path)
225fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly            .append($('<span>')
226fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly              .addClass('en')
227fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly              .html(resource.title.en)
228fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly            )
229fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly          );
230fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly      tags = resource.tags || [];
231fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly      for (j = 0; j < tags.length; j++) {
232fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly        if (tags[j] == 'new') {
233fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly          listItemNode.get(0).innerHTML += '&nbsp;<span class="new">new!</span>';
234fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly          break;
235fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly        } else if (tags[j] == 'updated') {
236fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly          listItemNode.get(0).innerHTML += '&nbsp;<span class="new">updated!</span>';
237fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly          break;
238fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly        }
239fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly      }
240fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly      listNode.append(listItemNode);
241fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    }
242fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  };
243fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly
244fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  _renderResourceList('sample', sampleList);
245fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  _renderResourceList('article', articleList);
246fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  _renderResourceList('tutorial', tutorialList);
247fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly}
248fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly
2498a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrillfunction highlightNav(fullPageName) {
2508a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  var lastSlashPos = fullPageName.lastIndexOf("/");
251fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  var firstSlashPos;
252fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  if (fullPageName.indexOf("/guide/") != -1) {
253fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    firstSlashPos = fullPageName.indexOf("/guide/");
254fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  } else if (fullPageName.indexOf("/sdk/") != -1) {
255fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    firstSlashPos = fullPageName.indexOf("/sdk/");
256fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  } else if (fullPageName.indexOf("/resources/") != -1) {
257fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    firstSlashPos = fullPageName.indexOf("/resources/");
258fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  } else if (fullPageName.indexOf("/training/") != -1) {
259fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    firstSlashPos = fullPageName.indexOf("/training/");
260fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  }
2618a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  if (lastSlashPos == (fullPageName.length - 1)) { // if the url ends in slash (add 'index.html')
2628a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    fullPageName = fullPageName + "index.html";
2638a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  }
264fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly
265fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  // get the path and page name from the URL (such as 'guide/topics/graphics/index.html')
266fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  var htmlPos = fullPageName.indexOf(".html");
267fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  var pathPageName = fullPageName.slice(firstSlashPos, htmlPos + 5); // +5 advances past ".html"
268fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  // find instances of the page name in the side nav
2698a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  var link = $("#devdoc-nav a[href$='"+ pathPageName+"']");
270fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  // if there's no match, then let's backstep through the directory until we find an index.html
271fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  // page that matches our ancestor directories (only for dev guide and resources)
272fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  if ((link.length == 0) && ((fullPageName.indexOf("/guide/") != -1) ||
273fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly                  (fullPageName.indexOf("/resources/") != -1))) {
2748a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    lastBackstep = pathPageName.lastIndexOf("/");
2758a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    while (link.length == 0) {
2768a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill      backstepDirectory = pathPageName.lastIndexOf("/", lastBackstep);
277fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly      link = $("#devdoc-nav a[href$='"+ pathPageName.slice(0, backstepDirectory +
278fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly                      1)+"index.html']");
2798a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill      lastBackstep = pathPageName.lastIndexOf("/", lastBackstep - 1);
2808a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill      if (lastBackstep == 0) break;
2818a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    }
2828a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  }
283fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly
284fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  // add 'selected' to the <li> or <div> that wraps this <a>
2858a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  link.parent().addClass('selected');
286fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly
287fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  // if we're in a toggleable root link (<li class=toggle-list><div><a>)
288fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  if (link.parent().parent().hasClass('toggle-list')) {
289fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    toggle(link.parent().parent(), false); // open our own list
290fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    // then also check if we're in a third-level nested list that's toggleable
291fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    if (link.parent().parent().parent().is(':hidden')) {
292fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly      toggle(link.parent().parent().parent().parent(), false); // open the super parent list
293fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    }
294fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  }
295fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  // if we're in a normal nav link (<li><a>) and the parent <ul> is hidden
296fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  else if (link.parent().parent().is(':hidden')) {
297fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    toggle(link.parent().parent().parent(), false); // open the parent list
298fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    // then also check if the parent list is also nested in a hidden list
299fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    if (link.parent().parent().parent().parent().is(':hidden')) {
300fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly      toggle(link.parent().parent().parent().parent().parent(), false); // open the super parent list
301fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    }
3028a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  }
3038a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill}
3048a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill
305fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly/* Resize the height of the nav panels in the reference,
306fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly * and save the new size to a cookie */
307fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Lyfunction resizePackagesHeight() {
3088a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  var windowHeight = ($(window).height() - HEADER_HEIGHT);
309fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  var swapperHeight = windowHeight - 13; // move 13px for swapper link at the bottom
3108a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  resizePackagesNav.css({maxHeight:swapperHeight + "px"});
3118a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  classesNav.css({height:swapperHeight - parseInt(resizePackagesNav.css("height")) + "px"});
312fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly
313fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  $("#swapper").css({height:swapperHeight + "px"});
3148a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  $("#packages-nav").css({height:parseInt(resizePackagesNav.css("height")) - 6 + "px"}); //move 6px for handle
315fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly
3168a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  var basePath = getBaseUri(location.pathname);
3178a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  var section = basePath.substring(1,basePath.indexOf("/",1));
3188a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  writeCookie("height", resizePackagesNav.css("height"), section, null);
3198a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill}
3208a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill
321fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly/* Resize the height of the side-nav and doc-content divs,
322fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly * which creates the frame effect */
323fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Lyfunction resizeHeight() {
324fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  var docContent = $("#doc-content");
325fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly
326fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  // Get the window height and always resize the doc-content and side-nav divs
327fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  var windowHeight = ($(window).height() - HEADER_HEIGHT);
328fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  docContent.css({height:windowHeight + "px"});
329fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  $("#side-nav").css({height:windowHeight + "px"});
330fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly
331fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  var href = location.href;
332fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  // If in the reference docs, also resize the "swapper", "classes-nav", and "nav-tree"  divs
333fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  if (href.indexOf("/reference/") != -1) {
334fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    var swapperHeight = windowHeight - 13;
335fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    $("#swapper").css({height:swapperHeight + "px"});
336fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    $("#classes-nav").css({height:swapperHeight - parseInt(resizePackagesNav.css("height")) + "px"});
337fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    $("#nav-tree").css({height:swapperHeight + "px"});
338fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly
339fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  // Also resize the "devdoc-nav" div
340fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  } else if ($("#devdoc-nav").length) {
341fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    $("#devdoc-nav").css({height:sidenav.css("height")});
342fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  }
343fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly
344fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  // Hide the "Go to top" link if there's no vertical scroll
345fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  if ( parseInt($("#jd-content").css("height")) <= parseInt(docContent.css("height")) ) {
346fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    $("a[href='#top']").css({'display':'none'});
347fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  } else {
348fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    $("a[href='#top']").css({'display':'inline'});
349fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  }
350fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly}
351fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly
352fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly/* Resize the width of the "side-nav" and the left margin of the "doc-content" div,
353fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly * which creates the resizable side bar */
3548a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrillfunction resizeWidth() {
3558a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  var windowWidth = $(window).width() + "px";
356fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  var sidenav = $("#side-nav");
3578a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  if (sidenav.length) {
3588a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    var sidenavWidth = sidenav.css("width");
3598a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  } else {
3608a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    var sidenavWidth = 0;
3618a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  }
362fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  content.css({marginLeft:parseInt(sidenavWidth) + 6 + "px"}); //account for 6px-wide handle-bar
363fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly
364fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  if (isIE6) {
365fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    content.css({width:parseInt(windowWidth) - parseInt(sidenavWidth) - 6 + "px"}); // necessary in order to for scrollbars to be visible
366fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  }
367fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly
3688a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  resizePackagesNav.css({width:sidenavWidth});
3698a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  classesNav.css({width:sidenavWidth});
3708a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  $("#packages-nav").css({width:sidenavWidth});
371fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly
372fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  if (sidenav.length) { // Must check if the nav exists because IE6 calls resizeWidth() from resizeAll() for all pages
373fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    var basePath = getBaseUri(location.pathname);
374fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    var section = basePath.substring(1,basePath.indexOf("/",1));
375fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    section = section.indexOf("training") != -1 ? "resources" : section;
376fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    writeCookie("width", sidenavWidth, section, null);
377fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  }
3788a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill}
3798a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill
380fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly/* For IE6 only,
381fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly * because it can't properly perform auto width for "doc-content" div,
382fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly * avoiding this for all browsers provides better performance */
3838a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrillfunction resizeAll() {
384fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  resizeHeight();
385fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  resizeWidth();
3868a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill}
3878a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill
3888a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrillfunction getBaseUri(uri) {
3898a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  var intlUrl = (uri.substring(0,6) == "/intl/");
3908a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  if (intlUrl) {
3918a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    base = uri.substring(uri.indexOf('intl/')+5,uri.length);
3928a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    base = base.substring(base.indexOf('/')+1, base.length);
3938a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill      //alert("intl, returning base url: /" + base);
3948a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    return ("/" + base);
3958a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  } else {
3968a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill      //alert("not intl, returning uri as found.");
3978a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    return uri;
3988a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  }
3998a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill}
4008a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill
4018a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrillfunction requestAppendHL(uri) {
4028a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill//append "?hl=<lang> to an outgoing request (such as to blog)
4038a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  var lang = getLangPref();
4048a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  if (lang) {
4058a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    var q = 'hl=' + lang;
4068a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    uri += '?' + q;
4078a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    window.location = uri;
4088a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    return false;
4098a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  } else {
4108a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    return true;
4118a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  }
4128a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill}
4138a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill
4148a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrillfunction loadLast(cookiePath) {
4158a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  var location = window.location.href;
4168a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  if (location.indexOf("/"+cookiePath+"/") != -1) {
4178a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    return true;
4188a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  }
4198a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  var lastPage = readCookie(cookiePath + "_lastpage");
4208a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  if (lastPage) {
4218a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    window.location = lastPage;
4228a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    return false;
4238a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  }
4248a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  return true;
4258a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill}
4268a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill
4278a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill$(window).unload(function(){
4288a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  var path = getBaseUri(location.pathname);
4298a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  if (path.indexOf("/reference/") != -1) {
4308a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    writeCookie("lastpage", path, "reference", null);
4318a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  } else if (path.indexOf("/guide/") != -1) {
4328a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    writeCookie("lastpage", path, "guide", null);
433fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  } else if ((path.indexOf("/resources/") != -1) || (path.indexOf("/training/") != -1)) {
434fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    writeCookie("lastpage", path, "resources", null);
4358a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  }
4368a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill});
4378a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill
4388a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrillfunction toggle(obj, slide) {
439fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  var ul = $("ul:first", obj);
4408a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  var li = ul.parent();
4418a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  if (li.hasClass("closed")) {
4428a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    if (slide) {
4438a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill      ul.slideDown("fast");
4448a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    } else {
4458a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill      ul.show();
4468a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    }
4478a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    li.removeClass("closed");
4488a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    li.addClass("open");
4498a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    $(".toggle-img", li).attr("title", "hide pages");
4508a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  } else {
4518a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    ul.slideUp("fast");
4528a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    li.removeClass("open");
4538a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    li.addClass("closed");
4548a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    $(".toggle-img", li).attr("title", "show pages");
4558a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  }
4568a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill}
4578a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill
4588a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrillfunction buildToggleLists() {
4598a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  $(".toggle-list").each(
4608a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    function(i) {
461fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly      $("div:first", this).append("<a class='toggle-img' href='#' title='show pages' onClick='toggle(this.parentNode.parentNode, true); return false;'></a>");
4628a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill      $(this).addClass("closed");
4638a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    });
4648a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill}
4658a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill
4668a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrillfunction getNavPref() {
4678a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  var v = readCookie('reference_nav');
4688a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  if (v != NAV_PREF_TREE) {
4698a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    v = NAV_PREF_PANELS;
4708a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  }
4718a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  return v;
4728a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill}
4738a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill
4748a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrillfunction chooseDefaultNav() {
4758a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  nav_pref = getNavPref();
4768a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  if (nav_pref == NAV_PREF_TREE) {
4778a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    $("#nav-panels").toggle();
4788a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    $("#panel-link").toggle();
4798a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    $("#nav-tree").toggle();
4808a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    $("#tree-link").toggle();
4818a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  }
4828a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill}
4838a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill
4848a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrillfunction swapNav() {
4858a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  if (nav_pref == NAV_PREF_TREE) {
4868a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    nav_pref = NAV_PREF_PANELS;
4878a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  } else {
4888a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    nav_pref = NAV_PREF_TREE;
4898a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    init_default_navtree(toRoot);
4908a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  }
4918a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  var date = new Date();
4928a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  date.setTime(date.getTime()+(10*365*24*60*60*1000)); // keep this for 10 years
4938a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  writeCookie("nav", nav_pref, "reference", date.toGMTString());
4948a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill
4958a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  $("#nav-panels").toggle();
4968a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  $("#panel-link").toggle();
4978a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  $("#nav-tree").toggle();
4988a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  $("#tree-link").toggle();
4998a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill
5008a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  if ($("#nav-tree").is(':visible')) scrollIntoView("nav-tree");
5018a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  else {
5028a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    scrollIntoView("packages-nav");
5038a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    scrollIntoView("classes-nav");
5048a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  }
5058a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill}
5068a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill
5078a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrillfunction scrollIntoView(nav) {
5088a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  var navObj = $("#"+nav);
5098a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  if (navObj.is(':visible')) {
5108a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    var selected = $(".selected", navObj);
5118a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    if (selected.length == 0) return;
512fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    if (selected.is("div")) selected = selected.parent(); // when the selected item is a parent
5138a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill
5148a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    var scrolling = document.getElementById(nav);
5158a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    var navHeight = navObj.height();
5168a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    var offsetTop = selected.position().top;
5178a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill
518fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    // handle nested items
519fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    if (selected.parent().parent().is(".toggle-list")) {
520fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly      selected = selected.parent().parent();
521fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly      // handle second level nested items
522fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly      if (selected.parent().parent().is(".toggle-list")) {
523fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly        selected = selected.parent().parent();
524fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly      }
525fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly      offsetTop += selected.position().top;
526fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    }
5278a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill
528fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    // 180px from the bottom of the list is the threshold
529fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    if(offsetTop > navHeight - 180) {
530fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly      scrolling.scrollTop = offsetTop - navHeight + 180;
531fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    }
5328a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  }
5338a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill}
5348a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill
5358a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrillfunction changeTabLang(lang) {
5368a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  var nodes = $("#header-tabs").find("."+lang);
537fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  for (i=0; i < nodes.length; i++) { // for each node in this language
5388a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    var node = $(nodes[i]);
539fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    node.siblings().css("display","none"); // hide all siblings
540fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    if (node.not(":empty").length != 0) { //if this languages node has a translation, show it
5418a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill      node.css("display","inline");
542fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    } else { //otherwise, show English instead
5438a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill      node.css("display","none");
5448a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill      node.siblings().filter(".en").css("display","inline");
5458a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    }
5468a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  }
5478a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill}
5488a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill
5498a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrillfunction changeNavLang(lang) {
5508a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  var nodes = $("#side-nav").find("."+lang);
551fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  for (i=0; i < nodes.length; i++) { // for each node in this language
5528a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    var node = $(nodes[i]);
553fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    node.siblings().css("display","none"); // hide all siblings
554fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    if (node.not(":empty").length != 0) { // if this languages node has a translation, show it
5558a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill      node.css("display","inline");
556fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    } else { // otherwise, show English instead
5578a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill      node.css("display","none");
5588a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill      node.siblings().filter(".en").css("display","inline");
5598a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    }
5608a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  }
5618a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill}
5628a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill
5638a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrillfunction changeDocLang(lang) {
5648a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  changeTabLang(lang);
5658a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  changeNavLang(lang);
5668a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill}
5678a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill
5688a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrillfunction changeLangPref(lang, refresh) {
5698a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  var date = new Date();
5708a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  expires = date.toGMTString(date.setTime(date.getTime()+(10*365*24*60*60*1000))); // keep this for 50 years
5718a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  //alert("expires: " + expires)
5728a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  writeCookie("pref_lang", lang, null, expires);
5738a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  //changeDocLang(lang);
5748a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  if (refresh) {
5758a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    l = getBaseUri(location.pathname);
5768a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    window.location = l;
5778a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  }
5788a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill}
5798a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill
5808a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrillfunction loadLangPref() {
5818a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  var lang = readCookie("pref_lang");
5828a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  if (lang != 0) {
5838a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    $("#language").find("option[value='"+lang+"']").attr("selected",true);
5848a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  }
5858a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill}
5868a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill
5878a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrillfunction getLangPref() {
5888a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  var lang = $("#language").find(":selected").attr("value");
5898a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  if (!lang) {
5908a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    lang = readCookie("pref_lang");
5918a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  }
5928a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  return (lang != 0) ? lang : 'en';
5938a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill}
5948a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill
5958a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill
596fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly/* Used to hide and reveal supplemental content, such as long code samples.
597fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly   See the companion CSS in android-developer-docs.css */
5988a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrillfunction toggleContent(obj) {
599fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  var div = $(obj.parentNode.parentNode);
6008a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  var toggleMe = $(".toggle-content-toggleme",div);
601fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  if (div.hasClass("closed")) { // if it's closed, open it
6028a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill    toggleMe.slideDown();
603fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    $(".toggle-content-text", obj).toggle();
604fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    div.removeClass("closed").addClass("open");
605fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    $(".toggle-content-img", div).attr("title", "hide").attr("src", toRoot + "assets/images/triangle-opened.png");
606fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  } else { // if it's open, close it
607fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    toggleMe.slideUp('fast', function() {  // Wait until the animation is done before closing arrow
608fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly      $(".toggle-content-text", obj).toggle();
609fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly      div.removeClass("open").addClass("closed");
610fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly      $(".toggle-content-img", div).attr("title", "show").attr("src", toRoot + "assets/images/triangle-closed.png");
611fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly    });
6128a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill  }
613fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly  return false;
6148a0625bcb898fdbfe3b81e7b31651ed9912b6bb0Dan Morrill}
615