function getSubFormElements(formname)
{
	var arElements = new Array();
	var f = document.forms[0];
	var inside = false;
	for(var i=0; i<document.forms[0].elements.length;i++)
	{
		if(f.elements[i].name == "formstart" && f.elements[i].value == formname)
		{
			inside = true;
		}
		if(f.elements[i].name == "formend" && f.elements[i].value == formname)
		{
			inside = false;
			break;
		}
		if(inside)
		{
			arElements[f.elements[i].name] = f.elements[i];	
		}
	}
	return arElements;
}

function validateNotEmpty(formname)
{
	var arElements = getSubFormElements(formname);
	if(arElements)
	{
		for (var i = 1; i < validateNotEmpty.arguments.length; i++)
		{ 			
			var elem = arElements[validateNotEmpty.arguments[i]];
			if(elem)
			{
				if(elem.value == "")
				{
					alert("Bitte " + elem.name + " angeben!");
					elem.focus();
					return false;	
				}
			}
    		}
    		return true;
    	}
	else
	{
		return true;
	}	
}


function validateElementRequired(elem)
{
	if(elem.value == "")
	{
		alert("Bitte " + elem.name + " angeben!");
		elem.focus();
		return false;	
	}	
}

function validateEmail(elem)
{
	//regex-check
	return true;
}


function validateForm(formname)
{
	var arElements = getSubFormElements(formname);
	if(arElements)
	{
		for (var i = 1; i < validateForm.arguments.length; i+=2)
		{ 	
			var elem = arElements[validateForm.arguments[i]];
			if(elem)
			{
				//typ extrahieren
				var checktype = validateForm.arguments[i+1];
				var result;
				switch(checktype)
				{
					case "email":
						result = validateEmail(elem);
						break;
					default:
						//simply required
						result = validateElementRequired(elem);
						break;					
				}
				if(result == false)
				{
					return false;	
				}
			}
    		}
    		return true;
    	}
	else
	{
		return true;
	}	
}