$("document").ready(function()
{
  // check all values of join form on submit
  $("#join-form").submit(function()
  {
    // don't bother in IE6
    if($.browser.msie && parseInt($.browser.version) <= 6) return true;
    
    // remove error messages
    $("#join-form input.text").css({backgroundColor: "#fff", borderColor: "#000"});
    $("div.field-warning").remove();
    
    // error flag
    error = false;
    
    // loop through text inputs
    $("#join-form input.text").each(function()
    {
      // if it has the class of optional then skip
      if(!$(this).hasClass("optional"))
      {
        // make sure value is filled
        if(this.value.length == 0)
        {
          // make background and border red
          $(this).css({backgroundColor: "#fdd", borderColor: "#900"});
          
          // title tag doubls as instruction for error
          var error_text = this.title;
          
          // add warning
          $(this).after("<div class='field-warning'>Please "+error_text+"</div>");

          error = true;
        }
        else
        {
          // is this the email field
          if(this.name == "email")
          {
            var email = this.value;

            var at = email.indexOf("@");
            var dot = email.lastIndexOf(".");
            if(!at || !dot || dot <= at)
            {
              // make background red
              $(this).css("background-color", "#fdd");

              // add warning
              $(this).after("<div class='field-warning'>Please enter a valid email address</div>");

              error = true;
            }
          }
          // make sure passwords match
          else
          {
            if(this.name == "password")
            {
              var password = this.value;
              var pass_conf = $("#password-confirm").val();
              if(password.length < 6)
              {
                $("#password-one").css("background-color", "#fdd");
                $("#password-one").after("<div class='field-warning'>Password must contain 6 characters</div>");

                error = true;
              }
              else if(password != pass_conf)
              {
                $("#password-confirm").css("background-color", "#fdd");
                $("#password-confirm").after("<div class='field-warning'>Please make sure both passwords match</div>");

                error = true;
              }
            }
          }
        }
      }
    });
    
    // check the agree to terms button
    if(!$("input#terms-agree").val())
    {
      $("#terms-agree-link").after("<div class='field-warning'>Please read and agree to our terms &amp; conditions.</div>");
    }
    
    if(error)
    {
      // animate warnings
      $("div.field-warning").animate({height: "20px"}, 500);
      
      // dont submit
      return false;
    }
  });

});