var xml = make_xml();
function make_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 in objects) {
			try {
				return new ActiveXObject(objects[i]);
			} catch (e) {}
		}
	} else {
		return new XMLHttpRequest();
	}
}
function add_plugin () {
	if (typeof window.sidebar.addSearchEngine == 'function') {
		window.sidebar.addSearchEngine(root + '/plugin.src', root + '/img/favicon.png', 'URL Shortener', 'Shorten a URL!');
	} else {
		alert('This is a Mozilla FireFox Only Feature!');
	}
}
function handle_submit () {
	xml.open('post', root + '/');
	xml.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	xml.onreadystatechange = function () {
		if (xml.readyState == 4) {
			get('result').innerHTML = xml.responseText;
		} else {
			get('result').innerHTML = 'One moment please, we\'re shortening your URL!';
		}
	}
	xml.send('action=generate_url&javascript=1&url=' + window.encodeURI(get('url').value) + '&tag=' + window.encodeURI(get('tag').value));
	return false;
}
function get (id) {
	return document.getElementById(id);
}
function load_handler () {
	get('form').onsubmit = handle_submit;
	url = get('url');
	url.value = '';
	url.focus();
}
window.onload = load_handler;