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){
  var a = document.forms[d].elements[f];
  var str = "";
  for(i = 0; i < a.length; i++){
    if(a[i].checked == true){
      str = a[i].value;
      break;
    } else {
      str = "";
    }
  }
  return str;
}
function testCheck(f,t,d){
  var a = document.forms[d].elements[f];
  var str = "";
  if(a.checked == true){
    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,ff,tf){
  var doc = document.forms[f]
  if( testText('Name','a Name',f) && testText('URL','a URL',f) && testText('ISISUsername','a Username',f) && testText('PrimaryName','a Primary Contact Name',f) && testText('PrimaryJobTitle','a Primary Contacts Job Title',f) && testEmail('PrimaryEmailAddress',f) && testText('PrimaryTelephone','a Primary Telephone',f) && testText('SecondaryName','a Secondary Contact Name',f) && testText('SecondaryJobTitle','a Secondary Contacts Job Title',f) && testEmail('SecondaryEmailAddress',f) && testText('SecondaryTelephone','a Secondary Telephone',f)){
    if(getRadioValue('AgreeCodeOfPractice',f) != "agree"){
      alert('You must agree to our Code of Practice');
      setFocus('AgreeCodeOfPractice',f);
    } else {
      if ( testText('ISISPassword','a Password',f) && testText('ISISConfirmPassword','a Confirm Password',f) ){
        if (doc.ISISPassword.value != doc.ISISConfirmPassword.value) {
          alert('The Password & Confirm Password must be the same');
          setFocus('ISISConfirmPassword',f);
        } else {
          if( testAlphaPassword('ISISPassword',f,'password') && testAlphaPassword('ISISUsername',f,'username')) {
            var list = doc.elements[ff];
            var str = "";
            for(i = 0; i < list.length; i++){
              str += list.options[i].value + ";";
            }

            doc.elements[tf].value = str.substring(0,(str.length-1));
            document.forms[f].submit();
          }
        }
      }
    }
  }
}
function validateUpdateRegistration(f,ff,tf){
  if(f == ""){ f = 0; }
  var doc = document.forms[f]
  if( testText('ISISUsername','a Username',f) && testText('PrimaryName','a Primary Contact Name',f) && testText('PrimaryJobTitle','a Primary Contacts Job Title',f) && testEmail('PrimaryEmailAddress',f) && testText('PrimaryTelephone','a Primary Telephone',f) && testText('SecondaryName','a Secondary Contact Name',f) && testText('SecondaryJobTitle','a Secondary Contacts Job Title',f) && testEmail('SecondaryEmailAddress',f) && testText('SecondaryTelephone','a Secondary Telephone',f)){
    if(getRadioValue('AgreeCodeOfPractice',f) != "agree"){
      alert('You must agree to our Code of Practice');
      setFocus('AgreeCodeOfPractice',f);
    } else {
      if ( testText('ISISPassword','a Password',f) && testText('ISISConfirmPassword','a Confirm Password',f) ){
        if (doc.ISISPassword.value != doc.ISISConfirmPassword.value) {
          alert('The Password & Confirm Password must be the same');
          setFocus('ISISConfirmPassword',f);
        } else {
          if( testAlphaPassword('ISISPassword',f,'password') && testAlphaPassword('ISISUsername',f,'username')) {
            var list = doc.elements[ff];
            var str = "";
            for(i = 0; i < list.length; i++){
              str += list.options[i].value + ";";
            }

            doc.elements[tf].value = str.substring(0,(str.length-1));
            document.forms[f].submit();
          }
        }
      }
    }
  }
}
function validateContactISIS(f){
  var doc = document.forms[f]
  if( testText('URL','a URL',f) && testText('FullName','your name',f) && testText('EmailAddress','your email address',f) ){
    document.forms[f].submit();
  }
}
function validateForgottenPassword(){
  var doc = document.forms[0]
   if ( testText('fpUsername','Username','0') ){
     var fpUser = doc.fpUsername.value;
     location.href = "/8025745000669E37/(ForgottenPassword)?OpenAgent&username=" + fpUser ;
  }
}
function websiteLogin(){
  var doc = document.forms[0];
  var eaddress = replaceSubstring(doc.isisUsername.value,"@","~");
  var pword = doc.isisPassword.value;
  if( (testText('isisUsername','Username','')) && (testText('isisPassword','Password','')) ){
    var url = window.location.href;
    location.href = "https://isisaccreditation.imrg.org/8025745000669E37/(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();
      }
    }
  }
}









