function validate (ev) {
	var el = Event.element(ev);
	var spans = el.select('span.req');
	for (var i=0;i<spans.length;i++)  {
		
		var label = spans[i].up('label');
		if (!label) continue;
		
		var el = label.next('input[type=text], select, textarea');

		if (!el.value) {
			Event.stop(ev);
			
			var s = label.innerHTML.stripTags().toLowerCase().replace(/\s*:\s*\*\s*/g,'');
			//s = ($w('a e i o u').include(s[0])) ? 'an '+s : 'a '+s;
			if (!s.match(/^\s*your\s+/i))
				s = 'your '+s;
			alert('Please enter '+s);
			el.activate();
			return false;
		} else  if (el.name=='email' && !el.value.match(/^.+@.+\..+$/)) {
			Event.stop(ev);
			alert('Please enter a valid email address');
			el.activate();
			return false;	
		} else  if (el.name=='btype' && el.value=='Other: ') {
			Event.stop(ev);
			alert('Please enter your business type');
			el.activate();
			return false;	
		}
	}
	
}

function btypeChange (ev) {
	var el = Event.element(ev);
	
	if (el.value.indexOf('Other: ')===0) {
		$('btype_other').show();
		$('btype_other').activate();
	} else
		$('btype_other').hide();
}

function btypeOtherChange (ev) {
	var el = Event.element(ev);
	$('btype_othervalue').value = 'Other: '+el.value;
}

function init () {
	$$('form').invoke('observe','submit',validate);
	
	if ($('btype')) {
		$('btype').observe('change',btypeChange);
		$('btype_other').observe('change',btypeOtherChange);
	}
}

document.observe('dom:loaded',init);
