window.addEvent('domready', function() {
	//enquiry form
	var enquiryForm = $('frmContact');
	if (enquiryForm) {
		enquiryForm.addEvent('submit', function(evt) {
			return checkForm(evt, ['name', 'company', 'email', 'tel', 'query']);
		});
	}
	
	//enable reset buttons
	if ($('btnReset')) {
		$('btnReset').addEvent('click', function(evt, e) {
			//get parent forms
			var parent = $('btnReset');
			do {
				parent = parent.parentNode;
			}
			while (parent.tagName.toLowerCase() != 'form' && parent.tagName.toLowerCase() != 'html');
			if (parent.tagName.toLowerCase() == 'form') {
				parent.reset();
			}
		});
	}
});

function checkForm(evt, fields) {
	var errorMsg;
	var badFields = new Array();
	
	fields.each(function(e) {
		if (typeof(e) == 'object') { //set of checkboxes
			var atLeastOneSelected = false;
			for (var i = 0; i < e.fields.length; i++) {
				if ($(e.fields[i]).checked) atLeastOneSelected = true;
			}
			if (!atLeastOneSelected) {
				badFields.push({id: $(e.fields[0]).getAttribute('id'), name: e.name});
			}
		}
		if ($(e).value == '') {
			badFields.push({id: $(e).getAttribute('id'), name: $(e).getAttribute('name')});
		}
	}, badFields);
	
	var badFieldsLength = badFields.length;
	if (badFieldsLength > 0) {
		errorMsg = 'Please fill in the following fields:\n';
		for (i = 0; i < badFieldsLength; i++) {
			errorMsg += '- ' + badFields[i].name + '\n';
		}
		// damn FF bug 236791
		document.getElementById(badFields[0].id).setAttribute('autocomplete', 'off');
		document.getElementById(badFields[0].id).focus();
		document.getElementById(badFields[0].id).setAttribute('autocomplete', '');
		alert(errorMsg);
		evt.stop();
		return false;
	}
	else {
		return true;
	}
}