function showBlockElement(elementId) {
	displayElement(elementId, 'block');
}

function showInlineElement(elementId) {
	displayElement(elementId, 'inline');
}

function hideElement(elementId) {
	displayElement(elementId, 'none');
}

function displayElement(elementId, display) {
	var obj;
	if (document.layers) { // NN4+
		obj = document.layers[elementId];
	} else if (document.getElementById) { // gecko(NN6) + IE 5+
		obj = document.getElementById(elementId);
		if (obj) {
			obj = obj.style;
		}
	} else if (document.all) { // IE 4
		obj = document.all[elementId];
		if (obj) {
			obj = obj.style;
		}
	}
	if (obj) {
		obj.display = display;
	}
}

/**
 * Gets the content of passed url and returns it. If the response code of the
 * request is not http ok, returns null. url url where the request will be made.
 * Could be abolute or relative.
 */
function getUrlContent(url, contentType, input) {
	if (url == null || url == '') {
		return null;
	}
	var req;
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (!req) {
		return null;
	}
	req.open("POST", url, false);
	req.setRequestHeader("User-Agent", navigator.userAgent);
	if (contentType != null && contentType != '') {
		req.setRequestHeader("Content-Type", contentType);
	}
	try {
		req.send(input);
	} catch (e) {
		return e;
	}
	if (req.status) {
		if (req.status != 200) {
			return null;
		}
	}
	if (req.responseText) {
		return req.responseText;
	}
	return null;
}

function urlToInnerHtml(url, elementId) {
	var content = getUrlContent(url);
	if (content != null) {
		printToInnerHtml(content, elementId);
		return true;
	} else {
		return false;
	}
}

function printToInnerHtml(msg, elementId) {
	var obj = document.getElementById(elementId);
	if (obj != null) {
		obj.innerHTML = msg;
	} else {
		alert('Error - Element ' + elementId + ' does not exist');
	}
}
