// JavaScript Document
function checkform(of,required,errName,emailField)
{
	var reqfields,em,i,f,ty,cl,result;
	result = true;
	/* Changes from form example  */
	// reading all the labels and placing them in an associative 
	// array
	var labels,fieldnames;
	fieldnames=new Array();
	if(document.getElementsByTagName('label').length>0)
	{
		labels=document.getElementsByTagName('label');
		for(i=0;i<labels.length;i++)
		{
			fieldnames[labels[i].getAttribute('htmlFor')]=labels[i].firstChild.nodeValue;
		}
	}
	/*  end Changes from form example  */
	if(document.getElementById(required))
	{
		reqfields=document.getElementById(required).value.split(',');
		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='#FFFFFF';
			if(reqfields[i]==String(emailField)){
				var test = String(of[String(emailField)].value);
				if (test.match(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/)){
					of['email'].value=of[String(emailField)].value;
				}
				else{
					adderr(String(emailField),fieldnames[String(emailField)],of,emailField)
				}
			}
			if(f){
				ty=f.type.toLowerCase();
				switch(ty)
				{
					case 'text':
						if(f.value==''&&reqfields[i]!=String(emailField)){
							result = false;
							adderr(f.id,fieldnames[f.id],of),emailField
						}							
					break;
					case 'textarea':
						if(f.value==''){
							result = false;
							adderr(f.id,fieldnames[f.id],of,emailField)
						}							
					break;
					case 'checkbox':
						if(!f.checked){
							result = false;
							adderr(f.id,fieldnames[f.id],of,emailField)
						}							
					break;
				}
			}
		}
	}
	if(result == false){
		return false;
	}else{
		return true;
	}
}
function adderr(id,name,of,emailField)
{
	var se,i,nli,na,newli;
	i=document.createElement('img');
	i.src='./images/alert.gif';
	i.alt='Error';
	i.title='This field has an error!';
	i.width='12'
	i.height='12'
	i.align='right'
	if(id!=String(emailField)){
		se=document.getElementById(id);
	}else{
		se=document.getElementById(String(emailField));
	}
	se.parentNode.insertBefore(i,se)
	se.style.background='#fcc';
	if(document.getElementById('errormsg')){
		em=document.getElementById('errormsg');
		em.parentNode.removeChild(em);
	}	
	em=document.createElement('p');
	em.id='errormsg';
	em.appendChild(document.createTextNode('Please complete all fields highlighted in red.'))
/*  Changes from form example  */
	ul=document.createElement('ul');
	ul.id='errorlist';
	em.appendChild(ul);
/*  end Changes from form example  */
	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.backgroundColor='#CC0000';
	em.style.color='#FFFFFF'
	em.style.padding='5px';
	em.style.width='90%';
	em.style.styleFloat='none';
	em.style.textAlign='center';
	em.style.clear='both';
	em.style.marginLeft='auto';
	em.style.marginRight='auto';
	
}