function v(str) {
	return 'Please enter a valid ' + str + '\n';
}

function formPrint(str) {
	return str + '\n';
}

function hasASelection(groupName) 
{ 
    var elms = document.getElementsByName(groupName); 
    for(var k=0, elm;elm=elms[k];k++) {
        if(elm.checked) { return true; } 
  	}
    return false; 
}

function displayContact() {
	objVal = $('contact');
	objVal1 = $('list');	
	if(objVal1.checked) {
		objVal.style.display = "block";
	} else {
		objVal.style.display = "none";
	}
}


function startSearch() {
	t=setTimeout("foundSearch()",3000);
}
function foundSearch() {
	objVal = $('titleDiv');
	objVal.innerHTML = "<span class='red'>Congratulations!</span><BR>We have up to 3 contractors ready to compete for your project";
	objVal2 = $('submissionDiv');
	objVal2.style.display = "";
}

function validateStart() {
	var boolReturn = true;
	var strErrMessage = '';
	objVal = $('category');
	if( objVal.value == 0 ) 
	{
	    boolReturn = false;
		strErrMessage += formPrint('Please select a Project');	
	} 
	objVal = $('zip');
	var validZ = isValidZip(objVal.value);
	if(!validZ)
	{
	  	boolReturn = false;
		strErrMessage += formPrint('Please enter a valid Zip Code');
	}
	if(!boolReturn) {
		alert(strErrMessage);
	} 
	return boolReturn;
}

function validateOptin() {
	var boolReturn = true;
	var strErrMessage = '';

	objVal = $('optin');	
	if(!isValidEmail(objVal.value))
	{
		boolReturn = false;
		strErrMessage += v('Email');
	}
	if(!boolReturn) {
		alert(strErrMessage);
	} 
	return boolReturn;
}

function validateProjectDetails() {
    var dbg = 0;
	var boolReturn = true;
	var strErrMessage = '';

	objVal = $('specifics');
	if( objVal.value == 0 ) 
	{
	    boolReturn = false;
	} 

	objVal = $('ownhome');
	if( objVal.value == 0 ) 
	{
	    boolReturn = false;
	} 
	
	objVal = $('notes');
	if( objVal.value == 0 ) 
	{
	    boolReturn = false;
	} 

	objVal = $('timeframe');
	if( objVal.value == 0 ) 
	{
	    boolReturn = false;
	} 
	
	if(!boolReturn) {
		strErrMessage = formPrint('Please enter your project details');	
		alert(strErrMessage);

	} 
	return boolReturn;
}

function validateContactInfo() {
    var dbg = 0;
	var boolReturn = true;
	var strErrMessage = '';
	var projMessage = '';

	objVal = $('specifics');
	if( objVal.value == 0 ) 
	{
	    boolReturn = false;
		projMessage = formPrint('Please enter Project Details');	
	} 

	objVal = $('specifics2');
	if( objVal.value == 0 ) 
	{
	    boolReturn = false;
		projMessage = formPrint('Please enter Project Details');	
	} 

	objVal = $('notes');
	if( objVal.value == 0 ) 
//	if(!isValidDescription(objVal.value)) 
	{
	    boolReturn = false;
		projMessage = formPrint('Please enter Project Details');	
	} 

	objVal = $('category');
	if( objVal.value == 0 ) 
	{
	    boolReturn = false;
		projMessage = formPrint('Please enter Project Details');	
	} 

	objVal = $('address');
	if(!isValidStreetAddress(objVal.value))
	{
	 	boolReturn = false;
		strErrMessage += v('Address or Cross Street');
	}

	objVal = $('first_name');
	if(!isValidFirstName(objVal.value))
	{
		boolReturn = false;
		strErrMessage += v('First Name');
	}

	objVal = $('last_name');
	if(!isValidLastName(objVal.value))
	{
		boolReturn = false;
		strErrMessage += v('Last Name');
	}

	objVal = $('phone');
	if(!isValidEntirePhone(objVal.value))
	{
		boolReturn = false;
		strErrMessage += v('Phone Number');
	}

	objVal = $('email');	
	if(!isValidEmail(objVal.value))
	{
		boolReturn = false;
		strErrMessage += v('Email');
	}

	if(!boolReturn) {
		alert(projMessage + strErrMessage);

	} 
	return boolReturn;
}



function trimString(strIn) {
	if (/^\s/.test(strIn)) { strIn = strIn.replace(/^\s{1,}/, ""); }
	if (/\s$/.test(strIn)) { strIn = strIn.replace(/\s{1,}$/, ""); }
	return strIn;
}

function getParsedPhoneStr(strIn) {
	strIn = strIn.replace(/\.|-| |\(|\)/g,"");
	return strIn;
}

function isValidEntirePhone(strPhone) {
	var bparsedStr = trimString(strPhone);
	var parsedStr = getParsedPhoneStr(bparsedStr);
	if (parsedStr.length < 10) { return false; }
	if (parsedStr.length > 17) { return false; }
	if (/^[01]/.test(parsedStr)) { return false; }
	var npa = parsedStr.substring(0,3);
	if (!isValidPhoneNPA(npa)) {
		return false;
	}
	var nxx = parsedStr.substring(3,6);
	if (!isValidPhoneNXX(nxx)) {
		return false;
	}
	return true;
}

function isValidPhoneNPA(strNPA) {
	if (strNPA.length < 3) { return false; }
	if (/[^0-9]/.test(strNPA)) { return false; }
	if (/^[01]/.test(strNPA)) { return false; }
	if ('200,222,300,333,400,444,500,555,600,666,700,777,900,999'.indexOf(strNPA) != -1) { return false; }
	return true;
}

function isValidPhoneNXX(strNXX) {
	if (strNXX.length < 3) { return false; }
	if (/[^0-9]/.test(strNXX)) { return false; }
	if (/^[01]/.test(strNXX)) { return false; }
	return true;
}

function isValidDescription(strName) {
	if(strName.length <= 2) { return false; }
	return true;
}

function isValidFirstName(strName) {
	if(strName.length <= 1) { return false; }
	if (/[^A-Za-z -]/.test(strName)) { return false; }
	return true;
}

function isValidLastName(strName) {
	if(strName.length <= 1) { return false; }
	if (/[^A-Za-z -]/.test(strName)) { return false; }
	return true;
}

function isValidNotes(notes) {
	if (notes.length < 10) { return false; }
	return true;
}

function isValidStreetAddress(strAddress) {
	if (strAddress.length < 3) { return false; }
//	if (strAddress.replace(/[^0-9]/g, "").length < 1) { return false; }
	if (strAddress.replace(/[^A-Za-z]/g, "").length < 1) { return false; }
	return true;
}

function isValidCity(strCity) {
	if (strCity.length < 2) { return false; }
	if (/[^A-Za-z -]/.test(strCity)) { return false; }
	return true;
}

function isValidZip(strZip) {
 	if(strZip.length != 5) { return false; }
	if(/[^0-9]/.test(strZip)) { return false; }
	return true;
}

function isValidEmail(strEmail) {
	if (strEmail.length < 5) { return false; }
	if (!strEmail.match(/^(([^<>()[\]\.,;:\s@"]+(\.[^<>()[\]\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/)) { return false; }
	return true;
}


