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 += ' <span class="new">new!</span>'; 234fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly break; 235fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly } else if (tags[j] == 'updated') { 236fd1eb13b332cacea5389696c26dccd1a1bf4d515Robert Ly listItemNode.get(0).innerHTML += ' <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