// JavaScript Document
// VARS FOR Email Checking
var chkDot = true;
var usEmail = true;
//END VARS
function checkPhoneWeird(phone){
	var re1 = /^(\d{10})$/;
	var re2 = /^(\d{11})$/;
	phone = cleanUp(phone);
	phone = new String(phone);
	if(phone.match(re1)){
		document.getElementById('phone').value = phone.substr(0,3) + '-' + phone.substr(3,3) + '-' + phone.substr(6,3);
	} else if (phone.match(re2)){		
		document.getElementById('phone').value = phone.substr(0,1) + '-' + phone.substr(1,3) + '-' + phone.substr(4,3) + '-' + phone.substr(7);
		return true;
	}else{
		document.getElementById('phone').value = phone.substr(0,3) + '-' + phone.substr(3,3) + '-' + phone.substr(6,3);
		return false;
	}
}
function checkZip(zip){
	
	var re = /^(\d{5})$/;
	if(zip.match(re)){ 
		return true;
	}else{
		return false;
	}
}

function checkPhone(phonenumber){
	var re = /^(\d{3})\-(\d{3})\-(\d{4})$/;
	if(phonenumber.match(re)){ 
		return true;
	}else{
		alert('Please Enter a Phone Number in this format\n xxx-xxx-xxxx');
	}
}
function checkPhoneNoAlert(phonenumber){
	var re = /^(\d{3})\-(\d{3})\-(\d{4})$/;
	if(phonenumber.match(re)){ 
		return true;
	}else{
		return false;
	}
}

function checkFName(name){
	var re = /^[a-zA-Z][a-zA-Z][a-zA-Z]/;
	if(name.match(re)){
		return true;	
	} else {
		return false;	
	}
}
function check5chars(name){
	var re = /^[a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z]/;
	if(name.match(re)){
		return true;	
	} else {
		return false;	
	}
}
function checkLName(name){
	var re = /^[a-zA-Z][a-zA-Z]/;
	if(name.match(re)){
		return true;
	} else {
		return false;	
	}
}
function checkContact(){
	var error1 = '';	
	if(!checkPhoneWeird(document.getElementById('phone').value)){
		error1 = 'Please enter a valid phone number xxx-xxx-xxxx\n';	
	}
	if(!checkFName(document.getElementById('first_name').value)){
		error1 += 'Please enter your First Name\n';	
	}
	if(!checkLName(document.getElementById('last_name').value)){
		error1 += 'Please enter your Last Name\n';	
	}
	if(document.getElementById('email').value==''){
		error1 += 'Please enter your Email Address\n';	
	}	
	if(error1){
  		alert(error1);              
		return false;
	} else {
		return true;
	}
        return false;
}

function checkProgressive(){
	var error1 = '';
	if(!checkPhoneWeird(document.getElementById('phone').value)){
		error1 = 'Please enter a valid phone number xxx-xxx-xxxx\n';	
	}	
	if(!checkFName(document.getElementById('first_name').value)){
		error1 += 'Please enter your First Name\n';	
	}
	if(!checkLName(document.getElementById('last_name').value)){
		error1 += 'Please enter your Last Name\n';	
	}
	if(!check5chars(document.getElementById('property_address').value)){
		error1 += 'Please enter your Property Address (min 5 chars) \n';	
	}	
	if(!checkFName(document.getElementById('city').value)){
		error1 += 'Please enter your City (min 3 chars) \n';	
	}
	if(document.getElementById('state').value==''){
		error1 += 'Please enter your State\n';	
	}	
	if(!checkZip(document.getElementById('zip_code').value)){
		error1 += 'Please enter your Zip Code \n';	
	}	
	if(!validEmail(document.getElementById('email').value)){
		error1 += 'Please enter a valid email \n';	
	}
	
	if(error1){
  		alert(error1);              
		return false;
	} else {
		//alert(error1); 
		return true;
	}
	alert(' Please contact our system admin'); 
    return false;	
}

function cleanUp(unclean) {
	var toKeep = "0123456789";   
	var cleaned="";
	var oneDecimalAlready=false;
	var c;
	for (var i=0; i<unclean.length; i++){
		c=unclean.charAt(i);
		if (c == '.'){
			break;
		}
		for (var j=0; j<toKeep.length; j++){
			if (c==toKeep.charAt(j)){
				cleaned=cleaned+c;
				break;
			}
		}
	}	
   return cleaned;
}

function validEmail(eAddr) 
{ 
  var lenSuffix = (usEmail) ? 4: 3;
  var goodAddr = false;
  var ndxAt = ndxDot = 0;

  ndxAt  = eAddr.indexOf("@");
  ndxDot = eAddr.indexOf(".");
  ndxDot2 = eAddr.lastIndexOf(".");

  if ( (ndxDot < 0) || (ndxAt < 0) )
  {
    return false; 
  }
  else if (chkDot && (ndxDot < ndxAt) )
  {
    return false; 
  }
  else if ( (ndxDot2 - 3) <= ndxAt)
  {
    return false; 
  }
  else if ( eAddr.length < (ndxDot2 + lenSuffix) )
  {
   return false; 
  }
  else
  {
    return true;
  }
   return false;                     
} 

