$(document).ready(function(){
    loginAjaxInContactBooking();
    loginValidator();
    forgotPasswordValidator();
    boxLoginValidator();

});

loginAjaxInContactBooking = function(){
    $('#login-xxx').click(function(e){
        $.ajax({
            type : 'post', 
            url : Anahata.basePath + 'users/ajaxLogin',
            data: ({
                username : $('#UserUsername').val(),
                password : $('#UserPassword').val()
            }), 
            dataType : 'json',
            success : function(response){
                if(response.data){
                    
                    $('.reserve_content h5').next().remove();
                    $('.reserve_content h5').after('<div class="success_msg">You are successfully logged in</div>');
                    
                    $('.success_msg').animate({
                        opacity: 0.9
                    }, 1000).fadeOut(2000,function(){
                        $('#GuestTitle').attr('value',response.user.Guest.title);
                        $('#guest-email').attr('value',response.user.Guest.email);
                        $('#GuestFullName').attr('value',response.user.Guest.full_name);
                        $('#GuestAddress').attr('value',response.user.Guest.address);
                        $('#GuestCity').attr('value',response.user.Guest.city);
                        $('#GuestStateProvince').attr('value',response.user.Guest.state_province);
                        $('#GuestZip').attr('value',response.user.Guest.zip);
                        $('#GuestCountry').attr('value',response.user.Guest.country);
                        $('#GuestPhone').attr('value',response.user.Guest.phone);
                        
                    });  
                    var loginLink = $('a.login_link'); 
                    loginLink.unbind(); 
                    loginLink.removeClass('login_link'); 
                    loginLink.attr('href', Anahata.basePath+'users/logout');
                    loginLink.html('LOGOUT');
                    $('#free-registration-box').fadeOut(2000);
                    window.location.reload(false);
                } else {
                    $.facebox('<div class="error_msg">Login Failed!</div>');
                }
            }
        });
        e.stopImmediatePropagation();
        $('#UserUsername').attr('value','');
        $('#UserPassword').attr('value','');
        $('#login_box2').hide();
        return false;
        
    });
}

loginValidator = function(){
    
    $('#login').click(function(){
        
        var validator = $("#form-login").validate({
            rules: {
                "data[User][username]": {
                    required: true,
                    email:true
                },
                "data[User][password]": {
                    required: true
                }

            },
            errorElement: "div",
            errorPlacement : function(error, element){
                $(element.parent().parent()).append('<div class="clearfix"></div>');
                error.appendTo( element.parent().parent());
            }
        });

        if (validator.form()) {

            $('#login').submit();
        }
    });

}

boxLoginValidator = function(){

    $('#btn-login').click(function(){

        var validator = $("#UserHomeForm").validate({
            rules: {
                "data[User][username]": {
                    required: true,
                    email: true
                },
                "data[User][password]": {
                    required: true
                }

            },
            errorElement: "div",
            errorPlacement : function(error, element){
                $(element.parent().parent()).append('<div class="clearfix"></div>');
                error.appendTo( element.parent().parent());
            }
        });

        if (validator.form()) {

            $('#login').submit();
        }
    });
}

forgotPasswordValidator = function(){
 
    $('#request-password').click(function(){

        var validator = $("#form-request-password").validate({
            rules: {
                "data[User][email]": {
                    required: true,
                    email: true
                }
            },
            errorElement: "div",
            errorPlacement : function(error, element){
                $(element.parent().parent()).append('<div class="clearfix"></div>');
                error.appendTo( element.parent().parent());
            }
        });

        if (validator.form()) {

            $('#request-password').submit();
        }
    });

}
