var qsSubmitted = false
function submitQS(f, b, c) {
	if(qsSubmitted) { return }
	if(!vQS(f, c)) { return }
	qsSubmitted = true; b.value = 'Searching...'; b.disabled = true; f.submit()
}
function qsSetHidden(f) {
	if(f.cboGenderID.selectedIndex > 0) { f.cbxGenderID.value = f.cboGenderID.options[f.cboGenderID.selectedIndex].value }
}
function vQS(f, c) {
	if(c == 158) {
		if(vMi(f.intMiles) && vPo(f.strSelPostCode)) {
			if(f.intMiles.value != '(miles)' && f.strSelPostCode.value == '(post code)' || f.intMiles.value == '(miles)' && f.strSelPostCode.value != '(post code)') {
				alert('You must specify both \'miles\' and \'post code\' or neither.')
				if(f.intMiles.value == '(miles)') { var t = f.intMiles } else {	var t = f.strSelPostCode }
				t.select(); t.focus(); return false
			}
			else {
				if(f.intMiles.value == '(miles)') { f.intMiles.value = '' }
				if(f.strSelPostCode.value == '(post code)') { f.strSelPostCode.value = '' }
				return true
			}
		}
		else {
			return false
		}
	}
	else if(c == 196) {
		if(vMi(f.intMilesUSA) && vZ(f.strSelZipCode)) {
			if(f.intMilesUSA.value != '(miles)' && f.strSelZipCode.value == '(zip code)' || f.intMilesUSA.value == '(miles)' && f.strSelZipCode.value != '(zip code)') {
				alert('You must specify both \'miles\' and \'zip code\' or neither.')
				if(f.intMilesUSA.value == '(miles)') { var t = f.intMilesUSA } else {	var t = f.strSelZipCode }
				t.select(); t.focus(); return false
			}
			else {
				if(f.intMilesUSA.value == '(miles)') { f.intMilesUSA.value = '' }
				if(f.strSelZipCode.value == '(zip code)') { f.strSelZipCode.value = '' }
				return true
			}
		}
		else {
			return false
		}	
	}
	else {
		return true
	}
}
function fMi(t) { if(t.value == '(miles)') { t.value='' } else { t.select() } }
function vMi(t) {
	if(t.value != '(miles)') { 
		if(t.value.length == 0) {
			t.value = '(miles)'
		}
		else {
			var miles = parseInt(t.value, 10)
			if(isNaN(miles)) { 
				alert('You have not specified a valid \'miles\' value.'); t.select(); t.focus(); return false
			}
			else {
				t.value = miles
				if(miles < 1 || miles > 99) { alert('Miles must be between 1 and 99'); t.select(); t.focus(); return false }
			}
		}
	}
	return true
}
function fPo(t) { if(t.value == '(post code)') { t.value='' }	else { t.select() } }
function fZ(t) { if(t.value == '(zip code)') { t.value='' }	else { t.select() } }
function vPo(t) {
	if(t.value != '(post code)') { 
		if(t.value.length == 0) {
			t.value = '(post code)'
		}
		else {
			var postCode = t.value.toUpperCase()
			if(postCode.indexOf(' ') == 0) {
				postCode = postCode.substring(1, postCode.length)
				if(postCode.length == 0) { t.value = '(post code)'; return true }
			}
			t.value = postCode
			if(!isNaN(parseInt(postCode.substr(0, 1), 10))) { alert('You have not specified a valid post code.'); t.select(); t.focus(); return false }
			if(postCode.length < 2) { alert('You have not specified a valid post code.'); t.select(); t.focus(); return false }
			if(isNaN(parseInt(postCode.substr(1, 1), 10)) && isNaN(parseInt(postCode.substr(2, 1), 10))) { alert('You have not specified a valid post code.'); t.select(); t.focus(); return false }
		}
	}
	return true
}
function vZ(t) {
	if(t.value != '(zip code)') { 
		if(t.value.length == 0) { t.value = '(zip code)' }
		else if(t.value.length != 5) { alert('You have not specified a valid zip code, (5 digits only).'); t.select(); t.focus(); return false }
		else {
			var zipCode = t.value
			for (var i = 0; i < 5; i++) {if(isNaN(parseInt(zipCode.substr(i, 1), 10))) { alert('You have not specified a valid zip code.'); t.select(); t.focus(); return false }}
		}
	}
	return true
}
