function setFocus(f,d){
  if(d.length > 0){
    var frm = d;
  } else {
    var frm = 0;
  }
  document.forms[frm].elements[f].focus();
}
function testEmail(f,d){
  if(d.length > 0){
    var frm = d;
  } else {
    var frm = 0;
  }
  var a = document.forms[frm].elements[f].value;
  var at = a.indexOf("@")
  var name = a.substring(0, at)
  var isp = a.substring(at + 1, a.length)
  var dot = a.lastIndexOf(".")
  if (at == -1 || at == 0 || name == "" || isp == "" || dot == -1 || dot == (a.length - 1)) {
    alert('You must enter a valid Email Address');
    setFocus(f,d);
  } else {
    return true;
  }
}
function testEmailMsg(f,t,d){
  if(d.length > 0){
    var frm = d;
  } else {
    var frm = 0;
  }
  var a = document.forms[frm].elements[f].value;
  var at = a.indexOf("@")
  var name = a.substring(0, at)
  var isp = a.substring(at + 1, a.length)
  var dot = a.lastIndexOf(".")
  if (at == -1 || at == 0 || name == "" || isp == "" || dot == -1 || dot == (a.length - 1)) {
    alert('You must enter ' + t);
    setFocus(f,d);
  } else {
    return true;
  }
}
function testText(f,t,d){
  if(d.length > 0){
    var frm = d;
  } else {
    var frm = 0;
  }
  if(document.forms[frm].elements[f].value != ""){
    return true;
  } else {
    alert('You must enter ' + t);
    setFocus(f,d);
  }
}
function testArea(f,t){
  if(d.length > 0){
    var frm = d;
  } else {
    var frm = 0;
  }
  if(document.forms[frm].elements[f].length > 0){
    return true;
  } else {
    alert('You must enter ' + t);
    setFocus(f,d);
  }
}
function testDate(f,d){
  if(d.length > 0){
    var frm = d;
  } else {
    var frm = 0;
  }
  var a = document.forms[frm].elements[f].value;
  var dateObj = new Date(a);
  if(a == ""){
    alert('Please enter a date');
    setFocus(f,d);
  } else if(isNaN(dateObj)){
    alert('You must enter a valid date');
    setFocus(f,d);
  } else {
    return true;
  }
}
function testRadio(f,t,d){
  if(d.length > 0){
    var frm = d;
  } else {
    var frm = 0;
  }
  var radioName = document.forms[frm].elements[f];
  var str = "";
  for(i = 0; i < radioName.length; i++){
    if(radioName[i].checked == true){
      str = "yes";
	break;
    } else {
      str = "no";
    }
  }
  if(str == "yes"){
    return true;
  } else {
    alert('You must choose ' + t);
  }
}
function getRadioValue(f,d){
  if(d.length > 0){
    var frm = d;
  } else {
    var frm = 0;
  }
  var radioName = document.forms[frm].elements[f];
  var str = "";
  for(i = 0; i < radioName.length; i++){
    if(radioName[i].checked == true){
      str = radioName[i].value;
    }
  }
  return str;
}
function testCheck(f,t,d){
  if(d.length > 0){
    var frm = d;
  } else {
    var frm = 0;
  }
  var checkName = document.forms[frm].elements[f];
  var str = "";
  for(i = 0; i < checkName.length; i++){
    if(checkName[i].checked == true){
      str = "yes";
	break;
    } else {
      str = "no";
    }
  }
  if(str == "yes"){
    return true;
  } else {
    alert('You must choose ' + t);
  }
}
function testSelect(f,t,d){
  if(d.length > 0){
    var frm = d;
  } else {
    var frm = 0;
  }
  var sel = document.forms[frm].elements[f];
  if(sel.selectedIndex > 0){
    return true;
  } else {
    alert('You must select ' + t);
    setFocus(f,d);
  }
}
function testAlphaPassword(f,d,t){
  if(d == ""){ d = 0; }
  var doc = document.forms[d];
  var ele = doc.elements[f];
  var str = false;
  if(ele.value == ""){
    alert("Please enter your " + t);
    setFocus(f,d);
  } else {
    if(/[^a-zA-z0-9]/i.test(ele.value)){
      alert("Sorry, your " + t + " may only contain letters and numbers");
      setFocus(f,d);
    } else if(ele.value.indexOf('_') > -1){
      alert("Sorry, your " + t + " may only contain letters and numbers");
      setFocus(f,d);
    } else {
      str = true;
    }
  }
  return str;
}
//************************************
function validateRegistration(f){
  var doc = document.forms[f]
  if( testSelect('Salutation','a Title',f) && testText('FirstName','a First Name',f) && testText('LastName','a Last Name',f) && testText('Telephone','a Phone Number',f) && testText('Mobile','a Mobile Number',f) && testText('JobTitle','a Job Title',f) && testText('Company','a Company Name',f) && testSelect('Country','a Country',f)){
    if ( testEmail('EmailAddress',f) && testEmail('ConfirmEmailAddress',f) ){
      if (doc.EmailAddress.value != doc.ConfirmEmailAddress.value) {
         alert('The Email Address & Confirm Email Address must be the same');
         setFocus('ConfirmEmailAddress','');
      } else {
       document.forms[f].submit();
      }
    }
  }
}
function validateUpdateRegistration(){
  var doc = document.forms[0]
  if( testSelect('Salutation','a Title','0') && testText('FirstName','a First Name','0') && testText('LastName','a Last Name','0') && testText('Telephone','a Phone Number','0') && testText('Mobile','a Mobile Number','0') && testText('JobTitle','a Job Title','0') && testText('Company','a Company Name','0') && testSelect('Country','a Country','0')){
    if ( testEmail('EmailAddress','0') && testEmail('ConfirmEmailAddress','0') ){
      if (doc.EmailAddress.value != doc.ConfirmEmailAddress.value) {
         alert('The Email Address & Confirm Email Address must be the same');
         setFocus('ConfirmEmailAddress','');
      } else {
       document.forms[0].submit();
      }
    }
  }
}
function validateForgottenPassword(){
  var doc = document.forms[0]
   if ( testEmail('fpEmailAddress','0') ){
     var fpEmail = doc.fpEmailAddress.value;
     location.href = "/80257460004B1B5B/(ForgottenPassword)?OpenAgent&email=" + fpEmail ;
  }
}
function websiteLogin(){
  var doc = document.forms[0];
  var eaddress = replaceSubstring(doc.imrgEmailAddress.value,"@","~");
  var pword = doc.imrgPassword.value;
  if( (testEmail('imrgEmailAddress','')) && (testText('imrgPassword','Password','')) ){
    var url = window.location.href;
    location.href = "https://www.imrg.org/80257460004B1B5B/(Login)?OpenAgent&us="+eaddress+"&ps="+pword+"&url="+url;
  }
}
function websiteLogout(){
  url = window.location.href;
  location.href = "/names.nsf?logout&redirectto=" + url
}

function validateUpdatePassword(){
  var doc = document.forms[0]
   if ( testText('upOldPassword','your Old Password','0') && testText('upNewPassword','your New Password','0') && testText('upConfirmNewPassword','your New Confirm Password','0') ){
    if (doc.upNewPassword.value != doc.upConfirmNewPassword.value) {
       alert('The Password & Confirm Password must be the same');
       setFocus('upConfirmNewPassword','');
    } else {
      if( testAlphaPassword('upNewPassword','0','password')){
       document.forms[0].submit();
      }
    }
  }
}

function validateUpdateIMRGProfile(){
  var doc = document.forms[0]
  if( testText('FirstName','a First Name','0') && testText('LastName','a Last Name','0') && testEmail('EmailAddress','0')){
    if ( testText('Password','a Password','0') && testText('ConfirmPassword','a Confirm Password','0') ){
      if (doc.Password.value != doc.ConfirmPassword.value) {
          alert('The Password & Confirm Password must be the same');
          setFocus('ConfirmPassword','0');
      } else {
        if( testAlphaPassword('Password','0','password')){
          doc.submit();
        }
      }
    }
  }
}

function validate_contact_enquiry(f){
  var doc = document.forms[f]
  if( testText('ContactName','a Contact Name',f) && testText('CompanyName','a Company Name',f) && testText('CompanyURL','a Company URL',f) && testText('CompanyLocation','a Company Location',f) && testEmail('EmailAddress',f) && testText('Telephone','a Telephone Number',f)){
    doc.ReturnURL.value = location.href;
    doc.submit();
  }
}

function validateEventRegistration(){
  var doc = document.forms[0]
  if( testText('FirstName','a First Name','0') && testText('LastName','a Last Name','0')&& testText('CompanyName','a Company Name','0')&& testText('JobTitle','a Job Title','0')&& testEmail('EmailAddress','0')&& testText('Telephone','a Telephone Number','0')){
    doc.submit();
  }
}
function validateAwardsEntry09(){
  var doc = document.forms['award_entry']
  if( testSelect('AwardEntered','an Award to nominate','award_entry') && testText('CompanyName','a Company Name','award_entry') && testText('ContactName','a Contact Name','award_entry') && testText('JobTitle','a Job Title','award_entry') && testEmail('EmailAddress','award_entry') && testText('ContactNumber','a Contact Telephone Number','award_entry') && testText('CompanyURL','a Company URL','award_entry') && testText('EntryText','a reason for your nomination','award_entry') ){
    doc.submit();
  }
}
