window.onload = function() {
  v = new FormValidator();
}

function validate_step_1() {
  checkEmail();
  if( gPlan == "gold" ) v.email2( document.form.email.value, document.form.email2.value, 'email2', 'email2_err' );
  checkPwd();
  checkPwd2();
  checkName();
  v.radio( document.form.gender, 'gender','gender_err' );
  checkZip();
  return v.ret();
}
function validate_step_5() {
  v.isChecked( document.form.agree_tor, 'agree_tor', 'agree_err' );
  return v.ret();
}
function checkMaleFemale() {
  switch( document.form.title.value ) {
    case "Mr.":
      document.form.gender[0].checked = true;
      break;
    case "Miss":
    case "Mrs.":
      document.form.gender[1].checked = true;
      break;
  }
}
function checkEmail() {
  var email = document.form.email.value;
  // duplicate email
  var email2 = document.form.email2;
  if( email2 != undefined ) document.form.email2.value=email;
  
  document.getElementById('myEmail').innerHTML=email;
  // validate email & check whether name exists
  if( v.email( document.form.email.value, 'email', 'email_err' ) ) {
    // check whether email exists 
    oAjax = new Ajax();
    oAjax.checkEmailTutor( email );
  }
}
function checkEmail2() {
  v.email2( document.form.email.value, document.form.email2.value, 'email2', 'email2_err' );    
}
function checkPwd() {
  v.pwd( document.form.pwd.value, 'pwd', 'pwd_err' );
}
function checkPwd2() {
  v.pwd2( document.form.pwd.value, document.form.pwd2.value, 'pwd2', 'pwd2_err' );
}
function checkName() {
  v.empty( document.form.name.value, 'name', 'name_err' );
}
function checkZip() {
  v.isZip( document.form.zip.value, 'zip', 'zip_err' )
}
function handleEmailTutor( answerString ) {
  if( answerString == 'exists' ) {
    document.getElementById('emailInUse').style.visibility='visible';
    var i=document.getElementById('email');
    i.style.border='1px solid #F00';
    i.style.backgroundColor='#FEE';
    v.set_bEmail( false );
  } else {
    document.getElementById('emailInUse').style.visibility='hidden';
    var i=document.getElementById('email');
    i.style.border='1px solid #F2BD2F';
    i.style.backgroundColor='#FFF4C6';
    v.set_bEmail( true );
  }
}