function isObject(a){return (a && typeof(a) == 'object');}

function validateFPSearchForm1(){
	with(document.fpSearchForm1){
		if(isEmpty(listnum, 'MLS #', true, true)) return false;
		if(!isNumeric(listnum, 'MLS #', true, true)) return false;
	}
	return true;
}

function validateFPSearchForm2(){
	with(document.fpSearchForm2){
		if(!isSelected(minprice, 'minimum price', true, true)) return false;
		if(!isSelected(maxprice, 'maximum price', true, true)) return false;
	}
	return true;
}

function isSelected(fld, lbl, sel, popup){
	// This is a utility function for form field validation.
	//		fld = The Field
	//		lbl = The Label - if the field's selected value is 0 the label will be used in the message
	//		sel = Select It	- if the field's selected value is 0, should it be selected
	// ADDED 9/9/2004 to be able t supress popup
	//		popup = true or false - should we do the popup message
	// If the field's selected value is 0 then it will display a message and return false.
	
	var txt = fld.options[fld.selectedIndex].value;
	if(txt == 0){
		if(popup) alert('Please choose ' + lbl + '.\n\rIt is required.');
		if(sel) fld.focus();
		return false;
	}
	return true;
}

function isEmpty(fld, lbl, sel, popup){
	// This is a utility function for form field validation.
	//		fld = The Field
	//		lbl = The Label - if the field is empty the label will be used in the message
	//		sel = Select It	- if the field is empty, should it be selected
	// ADDED 9/9/2004 to be able t supress popup
	//		popup = true or false - should we do the popup message
	// If the field is empty then it will display a message and return true.
	
	var txt = fld.value.replace(/ /g, "");
	if(txt == ''){
		if(popup) alert('Please fill in ' + lbl + '.\n\rIt is required.');
		if(sel) fld.focus();
		return true;
	}
	return false;
}

function isNumeric(fld, lbl, sel, popup){
	// This is a utility function for form field validation.
	//		fld = The Field
	//		lbl = The Label - if the field is empty the label will be used in the message
	//		sel = Select It	- if the field is not a number, should it be selected
	// ADDED 9/9/2004 to be able t supress popup
	//		popup = true or false - should we do the popup message
	// If the field is not a number then it will display a message and return false.
	
	var txt = fld.value.replace(/ /g, "");
	if(isNaN(txt)){
		if(popup) alert('Only the numbers 0-9 are allowed in ' + lbl);
		if(sel) fld.focus();
		return false;
	}
	return true;
}

function isEmail(fld){
	// This is a utility function for form field validation
	// It checks an email address using a pattern matching technnique.
	//		fld = The Field
	// If the email addres doesn't match the pattern, it will display a message and return false

	var email = fld.value;
	var re = /^(\".+\"|[a-z]\w*(\.[a-z]\w*)*)@(\[\d{1,3}(\.\d{1,3}){3}]|[a-z]\w*(\.[a-z]\w*)+)$/i;
	if(!re.test(email)){
		alert('Email address is an invalid format.\n\rPlease check your spelling and try again.');
		fld.focus();
		fld.select();
		return false;
	}
	return true;
}
