/************************************************************************************************************
 * All that is needed to return the domain results through AJAX.
 * 
 * @param domein
 * @param retry
 * @return
 */	
    var stop = false;
    var aantal = 0;
	
	function create_http_object()
	{
		var ActiveXTypes = [
			"Microsoft.XMLHTTP",
			"MSXML2.XMLHTTP.5.0",
			"MSXML2.XMLHTTP.4.0",
			"MSXML2.XMLHTTP.3.0",
			"MSXML2.XMLHTTP"
		];

		for( var i = 0; i < ActiveXTypes.length; i++ )
		{
			try
			{
				return new ActiveXObject( ActiveXTypes[i] );
			}
			catch( e )
			{ }
		}

		try
		{
			return new XMLHttpRequest();
		}
		catch( e )
		{ }

		return false;
	}

	function make_request(url, callback_function, http_method, post_values, return_xml)
	{
		http = create_http_object();

		if(!http)
		{
			alert('Je browser ondersteunt deze feature niet.');
			return false;
		}

		http.onreadystatechange = function()
		{
			if(http.readyState == 4)
			{
				if(http.status == 200)
				{
					if(callback_function)
					{
						if(return_xml)
						{
							eval(callback_function + '(http.responseXML)');
						}
						else
						{
							eval(callback_function + '(http.responseText)');
						}
					}
				}
				else
				{
					alert('Error! (' + http.status + ')');
				}
			}
		}

		if(!post_values)
		{
			post_values = null;
		}
		if(!http_method)
		{
			http_method = "GET";
		}

		http.open(http_method, url, true);

		if(http_method == "POST")
		{
			http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		}

		http.send(post_values);
	}

	function add_message(nextone)
	{
		// onze suggestions div eerst weer even legen.
		if (nextone == 0) {
		   var suggest_div = document.getElementById('suggestions');
		   suggest_div.innerHTML = '';

		   var waiting_div = document.getElementById('waiting');
		   waiting_div.innerHTML = '\nEen moment geduld alsjeblieft...';
		   
		   var bStop = document.getElementById('stopknop');
		   bStop.style.display='inline';

		   var creaRegPart = document.getElementById('creaRegPart');
		   creaRegPart.style.display='inline';
		   
		   
		}

		
		// We gaan de post variablen string maken ^^
		var the_form = document.getElementById('search_form');
		var post_string = '';

        if (the_form.search_word.value == null || the_form.search_word.value.length == 0) {
        	waiting_div.innerHTML = 'Zoekwoord ontbreekt...';
        	alert('Vul een zoekwoord in');
            return;
        }
		
		post_string += 'word=' + the_form.search_word.value;
		post_string += '&tld=' + the_form.tld.value;
		post_string += '&s=' + nextone;
		
		make_request('speedcheck.php', 'handle_response', 'POST', post_string, true);

	}

	function handle_response(result)
	{
		// We hebben in de functie add_message() de laatste parameter op true staan, 
		// dus we krijgen XML binnen.
		var domein, res, show_dom, domain_line;
		
		var more_results = result.getElementsByTagName('next');
        var s = more_results.item(0).childNodes[0].nodeValue;
        
		var results = result.getElementsByTagName('result');
		
	    // onze suggestions div
		var suggest_div = document.getElementById('suggestions');
		
		var the_form = document.getElementById('search_form');
		var str = the_form.search_word.value;
		
		if(results.length > 0)
		{
			for(var i = 0; i < results.length; i++)
			{
				domein = results.item(i).getElementsByTagName("dom")[0].childNodes[0].nodeValue;
				res = results.item(i).getElementsByTagName("res")[0].childNodes[0].nodeValue;

				show_dom = domein.replace(str, "<b>"+str+"</b>");      // domein met opmaak.
				
				domain_line = "";
				domain_line += "<div style='width: 400px; border-top: thin solid #ABBEBE; clear: both;' name='block_" + domein + "' id='block_" + domein + "'>\n";
				domain_line += "<div class='creaWrapper'>\n";
				domain_line += "\t<div class='creaRegister' id='check_" + domein + "'><input type='checkbox' name='regDomains[]' value='" + domein + "' onclick=''/></div>\n";
				domain_line += "\t<div class='creaDomain'>www."+ show_dom + "</div>\n";
				domain_line += "\t<div class='creaAvailable' id='status_" + domein + "'><img src='http://www.webchamp.nl/widgets/accept.gif' width='16' heigth='16' alt='' />&nbsp;&nbsp;Vrij</div>\n";
				domain_line += "</div>\n</div>\n";

				suggest_div.innerHTML = domain_line + suggest_div.innerHTML;
				aantal++;  // global: aantal
			}
			
		}

		if ( s > 0  && stop != true) {  // global: stop
			var toon_aantal = document.getElementById('aantal');
			toon_aantal.innerHTML = aantal;
			
			add_message(s);
		}
		else {
		   var waiting_div = document.getElementById('waiting');
		   waiting_div.innerHTML = 'Klaar met zoeken!';
		   
		   var bStop = document.getElementById('stopknop');
		   bStop.style.display='none';
		   
		   var creaSubmit2 = document.getElementById('creaSubmit2');
		   creaSubmit2.style.display='inline';
		   
		   
		   aantal = 0;
		   stop = false;
		}
	}
	
	
    function stopScript() {
       stop = true;   // global var stop ==> true;
	   var waiting_div = document.getElementById('waiting');
	   waiting_div.innerHTML = 'Domeinnaamchecker Onderbroken';
       
    }
/********************************************************************************************/