var xml						= makeXML();
var el						= new Array();
var options					= new Array();
options['pagerank']			= 'PageRank';
options['alexaRank']		= 'Alexa Rank';
options['dmoz']				= 'Listed in DMOZ';
options['backlinksGoogle']	= 'Backlinks from Google';
options['backlinksYahoo']	= 'Backlinks from Yahoo';
options['backlinksMSN']		= 'Backlinks from MSN';
options['resultsAltaVista']	= 'Results from AltaVista';
options['resultsAllTheWeb']	= 'Results from All the Web';
options['thumbnail']		= 'Website Thumbnail';
function isUrl(s) {
	var regexp	= /(http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
	return regexp.test(s);
}
function makeXML () {
	if (typeof XMLHttpRequest == 'undefined') {
		objects	= Array(
			'Microsoft.XmlHttp',
			'MSXML2.XmlHttp',
			'MSXML2.XmlHttp.3.0',
			'MSXML2.XmlHttp.4.0',
			'MSXML2.XmlHttp.5.0'
		);
		for (i in objects) {
			try {
				return new ActiveXObject(objects[i]);
			} catch (e) {}
		}
	} else {
		return new XMLHttpRequest();
	}
}
function get (id) {
	return document.getElementById(id);
}
function getResults (url) {
	el['results']	= get('results');
	xml.open('get', 'getResults.php?url=' + window.encodeURI(url));
	if (! url) {
		el['results'].innerHTML = "<div id=\"error\" style=\"background-color:#FFEBE8;border:1px solid #DD3C10;color:#333333;padding:10px;font-size:13px;font-weight:bold;text-align:center;\"><table border=\"0\"><tr><td><img src=\"/images/error.png\" border=\"0\" alt=\"Error\" title=\"Error\" /></td><td align=\"left\" valign=\"top\">No required [URL] entered</td></tr></table></div>\n";
		xml.send(null);
		return;
	}
	if (! isUrl(url)) {
		el['results'].innerHTML = "<div id=\"error\" style=\"background-color:#FFEBE8;border:1px solid #DD3C10;color:#333333;padding:10px;font-size:13px;font-weight:bold;text-align:center;\"><table border=\"0\"><tr><td><img src=\"/images/error.png\" border=\"0\" alt=\"Error\" title=\"Error\" /></td><td align=\"left\" valign=\"top\">Invalid [URL] entered</td></tr></table></div>\n";
		xml.send(null);
		return;
	}
	xml.onreadystatechange = function () {
		if (xml.readyState == 4) {
			el['results'].innerHTML = '';
			if (window.ActiveXObject) {
				doc			= new ActiveXObject('Microsoft.XMLDOM');
				doc.async	= 'false';
				doc.loadXML(xml.responseText);
			} else {
				parser		= new DOMParser();
				doc			= parser.parseFromString(xml.responseText,'text/xml');
			}
			xmlDoc	= doc.documentElement;
			x		= 0;
			for (i in options) {
				x++;
				title	= options[i];
				value	= xmlDoc.getElementsByTagName(i)[0].childNodes[0].nodeValue;
				if (i == 'thumbnail') {
					value	= '<img src="http://www.shrinktheweb.com/xino.php?embed=1&stwu=1d54f&STWAccessKeyId=19891e0a34488e7&&xmax=120&ymax=90&Url=' + url + '" alt="" />';
				}
				if (i == 'dmoz') {
					if (value == '1') { value = 'Yes'; }
					else { value = 'No'; }
				}
				style	= (x % 2) ? ' style="background-color: #EEEEEE"' : '';
				el['results'].innerHTML += '<div' + style + '><span>' + value + '</span>' + title + '<b class="clear"></b></div>';
			}
		}
		else { el['results'].innerHTML = '<div>Loading...</div>'; }
	}
	xml.send(null);
}
