var ch_url	 = "";
var ch_img   = "";
var dc_count = 1;
var dc_total = 47;
var http_request = new Array();
var arr_dcdata   = new Array();
var arr_storage  = new Array();

function makeRequest(url, i)
{
    if (window.XMLHttpRequest) // Mozilla etc.
	{
        http_request[i] = new XMLHttpRequest();
		
        if (http_request[i].overrideMimeType)
		{
            http_request[i].overrideMimeType('text/xml');
        }
    }
	else if (window.ActiveXObject) // IE
	{
        try
		{
            http_request[i] = new ActiveXObject("Msxml2.XMLHTTP");
        }
		catch (e)
		{
            try
			{
                http_request[i] = new ActiveXObject("Microsoft.XMLHTTP");
            }
			catch (e) {}
        }
    }
	
    if (!http_request[i])
	{
        return false;
    }
	
    http_request[i].onreadystatechange = handleResponse;
    http_request[i].open('GET', url, true);
    http_request[i].send(null);
		
    return true;
}

function handleResponse()
{
	 for (var i=0; i<dc_count; ++i)
	 {
        if (http_request[i] && http_request[i].readyState == 4)
		{
			arr_dcdata = (http_request[i].responseText).split("|");
			
			if (arr_dcdata[0] && arr_dcdata[0] != "code" && arr_dcdata[0] != "url")
			{				
				if (i == 0) document.getElementById('prarea').style.display = 'block';
				
				arr_storage[i] = arr_dcdata[1];
				
				if (arr_dcdata[1] >= 0)
				{
					document.getElementById(String("dc"+i)).innerHTML = '<a class="navilink" href="http://'+arr_dcdata[0]+'">'+arr_dcdata[0]+'</a>';
					document.getElementById(String("pr"+i)).innerHTML = '<img src="pics/pr/pr_'+arr_dcdata[1]+'.gif" width="52" height="7" border="0">&nbsp;&nbsp;';
				}
				else
				{
					document.getElementById(String("dc"+i)).innerHTML = arr_dcdata[0];
					document.getElementById(String("pr"+i)).innerHTML = '<img src="pics/pr/pr_'+arr_dcdata[1]+'.gif" width="52" height="7" border="0">&nbsp;&nbsp;N/A';
				}
				
				if (i == dc_count-1)
				{
					for (var j=0; j<arr_storage.length; j++)
					{
						if (j == 0)
						{
							if (arr_storage[j] >= 0) document.getElementById(String("pr"+j)).innerHTML += arr_storage[j];
						}
						else
						{
							if (arr_storage[j] > arr_storage[0]) document.getElementById(String("pr"+j)).innerHTML += arr_storage[j]+'&nbsp;&nbsp;<img src="pics/pr/pr_up.gif" width="7" height="7" border="0">';
							else if (arr_storage[j] == arr_storage[0] && arr_storage[j] >= 0) document.getElementById(String("pr"+j)).innerHTML += arr_storage[j];
							else if (arr_storage[j] < arr_storage[0] && arr_storage[j] >= 0) document.getElementById(String("pr"+j)).innerHTML += arr_storage[j]+'&nbsp;&nbsp;<img src="pics/pr/pr_down.gif" width="7" height="7" border="0">';
						}
					}
					rv();
				}
			}
			else if (arr_dcdata[0] == "code")
			{
				document.getElementById('code').style.border = "2px solid #FF0000";
				document.getElementById('prarea').style.display = 'none';
				rv();
				break;
			}
			else if (arr_dcdata[0] == "url")
			{
				document.getElementById('url').style.border = "2px solid #FF0000";
				document.getElementById('prarea').style.display = 'none';
				rv();
				document.getElementById('url').value = "http://";
				break;
			}
			else
			{
				rv();
				break;
			}
        }
    }
}

function getPageRanks()
{
	var tdc = 0;
	
	if (document.getElementById('url').disabled == false && (document.getElementById('code').value != "" && document.getElementById('url').value != "" && document.getElementById('url').value != "http://"))
	{
		showPreloadPage();
		document.getElementById('url').disabled = true;
		ch_url = document.getElementById('url').value;
		ch_img = document.getElementById('code').value;
		document.getElementById('url').value = '';
		
		for (var i=0; i<dc_total; i++)
		{
			document.getElementById(String("dc"+i)).innerHTML = 'Verbindung wird hergestellt';
			document.getElementById(String("pr"+i)).innerHTML = '...';
			
			if (i%2) document.getElementById(String("pt"+i)).style.backgroundColor = '#FFFFFF';
			else document.getElementById(String("pt"+i)).style.backgroundColor = '#F2F3F7';
			
			tdc++;
		}
		
		if (tdc == dc_total) sendRequest(ch_url,dc_total,ch_img);
	}
}

function sendRequest(url,count,img)
{
    dc_count = count;
	
    for (var i=0; i<dc_count; i++)
	{
        makeRequest('functions/getpr.php?url='+url+'&dci='+i+'&c='+img, i);
    }
}

function rv()
{
	document.getElementById('cimg').src = document.getElementById('cimg').src += "?"+(Math.ceil(Math.random()*10000000));
	document.getElementById('url').disabled = false;
	document.getElementById('url').value = ch_url;
	document.getElementById('code').value = "";
	ch_url = "";
	http_request = new Array();
	arr_dcdata	 = new Array();
	arr_storage  = new Array();
	waitPreloadPage();
	
	return true;
}

function arrayUnique(a)
{
	tmp = new Array(0);
	for(i=0; i<a.length; i++)
	{
		if(!contains(tmp,a[i]))
		{
			tmp.length += 1;
			tmp[tmp.length-1] = a[i];
		}
	}
	
	return tmp;
}

function contains(a,e)
{
	for(j=0;j<a.length;j++)
	{
		if(a[j] == e) return true;
	}
	
	return false;
}

function ASC(a,b)
{
	return a-b;
}

function DESC(a,b)
{
	return b-a;
}
