1var cookie_namespace = 'doxygen';
2var sidenav,navtree,content,header;
3
4function readCookie(cookie)
5{
6  var myCookie = cookie_namespace+"_"+cookie+"=";
7  if (document.cookie)
8  {
9    var index = document.cookie.indexOf(myCookie);
10    if (index != -1)
11    {
12      var valStart = index + myCookie.length;
13      var valEnd = document.cookie.indexOf(";", valStart);
14      if (valEnd == -1)
15      {
16        valEnd = document.cookie.length;
17      }
18      var val = document.cookie.substring(valStart, valEnd);
19      return val;
20    }
21  }
22  return 0;
23}
24
25function writeCookie(cookie, val, expiration)
26{
27  if (val==undefined) return;
28  if (expiration == null)
29  {
30    var date = new Date();
31    date.setTime(date.getTime()+(10*365*24*60*60*1000)); // default expiration is one week
32    expiration = date.toGMTString();
33  }
34  document.cookie = cookie_namespace + "_" + cookie + "=" + val + "; expires=" + expiration+"; path=/";
35}
36
37function resizeWidth()
38{
39  var windowWidth = $(window).width() + "px";
40  var sidenavWidth = $(sidenav).outerWidth();
41  content.css({marginLeft:parseInt(sidenavWidth)+"px"});
42  writeCookie('width',sidenavWidth, null);
43}
44
45function restoreWidth(navWidth)
46{
47  var windowWidth = $(window).width() + "px";
48  content.css({marginLeft:parseInt(navWidth)+6+"px"});
49  sidenav.css({width:navWidth + "px"});
50}
51
52function resizeHeight()
53{
54  var headerHeight = header.outerHeight();
55  var footerHeight = footer.outerHeight();
56  var windowHeight = $(window).height() - headerHeight - footerHeight;
57  content.css({height:windowHeight + "px"});
58  navtree.css({height:windowHeight + "px"});
59  sidenav.css({height:windowHeight + "px",top: headerHeight+"px"});
60}
61
62function initResizable()
63{
64  header  = $("#top");
65  sidenav = $("#side-nav");
66  content = $("#doc-content");
67  navtree = $("#nav-tree");
68  footer  = $("#nav-path");
69  $(".side-nav-resizable").resizable({resize: function(e, ui) { resizeWidth(); } });
70  $(window).resize(function() { resizeHeight(); });
71  var width = readCookie('width');
72  if (width) { restoreWidth(width); } else { resizeWidth(); }
73  resizeHeight();
74  var url = location.href;
75  var i=url.indexOf("#");
76  if (i>=0) window.location.hash=url.substr(i);
77  var _preventDefault = function(evt) { evt.preventDefault(); };
78  $("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault);
79  $(document).bind('touchmove',function(e){
80    try {
81      var target = e.target;
82      while (target) {
83        if ($(target).css('-webkit-overflow-scrolling')=='touch') return;
84        target = target.parentNode;
85      }
86      e.preventDefault();
87    } catch(err) {
88      e.preventDefault();
89    }
90  });
91}
92