1(function (e) { 2 var t = "ctDrillDown"; 3 var n = { 4 init: function (n) { 5 n = e.extend({}, e.fn.ctDrillDown.defaults, n); 6 return this.each(function () { 7 var i = e(this).addClass(n.myClass); 8 var o = e(">ul", i); 9 i.data(t, { 10 options: n, 11 $menu: o, 12 path: new Array, 13 pathNumerical: new Array, 14 offset: o.width(), 15 keysActive: false 16 }); 17 var u = new Array; 18 c.apply(i, [o]); 19 var a = i.width(); 20 i.css("width", a + "px"); 21 e("ul", o).css("width", a + "px").css("left", a + "px"); 22 if (n.keyboardNavigation) { 23 var f = false; 24 e(document).bind("keyup", function (r) { 25 if (r.keyCode == 77 && r.ctrlKey) { 26 var s = i.data(t); 27 s.keysActive = !s.keysActive; 28 if (s.keysActive) { 29 var o = i.data(t).path; 30 var u; 31 if (o.length) { 32 u = e(">li:eq(0)", o[o.length - 1].nextAll("ul")) 33 } else { 34 u = e(">li:eq(0)", i.data(t).$menu) 35 } 36 u.addClass(n.activeClass) 37 } 38 } 39 return true 40 }); 41 e(document).bind("keyup", function (n) { 42 var r = i.data(t); 43 if (!r.keysActive && e(":focus", i).length == 0) { 44 return true 45 } 46 switch (n.keyCode) { 47 case 8: 48 case 13: 49 case 37: 50 case 38: 51 case 39: 52 case 40: 53 d.apply(i, [n.keyCode]); 54 break 55 } 56 return false 57 }) 58 } 59 if (n.ajax) { 60 e(document).on(n.event, "li." + n.expandableClass + " > a", function () { 61 var t = e(this); 62 if (!e(this).nextAll("ul").length) { 63 e.ajax({ 64 type: "GET", 65 url: t.attr("href"), 66 dataType: "html", 67 success: function (e) { 68 t.after(e); 69 p.apply(i, t.nextAll("ul")); 70 i.ctDrillDown("goTo", t) 71 } 72 }) 73 } else { 74 i.ctDrillDown("goTo", e(this)) 75 } 76 return false 77 }) 78 } else { 79 e("a", o).each(function () { 80 var t = false; 81 if (e(this).nextAll("ul").length > 0) { 82 e(this).parent().addClass(n.expandableClass); 83 t = true 84 } 85 e(this).bind(n.event, function () { 86 if (!t) { 87 return true 88 } 89 i.ctDrillDown("goTo", e(this)); 90 return false 91 }); 92 if (e(this).hasClass(n.currentClass)) { 93 e(this).removeClass(n.currentClass); 94 var s = e(this).closest("li." + n.expandableClass); 95 var o = e(">a", s).addClass(n.currentClass); 96 u = r.apply(i, [o]) 97 } 98 }); 99 if (n.useCookies) { 100 var h = l(t); 101 if (h != null && h != "") { 102 var v = h.split(","); 103 if (v.length > 0) { 104 u = v 105 } 106 } 107 } 108 if (u.length > 0) { 109 s.apply(i, [u, false]); 110 i.dequeue(t) 111 } 112 } 113 }) 114 }, 115 goTo: function (n, i) { 116 return this.each(function () { 117 var o = e(this), 118 a = o.data(t), 119 f = a.pathNumerical, 120 l = a.options; 121 if (i == undefined) { 122 i = true 123 } 124 if (n == undefined || n == null) { 125 return 126 } 127 if (!a.$menu.has(n).length) { 128 o.ctDrillDown("goTop", i); 129 return 130 } 131 if (!n.closest("li").hasClass(l.expandableClass)) { 132 o.ctDrillDown("goTo", n.closest("li." + l.expandableClass).find(">a"), i); 133 return 134 } 135 var c = r.apply(o, [n]); 136 var h = f.length; 137 var p = new Array; 138 for (var d = 0; d < c.length; d++) { 139 if (h < d) { 140 p = c.slice(d, c.length); 141 break 142 } 143 if (c[d] != f[d]) { 144 var v = f.length - d; 145 for (var m = 0; m < v; m++) { 146 u.apply(o, [i]) 147 } 148 p = c.slice(d, c.length); 149 break 150 } 151 } 152 if (c.length < f.length && p.length == 0) { 153 var v = f.length - c.length; 154 for (var m = 0; m < v; m++) { 155 u.apply(o, [i]) 156 } 157 } 158 s.apply(o, [p, i]); 159 o.dequeue(t); 160 return 161 }) 162 }, 163 goTop: function (n) { 164 return this.each(function () { 165 var r = e(this), 166 i = r.data(t); 167 if (n == undefined) { 168 n = true 169 } 170 r.ctDrillDown("goUp", i.path.length, n) 171 }) 172 }, 173 goUp: function (n, r) { 174 if (r == undefined) { 175 r = true 176 } 177 return this.each(function () { 178 if (n == 0) { 179 return 180 } 181 var i = e(this); 182 for (var s = 0; s < n; s++) { 183 u.apply(i, [r]) 184 } 185 i.dequeue(t); 186 return 187 }) 188 }, 189 option: function (n, r) { 190 if (typeof n === "string") { 191 if (r === undefined) { 192 var i = e(this), 193 s = i.data(t); 194 return s.options[n] 195 } else { 196 var i = e(this), 197 s = i.data(t); 198 s.options[n] = r; 199 i.data(t, s); 200 return this 201 } 202 } 203 }, 204 search: function (n, r, i) { 205 if (n == "") { 206 return new Array 207 } 208 if (r == undefined) { 209 r = true 210 } 211 if (i == undefined) { 212 i = false 213 } 214 var s = e(this), 215 o = s.data(t), 216 u = o.options, 217 a = new RegExp(n, "i"), 218 f = o.$menu; 219 var l = new Array; 220 var c = e("li > a", f); 221 c.filter("." + u.matchClass).removeClass(u.matchClass); 222 c.each(function () { 223 if (e(this).attr("groupid").match(a)) { 224 e(this).addClass(u.matchClass); 225 l.push(e(this)) 226 } 227 }); 228 if (r && l.length == 1) { 229 var h = e(l[0]).parents("li"); 230 var p; 231 if (h.length < 2) { 232 s.ctDrillDown("goTop", i) 233 } else { 234 s.ctDrillDown("goTo", e(">a", h[1]), i) 235 } 236 } 237 return l 238 },
239 searchWrapper: function (t, n, r, i) { 240 return this.each(function () { 241 var s = e(this); 242 // t.submit(function () { 243 var o = e("input[type=text]", t).val(); 244 if (o != "" && o != undefined) { 245 var u = s.ctDrillDown("search", o, r, i); 246 n.html(""); 247 if (u.length > 1) { 248 var a = e("<div></div>"); 249 e.each(u, function (e, t) { 250 var n = s.ctDrillDown("getBreadcrumbs", t); 251 var r = s.ctDrillDown("getBreadcrumbsFormatted", n, i); 252 a.append(r) 253 }); 254 n.html(a) 255 } 256 return false 257 } 258 // }) 259 }) 260 }, 261 getBreadcrumbs: function (n) { 262 var r = e(this), 263 i = r.data(t); 264 return a.apply(r, [n]) 265 }, 266 getBreadcrumbsFormatted: function (t, n) { 267 var r = e(this); 268 if (t == undefined) { 269 t = r.ctDrillDown("getBreadcrumbs") 270 } 271 if (n == undefined) { 272 n = true 273 } 274 var i = e('<div class="breadcrumbs"></div>'); 275 e.each(t, function (t, s) { 276 var o = e('<span class="breadcrumb"><img class="drilldownsepratorimg" />' + e(s).text() + "</span>").bind("click", function () { 277 r.ctDrillDown("goTo", s, n); 278 return false 279 }); 280 i.append(o).append(" ") 281 }); 282 return i 283 } 284 }; 285 var r = function (n) { 286 var r = e(this), 287 i = r.data(t), 288 s = i.options, 289 o = new Array; 290 n.parentsUntil("." + s.myClass, "li").each(function () { 291 o.push(e(this).index()) 292 }); 293 o = o.reverse(); 294 return o 295 }; 296 var i = function (n) { 297 var r = e(this), 298 i = r.data(t), 299 s = i.options, 300 o = new Array; 301 n.parentsUntil("." + s.myClass, "li").each(function () { 302 o.push(e(">a", e(this))) 303 }); 304 o = o.reverse(); 305 return o 306 }; 307 var s = function (n, r) { 308 var i = e(this), 309 u = i.data(t), 310 a = u.$menu, 311 f = u.pathNumerical, 312 l = u.path, 313 c = u.options; 314 if (n.length == 0) { 315 return 316 } 317 if (f.length == 0) { 318 o.apply(i, [e(">li:eq(" + n[0] + ")>a", a), r]) 319 } else { 320 var h = l[l.length - 1]; 321 var p = h.nextAll("ul").find(">li:eq(" + n[0] + ")>a"); 322 o.apply(i, [p, r]) 323 } 324 return s.apply(i, [n.slice(1, n.length), r]) 325 }; 326 var o = function (n, r) { 327 var i = e(this), 328 s = i.data(t), 329 o = s.options, 330 u = s.path, 331 a = s.pathNumerical; 332 var l = n.closest("ul"); 333 var p = n.nextAll("ul"); 334 o.onBeforeOpen(n); 335 var d = o.duration; 336 if (!r) { 337 d = 0 338 } 339 i.queue(t, function (e) { 340 p.show(); 341 if (o.heightAutoAdjust) { 342 c.apply(i, [p]) 343 } 344 l.animate({ 345 left: "-=" + s.offset 346 }, { 347 duration: d, 348 easing: o.easing, 349 complete: function () { 350 e() 351 } 352 }) 353 }); 354 u.push(n); 355 a.push(n.closest("li").index()); 356 if (o.useCookies) { 357 f(t, a) 358 } 359 s.path = u; 360 s.pathNumerical = a; 361 i.data(t, s); 362 o.onOpened(n); 363 i.trigger("drilldownchange", [n, true]); 364 if (o.ajaxPreloading) { 365 h.apply(i, [n]) 366 } 367 return 368 }; 369 var u = function (n) { 370 var r = e(this), 371 i = r.data(t), 372 s = i.$menu, 373 o = i.options, 374 u = i.path, 375 a = i.pathNumerical; 376 var l = u.pop();
377 if (l == null) { 378 return 379 } 380 var h = l.closest("ul"); 381 var p = l.nextAll("ul"); 382 var d = o.duration; 383 if (n == false) { 384 d = 0 385 } 386 o.onBeforeClose(l); 387 r.queue(t, function (e) { 388 h.show(); 389 h.animate({ 390 left: "+=" + i.offset 391 }, { 392 duration: d, 393 easing: o.easing, 394 complete: function () { 395 p.hide(); 396 e() 397 } 398 }); 399 if (o.heightAutoAdjust) { 400 c.apply(r, [h]) 401 } 402 }); 403 a.pop(); 404 if (o.useCookies) { 405 f(t, a) 406 } 407 i[a] = a; 408 i[u] = u; 409 r.data(t, i); 410 var v = u[u.length - 1]; 411 o.onClosed(l); 412 r.trigger("drilldownchange", [v, false]) 413 }; 414 var a = function (n) { 415 var r = e(this), 416 s = r.data(t), 417 o = s.options; 418 var u = new Array; 419 u.push(e('<span class="">' + o.startName + "</span>")); 420 var a = s.path; 421 if (n != undefined) { 422 a = i.apply(r, [n]) 423 } 424 return u.concat(a) 425 }; 426 var f = function (e, t, n) { 427 if (n) { 428 var r = new Date; 429 r.setTime(r.getTime() + n * 24 * 60 * 60 * 1e3); 430 var i = "; expires=" + r.toGMTString() 431 } else var i = ""; 432 document.cookie = e + "=" + t + i + "; path=/" 433 }; 434 var l = function (e) { 435 var t = e + "="; 436 var n = document.cookie.split(";"); 437 for (var r = 0; r < n.length; r++) { 438 var i = n[r]; 439 while (i.charAt(0) == " ") i = i.substring(1, i.length); 440 if (i.indexOf(t) == 0) return i.substring(t.length, i.length) 441 } 442 return null 443 }; 444 var c = function (n) { 445 var r = e(this), 446 i = n.data(t), 447 s; 448 if (i != undefined) { 449 s = i.height 450 } else { 451 s = n.height(); 452 i = { 453 height: s 454 }; 455 n.data(t, i) 456 } 457 r.animate({ 458 height: s 459 }, { 460 duration: 200 461 }) 462 }; 463 var h = function (n) { 464 var r = e(this), 465 i = r.data(t), 466 s = i.options; 467 n.nextAll("ul").find("li." + s.expandableClass + ">a").each(function () { 468 var t = e(this); 469 if (t.nextAll("ul").length > 0) { 470 return 471 } 472 e.ajax({ 473 type: "GET", 474 url: t.attr("href"), 475 dataType: "html", 476 success: function (e) { 477 t.after(e); 478 p.apply(r, t.nextAll("ul")) 479 } 480 }) 481 }) 482 }; 483 var p = function (n) { 484 var r = e(this), 485 i = r.data(t); 486 e(n).css("width", i.$menu.width() + "px").css("left", i.$menu.width() + "px"); 487 i.$menu = e(">ul", r); 488 r.data(t, i) 489 }; 490 var d = function (n) { 491 var r = e(this), 492 i = r.data(t), 493 s = i.path, 494 o = i.options, 495 u = i.$menu; 496 if (s.length > 0) { 497 var a = s[s.length - 1]; 498 u = a.nextAll("ul") 499 } else { 500 if (n == 37) { 501 return 502 } 503 } 504 var f = e("> li." + o.activeClass, u); 505 if (n == 37 || n == 8) { 506 r.ctDrillDown("goUp", 1); 507 f.removeClass(o.activeClass); 508 u.parent().parent("ul").find(">li:eq(0)").addClass(o.activeClass); 509 return 510 } 511 if (n == 39 || n == 13) { 512 var l = e(">a", f); 513 if (!f.hasClass(o.expandableClass)) { 514 if (n == 13 && l.length) { 515 window.location = l.attr("href") 516 } 517 return 518 } 519 if (l.length) { 520 r.ctDrillDown("goTo", l); 521 f.removeClass(o.activeClass); 522 e(">li:eq(0)", l.nextAll("ul")).addClass(o.activeClass) 523 } 524 return 525 } 526 if (n == 40) { 527 var c = f.next("li"); 528 if (f.length == 0) { 529 c = e(">li:eq(0)", u) 530 } 531 } else if (n == 38) { 532 var c = f.prev("li"); 533 if (f.length == 0) { 534 c = e(">li:last", u) 535 } 536 } 537 if (c.length > 0) { 538 f.removeClass(o.activeClass); 539 c.addClass(o.activeClass) 540 } 541 return 542 }; 543 e.fn.ctDrillDown = function (t) { 544 if (n[t]) { 545 return n[t].apply(this, Array.prototype.slice.call(arguments, 1)) 546 } else if (typeof t === "object" || !t) { 547 return n.init.apply(this, arguments) 548 } else { 549 e.error("Method " + t + " does not exist on Drill Down!") 550 } 551 }; 552 e.fn.ctDrillDown.defaults = { 553 myClass: "ctDrillDown", 554 expandableClass: "expandable", 555 onOpened: e.noop, 556 onBeforeOpen: e.noop, 557 onClosed: e.noop, 558 onBeforeClose: e.noop, 559 duration: 300, 560 easing: "linear", 561 currentClass: "current", 562 useCookies: false, 563 heightAutoAdjust: true, 564 matchClass: "match", 565 startName: "Start", 566 ajax: false, 567 ajaxPreloading: true, 568 event: "click", 569 keyboardNavigation: true, 570 activeClass: "active" 571 } 572})(jQuery)
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.