1 2 function setTabsWidth(rows, mod_prefix){ 3 4 if(isIE() && isIE()<=8) 5 return; 6 7 if (!mod_prefix) 8 mod_prefix = ''; 9 10 if (!rows) 11 rows = 1; 12 13 var tab = document.id(mod_prefix+'djtab1'); 14 var tabs = document.id(mod_prefix+'djtabs'); 15 var titlesArray = $$('.'+mod_prefix+'djtabs_help_class'); 16 var t_count = titlesArray.length; 17 18 19 if (tab && window.getSize().x > 480 && t_count > rows) 20 { 21 22 23 var margins = parseInt(tab.getStyle('margin-left')) + parseInt(tab.getStyle('margin-right')); 24 var paddings = parseInt(tab.getStyle('padding-left')) + parseInt(tab.getStyle('padding-right')); 25 var borders = parseInt(tab.getStyle('border-left')) + parseInt(tab.getStyle('border-right')); 26 var offset = margins + paddings + borders; 27 28 29 var tabsSummedWidth = 0; 30 31 for (k=0; k < t_count; k++) 32 { 33 tabsSummedWidth = tabsSummedWidth + parseInt(titlesArray[k].getStyle('width')); 34 } 35 36 tabsSummedWidth = tabsSummedWidth + (offset * t_count); 37 38 39 var available_space = 40 parseInt(tabs.getStyle('width')) + 41 parseInt(tabs.getStyle('padding-left')) + 42 parseInt(tabs.getStyle('padding-right')) 43 - 2; 44 45 46 if (tabsSummedWidth > available_space) 47 { 48 49 r = t_count % rows; 50 l = parseInt(t_count / rows); 51 52 var rows_array = new Array(); 53 54 for (i=0; i < rows; i++) 55 { 56 rows_array.push(l); 57 } 58 59 for (i=0; i < r; i++) 60 { 61 rows_array[i] = rows_array[i] + 1; 62 } 63 64 var rows_array_copy = rows_array.slice(0); 65 66 var row_t_count; 67 var tabNewWidth; 68 var tab_class; 69 70 for (i=0; i < t_count; i++) 71 { 72 for (j=0; j < rows; j++) 73 { 74 if (rows_array_copy[j]>0){ 75 row_t_count = rows_array[j]; 76 rows_array_copy[j] = rows_array_copy[j] - 1; 77 78 if(j==0) 79 tab_class = 'first-row'; 80 else if(j==rows-1) 81 tab_class = 'last-row'; 82 else 83 tab_class = 'n-row'; 84 85 break; 86 } 87 88 } 89 90 tabNewWidth = parseInt(((available_space - (row_t_count * offset)) / row_t_count) - 1); 91 92 var n_tab = document.id(mod_prefix+'djtab'+(i+1)); 93 94 n_tab.addClass(tab_class); 95 n_tab.removeClass('tabsBlock'); 96 n_tab.style.width=tabNewWidth+'px'; 97 document.id(mod_prefix+'djtabs_title_img_right'+(i+1)).setStyle('left',tabNewWidth + paddings - 2); 98 } 99 100 if(rows>1) 101 document.id(mod_prefix+'djtabs').addClass('rows'); 102 103 } 104 105 } 106 else if (tab && (window.getSize().x <= 480 || t_count <= rows)){ 107 for (i=1; i<=t_count; i++) 108 { 109 document.id(mod_prefix+'djtab'+i).addClass('tabsBlock'); 110 } 111 } 112 113 } 114 115 116 function resetTabsWidth(mod_prefix){ 117 if(isIE() && isIE()<=8) 118 return; 119 120 if (!mod_prefix) 121 mod_prefix = ''; 122 123 var tab = document.id(mod_prefix+'djtab1'); 124 if (tab) 125 { 126 var titlesArray = $$('.'+mod_prefix+'djtabs_help_class'); 127 var paddings = parseInt(tab.getStyle('padding-left')) + parseInt(tab.getStyle('padding-right')); 128 129 var tabWidth; 130 for (l=1; l<=titlesArray.length; l++) //reseting width 131 { 132 document.id(mod_prefix+'djtab'+l).removeClass('tabsBlock'); 133 tabWidth = document.id(mod_prefix+'djtab'+l).getStyle('width'); 134 document.id(mod_prefix+'djtab'+l).removeAttribute('style'); 135 document.id(mod_prefix+'djtabs_title_img_right'+(l)).setStyle('left',tabWidth + paddings - 2); 136 } 137 } 138 } 139 140 141 function setPanelsText(mod_prefix){ 142 if(isIE() && isIE()<=8) 143 return; 144 145 if (!mod_prefix) 146 mod_prefix = ''; 147 148 var panelArray = $$('#'+mod_prefix+'djtabs .djtabs-panel'); 149 150 for (var j=0; j<panelArray.length; j++){ 151 152 var panelWidth = parseInt(panelArray[j].getStyle('width')); //panel width 153 154 var spanTitle = null; 155 var spanDate = null; 156 var spanDateWidth = 0; 157 var spanTogglerWidth = 0; 158 var spanTitleMargins = 0; 159 var spanTitleWidth = 0; 160 for (var i = 0; i < panelArray[j].children.length; i++){ 161 if (panelArray[j].children[i].className == "djtabs-panel-title"){ 162 spanTitle = panelArray[j].children[i]; 163 spanTitleWidth = getFullWidth(panelArray[j].children[i]); 164 spanTitleMargins = getMargins(panelArray[j].children[i]); 165 } 166 else if (panelArray[j].children[i].className == "djtabs-panel-date"){ 167 spanDate = panelArray[j].children[i]; 168 spanDateWidth = getFullWidth(panelArray[j].children[i]); 169 } 170 else if (panelArray[j].children[i].className == "djtabs-panel-toggler"){ 171 spanTogglerWidth = getFullWidth(panelArray[j].children[i]); 172 } 173 } 174 175 if(spanTitle){ 176 if(panelWidth < spanTitleWidth+spanDateWidth+spanTogglerWidth) 177 spanTitle.setStyle('width',panelWidth-spanDateWidth-spanTogglerWidth-spanTitleMargins); 178 } 179 180 } 181 } 182 183 184 function resetPanelsText(mod_prefix){ 185 if(isIE() && isIE()<=8) 186 return; 187 188 if (!mod_prefix) 189 mod_prefix = ''; 190 191 var panelArray = $$('#'+mod_prefix+'djtabs .djtabs-panel-title'); 192 193 for (var j=0; j<panelArray.length; j++){ 194 panelArray[j].removeAttribute('style'); 195 } 196 } 197 198 199 function getFullWidth(el){ 200 return el ? el.offsetWidth + getMargins(el) : 0; 201 } 202 203 function getMargins(el){ 204 return el ? parseInt(el.getStyle('margin-left')) + parseInt(el.getStyle('margin-right')) : 0; 205 } 206 207 function isIE () { 208 var myNav = navigator.userAgent.toLowerCase(); 209 return (myNav.indexOf('msie') != -1) ? parseInt(myNav.split('msie')[1]) : false; 210 } 211 212 213 function toggleVideo(el, task, ie_fix){ 214 215 if(isIE()<=8){ 216 return; 217 } 218 219 if(ie_fix){ 220 var UAString = navigator.userAgent; 221 if(UAString.indexOf("Windows NT 10.0") !== -1 && UAString.indexOf("Trident") !== -1 && UAString.indexOf("rv:11") !== -1){ 222 return; 223 } //ie<=8 / ie11(win10) Fix 224 } 225 226 var post_msg; 227 var iframe; 228 var djVideoWrapper = el.getElementsByClassName("djVideoWrapper")[0]; 229 230 if (djVideoWrapper){ 231 232 iframe = djVideoWrapper.getElementsByTagName("iframe")[0]; 233 234 if (iframe){ 235 236 if(iframe.src.contains('vimeo')) 237 post_msg = task ? '"method":"play"' : '"method":"pause"'; 238 else if(iframe.src.contains('youtube')) 239 post_msg = task ? '"func":"playVideo"' : '"func":"pauseVideo"'; 240 241 if(post_msg) 242 iframe.contentWindow.postMessage('{"event":"command",'+post_msg+'}', '*'); 243 } 244 } 245 } 246 247 // wcag 248 window.addEvent('domready', function(){ 249 250 $$('.djtabs-title').addEvent('focus', function() { 251 if($(this).hasClass('djtabs-active')){ 252 return; // 1.3.1 fix - don't process if already have focus 253 } 254 255 var tab_no = $(this).getProperty('data-tab-no'); 256 var focus_el; 257 var main_wrapper = $(this).getParent().getParent().getParent(); 258 259 if(tab_no){ 260 focus_el = main_wrapper.getElements('.djtabs-body[data-tab-no="'+tab_no+'"]'); 261 if(focus_el.length){ 262 focus_el[0].focus(); 263 } 264 } 265 }); 266 $$('.djtabs-body').addEvent('focus', function() { 267 var tab_no = $(this).getProperty('data-tab-no'); 268 tab_no = tab_no ? tab_no - 1 : 'undefined'; 269 270 if(tab_no != 'undefined'){ 271 var main_accordion = $(this).getParent().getParent().getParent(); 272 if(main_accordion.id){ 273 if(!main_accordion.getElements('.djtabs-title[data-tab-no="'+(parseInt(tab_no)+1)+'"]')[0].hasClass('djtabs-active')){ 274 window[main_accordion.id].display(tab_no); 275 window[main_accordion.id].options.link = 'ignore'; 276 } 277 } 278 } 279 280 }); 281 $$('.djtabs-body').addEvent('keydown', function(event){ 282 283 var tab_no = $(this).getProperty('data-tab-no'); 284 var focus_el; 285 var main_accordion = $(this).getParent().getParent().getParent(); 286 287 //var isAccordion = $(this).getParent().getParent().getParent().hasClass('accordion'); 288 //var prevKey = isAccordion ? 'up' : 'left'; 289 //var nextKey = isAccordion ? 'down' : 'right'; 290 291 var prevKey = 'left'; 292 var nextKey = 'right'; 293 294 if(tab_no){ 295 if(event.key == prevKey){ 296 focus_el = main_accordion.getElements('.djtabs-body[data-tab-no="'+(parseInt(tab_no)-1)+'"]'); 297 if(focus_el.length){ 298 focus_el[0].focus(); 299 } 300 }else if(event.key == nextKey){ 301 focus_el = main_accordion.getElements('.djtabs-body[data-tab-no="'+(parseInt(tab_no)+1)+'"]'); 302 if(focus_el.length){ 303 focus_el[0].focus(); 304 } 305 } 306 } 307 }); 308 309 310 $$('.djtabs-article-group').addEvent('focus', function(event) { 311 312 var inner_accordion = $(this).getParent().id; 313 314 if(inner_accordion){ 315 var inner_accordion_body = $(this).getChildren('.djtabs-article-body'); 316 if(inner_accordion_body.length){
317 var inner_accordion_item_no = inner_accordion_body.getProperty('data-no'); 318 inner_accordion_item_no = inner_accordion_item_no ? inner_accordion_item_no - 1 : 'undefined'; 319 if(inner_accordion_item_no != 'undefined'){ 320 if(!$(this).hasClass('djtabs-group-active')){ 321 window[inner_accordion].display(inner_accordion_item_no); 322 window[inner_accordion].options.link = 'ignore'; 323 } 324 } 325 } 326 } 327 }); 328 $$('.djtabs-article-group').addEvent('keydown', function(event) { 329 330 if(event.key == 'up' || event.key == 'down'){ 331 332 var inner_accordion = $(this).getParent().id; 333 var focus_el; 334 335 if(inner_accordion){ 336 var inner_accordion_body = $(this).getChildren('.djtabs-article-body'); 337 if(inner_accordion_body.length){ 338 var inner_accordion_item_no = inner_accordion_body.getProperty('data-no'); 339 inner_accordion_item_no = inner_accordion_item_no || inner_accordion_item_no == '0' ? inner_accordion_item_no : 'undefined'; 340 if(inner_accordion_item_no != 'undefined'){ 341 if(event.key == 'up'){ 342 focus_el = $(this).getParent().getChildren('.djtabs-article-group .djtabs-article-body[data-no="'+(parseInt(inner_accordion_item_no)-1)+'"]').getParent(); 343 if(focus_el.length){ 344 event.preventDefault(); 345 focus_el[0].focus(); 346 } 347 }else if(event.key == 'down'){ 348 focus_el = $(this).getParent().getChildren('.djtabs-article-group .djtabs-article-body[data-no="'+(parseInt(inner_accordion_item_no)+1)+'"]').getParent(); 349 if(focus_el.length){ 350 event.preventDefault(); 351 focus_el[0].focus(); 352 } 353 } 354 } 355 } 356 } 357 } 358 }); 359 });
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.