$(document).ready(function(){
  
  var baseurl = 'http://showrooms.luxehome.com/';
  
  $.ajax({
      url: baseurl + "getlogininfo",
      dataType: 'jsonp',
      cache: false,
      contentType: 'application/json',
      success: function(response){
      if(response != false)
      {
        $.each(response, function(key, val) {
            if(key == 'id'){
              var profileLink = $('#profilelink').attr('href');
              $('#profilelink').attr('href', profileLink + val);
            }else if(key == 'username'){
              $('span#username').html(val);
            }
        });
        $('#joinli, #loginli').addClass('hiddenli');
        $('#usernameli, #logoutli').removeClass('hiddenli');
      }
        }
  });
  
  // Navigation Hover
  $("#site-header nav li").hover(
    function () {
    $(this).addClass("active");
    $(this).children('div.dropdown').show();
    },
    function () {
    $(this).removeClass("active");
    $(this).children('div.dropdown').hide();
    }
  );
  
  //sign-in form lightbox
  $("#sign-in").fancybox({
    'overlayColor': '#000',
    'onClosed': function() {
      $('.form-error').hide();
      $('.registration-error').hide();
      $('.recover-error').hide();
      if($('#sign').hasClass('toggle-hidden')){
        $('#sign').show();
        $('#sign').toggleClass('toggle-hidden');
        $('#recover').hide();
        $('#recover').toggleClass('toggle-hidden');
      }
    }
  });
  
  //recover-password form lightbox    
  $('#forgot-link').click(function(){
    $('#recover').slideDown(500,function(){
      $(this).toggleClass('toggle-hidden');
    });
    $('#sign').slideUp(500,function(){
      $(this).toggleClass('toggle-hidden');
    });
  });
  
  //submit the sign-in form with ajax (any links from the response loaded in the fancybox will not work!!!)
  $('#login-button').click(function (){ 
    var errorFlag = false;
    $('#sign-in-form .required-field').each(function () {
      if ($(this).val() == '') {
        $('#error-for-' + $(this).attr('id')).html('This field is required!');
        $('#error-for-' + $(this).attr('id')).show();
        errorFlag = true;
      }else {
        $('#error-for-' + $(this).attr('id')).html('');
        $('#error-for-' + $(this).attr('id')).hide();
      }
    });
    if (!errorFlag) {
      $.fancybox.showActivity();
      $.ajax({
        cache: false,
        dataType: 'jsonp',
        contentType: 'application/json',
        url: baseurl+"signin/login/",
        data:({'username': $('#sign-username').val(),
              'password': $('#sign-password').val(),
              'remember': $('#sign-remember').val()
        }),
        error: function(){
          alert('asdasd');
        },
        success: function(response) {
          if(response == false){
            $.fancybox.hideActivity();
            $('.registration-error').show();
          }else{
            $.fancybox.close();
            location.reload();
          }  
        }
      });  
    }
  }); 
  
  $('#recover-button').click(function (){ 
    var errorFlag = false;
    var emailRegEx = /^[\w](([_\.\-\+]?[\w]+)*)@([\w]+)(([\.-]?[\w]+)*)\.([A-Za-z]{2,})$/;
    $('#recover-form .required-field').each(function () {
      if($(this).hasClass('email')){
        if ( !emailRegEx.test($(this).val())) {
          $('#error-for-' + $(this).attr('id')).html('Please enter a valid e-mail!');
          $('#error-for-' + $(this).attr('id')).show();
          errorFlag = true;
        }else {
          $('#error-for-' + $(this).attr('id')).html('');
          $('#error-for-' + $(this).attr('id')).hide();
        }
      }
    });
    if (!errorFlag) {      
      $.fancybox.showActivity();
      $.ajax({
        type: "POST",
        cache: false,
        url: baseurl+"signin/recover",
        data:({'e-mail': $('#recover-email').val()}),
        success: function(response) {
          if(response == "invalid"){
            $.fancybox.hideActivity();
            $('.recover-error').show();
          }else{
            $.fancybox.hideActivity();
            $.fancybox(response,{
              'overlayColor': '#000',
              'onComplete': function(){
                $('.form-error').hide();
                $('.registration-error').hide();
                $('.recover-error').hide();
                if($('#sign').hasClass('toggle-hidden')){
                  $('#sign').show();
                  $('#sign').toggleClass('toggle-hidden');
                  $('#recover').hide();
                  $('#recover').toggleClass('toggle-hidden');            
                }
              }  
            });
          }  
        }
      });  
    }
    return false;
  }); 


  
});
