1jQuery(function () {
2    regex = new Array();
3    var typeArr = JSINFO.plugin.datapopup.registered_types.split(",");
4    for(var i=0; i < typeArr.length; ++i) {
5      regex.push(new RegExp(typeArr[i] + '$'));
6    }
7
8    var id = 0;
9
10    function show_overlay($link) {
11        if(!$link.datapopup_popup){
12            $link.datapopup_popup = dw_page.insituPopup($link, $link.datapopup_id);
13            $link.datapopup_popup.addClass('datapopup_overlay');
14            $link.datapopup_popup.load(
15                DOKU_BASE + 'lib/exe/ajax.php',
16                {
17                    call: 'plugin_datapopup',
18                    name: $link.datapopup_name,
19                    link: $link.datapopup_link,
20                }
21            );
22        }
23        $link.datapopup_popup.show();
24    }
25
26    /**
27     * Find all links to user pages
28     *
29     * Adds events and info to the links.
30     *
31     * @type {number}
32     */
33    var links = 0;
34    jQuery('div.dokuwiki a').each(function () {
35        var $link = jQuery(this);
36        var href = $link.attr('href');
37        if (!href) return;
38
39        for(var i = 0 ; i < regex.length ; ++i) {
40            var match = href.replace(/\//g, ':').match(regex[i]);
41            if (!match) continue;
42
43            $link.datapopup_name = match[1];
44            $link.datapopup_link = match[0];
45            $link.datapopup_id   = 'datapopup_'+(links++);
46
47            $link.mouseover(function () {
48                $link.datapopup_timer = window.setTimeout(
49                    function () {
50                        console.log($link.datapopup_name);
51                        show_overlay($link);
52                        $link.datapopup_timer = null;
53                    },
54                    300
55                );
56            });
57
58            $link.mouseout(function () {
59                if ($link.datapopup_timer) window.clearTimeout($link.datapopup_timer);
60                $link.datapopup_timer = null;
61            });
62        }
63
64
65    });
66});
67
68
69