	
/*****************************************************************/	
	function validate() {
		
		alertColor = "#AF2020";
		
		//loop over all labels to reset alert color
		lbls = document.getElementsByName('lblValidate');
		for(var i=0;i<lbls.length;i++){
			lbls[i].style.color="#000";
		}
		
		// standard fields
		message = '';
		if (document.getElementById('strFirstName').value == '') {
			message += '* First Name\n'
			document.getElementById('lblFirstName').style.color=alertColor;
		}
		if (document.getElementById('strLastName').value == '') {
			message += '* Last Name\n'
			document.getElementById('lblLastName').style.color=alertColor;
		}	
		if (document.getElementById('strAddress1').value == '') {
			message += '* Address 1\n'
			document.getElementById('lblAddress1').style.color=alertColor;
		}		
		if (document.getElementById('strCity').value == '') {
			message += '* City\n'
			document.getElementById('lblCity').style.color=alertColor;
		}
		if (document.getElementById('strState').value == '') {
			message += '* State\n'
			document.getElementById('lblState').style.color=alertColor;
		}
		if (document.getElementById('strZip').value == '') {
			message += '* Zip Code\n'
			document.getElementById('lblZip').style.color=alertColor;
		}
		if (document.getElementById('strPhone').value == '') {
			message += '* Phone Main\n'
			document.getElementById('lblPhone').style.color=alertColor;
		}	
		
		
		if (document.getElementById('numTypeID').value < 3) {
		// email			
			if (document.getElementById('strEmail').value == '' || !isValidEmail(document.getElementById('strEmail').value)) {
				message += '* Email\n'
				document.getElementById('lblEmail').style.color=alertColor;
			}
		} else {
		// username
			if (document.getElementById('strUsername').value == '' || !isValidEmail(document.getElementById('strUsername').value)) {
				message += '* Username - must be a valid email address\n'
				document.getElementById('lblUsername').style.color=alertColor;
			}		
		}
		
		// password validation
		if (document.getElementById('numTypeID').value >= 3) {
			if (document.getElementById('strPassword').value == '' ||document.getElementById('strPassword').value != document.getElementById('strPasswordConfirm').value ) {
				message += '* Password - does not match.\n'
				document.getElementById('lblPassword').style.color=alertColor;
				document.getElementById('lblPasswordConfirm').style.color=alertColor;
			}
		}
		
		formName = document.getElementById('frm').name;

		switch (formName) {
			case 'frmContact' :
				
				if (document.getElementById('strMessage').value == '') {
					message += '* Message to Sensiotec\n'
					document.getElementById('lblMessage').style.color=alertColor;
				}				
				break;
			case 'frmSales' :
				
				if (document.getElementById('strMessage').value == '') {
					message += '* Please specify your interest level\n'
					document.getElementById('lblMessage').style.color=alertColor;
				}				
				break;				
			default :	
				break;
		}
		
			
		if (message != '') {
			message = 'Please fill in the following fields:\n\n' + message;
			alert(message);
			return false;
		} else {
			return true;
		}
	}
	
	
/*****************************************************************/	
	function isValidEmail(str) {
	   return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
	}
	
