var url="http://www.accessgreen.com";
var title="Access Green : Home Energy Inspections Virginia and Surrounding Areas";

	// used by add_cform in the edit section
function validateEdits(tnumr){

  var ret = true;

  for (i = 0; i < tnumr; i++){
    var n1 = "fname" + i;
    var n2 = "lname" + i;
    var n3 = "addr1" + i;
    var n4 = "city" + i;
    var n5 = "state" + i;
    var n6 = "zip" + i;
/////alert(n5);

      if (document.getElementById(n1).value == "" || 
         document.getElementById(n2).value == "" ||
	     document.getElementById(n3).value == "" ||
	     document.getElementById(n4).value == "" ||
	     document.getElementById(n5).value == "" ||
	     document.getElementById(n6).value == ""){
        ret = false;
        alert("Missing required field or fields in row " + (i + 1));
      }


  }

  return ret;

}


	// used by add_cform in the add section on top
function validateAdds(fname, lname, phone, addr1, city, state, zip){
  var ret = true;

     if (fname.value == "" || lname.value == "" || addr1.value == "" ||
	 city.value == "" || state.value == "" || zip.value == ""){

	    ret = false;
	    alert("Please fill in all required fields.");

     }

     if (ret){
       ret = formatPhone(phone);
     }


    return ret;

}



	// This function checks that each row has both
	// first and last names in the "modify" section
	// of add reviewer.
function checkF2(tnumr){

  var ret = true;
 //// alert(tnumr);


  for (i = 0; i < tnumr; i++){
    var n1 = "fname" + i;
    var n2 = "lname" + i;

      if (document.getElementById(n1).value == "" || 
             document.getElementById(n2).value == ""){
        ret = false;
        alert("First and last name required in row " + (i + 1));
      }

  ///  alert(document.getElementById(n1).value + "  " + document.getElementById(n2).value);
  }

  return ret;

}

	// This function checks that first and last name
	// are present in the "add" section of add reviewer.
function checkF1( fname, lname){
  if (lname.value == "" || fname.value == ""){
      alert("You must fill out the name fields.");
      return false;
  }
  else
      return true;
}

function validateSome(email, Phone, AltPhone){

  var ret1;
  var ret2;
  var ret3;


  ret1 = validate_email(email, "Not a valid e-mail address!");
  ret2 = formatPhone(Phone);
  ret3 = formatAltPhone(AltPhone);



   return (ret1 && ret2 && ret3);

}


	// Used by custenter to make sure 
	// required fields are filled in.
	// All vals are hardcoded to custenter.
function validateAll(lname, addr1, city, state, zip, phone){

  var ret1;
  var ret2;
  var ret3;
  var ret4;
  var ret5;
  var ret6;

	if (document.getElementById('CLName').value == ""){
	   alert("Last name is required.");
	   ret1 = false;
	}
	else
	   ret1 = true;

	if (document.getElementById('StreetAddress1').value == ""){
	   alert("Street address is required.");
	   ret2 = false;
	}
	else
	   ret2 = true;

	if (document.getElementById('City').value == ""){
	   alert("City is required.");
	   ret3 = false;
	}
	else
	   ret3 = true;

	if (document.getElementById('State').value == ""){
	   alert("State is required.");
	   ret4 = false;
	}
	else
	   ret4 = true;

	if (document.getElementById('Zip').value == ""){
	   alert("Zip code is required.");
	   ret5 = false;
	}
	else
	   ret5 = true;


  ret6 = formatPhone(phone);




   return (ret1 && ret2 && ret3 && ret4 && ret5 && ret6);

}



function validate_email(field,alerttxt)
{
with (field)
{
apos=value.indexOf("@");
dotpos=value.lastIndexOf(".");
if 

//(apos<1||dotpos-apos<2) old way, but works
(apos<1 || dotpos-apos<2 ||(field.length - dotpos < 2))
  {alert(alerttxt);return false;}
else {return true;}
}
}

function validate_form(thisform)
{
with (thisform)
{
if (validate_email(email,"Not a valid e-mail address!")==false)
  {email.focus();return false;}
}
}


function formatAltPhone(param){

  var retvar = true;
  var fieldval = document.getElementById(param);
var userInput = fieldval.value;

var origInput = userInput;	// save a copy for later test

var myRegExp = /\D/g;



   // replace non-digits with empty str
userInput = userInput.replace(myRegExp, "");  


     myRegExp = /^\d{10}$/



      if (userInput.match(myRegExp)){

           myRegExp = /(\d{3})(\d{3})(\d{4})/

	   userInput = userInput.replace(myRegExp, "$1-$2-$3");

           fieldval.value = userInput;

      }

      else {
	  if (origInput.length != 0){
    alert("Phone number invalid. Please enter 10 digits or leave blank.");
	//    fieldval.value = "";
	    retvar = false;
	   // fieldval.focus();
	   // fieldval.select();
	  }

      }
   return retvar;
}


function formatPhone(phoneobject){

  var retvar = true;


var userInput = phoneobject.value;

var myRegExp = /\D/g;

userInput = userInput.replace(myRegExp, "")



     myRegExp = /^\d{10}$/


      if (userInput.match(myRegExp)){


           myRegExp = /(\d{3})(\d{3})(\d{4})/
//alert($1);

           userInput = userInput.replace(myRegExp, "$1-$2-$3");

           phoneobject.value = userInput;
      }
      else {

           retvar = false;

          alert("Phone number must contain 10 digits. Please reenter it.");

     }

     return retvar;

}




function ClearCustFields() {
	
	var frm = document.getElementById('form');

			

			frm.CFName.value = "";

			frm.CMInitial.value =  "";

			frm.CLName.value =  "";

			frm.email.value =  "";

			frm.Phone.value =  "";

			frm.AltPhone.value = "";

			frm.StreetAddress1.value =  "";

			frm.StreetAddress2.value =  "";

			frm.City.value =  "";

			frm.State.value = "";

			frm.Zip.value = "";

			frm.pwd.value = "";

		    frm.pwd2.value = "";

		}
		
		
		
function ClearCustFieldsLogin() {
	
	var frm = document.getElementById('form1');
			
			frm.email.value =  "";

			frm.pwd.value = "";
		}
		
		
function ClearEditFields()  {

	var frm = document.getElementById('formedit');

			frm.CFName.value = "";

			frm.CMInitial.value =  "";

			frm.CLName.value =  "";

			frm.StreetAddress1.value =  "";

			frm.StreetAddress2.value =  "";

			frm.City.value =  "";

			frm.State.value = "";

			frm.Zip.value = "";
			
			frm.Phone.value =  "";

			frm.AltPhone.value = "";
			
			frm.email.value =  "";

		}
		
		
// 750 textarea box limit
var maxLength750=750;

function charLimit750(el) {
   if (el.value.length == maxLength750){
        // allow backspace
    if (event.which == 8){
      return true;
    }
        // allow delete
    if (event.which == 127){
      return true;
    }
        // all else return false
   return false;
   }
        // OK if < maxLength
return true;
}

function characterCount750(el) {
var charCount = document.getElementById('charCount750');
if (el.value.length > maxLength750) el.value = el.value.substring(0,maxLength750);
if (charCount) charCount.innerHTML = maxLength750 - el.value.length;
return true;
}


// 250 textarea box limit
var maxLength250=250;

function charLimit250(el) {
   if (el.value.length == maxLength250){
        // allow backspace
    if (event.which == 8){
      return true;
    }
        // allow delete
    if (event.which == 127){
      return true;
    }
        // all else return false
   return false;
   }
        // OK if < maxLength
return true;
}

function characterCount250(el) {
var charCount = document.getElementById('charCount250');
if (el.value.length > maxLength250) el.value = el.value.substring(0,maxLength250);
if (charCount) charCount.innerHTML = maxLength250 - el.value.length;
return true;
}



// 160 textarea box limit
var maxLength160=160;

function charLimit160(el) {
   if (el.value.length == maxLength160){
        // allow backspace
    if (event.which == 8){
      return true;
    }
        // allow delete
    if (event.which == 127){
      return true;
    }
        // all else return false
   return false;
   }
        // OK if < maxLength
return true;
}

function characterCount160(el) {
var charCount = document.getElementById('charCount160');
if (el.value.length > maxLength160) el.value = el.value.substring(0,maxLength160);
if (charCount) charCount.innerHTML = maxLength160 - el.value.length;
return true;
}


// 260 textarea box limit
var maxLength260=260;

function charLimit260(el) {
   if (el.value.length == maxLength260){
        // allow backspace
    if (event.which == 8){
      return true;
    }
        // allow delete
    if (event.which == 127){
      return true;
    }
        // all else return false
   return false;
   }
        // OK if < maxLength
return true;
}

function characterCount260(el) {
var charCount = document.getElementById('charCount260');
if (el.value.length > maxLength260) el.value = el.value.substring(0,maxLength260);
if (charCount) charCount.innerHTML = maxLength260 - el.value.length;
return true;
}


//end of character limit functions


function testAZip(fieldval){

var userInput = fieldval.value;

var origInput = userInput;	// save a copy for later test

var myRegExp = /\D/g;



   // replace non-digits with empty str
userInput = userInput.replace(myRegExp, "");  

	// see if just five digits
   if (userInput.length == 5){
     fieldval.value = userInput;
     return true;
   }
	// see if nine digits
	// if so format and set
   if (userInput.length == 9){
      myRegExp = /(\d{5})(\d{4})/
      userInput = userInput.replace(myRegExp, "$1-$2");
      fieldval.value = userInput;
      return true;
   }

	// if it gets here they need to fix it
    alert("Zip code is 5 numbers, please re-enter");
    return false;
}

function checkPhoto(file) {
	
	var tbox = document.getElementById(file).value;

	
	var extPos = tbox.lastIndexOf(".");
	var extension = tbox.substring(extPos); 
	extension =  extension.toUpperCase();
	
		if (extension != ".JPG") {
	alert("Supported file type is '.JPG' only");
		return false;
			} 
			return true;
			}
		

function checkBLG(file) {
	
	var tbox = document.getElementById(file).value;

	
	var extPos = tbox.lastIndexOf(".");
	var extension = tbox.substring(extPos); 
	extension =  extension.toUpperCase();
	
		if (extension != ".BLG") {
	alert("Supported file type is '.BLG' only");
		return false;
			} 
			return true;
			}
	
					
function checkXLS(file) {
  var extOK = false;
	
	var tbox = document.getElementById(file).value;

	
	var extPos = tbox.lastIndexOf(".");
	var extension = tbox.substring(extPos); 
	extension =  extension.toUpperCase();
	
	if (extension != ".XLS" || extension != ".ODS")
	  extOK = true;

		if (extOK == false) {
	alert("Supported file type is '.XLS' or 'ODS' only");
		return false;
			} 
			return true;
			}

function checkDOC(file) {
	
	var tbox = document.getElementById(file).value;

	
	var extPos = tbox.lastIndexOf(".");
	var extension = tbox.substring(extPos); 
	extension =  extension.toUpperCase();
	
		if (extension != ".DOC") {
	alert("Supported file type is '.DOC' only");
		return false;
			} 
			return true;
			}
			
function checkPDF(file) {
	
	var tbox = document.getElementById(file).value;

	
	var extPos = tbox.lastIndexOf(".");
	var extension = tbox.substring(extPos); 
	extension =  extension.toUpperCase();
	
		if (extension != ".PDF") {
	alert("Supported file type is '.PDF' only");
		return false;
			} 
			return true;
			}			


function formatZip(){

  var zip9 = false;
  var zip5 = false;
  var exp5;
  var exp9;
  var retvar = true;
  var zipobject = document.getElementById("Zip");

   if (userInput == "")  // zip not required, ok if blank
       return true;


var userInput = zipobject.value;
var myRegExp = /\D/g;
userInput = userInput.replace(myRegExp, "")




     exp9 = /^\d{9}$/

     if (userInput.match(exp9))
	zip9 = true;

     if (!zip9){
       exp5 = /^\d{5}$/
	if (userInput.match(exp5))
	  zip5 = true;
     }

     if (zip5 || zip9){		// valid enter
	if (zip9){	// 9 digits
           exp9 = /(\d{5})(\d{4})/
           userInput = userInput.replace(exp9, "$1-$2");
           zipobject.value = userInput;
	}
	else{	// 5 digits
           exp5 = /(\d{5})/
           userInput = userInput.replace(exp5, "$1");
           zipobject.value = userInput;
	}
     }
     else{
       retvar = false;
          alert("Zip code must contain either 5 or 9 digits. \nPlease reenter it or leave it blank.");
     }

   return retvar;
}



function checkEmailInd(theForm){

  var estr = document.getElementById("Email").value;
  var i = 0;
  var j = 0;
  var dots = new Array();

  if (estr == ""){
     alert("Email address required.");
     return false;
  }

	// Quick check to make sure we have at least 1 @ and at least 1 .
	// Also make sure the positions are plausable and there is only one @.
  var at = estr.indexOf('@');
  var at2 = estr.lastIndexOf('@');
  var dot = estr.lastIndexOf('.');
  var len = estr.length;
  var diff = len - dot;
  

  if (at < 1 || diff < 3 || dot < at || at != at2){
    alert("Please check your email address.\nIt appears to be invalid.");
    return false;
  }


	// check for consecutive dots
  while (i < len){
    if (estr[i] == '.'){
	dots[j] = i;
	j++;
    }
    i++;
  }  

  for (i = 0; i < j; i++){
    if (i != 0){
      if (dots[i] - dots[i-1] < 2){
         alert("Invalid email address.\nAt least one occurance of ..");
	 return false;
      }
    }
  }



  var parts = estr.split("@");

	// see if local section starts or ends with .
  if (parts[0].indexOf(".") != -1){
    var dot_local = parts[0].indexOf('.');
    var dot2_local = parts[0].lastIndexOf('.');
    var lenLocal = parts[0].length;


    if (dot_local == 0 || (lenLocal - dot2_local < 2)){
	alert("Invalid email address.\nLocal section can not start or end with .");
	return false;
    }

  }


	// check for legal chars in local section
  var localRegExp = /[^a-z\d!#$%&'*+-/=?^_`{|}~]/i;
  var ret = localRegExp.test(parts[0]);

    if (ret){
       alert("There is an illegal character in the local section of your email address.");
       return false;
    }


  // domain section
  
  // check for legal length
  if (parts[1].length > 253){
     alert("Please fix the domain part. Length is too long.");
     return false;
  }

    // domain part can't start with . It would come immediatly after @
  if (parts[1][0] == "."){
     alert("There is a . right after the @\nThat is not legal in an email address.");
     return false;
  }

  var domParts = parts[1].split(".");

  var domainRegExp = /[^a-z\d-]/i;

    // final checks for legality in domain part
  for (i = 0; i < domParts.length; i++){
         // check max length of parts
     if (domParts[i].length > 63){
        alert("Please check the domain part.\nMax length exceeded.");
        return false;
     }

     if (domParts[i].length < 2){
        alert("Please check the domain part.\nMinimum length error.");
        return false;
     }

       // check for legal characters
    var ret = domainRegExp.test(domParts[i]);
     if (ret){
        alert("There is an illegal character in the domain section of your email address.");
        return false;
     }

     // domain part can't start with -
    if (domParts[i][0] == "-"){
       alert("There is a - right after a . or @ in the domain part.\nPlease correct this.");
       return false;
    }


  }


  var errors = "Please complete the following required fields:";
  var numerrors = 0;

    var fname = document.getElementById("CFName").value;

  if (fname == ""){
    errors += "\n\t- First Name";
    numerrors++;
  }

  var lname = document.getElementById("CLName").value;

  if (lname == ""){
    errors += "\n\t- Last Name";
    numerrors++;
  }

  var phone = formatAltPhone('Phone');

  if (!phone)
     return false;

  var zip = formatZip();

  if (!zip)
     return false;


  if (numerrors != 0){
    alert(errors);
    return false;
  }


  return true;
}


function gotClicked(theID){


   var pic = document.getElementById('picture');
   var mov = document.getElementById('movie');
   var sou = document.getElementById('sound');
   var sub = document.getElementById('submit');

   if (theID == "picture"){
      mov.checked = false;
      sou.checked = false;
   }

   if (theID == "movie"){
      pic.checked = false;
      sou.checked = false;
   }

   if (theID == "sound"){
      mov.checked = false;
      pic.checked = false;
   }


  if (pic.checked == true || mov.checked == true || sou.checked == true)
      sub.disabled = false;
  else
      sub.disabled = true;

}

// -->


