



////////// SCRIPT TAKEN FROM GETACTIVE FORM PAGE ////////////
////////// EDITED validate() to include test for blank values ////////////



// BEGIN: validate-email-tld-js
function validateEmailTLD(email) {
  // Assemble the TLD array. Warn on invalid email TLD.
  var tlds = ['AC','AD','AE','AERO','AF','AG','AI','AL','AM','AN','AO','AQ','AR','ARPA','AS','AT','AU','AW','AX','AZ','BA','BB','BD','BE','BF','BG','BH','BI','BIZ','BJ','BM','BN','BO','BR','BS','BT','BV','BW','BY','BZ','CA','CAT','CC','CD','CF','CG','CH','CI','CK','CL','CM','CN','CO','COM','COOP','CR','CU','CV','CX','CY','CZ','DE','DJ','DK','DM','DO','DZ','EC','EDU','EE','EG','ER','ES','ET','EU','FI','FJ','FK','FM','FO','FR','GA','GB','GD','GE','GF','GG','GH','GI','GL','GM','GN','GOV','GP','GQ','GR','GS','GT','GU','GW','GY','HK','HM','HN','HR','HT','HU','ID','IE','IL','IM','IN','INFO','INT','IO','IQ','IR','IS','IT','JE','JM','JO','JOBS','JP','KE','KG','KH','KI','KM','KN','KR','KW','KY','KZ','LA','LB','LC','LI','LK','LR','LS','LT','LU','LV','LY','MA','MC','MD','MG','MH','MIL','MK','ML','MM','MN','MO','MOBI','MP','MQ','MR','MS','MT','MU','MUSEUM','MV','MW','MX','MY','MZ','NA','NAME','NC','NE','NET','NF','NG','NI','NL','NO','NP','NR','NU','NZ','OM','ORG','PA','PE','PF','PG','PH','PK','PL','PM','PN','PR','PRO','PS','PT','PW','PY','QA','RE','RO','RU','RW','SA','SB','SC','SD','SE','SG','SH','SI','SJ','SK','SL','SM','SN','SO','SR','ST','SU','SV','SY','SZ','TC','TD','TF','TG','TH','TJ','TK','TL','TM','TN','TO','TP','TR','TRAVEL','TT','TV','TW','TZ','UA','UG','UK','UM','US','UY','UZ','VA','VC','VE','VG','VI','VN','VU','WF','WS','YE','YT','YU','ZA','ZM','ZW'];

  if ( email != null && email != "" ) {
    var emailPattern = /^\w.*@\w.*\.[a-z]+$/i;
    if ( ! emailPattern.test(email) ) {
      alert("The email address supplied is not valid. Please check that the email address matches the format user@example.com.");
      return 0;
    }
    var examplePattern = /[.@]example\.[^.]+$/i;
    if ( examplePattern.test(email) ) {
      alert("The email address supplied is not valid. Please check that the email address matches the format user@example.com.");
      return 0;
    }

    var isValidTLD = false;
    var tldIndex = email.lastIndexOf(".")+1;
    if ( 0 < tldIndex && tldIndex < email.length ) {
      var tld = email.substr(tldIndex).toUpperCase();
      for (i=0; i<tlds.length; i++) {
        if ( tld == tlds[i] ) {
          isValidTLD = true;
          break;
        }
      }      
    }
    if ( !isValidTLD ) {
      if ( !confirm("WARNING: The email address supplied does not contain a valid top level domain such as .com or .org. Please click CANCEL to edit or OK to submit as is.") ) {
        return 0;
      }
    }
  }
  return 1;
}

// END: validate-email-tld-js

function validate() {
  var valid = true;
  f = document.editletter;
  
  // additional checks for fields:
	// email
	// first_names
	// last_name
	// ema_country

  if (!f.first_names.value) {
	alert("First name is required. Please enter a value.");
	f.first_names.focus();
	return false;  
  }

  if (!f.last_name.value) {
	alert("Last name is required. Please enter a value.");
	f.last_name.focus();
	return false;  
  }

  if (!f.email.value) {
	alert("Email address is required. Please enter a value.");
	f.email.focus();
	return false;  
  }

  if (!f.ema_country.options[f.ema_country.selectedIndex].value) {
	alert("Country is required. Please select a value.");
	f.ema_country.focus();
	return false;  
  }
  
   
  var pre = f.prefix;
	
	if ( !validateEmailTLD(f.email.value) ) {
		valid = false;
  	}
	
	


  // If no errors, submit form.
  return valid;
}

var sub_checkboxes = Array("list_id");
var opt_in_choicebox = "opt_in_choice";
var sub_opt_form = "editletter";

function subClick(o)
{
  if (o.checked)
    document.forms[sub_opt_form][opt_in_choicebox].checked = true;
}

function optClick(o)
{
  var n, i;
  if (!o.checked) {
    for (n in sub_checkboxes) {
      try {
	if (document.forms[sub_opt_form][sub_checkboxes[n]].length) {
		
	  for (i = 0; i < document.forms[sub_opt_form][sub_checkboxes[n]].length; i++) {
	    document.forms[sub_opt_form][sub_checkboxes[n]][i].checked = false;
	  }
	} else {
	  document.forms[sub_opt_form][sub_checkboxes[n]].checked = false;
	}
      } catch (dummy) {}
    }
  }
}