function Validate(objForm){
  var Result = CheckRequiredFields(objForm);
  if(Result.Valid == false){
    window.alert(Result.Message);
    return false;
  }
  else{
    return true;
  }
}

function CheckRequiredFields(objForm){
  var Result = new Object();
  Result.Valid = true;
  Result.Message = '';
  
  if (objForm.elements['inpName'].value.replace(/\s+/, '') == ''){
    Result.Valid = false;
    Result.Message = 'Fields marked with a red asterisk (*) are required.\n\nPlease enter your Name.';
    objForm.elements['inpName'].focus();
    return Result;
  }
  if (objForm.elements['inpEmail'].value.replace(/\s+/, '') == ''){
    Result.Valid = false;
    Result.Message = 'Fields marked with a red asterisk (*) are required.\n\nPlease enter your email address.';
    objForm.elements['inpEmail'].focus();
    return Result;
  }
  if (ValidEmail(objForm.elements['inpEmail'].value) == false){
    Result.Valid = false;
    Result.Message = 'Your email address is improperly formatted.\n\nPlease enter a valid email address.';
    objForm.elements['inpEmail'].focus();
    return Result;
  }
  if (objForm.elements['inpAddr1'].value.replace(/\s+/, '') == ''){
    Result.Valid = false;
    Result.Message = 'Fields marked with a red asterisk (*) are required.\n\nPlease enter your street address.';
    objForm.elements['inpAddr1'].focus();
    return Result;
  }
  if (objForm.elements['inpCity'].value.replace(/\s+/, '') == ''){
    Result.Valid = false;
    Result.Message = 'Fields marked with a red asterisk (*) are required.\n\nPlease enter your City.';
    objForm.elements['inpCity'].focus();
    return Result;
  }
  if (objForm.elements['inpSate'].value.replace(/\s+/, '') == ''){
    Result.Valid = false;
    Result.Message = 'Fields marked with a red asterisk (*) are required.\n\nPlease enter your State.';
    objForm.elements['inpSate'].focus();
    return Result;
  }
  if (objForm.elements['inpZip'].value.replace(/\s+/, '') == ''){
    Result.Valid = false;
    Result.Message = 'Fields marked with a red asterisk (*) are required.\n\nPlease enter your zip code.';
    objForm.elements['inpZip'].focus();
    return Result;
  }
  if (objForm.elements['inpPhone'].value.replace(/\s+/, '') == ''){
    Result.Valid = false;
    Result.Message = 'Fields marked with a red asterisk (*) are required.\n\nPlease enter your phone number.';
    objForm.elements['inpPhone'].focus();
    return Result;
  }
  return Result;
}

function ValidEmail(EmailAddr){

  var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/;
  var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/;
  var SpecChar="!#$%^&*()'+{}[]\|:;?/><,~`" + "\"";
  var frmValue = new String(EmailAddr);
  var len = frmValue.length;

  if( len < 1 ){
    return false;
  }

  for(var i=0;i < len; i++){

    temp=frmValue.substring(i,i+1)

    if(SpecChar.indexOf(temp)!=-1){
      return false;
    }

  }

  if(!reg1.test(frmValue) && reg2.test(frmValue)){
    return true;
  }

  return false;

}