function Validate()
{
	var ErrorStr = "";
	var CheckError = "";
	var checked = false;
	var success = true;

//checkboxes
	if( document.getElementById("email").checked ) checked = true;
	if( document.getElementById("search").checked ) checked = true;
	if( document.getElementById("data").checked ) checked = true;
	if( document.getElementById("link-out").checked ) checked = true;
	if( checked == false )
	{
		CheckError += "Please select the type(s) of affiliate program(s) you would like\n";
		document.getElementById("email").style.backgroundColor = "#FF0000";
		document.getElementById("search").style.backgroundColor = "#FF0000";
		document.getElementById("data").style.backgroundColor = "#FF0000";
		document.getElementById("link-out").style.backgroundColor = "#FF0000";
		document.getElementById("email_label").style.color = "#FF0000";
		document.getElementById("search_label").style.color = "#FF0000";
		document.getElementById("data_label").style.color = "#FF0000";
		document.getElementById("link-out_label").style.color = "#FF0000";
		document.getElementById("email_label").style.fontWeight = "bold";
		document.getElementById("search_label").style.fontWeight = "bold";
		document.getElementById("data_label").style.fontWeight = "bold";
		document.getElementById("link-out_label").style.fontWeight = "bold";
		document.getElementById("checkGroupLabel").style.color = "#FF0000";
	}
	else
	{
		document.getElementById("email").style.backgroundColor = "#FFFFFF";
		document.getElementById("search").style.backgroundColor = "#FFFFFF";
		document.getElementById("data").style.backgroundColor = "#FFFFFF";
		document.getElementById("link-out").style.backgroundColor = "#FFFFFF";
		document.getElementById("email_label").style.color = "#000000";
		document.getElementById("search_label").style.color = "#000000";
		document.getElementById("data_label").style.color = "#000000";
		document.getElementById("link-out_label").style.color = "#000000";
		document.getElementById("email_label").style.fontWeight = "normal";
		document.getElementById("search_label").style.fontWeight = "normal";
		document.getElementById("data_label").style.fontWeight = "normal";
		document.getElementById("link-out_label").style.fontWeight = "normal";
		document.getElementById("checkGroupLabel").style.color = "#000000";
	}
	//clean zip
	document.getElementById("zip").value = document.getElementById("zip").value.replace(/[^0-9]+/gi,"");
	//clean phone
	document.getElementById("phone").value = document.getElementById("phone").value.replace(/[^0-9]+/gi,"");
	//clean fax
	document.getElementById("fax").value = document.getElementById("fax").value.replace(/[^0-9]+/gi,"");
	//clean revenue
	document.getElementById("revenue").value = document.getElementById("revenue").value.replace(/[^0-9]+/gi,"");


	var required_fields = new Array('contact_email','company_name','company','ownership','revenue','assets','address','city','zip','phone','contact','title','ceo');
	var required_names = new Array('Contact Email','Legal Company Name','Corporate/Company','Ownership','Annual Revenue','Media Assets (URLS)','Address','City','Zip','Phone','Contact Person','Title','CEO - First and Last Name');

	for( thing in required_fields )
	{
		if( document.getElementById(required_fields[thing]).value == "" )
		{
			ErrorStr += "-"+required_names[thing]+"\n";
			document.getElementById(required_fields[thing]+"_label").style.color = "#FF0000";
		}
		else
		{
			document.getElementById(required_fields[thing]+"_label").style.color = "#000000";
		}
	}

	if( document.getElementById("state").selectedIndex < 1 )
	{
		ErrorStr += "-State";
		document.getElementById("state_label").style.color = "#FF0000";
	}
	else
	{
		document.getElementById("state_label").style.color = "#000000";
	}

	if( CheckError != "" || ErrorStr != "" )
	{
		var echo = "";
		if( CheckError != "" )
		{
			echo += CheckError+"\n";
		}
		if( CheckError != "" && ErrorStr != "" )
		{
			echo += "-------------------------\n\n";
		}
		if( ErrorStr != "" )
		{
			echo += "The following are required fields:\n\n"+ErrorStr;
		}
		alert(echo);
		success = false;
	}

	if( success )
	{
		ErrorStr = "";
		if( document.getElementById("zip").value.length < 5 )
		{
			ErrorStr += "Zip is too short.\n";
			document.getElementById("zip_label").style.color = "#FF0000";
		}
		else
		{
			document.getElementById("zip_label").style.color = "#000000";
		}
		
		if( document.getElementById("phone").value.length != 10 || document.getElementById("fax").value.length != 10 )
		{
			if( document.getElementById("phone").value.length != 10 )
			{
				ErrorStr += "Phone number must be 10 digits.\n";
				document.getElementById("phone_label").style.color = "#FF0000";
			}
			else
			{
				document.getElementById("phone_label").style.color = "#000000";
			}
			
			if( document.getElementById("fax").value.length != 10 && document.getElementById("fax").value.length != 0 )
			{
				ErrorStr += "Fax number must be 10 digits.\n";
				document.getElementById("fax_label").style.color = "#FF0000";
			}
			else
			{
				document.getElementById("fax_label").style.color = "#000000";
			}
		}
		
		if( ErrorStr != "" )
		{
			alert(ErrorStr);
			success = false;
		}
	}

	if( success )
	{
		//return false;
		return true;
	}
	else
	{
		return false;
	}
}