// JavaScript Document 


function validateForm(theForm) {
	
	for(i=0; i<document.theForm.elements.length; i++)
{
document.theForm.elements[i].className='regular';
}

	
    var why = "";
	
	why += isEmpty(document.getElementById("firstname").value,'firstname','first name');
	why += isEmpty(document.getElementById("lastname").value,'lastname','last name');
    why += checkEmail(document.getElementById("email").value,'email','email');
    why += checkPhone(document.getElementById("phone").value,'phone','telephone');
	why += isNumber(document.getElementById("account").value,'account','account number');
	why += isNumber(document.getElementById("reading").value,'reading','meter reading');

    if (why != "") {
       //alert(why);
	   document.getElementById("errormessage").className='errormessage';
	   document.getElementById("errormessage").innerHTML=why;

       return false;
    }

return true;
}


// validate email

function checkEmail (strng, field) {
var error="";
if (strng == "") {
   error = "You didn't enter an email address.<br />";document.getElementById(field).className='error';
}

    var emailFilter=/^.+@.+\..{2,3}$/;
    if (!(emailFilter.test(strng))) { 
       error = "Please enter a valid email address.<br />";document.getElementById(field).className='error';
    }
    else {
//test email for illegal characters
       var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/
         if (strng.match(illegalChars)) {
          error = "The email address contains illegal characters.<br />";document.getElementById(field).className='error';
       }
    }
return error;    
}


// validate phone

function checkPhone (strng,field) {
var error = "";
if (strng == "") {
   error = "You didn't enter a phone number.<br />";document.getElementById(field).className='error';
}

var stripped = strng.replace(/[\(\)\.\-\ ]/g, ''); //strip out acceptable non-numeric characters
    if (isNaN(parseInt(stripped))) {
       error = "The phone number contains illegal characters.<br />";
	   	 document.getElementById(field).className='error';
  
    }
    if (!(stripped.length == 7)) {
	error = "The phone number is the wrong length. Do not include the area code.<br />";document.getElementById(field).className='error';
    } 
		if(strng.length>0){
	document.getElementById(field).value=parseInt(stripped);
	}
return error;
}


// validate for empty

function isEmpty(strng,field,propername) {

var error = "";
  if (strng.length == 0) {
     error = "Please enter the "+propername+".<br />"
	 document.getElementById(field).className='error';
	 
  }
return error;	  
}




// validate for number

function isNumber (strng,field, propername){
	var error = "";
	
if (strng.length == 0) {
     error = "Please enter the "+propername+".<br />"
	 document.getElementById(field).className='error';
	 
}
	
else if(isNaN(strng)){
	error =  "The " + propername + " is not a numeric value that was expected.<br />";document.getElementById(field).className='error';
	document.getElementById(field).className='error';
}
	return error;
}




