function getChildNodes(parent, tagName) {
	tagName = tagName.toLowerCase();
	var results = new Array();
	var nodes = document.getElementById(parent).childNodes;
	for (var i = 0; i < nodes.length; i++) {
		// node type ist 1, wenn es sich um ein Elementknoten handelt --> benutzt, um "Grundrauschen" rauszufiltern
		if (nodes[i].nodeType == 1 && nodes[i].nodeName.toLowerCase() == tagName)
			results.push(nodes[i]);
	}
	
	return results;
}

function selectTab(name) {
	// holt alle Divs unter tabWrapper
	var divs = getChildNodes('tabWrapper', 'div');
	for (var i = 0; i < divs.length; i++) {
		if (divs[i].id == name) {
			divs[i].className = "tab active";
		} else {
			divs[i].className = "tab";
		}
	}
}

function validateContactFormEntries(form) {
	// writing "&& result" at last is not performance optimized, but garuantees that all validations are carried out!
	result = (validateName(form.name.value) == true);
	result = ((validateEMail(form.email.value) == true) && result);
	result = ((validatePhone(form.tel.value) == true) && result);
	result = ((validateMessage(form.message.value) == true) && result);
	
	return result;
}

function validateName(value) {
	result = (value != "");
	
	document.getElementById("nameerror").className = (result == true) ? "hidden" : "error";
		
	return result;
}

function validateEMail(value) {
	result = (
		(value == "") ||
		(true)
	);
	
	document.getElementById("emailerror").className = (result == true) ? "hidden" : "error";
	
	return true;
}

function validatePhone(value) {
	return true;
}

function validateMessage(value) {
	result = (value != "");
	
	document.getElementById("messageerror").className = (result == true) ? "hidden" : "error";
	
	return result;
}