/*
 * By: Joseph Yee
 * This Javascript file is for signup.php only.
 * All functions are for the signup form input validation *on submit*
 *
 */

/* 
 * Form name: signup
 * text name (default null)
 * text contactemail (default null)
 * list domainlist (default 0)
 * text newusername (default null)
 * text newpassword1 (default null)
 * text newpassword2 (default null)
 * checkbox agreement (default unchecked)
 */

// check against newpassword1 and newpassword2
// newpassword1 != null
// newpassword2 != null
// newpassword1 == newpassword2
function checkPassword()
{
  if (document.signup.newpassword1.value == "")
  {
    return false;
  }
  if (document.signup.newpassword2.value == "")
  {
    return false;
  }
  if (document.signup.newpassword1.value != document.signup.newpassword2.value)
  {
    return false;
  }
  return true;
}


// check against agreement
// agreement == checked
function checkAgreement()
{
  if (!document.signup.agreement.checked)
  {
    return false;
  }
  return true;
}


// check against domainlist
// domain != 0 (0 is default "-- Select --"
function checkDomain()
{
  if (document.signup.domainlist.value == 0)
  {
    return false;
  }
  return true;
}


// check against name
// name != null
function checkName()
{
  if (document.signup.name.value == "")
  {
    return false;
  }
  return true;
}


// check against contactemail
// contactemail != null
function checkContact()
{
  var pattern = "^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,6})+$";
  if (document.signup.contactemail.value == "")
  {
    return false;
  }
  if (document.signup.contactemail.value.search(pattern) == -1)
  {
    return false;
  }
  return true;
}


// check against username
// username != null
function checkNewusername()
{
  if (document.signup.newusername.value == "")
  {
    return false;
  }
  return true;
}


// check everything when register button clicked
// all must return true:
// checkName, checkContact, checkUsername, checkDomain, checkPassword, checkAgreement
function submitRegister()
{
  if (!checkName())
  {
    alert('Please enter your name.');
    return false;
  }
  if (!checkContact())
  {
    alert('Please enter or verify your email address so that we can reach you.');
    return false;
  }
  if (!checkDomain())
  {
    alert('You have not select a domain yet.');
    return false;
  }
  if (!checkNewusername())
  {
    alert('You have not craete a new user name yet.');
    return false;
  } 
  if (!checkPassword())
  {
    alert('Empty Password OR Mismatch between Password and Confirm Password.');
    document.signup.newpassword1.value = "";
    document.signup.newpassword2.value = "";
    return false;
  }
  if (!checkAgreement())
  {
    alert('You must agree to the User Agreement by checking the checkbox in order to sign up');
    return false;
  }

  var dup = checkUsername(false);
  if (dup == "true")
  {
    return false;
  }

  return true;
}




