/**
 * @author Kirk Ouimet
 * @website http://www.yougetsignal.com/tools/whois-lookup/
 * @copyright 2008 Kirk Ouimet Design. All rights reserved.
 */

/* AJAX request to get WHOIS lookup JSON information
–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––*/
var ajaxRequest	= new Ajax.Request('', {});
var whoisJsonData;
function whoisLookup(remoteAddress) {
	document.getElementById('results').innerHTML = "<p><img src=\"/img/loader.gif\" alt=\"Please wait...\" title=\"Please wait...\" style=\"width: 2.6875em; height: 0.6875em;\" /> Checking "+remoteAddress+". This may take a minute...</p>"	;
	ajaxRequest.transport.abort(); // Cancel the previous request
	var url = "/tools/whois-lookup/php/get-whois-lookup-json-data.php";
	new Ajax.Request(url, {
		method: 'post',
		parameters: {'remoteAddress': remoteAddress},
		onFailure: function(transport) {
			document.getElementById('results').innerHTML = "<p><img src=\"/img/flag_red.gif\" alt=\"\" style=\"height: 1em; width: 1em;\" />&nbsp;<span style=\"color: #DF454B;\">Service currently unavailable.</span></p>";
		},
		onException: function(transport) {
			document.getElementById('results').innerHTML = "<p><img src=\"/img/flag_red.gif\" alt=\"\" style=\"height: 1em; width: 1em;\" />&nbsp;<span style=\"color: #DF454B;\">Service currently unavailable.</span></p>";
		},		
		onSuccess: function(transport) {
			whoisJsonData = transport.responseText.evalJSON(); // Place the results into JSON
			if(whoisJsonData.status == "Success") { // The request was successful
				var htmlResponse = "";
				if(whoisJsonData.domainAvailable == "True") {
					htmlResponse = "<p><img src=\"/img/flag_green.gif\" alt=\"\" style=\"height: 1em; width: 1em;\" />&nbsp;" + whoisJsonData.remoteAddress + " appears to be available for registration.</p><br />";
				}
				else if(whoisJsonData.domainAvailable == "False") {
					htmlResponse = "<p><img src=\"/img/flag_red.gif\" alt=\"\" style=\"height: 1em; width: 1em;\" />&nbsp;" + whoisJsonData.remoteAddress + " does not appear to be available for registration.</p><br />";
				}
				
				htmlResponse = htmlResponse + "<span style=\"font-size: .8em;\">" + whoisJsonData.whoisData + "</span>";
				
				$('results').update(htmlResponse);
			}
			else { // There was a problem
				document.getElementById('results').innerHTML = "<p><img src=\"/img/flag_red.gif\" alt=\"\" style=\"height: 1em; width: 1em;\" />&nbsp;<span style=\"color: #DF454B;\">" + whoisJsonData.message + "</span></p>";
			}
		}
	});
}

/* Submit AJAX request using enter key
–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––*/
function submitUsingEnter(e) {
	var characterCode;
	if(e && e.which){ // If which property of event object is supported (NN4)
		e = e;
		characterCode = e.which // Character code is contained in NN4's which property
	}
	else {
		e = event;
		characterCode = e.keyCode; // Character code is contained in IE's keyCode property
	}
	
	if(characterCode == 13){ // If generated character code is equal to ASCII 13 (the enter key)
		whoisLookup(document.getElementById('remoteAddress').value);
		return false;
	}
	else {
		return true;
	}
}