
//BEGIN ADD SUBSCRIBER FORM VALIDATION FUNCTION DEFINITIONS

function isInputFieldValid(string) {
   if (!string) return false;
   var iChars = "%";
   for (var i = 0; i < string.length; i++) {
      if (iChars.indexOf(string.charAt(i)) != -1)
         return false;
   }
   return true;
}

function isSelectValid(string) {
   if (string == "null")return false;
   return true;
}

function isCheckValid(string){
	if(string.checked == true)return true;
	return false;
}

function populateAddress(){
	join.eBillStreet.value = join.eBusStreet.value;
	join.eBillSuite.value = join.eBusSuite.value;
	join.eBillCity.value = join.eBusCity.value;
	join.sBillState.value = join.sBusState.value;
	join.eBillZip.value = join.eBusZip.value;
}


//END SUB-FUNCTION DEFINITIONS

//START MAIN FUNCTION FOR ADD SUBSCRIBER FORM VALIDATION
function validateCustom() {
	var state = document.quoteform.state.options[document.quoteform.state.selectedIndex].text;
	
	if( isValidFileType() == false) {
		return false;
	} else if (isValidEmail(document.quoteform.email.value) == false) {
        alert("Please enter a valid email address.");
        return false;
    } else if (isInputFieldValid(document.quoteform.name.value) == false) {
        alert("Enter your name.");
        return false;
    } else if (isInputFieldValid(document.quoteform.firm.value) == false) {
        alert("Please enter your Firm.");
        return false;
    } else if (isInputFieldValid(document.quoteform.city.value) == false) {
        alert("Please enter your city.");
        return false;
    } else if (isValidPhone(document.quoteform.phone.value) == false) {
        alert("Please enter a valid phone number.");
        return false;
    } else if (isInputFieldValid(document.quoteform.quotename.value) == false) {
        alert("Please enter your quote name.");
        return false;
    } else if (isInputFieldValid(document.quoteform.password.value) == false) {
        alert("Please enter a password.");
        return false;
	} else if (document.quoteform.password.value != document.quoteform.confirm_password.value) {
        alert("Please make sure your passwords match.");
        return false;
	} else if( state == 'Select A State' ) {
		alert('Please select your state.')
		return false
	} 
}

function validateCustomLogged() {
    if( isValidFileType() == false) {
		return false;
	} else if (isInputFieldValid(document.quoteform.quotename.value) == false) {
        alert("Please enter your quote name.");
        return false;
    }
}

function isValidEmail( emailStr ) {
	if(isInputFieldValid(emailStr) == false) {
        return false;
    } 
	var emailReg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; // not valid
	var emailReg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,6}|[0-9]{1,3})(\]?)$/; // valid
	if (!(!emailReg1.test(emailStr) && emailReg2.test(emailStr))) {// if syntax is valid
        return false;
	}
	return true;
}

function isValidPhone( phone ) {
	if(isInputFieldValid(phone) == false) {
        return false;
    } 
	phoneReg = "^(?:[\(][0-9]{3}[\)]|[0-9]{3})[-. ]?[0-9]{3}[-. ]?[0-9]{4}$";
	var regex = new RegExp(phoneReg);
	if (!regex.test(phone)) {
		return false;
	}
	return true;
}
function isValidFileType() {
	var floorplan = document.quoteform.userfile.value
	if(floorplan == '') {
		alert('Please select a floorplan to upload')
		return false
	} 
	var filetype = document.quoteform.format.options[document.quoteform.format.selectedIndex].text;

	var filename = document.quoteform.userfile.value;
	var extension = filename.substring( filename.lastIndexOf('.'), filename.length );
	//alert( extension );
	
	if( filetype == 'Select a Floorplan Format' ) {
		alert('Please specify a format for the floorplan you are uploading.')
		return false
	} else if( filetype == 'Autocad (.dwg, .dxf, .cad)' ) {
		if( ( extension != '.dwg' ) && ( extension != '.dxf' ) && ( extension != '.cad' ) ) {
			alert('The file you are uploading does not match the filetype you specified (.dwg, .dxf, .cad)')
			return false
		}
	} else if( filetype == 'Bitmap (.jpg, .jpeg, .gif, .tif, .bmp)' ) {
		if( ( extension != '.jpg' ) && ( extension != '.jpeg' ) && ( extension != '.gif' )  && ( extension != '.tif' )  && ( extension != '.bmp' ) ) {
			alert('The file you are uploading does not match the filetype you specified (.jpg, .jpeg, .gif, .tif, .bmp)')
			return false
		}
	} else if( filetype == 'PDF (.pdf)' ) {
		if( extension != '.pdf' ) {
			alert('The file you are uploading does not match the filetype you specified (.pdf)')
			return false
		}
	} else if( filetype == 'Adobe illustrator (.ai)' ) {
		if( extension != '.ai' ) {
			alert('The file you are uploading does not match the filetype you specified (.ai)')
			return false
		}
	} else if( filetype == 'Photoshop (.psd)' ) {
		if( extension != '.psd' ) {
			alert('The file you are uploading does not match the filetype you specified (.psd)')
			return false
		}
	}
	return true
}

function validateFieldsNewUser() {
	var email = document.quoteform.email.value
	var password = document.quoteform.password.value
	var confirm_password = document.quoteform.confirm_password.value
	var name = document.quoteform.name.value
	var firm = document.quoteform.firm.value
	var city = document.quoteform.city.value
	var state = document.quoteform.state.options[document.quoteform.state.selectedIndex].text;
	var quotename = document.quoteform.quotename.value
			
	if( password == '' ) {
		alert('Please enter a password');
		return false;
	} else if( name == '' ) {
		alert('Please enter a Contact Name');
		return false;			
	} else if( firm == '' ) {
		alert('Please enter a Firm');
		return false;			
	} else if( city == '' ) {
		alert('Please enter a City');
		return false;			
	} else if( quotename == '' ) {
		alert('Please enter a password');
		return false;			
	}
}
		
function validateFieldsLoggedIn() {
	var quotename = document.quoteform.quotename.value
}
				
// END MAIN FUNCTION

// ----------------------------------------------------------------------------------------------------------------------------
