
function valid_email(address) {
	var emailreg = new RegExp("^([-!#\$%&'*+./0-9=?A-Z^_`a-z{|}])+@([-!#\$%&'*+/0-9=?A-Z^_`a-z{|}]+\\.)+[a-zA-Z]{2,6}\$");
	return address == '' ? true : emailreg.test(address);
}

function valid_phone(number) {
	//var phonereg = new RegExp(/^\+?\d[-\s\d]*\d$/);
	var phonereg = new RegExp(/(\(?\d{3}\)?)?(\-| )?\d{3}(\-| )?\d{4}/);
	return phonereg.test(number)
}

function rm_xwhite(f1) {
	// remove extra white spaces from text fields		
	for (var i=0; i < f1.elements.length; i++) {
  		if(f1.elements[i].type == 'text' || f1.elements[i].type == 'textarea')
			f1.elements[i].value = f1.elements[i].value.replace(/^\s*|\s*$/g,'').replace(/\s+/g,' ');			
	}	
	return f1;
}

function printer_friendly() {
	window.open('questionnaire-print.php','_blank','width=580,height=600,toolbar=no,menubar=no,scrollbars=yes,resize=yes');
}

function prop_window(prop_id) {
  window.open('propwindow.php?prop_id=' + prop_id ,'_blank','width=500,height=400,toolbar=no,scrollbars=yes,resize=yes');
}

var inputErr = 0;			// input error flag
var SubmitButton = false;	// Submit Button clicked flag

function showText(boxname, text, iserror) {
	if(iserror)
		document.getElementById(boxname).innerHTML = "<font color='red'>"+text+"</font>";
	else
		document.getElementById(boxname).innerHTML = text;
	if (!inputErr && iserror) inputErr = iserror;
}		

function validate_questionnaire() {
    var f1 = rm_xwhite(document.forms[0]);		
	inputErr=0;

	// show required fields
	(f1.Name.value == "") ? showText("NameErr", "*", true) : showText("NameErr", "*", false); 
	(f1.Email.value == "") ? showText("EmailErr", "*", true) : showText("EmailErr", "*", false); 
	(f1.PriceRange.value == "") ? showText("PriceRangeErr", "*", true) : showText("PriceRangeErr", "*", false); 

	// focus on first missing field
	if (f1.Name.value == "") {
		f1.Name.focus();
	}			
	else if (f1.Email.value == "") {
		f1.Email.focus();
	}
	else if (f1.PriceRange.value == "") {
		f1.PriceRange.focus();
	}		
	// alert on missing input
	if(SubmitButton && inputErr)
		alert("Please enter required information.");	
	// validate email address format
	if (!valid_email(f1.Email.value)) {
		showText("EmailFormatErr", "Please use a valid email address format.", true);
		f1.Email.focus();
 	}
	else
		showText("EmailFormatErr","", false);		

    return inputErr ? false : true;
}

function validate_contact() {
    var f1 = rm_xwhite(document.forms[0]); 
	inputErr=0;
	
	// show required fields
	(f1.name.value == "") ? showText("nameErr", "*", true) : showText("nameErr", "*", false); 
	(f1.address.value == "") ? showText("addressErr", "*", true) : showText("addressErr", "*", false); 
	(f1.message.value == "") ? showText("messageErr", "*", true) : showText("messageErr", "*", false); 	
				
	// focus on first missing field
	if (f1.name.value == "") {
		f1.name.focus();
	}								
	else if (f1.address.value == "") {
		f1.address.focus();
	}				
	else if (f1.message.value == "") {
		f1.message.focus();
	}		
	// alert on missing input
	if(SubmitButton && inputErr)
		alert("Please enter required information.");		
	// validate email address format
	if (!valid_email(f1.address.value)) {
		var msg = "Please use a valid email address format.";
		showText("EmailFormatErr", msg, true);
		f1.address.focus();
		alert(msg);
		return false;
 	}
	else
		showText("EmailFormatErr","", false);			

    return inputErr ? false : true;
}

