function submitform() {
    	if  (document.getElementById("sub_form").email_addr.value=='')
  			alert("Diese E-Mail-Adresse ist ungueltig!");
		else {
			if ( ((document.sub_form.email_addr.value.indexOf('@',1))==-1)
					||(document.sub_form.email_addr.value.indexOf('.',1))==-1 ) {
				alert("Diese E-Mail-Adresse ist ungueltig!");
				}
			else {
				window.open("", "formPopup", "toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,height=200,width=500,toolbar=no", true); 
				document.sub_form.target='formPopup';
				document.sub_form.submit();
			}
		}
	}	
	
		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 ){
    				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_addr' && !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;
     				/* extend as needed */
    			}
   		}
		}

		if(document.getElementById('errormsg')) {
  			return false;
 		}
   
	}
	
	
	function adderr(id,of) {
 		var se,nli,na;
		se=document.getElementById(id);
		se.parentNode.insertBefore(i,se)
		se.style.background='#fcc';
		 
 		if(!document.getElementById('errormsg')){
  			var em=document.createElement('p');
		   em.id='errormsg';
		   em.style.border='2px solid #c00';
		   em.style.padding='5px';
		   em.style.width='20em';
		   em.appendChild(document.createTextNode('Please enter 
		   or change the fields marked with a '))
		   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_addr' && 
 !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}$/);
}