function validate() {
    if (!document.form1.sub1[0].checked && !document.form1.sub1[1].checked && !document.form1.sub1[2].checked && !document.form1.sub1[3].checked && !document.form1.sub1[4].checked && !document.form1.sub1[5].checked) 
	{
 	alert("At least one subject is selected."); 
	return false;
	}
	if (document.form1.sub1[5].checked && (!document.form1.sub2[0].checked && !document.form1.sub2[1].checked && !document.form1.sub2[2].checked)) 
	{
 	alert("Which category of Publishing (Magazine) would you like to know?"); 
	return false;
	}
	
	var regexps_email="^\\w+([-+.]\\w+)*@\\w+([-.]\\\\w+)*\\.\\w+([-.]\\w+)*$";
	if (document.form1.email.value.match(new RegExp(regexps_email))==null){
				alert('Please enter a valid email address.');
				document.form1.email.focus();
				return false;
	}
	if (document.form1.message.value == "") {
        alert('Please enter your message.');
        return false;
    }
return true;
}


<!--
			//If Yes, which products / services are you interested in?
			//There are 4 checkboxes that control 1)
			//Default to false, as they appeared as unchecked on first load
			var Subnodeelements = new Array(4);
			Subnodeelements[0] = false;	//PSV 2006 checkbox
			
			//Once one of the above 4 checkboxes is checked, 1) will remains checked
			//If all 4 are unchecked, then 1) will all be unchecked
			function SetFlag(obj, ei)
			{
				Subnodeelements[parseInt(ei)] = obj.checked;
			}
			//To control all the subnode checkboxes of 1) to 4)
			function CheckSelected(subnode, obj, subnodename)
			{
				var sneFlag;
				if(subnodename != "g2"){
					if(obj.checked == false){
						for(j=0;j<subnode.length;j++){
							subnode[j].checked = false;
							subnode[j].disabled = true;
						}
					}else{
						for(j=0;j<subnode.length;j++){
							subnode[j].disabled = false;
						}
					}
				}else{
					//Default to true to assume that none of the 4 checkboxes are checked.
					sneFlag = true;
					for(h=0; h<4; h++){
						if(Subnodeelements[h] == true){
							sneFlag = false;	//Set to false once ANYONE of the 4 checkbox is checked
						}
					}
					if(sneFlag){	//once all of the above 4 checkboxes is unchecked, 1) will all be set to unchecked
						for(j=0;j<subnode.length;j++){
							subnode[j].checked = false;
							subnode[j].disabled = true;
						}
					}else{
						for(j=0;j<subnode.length;j++){
							subnode[j].disabled = false;
						}
					}
				}
			}
			function disabledSubNode()
			{
				
				var csv = document.form1.sub2;
				
				for(j=0;j<csv.length;j++){
					csv[j].disabled = true;
				}
			}
		//-->