var ajax = xml();
var submit;
var form;
var results;
var loading;
var urls;
var template = "<div class=\"item\"><a href=\"$address\" target=\"_blank\"><div class=\"right\">$address</div>Address</a><a href=\"$pagerank_url\" target=\"_blank\"><div class=\"right\">$pagerank</div>PageRank</a><a href=\"$alexa_url\" target=\"_blank\"><div class=\"right\">$alexa</div>Alexa Rank</a><a href=\"$google_url\" target=\"_blank\"><div class=\"right\">$google</div>Google Results</a><a href=\"$yahoo_url\" target=\"_blank\"><div class=\"right\">$yahoo</div>Yahoo! Results</a><a href=\"$msn_url\" target=\"_blank\"><div class=\"right\">$msn</div>MSN Search Results</a><a href=\"$pagerank_url\" target=\"_blank\"><img src=\"images/pageranks/$pagerank.gif\" border=\"0\" /></a><div class=\"grade\"><img src=\"images/grades/$grade_url.png\" /></div></div>";
function xml () {
	if (typeof XMLHttpRequest == 'undefined') {
		objects = Array(
			'Microsoft.XmlHttp',
			'MSXML2.XmlHttp',
			'MSXML2.XmlHttp.3.0',
			'MSXML2.XmlHttp.4.0',
			'MSXML2.XmlHttp.5.0'
		);
		for (i = 0; i < objects.length; i++) {
			try {
				return new ActiveXObject(objects[i]);
			} catch (e) {}
		}
	} else {
		return new XMLHttpRequest();
	}
}
function make_xml () {
	if (navigator.appName == 'Microsoft Internet Explorer') {
		object = new ActiveXObject('Microsoft.XMLDOM');
		object.async = 'false';
		object.loadXML(ajax.responseText);
	} else {
		object = (new DOMParser()).parseFromString(ajax.responseText, 'text/xml');
	}
	return object;
}
function int (number) {
	return number.replace(',', '').replace(',', '').replace(',', '');
}
function grade () {
	expression = new RegExp(/\s/);
	if (urls.value.replace(expression, '').length > 0) {
		loading.style.display = 'block';
		form.style.display = 'none';
		results.style.display = 'none';
		ajax.open('post', 'information.php');
		ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		ajax.onreadystatechange = function () {
			if (ajax.readyState == 4) {
				xml_object = make_xml();
				results.innerHTML = '';
				items = xml_object.getElementsByTagName('result');
				for (i = 0; i < items.length; i++) {
					address = items[i].getElementsByTagName('address')[0];
					pagerank = items[i].getElementsByTagName('pagerank')[0];
					alexa = items[i].getElementsByTagName('alexa')[0];
					google = items[i].getElementsByTagName('google')[0];
					yahoo = items[i].getElementsByTagName('yahoo')[0];
					msn = items[i].getElementsByTagName('msn')[0];
					grade = items[i].getElementsByTagName('grade')[0].firstChild.data;
					_search = Array(
						'$address',
						'$pagerank_url',
						'$pagerank',
						'$alexa_url',
						'$alexa',
						'$google_url',
						'$google',
						'$yahoo_url',
						'$yahoo',
						'$msn_url',
						'$msn',
						'$grade_url'
					);
					_replace = Array(
						address.firstChild.data,
						unescape(pagerank.getAttribute('url')),
						pagerank.firstChild.data,
						unescape(alexa.getAttribute('url')),
						alexa.firstChild.data,
						unescape(google.getAttribute('url')),
						google.firstChild.data,
						unescape(yahoo.getAttribute('url')),
						yahoo.firstChild.data,
						unescape(msn.getAttribute('url')),
						msn.firstChild.data,
						grade
					);
					tmp = template;
					for (x = 0; x < _search.length; x++) {
						tmp = tmp.replace(_search[x], _replace[x]).replace(_search[x], _replace[x]).replace(_search[x], _replace[x]);
					}
					results.innerHTML += tmp;
				}
				loading.style.display = 'none';
				form.style.display = 'block';
				results.style.display = 'block';
			}
		}
		ajax.send('urls=' + urls.value);
	}
}
function load_handler () {
	submit = document.getElementById('submit');
	form = document.getElementById('form');
	results = document.getElementById('results');
	loading = document.getElementById('loading');
	urls = document.getElementById('urls');
	submit.onclick = grade;
}
window.onload = load_handler;
