PageSourceSearch

https://www.icarus-creative.com/weblication/grid5/gui/scripts/wClickLogger.js

js icarus-creative.com collected 2026-10-05 07:38:53 UTC 5,328 bytes, 175 lines download raw bytes

1////////////////////////////////////////////////////////////////
2
3
4
5
6
7
8
9(function (){
10
11  var wClickLogger = function(){};
12  
13  wClickLogger.blockLeftRel = 'blockMain';
14  wClickLogger.project      = '';  
15  wClickLogger.timeLoad     = new Date();
16  wClickLogger.urlLogger    = location.href.replace(/^https?\:\/\/[^\/]+/ ,'');
17
18  wClickLogger.logClick = function(event){
19
20    if(wClickLogger.project == ''){
21      return;
22    }
23
24    var diffLeft     = document.getElementById(wClickLogger.blockLeftRel) ? document.getElementById(wClickLogger.blockLeftRel).offsetLeft : 0;
25
26    var positionX = -1;
27    var positionY = -1;
28
29    if(event.pageX){
30      positionX = event.pageX;
31      positionY = event.pageY;
32    }
33    else if(event.clientX) {
34      positionX = event.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
35      positionY = event.clientY + document.body.scrollTop + document.documentElement.scrollTop;
36    }
37
38    positionX = positionX - diffLeft;    
39
40    if(positionX > -1){
41
42      var isLink = 1;
43
44      var timeClick  = new Date();
45
46      var timeRet    = parseInt((timeClick.getTime() - wClickLogger.timeLoad.getTime()) / 1000);
47
48      var eventTarget          = null;
49      var eventTargetId        = null;
50      var eventTargetCode      = '';
51      var eventElementPos      = 0;
52      var eventPreviousSibling = null;
53      var eventLayerX          = 0;            
54      var eventLayerY          = 0;
55
56      if(event.srcElement){
57        eventTarget = event.srcElement;
58      }
59      else if(event.target){
60        eventTarget = event.target;
61      }
62      else if(eventObject.relatedTarget){
63        eventTarget = event.relatedTarget;
64      }  
65
66      try{
67        if(eventTarget){ 
68          
69          var eventTargetParentElement = eventTarget;      
70          var timeout = 16;
71          while(!eventTargetId && timeout > 0){
72            if(eventTargetParentElement.getAttribute('id') && eventTargetParentElement.getAttribute('id') != ''){
73              eventTargetId = eventTargetParentElement.getAttribute('id');
74            }
75            else{
76              eventPreviousSibling = eventTargetParentElement;
77              eventElementPos = 0;          
78              do{
79                eventPreviousSibling = eventPreviousSibling.previousSibling;
80                if(eventPreviousSibling){
81                  eventElementPos++;
82                }
83              }
84              while(eventPreviousSibling);
85              eventTargetParentElement = eventTargetParentElement.parentNode;
86              eventTargetCode += (eventTargetCode != '' ? ',' : '') + eventElementPos;
87            }
88            timeout--;
89          }  
90
91          
92          if(event.offsetX){
93            eventLayerX = event.offsetX;
94            eventLayerY = event.offsetY
95          }
96          else{
97            eventLayerX = event.offsetX ? parseInt(event.offsetX) : parseInt(event.pageX - eventTarget.offsetLeft);
98            eventLayerY = event.offsetY ? parseInt(event.offsetY) : parseInt(event.pageY - eventTarget.offsetTop);      
99
100
101
102
103
104            eventLayerY = event.pageY - eventTarget.offsetTop - wClickLogger.getOffsetAbsTop(eventTarget);
105
106
107
108
109
110
111            eventLayerX = event.pageX - eventTarget.offsetLeft - wClickLogger.getOffsetAbsLeft(eventTarget);
112
113          }                  
114        }
115      }
116      catch(e){}
117
118      var logURL = '/weblication/grid5/scripts/wClickAnalyzer.php?project=' + wClickLogger.project + '&url=' + encodeURIComponent(wClickLogger.urlLogger) + '&l=' + isLink +'&x=' + positionX + '&y=' + positionY + '&t=' + timeRet + (eventTargetId ? '&ti=' + eventTargetId + '&tc=' + eventTargetCode + '&tx=' + eventLayerX + '&ty=' + eventLayerY : '') +  '&w=' +(window.innerWidth ? window.innerWidth : document.body.clientWidth);
119
120
121      var requestObject;
122
123      if(window.XMLHttpRequest){
124        requestObject = new XMLHttpRequest();
125      }
126      else if(window.ActiveXObject){
127        requestObject = new ActiveXObject("Microsoft.XMLHTTP");
128      }  
129
130      requestObject.open("GET", logURL, true);
131      requestObject.send(null);  
132    }
133  };
134  
135  wClickLogger.getOffsetAbsTop = function(element){
136    if(typeof element !== 'object'){
137      element = document.getElementById(element);
138    }
139
140    var offsetAbs = 0;
141    var currentElement = element.offsetParent;
142    while(currentElement){
143
144      offsetAbs     += currentElement.offsetTop + (currentElement.style.borderTopWidth != '' ? + parseInt(currentElement.style.borderTopWidth) : 0);
145      currentElement = currentElement.offsetParent;
146    }
147    return offsetAbs;
148  }; 
149  
150  wClickLogger.getOffsetAbsLeft = function(element){
151
152    if(typeof element !== 'object'){
153      element = document.getElementById(element);
154    }
155
156    var offsetAbs = 0;
157    var currentElement = element.offsetParent;
158    while(currentElement){
159
160      offsetAbs     += currentElement.offsetLeft + (currentElement.style.borderLeftWidth != '' ? + parseInt(currentElement.style.borderLeftWidth) : 0);
161      currentElement = currentElement.offsetParent;
162    }
163    return offsetAbs;
164  };    
165  
166  window.wClickLogger = wClickLogger; 
167
168  if(document.addEventListener){
169    document.addEventListener("mousedown", wClickLogger.logClick, false);
170  }
171  else if(document.attachEvent){
172    document.attachEvent("onmousedown", wClickLogger.logClick);
173  }  
174
175})();

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.