function checkform(of)
{
	var reqfields,em,i,f,ty;
	if(document.getElementById('required'))
	{
		reqfields=document.getElementById('required').value.split(',');
		if(document.getElementById('errormsg')){
			em=document.getElementById('errormsg');
			em.parentNode.removeChild(em);
		}
		for(i=0;i<reqfields.length;i++)
		{
			f=document.getElementById(reqfields[i]);
			if(f.previousSibling && /img/i.test(f.previousSibling.nodeName)){
				f.parentNode.removeChild(f.previousSibling);
			}
			f.style.background='transparent';
			if(f){
				ty=f.type.toLowerCase();
				switch(ty)
				{
					case 'text':
						if(f.value==''){adderr(f.id,of)}							
						if(f.id=='email' && !isEmailAddr(f.value)){adderr(f.id,f.id,of)}							
					break;
					case 'textarea':
						if(f.value==''){adderr(f.id,of)}							
					break;
					case 'checkbox':
						if(!f.checked){adderr(f.id,of)}							
					break;
				}
			}
			
		}
		
	}
	if(document.getElementById('errormsg'))
	{
		return false;
	}
}
function adderr(id,of)
{
	var se,i,nli,na;
	i=document.createElement('span');
	i.style.background='#ffff00';
	i.style.padding='3px';
	i.style.border='1px solid #ff0000';
	i.style.width='10px';
	i.style.margin='1px';
	i.title='Das Feld hat einen Fehler!';
	i.align='center';
	i.valign='middle';
	i.appendChild(document.createTextNode('!'));	
	se=document.getElementById(id);
	se.parentNode.insertBefore(i,se.nextSibling)
	se.style.background='#fff';
	se.style.border='1px solid #ff0000';
	if(!document.getElementById('errormsg')){
		var em=document.createElement('p');
		em.id='errormsg';
		em.appendChild(document.createTextNode('Bitte aendern Sie die Felder mit einem '))
		i=document.createElement('span');
		i.style.background='#ffff00';
		i.style.padding='3px';
		i.style.border='1px solid #ff0000';
		i.style.width='10px';
		i.align='center';
		i.valign='middle';
		i.title='Das Feld hat einen Fehler!';
		i.appendChild(document.createTextNode('!'));
		em.appendChild(i);
		for(var i=0;i<of.getElementsByTagName('input').length;i++)
		{
			if(/submit/i.test(of.getElementsByTagName('input')[i].getAttribute('type')))
			{
				var sb=of.getElementsByTagName('input')[i];
				break;
			}
		}
		em.style.border='1px solid #ff0000';
		em.style.background='#ffff00';
		em.style.padding='5px';
		em.style.margin='10px';
		em.style.width='20em';
		sb.parentNode.insertBefore(em,sb);
	}
	if(id=='email' && !isEmailAddr(document.getElementById(id).value)){
		pn=document.createElement('p');
		pn.appendChild(document.createTextNode('Ihre Mailadresse ist ungueltig.'))	
		document.getElementById('errormsg').appendChild(pn);
	}
}

function isEmailAddr(str) 
{
	return str.match(/^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/);
}
/*
function checkform(of) {
	var reqfields,em,i,f,ty;
	if(document.getElementById('required')) {
		reqfields=document.getElementById('required').value.split(',');
		if(document.getElementById('errormsg')) {
			em=document.getElementById('errormsg');
			em.parentNode.removeChild(em);
		}
		for(i=0;i<reqfields.length;i++) {
			f=document.getElementById(reqfields[i]);
			if(f.previousSibling && /img/i.test(f.previousSibling.nodeName)){
				f.parentNode.removeChild(f.previousSibling);
			}
			f.style.background='transparent';	
			if(f){
				ty=f.type.toLowerCase();
				switch(ty) {
					case 'text':
						if(f.value==''){adderr(f.id,of)}       
						if(f.id=='email' && !isEmailAddr(f.value)){ 
							adderr(f.id,fieldnames[f.id],of)
						}							
					break;
					case 'textarea':
						if(f.value==''){adderr(f.id,of)}       
					break;
					case 'checkbox':
						if(!f.checked){adderr(f.id,of)}       
					break;

				}
			}
		}
	}
	if(document.getElementById('errormsg')) {
		return false;
	}
}

function adderr(id,of) {
	var se,i,nli,na;
	i=document.createElement('div');
	i.style.border='1px solid #ff0000';
	i.style.background='#ffff00';
	i.style.width='8px';
	i.style.height='8px';
	i.style.float='left';
	se=document.getElementById(id);
	se.parentNode.insertBefore(i,se)
	se.style.background='#fcc';

	if(!document.getElementById('errormsg')){
		var em=document.createElement('div');
		em.id='errormsg';
		em.style.border='1px solid #ff0000';
		em.style.background='#ffff00';
		em.style.padding='5px';
		em.style.margin='10px';
		em.appendChild(document.createTextNode('Bitte geben Sie alle Felder ein, die mit dem folgenden Zeichen gekennzeichnet sind:'))
		i=document.createElement('div');
		i.style.border='1px solid #ff0000';
		i.style.background='#ffff00';
		i.style.width='8px';
		i.style.height='8px';
		em.appendChild(i);
		
		for(var i=0;i<of.getElementsByTagName('input').length;i++) {
			nowelm=of.getElementsByTagName('input')[i];
			if(/submit/i.test(nowelm.getAttribute('type'))) {
				var sb=nowelm;
				break;
			}
		}
		sb.parentNode.insertBefore(em,sb);
	}
	
	if(id=='email' && !isEmailAddr(document.getElementById(id).value)){
		pn=document.createElement('p');
		pn.appendChild(document.createTextNode('Your email seems to be invalid')) 
		document.getElementById('errormsg').appendChild(pn);
	}
}
function isEmailAddr(str) {
	return str.match(/^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/);
}
	*/

