1function InitializeSidebarItems() { 2 3 var savedSettings = SideBarWidgetGetCookie('CollapsedSidebarItems'); 4 5 if(savedSettings!=null) { 6 7 SBCS.CollapsedItems = (unescape(savedSettings)).evalJSON(); 8 } 9 if(SBCS.CollapsedItems==null || SBCS.CollapsedItems.length==0) { 10 11 SBCS.CollapsedItems = $A(new Array()); 12 13 $A(SBCS.widgetidsdefaultcollapse.split(",")).each( 14 function(widgetID) { 15 SBCS.CollapsedItems.push(widgetID); 16 } 17 ); 18 19 } 20 21 SBCS.SaveCollapsedItems = function() { 22 SideBarWidgetSetCookie('CollapsedSidebarItems', 23 escape(Object.toJSON(SBCS.CollapsedItems.uniq().compact()))); 24 }; 25 26 $A(SBCS.sidebarID.split(",")).each( 27 function(sidebarID) { 28 InitializeSidebar($(sidebarID)); 29 } 30 ); 31 32} 33 34function InitializeSidebar(sidebar) { 35 36 if(sidebar) { 37 38 // For each list in the sidebar - should only be one in most cases 39 $A(sidebar.getElementsByTagName(SBCS.sidebarListEl)).each( 40 function(list) { 41 42 if(list.parentNode==sidebar) { 43 44 list.select(SBCS.sidebarListItemEl+'.'+SBCS.sidebarListItemPartialClassName).each( 45 function(sideBarItem) { 46 47 if(sideBarItem.parentNode==list) { 48 49 // Configure Title Element 50 sideBarItem.select('.'+SBCS.sidebarWidgetTitlePartialClassName).each( 51 function(title) { 52 53 sideBarItem.Title = title; 54 55 var toggleLink = document.createElement('a'); 56 toggleLink.className = "SideBarWidgetToggle"; 57 toggleLink.setAttribute('href','#'); 58 sideBarItem.ToggleLink = toggleLink; 59 title.appendChild(toggleLink); 60 } 61 ); 62 63 // Configure wrapper div 64 var wrapper = document.createElement('div'); 65 wrapper.className = "SideBarWidgetContentWrapper"; 66 sideBarItem.Wrapper = wrapper; 67 68 $A(sideBarItem.childNodes).each( 69 function(child) { 70 71 if(child!=sideBarItem.Title) { 72 73 sideBarItem.removeChild(child); 74 wrapper.appendChild(child); 75 } 76 } 77 ); 78 sideBarItem.appendChild(wrapper); 79 80 sideBarItem.IsCollapsed = function() { 81 return SBCS.CollapsedItems.indexOf(this.id) != -1; 82 } 83 84 sideBarItem.Hide = function() { 85 86 this.select('div.SideBarWidgetContentWrapper').each( 87 function(child) { 88 89 //$(child).hide();
90 Effect.SlideUp($(child), {transition: Effect.Transitions.sinoidal} ); 91 92 sideBarItem.select('.SideBarWidgetToggle').each( 93 function(link) { 94 95 if ( !link.hasClassName('sbwcollapsed') ) { 96 link.addClassName('sbwcollapsed'); 97 } 98 99 while(link.hasChildNodes()) { 100 link.removeChild(link.lastChild); 101 } 102 link.appendChild( document.createTextNode(SBCS.show) ); 103 104 sideBarItem.Title.stopObserving('click'); 105 sideBarItem.Title.observe('click',sideBarItem.Show.bind(sideBarItem)); 106 } 107 ); 108 } 109 ); 110 111 SBCS.CollapsedItems.push(this.id); 112 SBCS.SaveCollapsedItems(); 113 } 114 115 sideBarItem.Show = function() { 116 117 this.select('div.SideBarWidgetContentWrapper').each( 118 function(child) { 119 120 //$(child).show();
121 Effect.SlideDown($(child), {transition: Effect.Transitions.sinoidal} ); 122 123 sideBarItem.select('.SideBarWidgetToggle').each( 124 function(link) { 125 126 if ( link.hasClassName('sbwcollapsed') ) { 127 link.removeClassName('sbwcollapsed'); 128 } 129 130 while(link.hasChildNodes()) { 131 link.removeChild(link.lastChild); 132 } 133 link.appendChild( document.createTextNode(SBCS.hide) ); 134 135 sideBarItem.Title.stopObserving('click'); 136 sideBarItem.Title.observe('click',sideBarItem.Hide.bind(sideBarItem)); 137 } 138 ); 139 } 140 ); 141 142 SBCS.CollapsedItems = SBCS.CollapsedItems.without(this.id); 143 SBCS.SaveCollapsedItems(); 144 } 145 146 if(sideBarItem.IsCollapsed()) { 147 sideBarItem.Hide(); 148 } 149 else { 150 sideBarItem.Show(); 151 } 152 } 153 } 154 ); 155 156 } 157 } 158 ); 159 } 160} 161 162function SideBarWidgetSetCookie(name, value, expires, path, domain, secure) 163{ 164 document.cookie= name + "=" + escape(value) + 165 ((expires) ? "; expires=" + expires.toGMTString() : "") + 166 ((path) ? "; path=" + path : "") + 167 ((domain) ? "; domain=" + domain : "") + 168 ((secure) ? "; secure" : ""); 169} 170function SideBarWidgetGetCookie(name) 171{ 172 var dc = document.cookie; 173 var prefix = name + "="; 174 var begin = dc.indexOf("; " + prefix); 175 if (begin == -1) 176 { 177 begin = dc.indexOf(prefix); 178 if (begin != 0) return null; 179 } 180 else 181 { 182 begin += 2; 183 } 184 var end = document.cookie.indexOf(";", begin); 185 if (end == -1) 186 { 187 end = dc.length; 188 } 189 return unescape(dc.substring(begin + prefix.length, end)); 190} 191 192document.observe("dom:loaded", InitializeSidebarItems);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.