var done = 0;
var ok = "&nbsp;";
var warn = '<img vspace=3 vspace=4 height=16 width=14 src="/img/warn.gif" align=absmiddle> ';

function isEmail(str){
  if (str.length < 1) return warn+"You must enter your email<br><br>";
  var objRegExp =  /^((?:(?:(?:(\w|~)[~\.\-\+]?)*)(\w|~))+)\@((?:(?:(?:\w[\.\-\+]?){0,62})\w)+)\.([a-zA-Z]{2,6})$|^$/;
  if (objRegExp.test(str)==false) return warn+"This email address is invalid<br><br>";
  return ok;
}   
function isUsername(str) {
  if (str.length < 3) return warn+"Your username is too short<br><br>";
  var objRegExp =  /^\s*([a-zA-Z0-9]{1,15})\s*$/;
  if (objRegExp.test(str)==false) return warn+"You may only use letters<div class=\"indent\">and numbers</div><br><br>";
  return ok;
} 
function isName(str) {
  if (str.length < 1) return warn+"You must enter a name<br><br>";
  return ok;
}
function isPass1(str) {
  if (str.length < 1) return warn+"Please enter a password<br><br>";
  if (str.length < 5) return warn+"Your password must be at<div class=\"indent\">least five characters long</div><br><br>";
  return ok;
}
function isPass2(str) {
  if (str.length < 1) return warn+"Please enter a password<br><br>";
  if (str != document.getElementById("pass1").value) return warn+"Password does not match<br><br>";
  return ok;
}
function isTos(str) {
  if (str==false) return warn+"You must check the box<br><br><br>";
  return ok;
}
function logattempt() {
  if (done==1) {
    return;
  }
  if ("undefined" != typeof urchinTracker) {
    urchinTracker("/action/createstart");
    var ExpireDate = new Date ();
    ExpireDate.setTime(ExpireDate.getTime() + (5 * 24 * 3600 * 1000));
    setCookie("createbox","reachedCreate",ExpireDate,"/",window.location.hostname);
  }
  done=1;
}

function checkEmail(field) {
  logattempt();
  document.getElementById(field.name+"warning").innerHTML = isEmail(field.value);
}
function checkUsername(field) {
  logattempt();
  document.getElementById(field.name+"warning").innerHTML = isUsername(field.value);
}
function checkName(field) {
  logattempt();
  document.getElementById(field.name+"warning").innerHTML = isName(field.value);
}
function checkPass1(field) {
  logattempt();
  document.getElementById(field.name+"warning").innerHTML = isPass1(field.value);
}
function checkPass2(field) {
  logattempt();
  document.getElementById(field.name+"warning").innerHTML = isPass2(field.value);
}
function checkTos(field) {
  logattempt();
  document.getElementById(field.name+"warning").innerHTML = isTos(field.checked);
}

function validate(form) {


  if ((isUsername(form.username.value)!=ok) &&
      (isEmail(form.email.value)!=ok) &&
      (isPass1(form.pass1.value)!=ok) &&
      (isPass2(form.pass2.value)!=ok) &&
      (isName(form.name.value)!=ok) &&
      (isTos(form.tos.checked)!=ok)) {
    MyAppAlert("Please fill in the form");
    return false;
  }

  checkUsername(form.username);
  checkEmail(form.email);
  checkPass1(form.pass1);
  checkPass2(form.pass2);
  checkName(form.name);
  checkTos(form.tos);
  if ("undefined" != typeof urchinTracker) {
    urchinTracker("/action/createbutton");
  }
    
  if ((isUsername(form.username.value)==ok) &&
      (isEmail(form.email.value)==ok) &&
      (isPass1(form.pass1.value)==ok) &&
      (isPass2(form.pass2.value)==ok) &&
      (isName(form.name.value)==ok) &&
      (isTos(form.tos.checked)==ok)) {
    return true;
  } else {
    MyAppAlert("Please fix the errors on the form");
    return false;
  }
}

function help(x) {
  if (x==1) MyAppAlert("Pick a short username for your account.  Be aware that<br> your username will also be used in the web address for<br>your blog.");
  if (x==2) MyAppAlert("What do you want others to know you as? <br>  You can use your real First and Last name, just<br>your first name, or something made up.");
  if (x==3) MyAppAlert("Your password must be at least 5 characters long.");
}

function kH(e) {
  var pK = e ? e.which : window.event.keyCode;
  return pK != 13;
}
document.onkeypress = kH;
if (document.layers) document.captureEvents(Event.KEYPRESS);
