function checkrequired(idx) 
{
	var pass=true; var email=true;
	if (document.images && document.forms[idx]) 
	{
		for (i=0;i<document.forms[idx].length;i++) 
		{
			var tempobj=document.forms[idx].elements[i];
			if (tempobj.name.indexOf("required_")==0) 
			{
				if (tempobj.name == "required_email")
				{
					email = emailCheck(tempobj.value);
					if (!email) 
					{
						pass=false; 
						alert("Your email address appears to be invalid. Please check it and enter your correct address.");
						tempobj.focus();
						break; 
					}
				}
        		else if  (tempobj.value=="" || (tempobj.type.indexOf("s")>-1 && tempobj.selectedIndex==0) )
				{ 	pass=false; break;	}
			}
	    }
	}
	if (email && !pass) 
	{
		shortFieldName=tempobj.name.substring(9,30).toUpperCase();
		alert("Please make sure the "+shortFieldName+" field was properly completed.");
		tempobj.focus();
	}
	else if (pass && email)
	{	
		document.forms[idx].submit();  
	}
}


// subroutine to check for valid email address
// This script and many more are available free online at 
// The JavaScript Source!! http://javascript.internet.com 

function emailCheck (emailStr) {
	var emailPat=/^(.+)@(.+)$/
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
	var validChars="\[^\\s" + specialChars + "\]"
	var quotedUser="(\"[^\"]*\")"
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	var atom=validChars + '+'
	var word="(" + atom + "|" + quotedUser + ")"
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
	var matchArray=emailStr.match(emailPat)
	if (matchArray==null) {
		return false
	}
	var user=matchArray[1]
	var domain=matchArray[2]
	if (user.match(userPat)==null) {
	    return false
	}
	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) {
		  for (var i=1;i<=4;i++) {
		    if (IPArray[i]>255) {
			return false
		    }
	    }
	    return true
	}
	var domainArray=domain.match(domainPat)
	if (domainArray==null) {
	    return false
	}
	var atomPat=new RegExp(atom,"g")
	var domArr=domain.match(atomPat)
	var len=domArr.length
	if (domArr[domArr.length-1].length<2 || 
	    domArr[domArr.length-1].length>3) {
	   return false
	}
	if (len<2) {
	   return false
	}
	return true;
}