PageSourceSearch

https://aui.ac.ir/Dorsapax/Data/Java//SkinDesigner//Slider/ctDrillDown.min.js

js aui.ac.ir collected 2026-10-02 16:30:09 UTC 19,094 bytes, 572 lines download raw bytes

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.