var xmlHttp = createXmlHttpRequestObject(); 
var j = 0;

function createXmlHttpRequestObject() 
{
  var xmlHttp;
  if(window.ActiveXObject)
  {
    try
    {
      xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    catch (e) 
    {
      xmlHttp = false;
    }
  }
  else
  {
    try 
    {
      xmlHttp = new XMLHttpRequest();
    }
    catch (e) 
    {
      xmlHttp = false;
    }
  }
  if (xmlHttp)
    return xmlHttp;
}

function process(reload)
{
    if (xmlHttp)
    {
	if (reload == true)
	    j--;
	xmlHttp.open("GET", "massloader.php?req=" + j, true);
	xmlHttp.onreadystatechange = handleServerResponse;
	xmlHttp.send(null);
    }
}

/**
 * 1 krok generowanie checkboxa, ew. koszyka jesli domena byla juz dodana do sesji
 */
function handleServerResponse() 
{
    if (xmlHttp.readyState == 4)
    {
	if (xmlHttp.status == 200)
	{
	    var xmlResponse = xmlHttp.responseXML;
	    if (!xmlResponse || !xmlResponse.documentElement)
			throw("niepoprawna struktura pliku XML\n" + xmlHttp.responseText);
	    var	rootNodeName = xmlResponse.documentElement.nodeName;
	    if (rootNodeName == "parsererror")
			throw("Niepoprawna struktura pliku XML\n" + xmlHttp.responseText);

	    xmlDoc = xmlResponse.documentElement;
//	    xmlDoc.async = false;

//	    if (xmlDoc.getElementsByTagName('tld_count')[0].firstChild.length >= 1)
//	    {
		var tld_count = xmlDoc.getElementsByTagName('tld_count')[0].firstChild.data;
		if (tld_count >= 1)
		{
		    for (k = 0; k <= tld_count; k++)
		    {
			var fieldid = xmlDoc.getElementsByTagName('fieldid')[k].firstChild.data;
			var result = xmlDoc.getElementsByTagName('result')[k].firstChild.data;
			var domain = xmlDoc.getElementsByTagName('domain')[k].firstChild.data;
			var in_cart = xmlDoc.getElementsByTagName('in_cart')[k].firstChild.data;
			var steps = xmlDoc.getElementsByTagName('steps')[k].firstChild.data;

			if (result == '100')
			{
			    document.getElementById('loader_' + fieldid).innerHTML = '<img src="img/jest.png">';
			    if (in_cart == 0)
			    {
				    document.getElementById('checkbox_'+ fieldid).checked = true;
				    document.getElementById('checkbox_' + fieldid).innerHTML = '<input id="dodaj_do_koszyka_'+ fieldid + '" type="checkbox" name="zakupy" value="' + domain + '" onclick="koszyk(\'' + domain + '\',\'0\',\'\')">';
			    }
			     else if (in_cart == 1)
			     {
				    document.getElementById('checkbox_'+ fieldid).checked = false;
				    document.getElementById('checkbox_'+ fieldid).style.display = 'none';
				    document.getElementById('cart_'+ fieldid).style.display = 'inline';
				    document.getElementById('cart_' + fieldid).innerHTML = '<a href="#' + domain + '" onclick="usun_z_koszyka(\'' + domain + '\');"><img src="img/cart.png" border="0"></a>';
			     }
			}
			else if (result == '200')
				document.getElementById('loader_' + fieldid).innerHTML = '<img src="img/niema.png">';
			else if (result == '210')
				document.getElementById('loader_' + fieldid).innerHTML = '<img src="img/stop.png">';
			else if (result == '220')
				document.getElementById('loader_' + fieldid).innerHTML = '<img src="img/stop.png">';
			else if (result == '230')
				document.getElementById('loader_' + fieldid).innerHTML = '<img src="img/stop.png">';
			else if (result == '260')
				document.getElementById('loader_' + fieldid).innerHTML = '<img src="img/timeout.png">';
			else if (result == '300')
				document.getElementById('loader_' + fieldid).innerHTML = '<img src="img/stop.png">';
			else if (fieldid == true)
				document.getElementById('loader_' + fieldid).innerHTML = '<img src="img/blad.png">';
		    }
		    j++;
		    if (j <= steps)
			setTimeout('process(false);', 0);
		}
		else
		{
		    setTimeout('process(false);', 0);
		}
	}
    }
}

function koszyk(domain)
{
    if (xmlHttp)
    {
	xmlHttp.open("GET", 'dodaj_do_koszyka.php?dodaj_do_koszyka=' + domain + '&wroc=0&tld=', true);
	xmlHttp.onreadystatechange = odpowiedz;
	xmlHttp.send(null);
    }
}

function usun_z_koszyka(domain)
{
    if (xmlHttp)
    {
	xmlHttp.open("GET", 'usun_z_koszyka.php?usun_z_koszyka=' + domain + '&wroc=0&tld=', true);
	xmlHttp.onreadystatechange = odpowiedz;
	xmlHttp.send(null);
    }
}

function odpowiedz() 
{
    if (xmlHttp.readyState == 4)
    {
	if (xmlHttp.status == 200)
	{
	   var xmlResponse = xmlHttp.responseXML;

	   if (!xmlResponse || !xmlResponse.documentElement)
		throw("niepoprawna struktura pliku XML\n" + xmlHttp.responseText);
	   var	rootNodeName = xmlResponse.documentElement.nodeName;
	   if (rootNodeName == "parsererror")
		throw("Niepoprawna struktura pliku XML\n" + xmlHttp.responseText);

	    xmlDoc = xmlResponse.documentElement;
//	    xmlDoc.async = false;
	    var action = xmlDoc.getElementsByTagName("action")[0].firstChild.data;
	    var fieldid = xmlDoc.getElementsByTagName("fieldid")[0].firstChild.data;
	    var domain = xmlDoc.getElementsByTagName("domain")[0].firstChild.data;
	    if (document.getElementById('krok0') != null)
	    {
		    document.getElementById('krok0').style.display = 'none';
		    document.getElementById('krok1').style.display = 'inline';
	    }
	    if (action == 1)
	    {
		    document.getElementById('checkbox_'+ fieldid).checked = false;
		    document.getElementById('checkbox_'+ fieldid).style.display = 'none';
		    document.getElementById('cart_'+ fieldid).style.display = 'inline';
		    document.getElementById('cart_' + fieldid).innerHTML = '<a name="' + domain + '"></a>';
		    document.getElementById('cart_' + fieldid).innerHTML = '<a href="#' + domain + '" onclick="usun_z_koszyka(\'' + domain + '\');"><img src="img/cart.png" border="0"></a>';

		    setTimeout('process(true);',0);
	    }
	    else if (action == 0)
	    {
		    document.getElementById('checkbox_'+ fieldid).style.display = 'inline';
		    document.getElementById('checkbox_' + fieldid).innerHTML = '<input id="dodaj_do_koszyka_'+ fieldid + '" type="checkbox" name="zakupy" value="' + domain + '" onclick="koszyk(\'' + domain + '\',\'0\',\'\')">';
		    document.getElementById('cart_'+ fieldid).style.display = 'none';

		    var status = xmlDoc.getElementsByTagName("status")[0].firstChild.data;

		    if (status == 0)
		    {
			    document.getElementById('krok0').style.display = 'inline';
			    document.getElementById('krok1').style.display = 'none';
		    }
		    setTimeout('process(true);',0);
	    }
	}
    }
//    else
//	setTimeout('odpowiedz();',0);
}
