function chkFormular(of)
{
var reqfields,em,i,f,ty;
var err = false;
	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]);
			f.style.background='transparent';
			if(f){
				ty=f.type.toLowerCase();
				switch(ty)
				{
					case 'text':
						if(f.value=='')
						{
					    adderr(f.id,of);
							err=true;
						}					
						if(f.id=='email' && !isEmailAddr(f.value))
						{
						  adderr(f.id,of);
							err=true;
						}
						break;
					case 'textarea':
						if(f.value=='')
						{
						  adderr(f.id,of);
						  err=true;
						}		
					  break;
					case 'checkbox':
						if(!f.checked)
						{
						  adderr(f.id,of);
							err=true;
						}
              break;
				}
			}
		}
	}
	if(err)
	{
		return false;
	}
	return true;
}
	
function adderr(id,of)
{
	var se,i,nli,na;
	se=document.getElementById(id);
	se.style.background='#ffcccc';
	if(!document.getElementById('errormsg')){
		var em=document.createElement('p');
		em.id='errormsg';
		em.appendChild(document.createTextNode('Please complete all items marked in red.'))
		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.padding='5px';
		em.style.width='260px';
		em.style.color='red';
		em.style.fontWeight='bold';
		sb.parentNode.insertBefore(em,sb);
	}
	if(id=='email' && document.getElementById(id).value != '' && !isEmailAddr(document.getElementById(id).value)){
		pn=document.createElement('p');
		pn.appendChild(document.createTextNode('Please enter a valid E-Mail address.'))	
		document.getElementById('errormsg').appendChild(pn);
	}
}

function isEmailAddr(str) 
{
    return str.match(/^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/);
}
