var xmlhttp = getHTTPObject(); var lastPosX = 0; var lastPosY = 0; var idSession = 0; var idRequest, bMonitor; var IE = document.all?true:false var nMouseResolution = 20; function getHTTPObject() { if (typeof XMLHttpRequest != 'undefined') { return new XMLHttpRequest(); } try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } return false; } function getMouseXY() { var tempX = 0; var tempY = 0; tempX = event.clientX + document.body.scrollLeft tempY = event.clientY + document.body.scrollTop if (((lastPosX-tempX)*(lastPosX-tempX))+((lastPosY-tempY)*(lastPosY-tempY))>(nMouseResolution*nMouseResolution)) { lastPosX = tempX; lastPosY = tempY; fSendInfo(3, 'mouseTo(' + (tempX) + ',' + (tempY) + ');', ''); //fSendInfo(2, 'mousepos', '&x='+tempX+'&y='+tempY); } return true; } function fInitPage() { if (idSession == 0) { idSession = getCookie('D2SessionMonitor'); if (idSession == null) idSession = 0; retValue = fSendInfo(0, '', '&href=' + document.location.href); bMonitor = retValue.substr(0,1); idRequest = retValue.substr(1,6); if (idSession == 0) { idSession = xmlhttp.responseText.substr(7); setCookie('D2SessionMonitor', idSession); }; } if (bMonitor>=0) { window.onunload = function(){if(self.screenTop>9000)fSendInfo(3, 'doCloseBrowser()', '');}; window.onbeforeunload = function(){fSendInfo(3, 'doCloseDocument();', '');}; window.onblur = function(){fSendInfo(3, 'doBlur();', '');}; window.onfocus = function(){fSendInfo(3, 'doFocus();', '');}; } if (bMonitor>=1) { sSendPage(); window.onresize = doResizeWindow; window.onscroll = doScrollWindow; for (var i = 0;i < document.getElementsByTagName("input").length;i++) { document.getElementsByTagName("input")[i].onkeyup = getInputChanged; document.getElementsByTagName("input")[i].onchange = getInputChanged; } for (var i = 0;i < document.getElementsByTagName("textarea").length;i++) { document.getElementsByTagName("textarea")[i].onkeyup = getTextareaChanged; document.getElementsByTagName("textarea")[i].onchange = getTextareaChanged; } for (var i = 0;i < document.getElementsByTagName("select").length;i++) { document.getElementsByTagName("select")[i].onchange = getSelectChanged; } } if (bMonitor>=2) { document.onmousemove=getMouseXY; } if (bMonitor>=3) { document.onkeypress=getKeyPressed; } } function getKeyPressed() { fSendInfo(3, 'key(' + event.keyCode + ');', ''); } function fSendInfo(nCmdType, sPOST, sUrlParam) { var t = new Date(); var link="/monitor/client.asp?" link += "sid=" + idSession + "&cmd=" + nCmdType + sUrlParam + "&req=" + idRequest; if (sPOST!='') { xmlhttp.open("POST", link + '&t=' + t.getTime(), false); xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xmlhttp.send(sPOST); } else { xmlhttp.open("GET", link + '&t=' + t.getTime(), false); xmlhttp.send(sPOST); } return xmlhttp.responseText; } function getInputChanged() { var j; for (var i = 0;i < document.getElementsByTagName("input").length; i++) { if (document.getElementsByTagName("input")[i] == event.srcElement) { j = i; break; }; } fSendInfo(3, 'document.getElementsByTagName(\'input\')[' + j + '].value="' + event.srcElement.value + '";', ''); } function getTextareaChanged() { var j; for (var i = 0;i < document.getElementsByTagName("textarea").length; i++) { if (document.getElementsByTagName("textarea")[i] == event.srcElement) { j = i; break; }; } fSendInfo(3, 'document.getElementsByTagName(\'textarea\')[' + j + '].value="' + event.srcElement.value + '";', ''); } function getSelectChanged() { var j; for (var i = 0;i < document.getElementsByTagName("select").length; i++) { if (document.getElementsByTagName('select')[i] == event.srcElement) { j = i; break; }; } fSendInfo(3, 'document.getElementsByTagName(\'select\')[' + j + '].selectedIndex="' + event.srcElement.selectedIndex + '";', ''); } function sSendPage() { retValue = fSendInfo(1, '\r\n' + document.getElementsByTagName("html")[0].innerHTML, '&title=' + document.title + '&href=' + document.location.href + '&width=' + document.body.clientWidth + '&height=' + document.body.clientHeight); bMonitor = retValue.substr(0,1); idRequest = retValue.substr(1,6); doResizeWindow(); doReposWindow(); for (var i = 0;i < document.getElementsByTagName("input").length;i++) { if (document.getElementsByTagName("input")[i].type=="password") { fSendInfo(3, 'document.getElementsByTagName(\'input\')[' + i + '].value="' + document.getElementsByTagName("input")[i].value + '";', ''); }; } //fSendInfo(4, \'' + document.referrer + '\'");', ''); } function setCookie(name, value, expires, path, domain, secure) { var curCookie = name + "=" + escape(value) + ((expires) ? "; expires=" + expires.toGMTString() : "") + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + ((secure) ? "; secure" : ""); document.cookie = curCookie; } function getCookie(name) { var dc = document.cookie; var prefix = name + "="; var begin = dc.indexOf("; " + prefix); if (begin == -1) { begin = dc.indexOf(prefix); if (begin != 0) return null; } else begin += 2; var end = document.cookie.indexOf(";", begin); if (end == -1) end = dc.length; return unescape(dc.substring(begin + prefix.length, end)); } function doResizeWindow() { fSendInfo(3, 'resizeWin(' + (document.body.offsetWidth) + ',' + (document.body.offsetHeight) + ');', ''); } function doReposWindow() { fSendInfo(3, 'reposWin(' + (window.screenTop) + ',' + (window.screenLeft) + ');', ''); } function doScrollWindow() { fSendInfo(3, 'scrollTo(' + document.body.scrollLeft + ',' + document.body.scrollTop + ');', ''); } window.onload = fInitPage;