verify_cookies_enabled();

function validate_form( form, useChallengeResponse )
{
  form.user_id.value = form.user_id.value.replace( /^\s*|\s*$/g, "" );
  if ( form.user_id.value == "" || form.password.value == "" )
  {
    alert( JS_RESOURCES.getString('validate.login.invalid.username.or.pass') );
    return false;
  }
  
  if ( useChallengeResponse )
  {
    return validate_form_with_challenge( form );
  }
  else
  {
    return validate_form_no_challenge( form );
  }
}

function validate_form_no_challenge( form )
{
  form.encoded_pw.value = base64encode( form.password.value );
  form.encoded_pw_unicode.value = b64_unicode( form.password.value );
  form.password.value = "";
  return true;
}

function validate_form_with_challenge( form )
{
  var passwd_enc = hex_md5( form.password.value );
  var encoded_pw_unicode = calcMD5( form.password.value );
  var final_to_encode = passwd_enc + form.one_time_token.value;
  form.encoded_pw.value = hex_md5( final_to_encode );
  final_to_encode = encoded_pw_unicode + form.one_time_token.value;
  form.encoded_pw_unicode.value = calcMD5( final_to_encode );
  form.password.value = "";
  return true;
}

function verify_cookies_enabled()
{
  document.cookie = "cookies_enabled=yes";
  if ( !document.cookie )
  {
    document.location.href = "/nocookies.html";
  }
  document.cookie = "cookies_enabled=yes;expires=Thu, 01-Jan-1970 00:00:01 GMT";
}
