	function $(id) { return document.getElementById(id); }

	function goto(url) {
		window.location.href = url;
	}

	// Simple AJAX Alternative	
	function transfer (nameValues) {
		if (!nameValues) return;

		var form = document.createElement('form');
		form.method = 'post';

		for (varName in nameValues) {
			var input = document.createElement('input');
			input.type = 'hidden';
			input.name = varName;
			input.value = nameValues[varName];
			form.appendChild(input);
		}
		document.body.appendChild(form);
		form.submit();
	}


	function HTTP (options) {
		var url = options.url;	// required
		var after = options.after;
		var error = options.error;
		var data = "action=" + options.action + "&" + options.data;

		var HTTPcallback = function () {
			if (request.readyState == 4){ // if xmlhttp shows "loaded"
				if (request.status == 200){  // if "OK"
					if (after)
						after(request.responseText);
				}
				else if (error)
					error();
			}

		}

		if (window.XMLHttpRequest) {	// Gecko
			var request = new XMLHttpRequest();
			request.onreadystatechange = function () { HTTPcallback() };
			request.open("POST", url, true);
			request.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
			request.send(data);
		}

		else if (window.ActiveXObject) { // IE
			var request = new ActiveXObject("Microsoft.XMLHTTP");
			if (request) {
				request.onreadystatechange = function() { HTTPcallback() };
				request.open("POST", url, true);
				request.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
				request.send(data);
			}
		}
	}
