// Core JS

$(document).ready(function(){

  /* #Loader
  ================================================== */
    
  var opts = {
    lines: 8, // The number of lines to draw
    length: 5, // The length of each line
    width: 4, // The line thickness
    radius: 6, // The radius of the inner circle
    color: '#FFF', // #rbg or #rrggbb
    speed: 1, // Rounds per second
    trail: 60, // Afterglow percentage
    shadow: true // Whether to render a shadow
  };
  var spinner = new Spinner(opts).spin();

  function showLoader() {
    $('body').append('<div id="loader"><div class="spinner"></div><p>Loading</p></div>');
    $('#loader .spinner').append(spinner.el);
    $('#loader').fadeIn(350);
  }
  
  function hideLoader() {
    $('#loader').fadeOut(350, function(){
      $('#loader').remove();
    });
  }
  
  /* #End Loader
    ================================================== */

  /* #Send Board Email stuff
  ================================================== */

  $('#board-email-modal').modal({
    backdrop: true
  });
	
	$("#signup-form input").twipsy({
    trigger: 'focus',
    placement: 'above'
  });

  $(".board-email-btn").click(function(){
    $('#board-email-modal').modal('show');
    return false;
  });
  $("#board-email-modal .modal-footer .secondary").click(function(){
    $('#board-email-modal').modal('hide');
    return false;
  });
  $("#board-email-modal .modal-footer .primary").click(function(){
    showLoader();
    $.ajax({
      url: $("#board-email-form").attr('action'),
      async:true,
      type:'POST',
      dataType:'json',
      data: $("#board-email-form").serialize(),
      success:function (data, textStatus) {
        if(data['status'] == 'error'){
          $('#board-email-modal .modal-body .alert-message').remove();
          $('#board-email-modal .modal-body').prepend('<div class="alert-message error" data-alert="alert" style="display: none"><p><strong>Error!</strong> '+data['message']+'</p></div>');
          $('#board-email-modal .modal-body .alert-message').fadeIn();
        } else {
          $('#board-email-modal .modal-footer').fadeOut();
          $('#board-email-modal .modal-body').contents().fadeOut(function(){
            $('#board-email-modal .modal-body').html('<div class="success-message" style="display: none"><h3>Great work!</h3><p>You let some of your condo board members know how to make condo living better for everyone in your building. Give yourself a big pat on the back.</p></h3></div>');
            $('#board-email-modal .success-message').fadeIn();
          });
        }
        hideLoader();
      }
    });
    return false;
  });

  /* #END Send Board Email stuff
  ================================================== */

  /* #Signup Form AJAX domain checking
  ================================================== */

  var domain_regex = /[^a-zA-Z0-9]/gi;

  $("#signup-domain").change(function(){
    if($(this).val() != ""){
      if(domain_regex.test($(this).val())){
        $("#domain-status p").fadeOut();
        $("#domain-status").html('<p class="taken" style="display: none;">Domains can only contain letters and numbers.</p>');
        $("#plan-select").animate({
          paddingTop: '12px'
        });
        $("#domain-status p").fadeIn();
      } else {
        $.ajax({
          url: siteUrl+"check_domain/"+$("#signup-domain").val(),
          async:true,
          type:'GET',
          dataType:'json',
          success:function (data, textStatus) {
            $("#domain-status p").fadeOut();
            if(data == 'taken'){
              $("#domain-status").html('<p class="taken" style="display: none;">This domain has already been taken.</p>');
            } else {
              $("#domain-status").html('<p class="available" style="display: none;">Great! This domain is available.</p>');
            }
            $("#plan-select").animate({
              paddingTop: '12px'
            });
            $("#domain-status p").fadeIn();
          }
        });
      }
    } else {
      $("#domain-status p").fadeOut();
      $("#plan-select").animate({
        paddingTop: 0
      });
    }
  });

  /* #END Signup Form AJAX domain checking
  ================================================== */

});
