// fetch an object
function fetch(id, parent) {
	if (typeof parent == 'undefined') {
		parent = document;
	}
	if (parent.getElementById) {
		return parent.getElementById(id);
	} else if (parent.all)  {
		return parent.all[id];
	} else if (parent.layers) {
		return parent.layers[id];
	} else {
		return false;
	}
}

function get_tags(tag, parent) {
	if (typeof parent == 'undefined') {
		parent = document;
	}
	if (typeof parent.getElementsByTagName != 'undefined') {
		return parent.getElementsByTagName(tag);
	} else {
		if (parent.all && parent.all.tags) {
			return parent.all.tags(tag);
		} else {
			return new Array();
		}
	}
}

// simulate phps trim function
function trim(name) {
	name = name.replace(/\s*((\S+\s*)*)/, "$1");
	name = name.replace(/((\s*\S+)*)\s*/, "$1");
	return name;
}

function str_replace(search, replace, string) {
	return string.split(search).join(replace);
}

// do nothing :)
function do_nothing() {
}

function XMLValue(response, tagName, i, failValue) {
	if (get_tags(tagName, response).length != 0) {
		if (get_tags(tagName, response).item(i)) {
			if (get_tags(tagName, response).item(i).firstChild) {
				return get_tags(tagName, response).item(i).firstChild.data;
			} else {
				return failValue;
			}
		} else {
			return failValue;
		}
	} else {
		return failValue;
	}
}
