﻿var SiteNameValid = false;

$(function(){
  $(".signup").fancybox({
    'centerOnScroll': true,
    'titleShow': false,
    'type': 'inline',
    'hideOnOverlayClick': false,
    'onComplete': function(){
      $("input[name=UserName]").focus();
    }
  });

  $("#signup_form input.validate").focus(function(){
    $(this).next().removeClass("icon-good icon-bad");
  });

  $("#signup_form input.validate").keyup(function(){
    var ret = validate(this);
  });

  // site name lookup
  var timeout = null;
  var s_prev = "";
  $("#SiteName").focus(function(){
    //$(this).next().removeClass("icon-good icon-bad");
  }).blur(function(){
    if($(this).val() == ""){
      $(this).next().addClass("icon-bad");
    }
  }).keyup(function(){
    $("#SiteNameHolder").text($("#SiteName").val().replace(/[^a-z0-9]/gi,""));
    if (timeout){ clearTimeout(timeout); }
    timeout = setTimeout(function(){ keyChange(); }, 400);
  });
  function keyChange() {
    var string = $("#SiteName").val().replace(/[^a-z0-9]/gi,"");
    $("#SiteNameHolder").text(string);
    if (string == s_prev) return;
    s_prev = string;
    if (string != ""){
      $("#SiteName").next().removeClass("icon-good icon-bad");
      $.ajax({
        url: BaseURL + 'include/sitelookup.asp',
        data: 'SiteName='+string,
        dataType: 'json',
        type: 'POST',
        success: function(){
          $("#SiteName").next().addClass("icon-good");
          SiteNameValid = true;
        },
        error: function(){
          $("#SiteName").next().addClass("icon-bad");
          SiteNameValid = false;
        }
      });
    } else {
      $("#SiteName").next().addClass("icon-bad");
    }
  }

  $("input[name=NeedHelp]").click(function(){
    if ($("input[name=NeedHelp]:checked").length == 1){
      $("#PhoneNumber label").removeClass("disabledtext");
      $("#PhoneNumber input").attr("disabled", "").removeClass("disabled").focus();
    } else {
      $("#PhoneNumber label").addClass("disabledtext");
      $("#PhoneNumber input").attr("disabled", "disabled").addClass("disabled");
    }
  });

  $("#signup_form").submit(function(){
    var error = false;
    $("#signup input.validate").each(function(){
      var ret = validate(this);
      if (!ret) {
        alert("Please input your " + $(this).attr("title") + ".");
        $(this).focus();
        error = true;
        return false;
      }
    });
    if ((error == false) && (!SiteNameValid)){
      alert("Please try another Site Name");
      $("#SiteName").focus();
      error = true;
    }
    if (error){
      return false;
    }
  });
});
function alphaInputOnly(e) {   // returns true if A-Z, a-z or ' or BS hit or browser isn't IE or NS, otherwise false   var nKey = -1;   if (e && e.which) nKey = e.which; // NS4 & NS6   else if (window.event && window.event.keyCode) nKey = window.event.keyCode; // IE   // 97 = a, 122 = z, 65 = A, 90 = Z, 45 = -, 8 = BS , 48=0, 57=9  return (nKey > -1 ? ((nKey > 96 && nKey < 123) || (nKey > 64 && nKey < 91) || (nKey>=48 && nKey<=57) || nKey == 45 || nKey == 8) : true);}
function validate(elem){
  $(elem).next().removeClass("icon-good icon-bad");
  if ($(elem).attr("name") == "UserEmail"){
    var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/;
    var emailIllegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/;
    if(!emailFilter.test($(elem).val()) || $(elem).val().match(emailIllegalChars)) {
      $(elem).next().addClass("icon-bad");
      return false;
    } else {
      $(elem).next().addClass("icon-good");
      return true;
    }
  } else if ($(elem).attr("name") == "UserName") {
    var nameFilter = /^\w+\s[\w|\s]+$/;
    if (!nameFilter.test($(elem).val())) {
      $(elem).next().addClass("icon-bad");
      return false;
    } else {
      $(elem).next().addClass("icon-good");
      return true;
    }
  } else {
    if ($(elem).val() == '') {
      $(elem).next().addClass("icon-bad");
      return false;
    } else if ($(elem).attr("name") == "UserPassword" && $(elem).val().length < 4) {
      $(elem).next().addClass("icon-bad");
      return false;
    } else {
      $(elem).next().addClass("icon-good");
      return true;
    }
  }
}

function ChangeDesignTheme(DesignID) {
  document.myForm2.DesignThemeID.value = DesignID.value;
  document.myForm2.submit();
}

