a80decef3f865269b74a816079af40b0b0ba1f7f
[m6w6/ext-raphf] / resize.js
1 var cookie_namespace = 'doxygen';
2 var sidenav,navtree,content,header;
3
4 function 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
25 function 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
37 function 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
45 function 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
52 function 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
62 function 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
93