function getchecked(group) {
var grouplength = group.length;
if (grouplength == null){
if (group.checked){
return group.value;
} else {
return "";
}
}
for (var i = 0; i < grouplength; i++) {
if (group[i].checked) {
return group[i].value;
}
}
return "";
}

function ToggleField(checkname,checkvalue,fieldname){
if (getchecked(checkname) == checkvalue){
fieldname.disabled = false;
} else {
fieldname.value = "";
fieldname.disabled = true;
}
}

//////////////////////////////////////////////////
// guide                                        //
//////////////////////////////////////////////////

function validate_guide(form) {
var emailStr = form.Email.value;
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 +")*$");

if (form.Name.value == ""){
alert("Please fill out the Name field.");
	return false;
}

if (form.Address.value == ""){
alert("Please fill out the Address field.");
	return false;
}

if (form.City.value == ""){
alert("Please fill out the City field.");
	return false;
}

if (form.Prov.value == ""){
alert("Please fill out the Province/State field.");
	return false;
}

if (form.PostalCode.value == ""){
alert("Please fill out the Postal/Zip Code field.");
	return false;
}

if (form.Country.value == ""){
alert("Please fill out the Country field.");
	return false;
}

if (form.Email.value == ""){
alert("Please fill out the Email field.");
	return false;
}

var matchArray=emailStr.match(emailPat);

if (matchArray==null) {
	alert("Please enter a valid Email Address.");
	return false;
}

var user=matchArray[1];
var domain=matchArray[2];

if (user.match(userPat)==null) {
    alert("Please enter a valid Email Address.");
    return false;
}

var IPArray=domain.match(ipDomainPat)
if (IPArray!=null) {
	  for (var i=1;i<=4;i++) {
	    if (IPArray[i]>255) {
	        alert("Please enter a valid Email Address.");
		return false;
	    }
    }
}

var domainArray=domain.match(domainPat);

if (domainArray==null) {
	alert("Please enter a valid Email Address.");
    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) {
   alert("Please enter a valid Email Address.");
   return false;
}

if (len<2) {
   alert("Please enter a valid Email Address.");
   return false;
}

if (form.FoundSiteHow.value == ""){
alert("Please let us know how you found our site.");
	return false;
}

if (getchecked(form.Interests) == ""){
alert("Please let us know what areas you are interested in.");
	return false;
}

if (getchecked(form.Interests) == "Other" && form.OtherInterests.value == ""){
alert("Please specify your \"Other\" interests.");
	return false;
}

return true;

}

//////////////////////////////////////////////////
// group                                        //
//////////////////////////////////////////////////

function validate_group(form) {
var emailStr = form.Email.value;
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 +")*$");

if (getchecked(form.Receive) == ""){
alert("Please select which materials you would like to receive.");
	return false;
}

if (form.Organization.value == ""){
alert("Please fill out the Organization field.");
	return false;
}

if (form.Name.value == ""){
alert("Please fill out the Name field.");
	return false;
}

if (form.Address.value == ""){
alert("Please fill out the Address field.");
	return false;
}

if (form.City.value == ""){
alert("Please fill out the City field.");
	return false;
}

if (form.Prov.value == ""){
alert("Please fill out the Province/State field.");
	return false;
}

if (form.PostalCode.value == ""){
alert("Please fill out the Postal/Zip Code field.");
	return false;
}

if (form.Country.value == ""){
alert("Please fill out the Country field.");
	return false;
}

if (form.Phone.value == ""){
alert("Please fill out the Phone field.");
	return false;
}

if (form.Email.value == ""){
alert("Please fill out the Email field.");
	return false;
}

var matchArray=emailStr.match(emailPat);

if (matchArray==null) {
	alert("Please enter a valid Email Address.");
	return false;
}

var user=matchArray[1];
var domain=matchArray[2];

if (user.match(userPat)==null) {
    alert("Please enter a valid Email Address.");
    return false;
}

var IPArray=domain.match(ipDomainPat)
if (IPArray!=null) {
	  for (var i=1;i<=4;i++) {
	    if (IPArray[i]>255) {
	        alert("Please enter a valid Email Address.");
		return false;
	    }
    }
}

var domainArray=domain.match(domainPat);

if (domainArray==null) {
	alert("Please enter a valid Email Address.");
    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) {
   alert("Please enter a valid Email Address.");
   return false;
}

if (len<2) {
   alert("Please enter a valid Email Address.");
   return false;
}

return true;

}

//////////////////////////////////////////////////
// convention                                   //
//////////////////////////////////////////////////

function validate_convention(form) {
var emailStr = form.Email.value;
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 +")*$");

if (form.Name.value == ""){
alert("Please fill out the Name field.");
	return false;
}

if (form.Title.value == ""){
alert("Please fill out the Title field.");
	return false;
}

if (form.Organization.value == ""){
alert("Please fill out the Organization field.");
	return false;
}

if (form.Address.value == ""){
alert("Please fill out the Address field.");
	return false;
}

if (form.City.value == ""){
alert("Please fill out the City field.");
	return false;
}

if (form.Prov.value == ""){
alert("Please fill out the Province/State field.");
	return false;
}

if (form.PostalCode.value == ""){
alert("Please fill out the Postal/Zip Code field.");
	return false;
}

if (form.Phone.value == ""){
alert("Please fill out the Phone field.");
	return false;
}

if (form.Email.value == ""){
alert("Please fill out the Email field.");
	return false;
}

var matchArray=emailStr.match(emailPat);

if (matchArray==null) {
	alert("Please enter a valid Email Address.");
	return false;
}

var user=matchArray[1];
var domain=matchArray[2];

if (user.match(userPat)==null) {
    alert("Please enter a valid Email Address.");
    return false;
}

var IPArray=domain.match(ipDomainPat)
if (IPArray!=null) {
	  for (var i=1;i<=4;i++) {
	    if (IPArray[i]>255) {
	        alert("Please enter a valid Email Address.");
		return false;
	    }
    }
}

var domainArray=domain.match(domainPat);

if (domainArray==null) {
	alert("Please enter a valid Email Address.");
    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) {
   alert("Please enter a valid Email Address.");
   return false;
}

if (len<2) {
   alert("Please enter a valid Email Address.");
   return false;
}

return true;

}

//////////////////////////////////////////////////
// media                                        //
//////////////////////////////////////////////////

function validate_media(form) {
var emailStr = form.Email.value;
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 +")*$");

if (form.Name.value == ""){
alert("Please fill out the Name field.");
	return false;
}

if (form.Title.value == ""){
alert("Please fill out the Title field.");
	return false;
}

if (form.Organization.value == ""){
alert("Please fill out the Organization field.");
	return false;
}

if (form.Phone.value == ""){
alert("Please fill out the Phone field.");
	return false;
}

if (form.Email.value == ""){
alert("Please fill out the Email field.");
	return false;
}

var matchArray=emailStr.match(emailPat);

if (matchArray==null) {
	alert("Please enter a valid Email Address.");
	return false;
}

var user=matchArray[1];
var domain=matchArray[2];

if (user.match(userPat)==null) {
    alert("Please enter a valid Email Address.");
    return false;
}

var IPArray=domain.match(ipDomainPat)
if (IPArray!=null) {
	  for (var i=1;i<=4;i++) {
	    if (IPArray[i]>255) {
	        alert("Please enter a valid Email Address.");
		return false;
	    }
    }
}

var domainArray=domain.match(domainPat);

if (domainArray==null) {
	alert("Please enter a valid Email Address.");
    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) {
   alert("Please enter a valid Email Address.");
   return false;
}

if (len<2) {
   alert("Please enter a valid Email Address.");
   return false;
}

return true;

}