var newsletter_loading = false;

$(document).ready(function() {
    var name_default_text  = 'First Name';
    var email_default_text = 'Email Address';

    $('#newsletter_name')
        .focus(function() {
            if ($(this).val() == name_default_text) {
                $(this).val('');
            }
        })
        .blur(function() {
            if ($(this).val() == '') {
                $(this).val(name_default_text);
            }
        })
        .keyup(function(e) {
            if (e.which == 13) {
                subscribe();
            }
        });

    $('#newsletter_email')
        .focus(function() {
            if ($(this).val() == email_default_text) {
                $(this).val('');
            }
        })
        .blur(function() {
            if ($(this).val() == '') {
                $(this).val(email_default_text);
            }
        })
        .keyup(function(e) {
            if (e.which == 13) {
                subscribe();
            }
        });

    $('#v6_twitter_link')
        .mouseenter(function() {
            $(this).children('img:first').attr('src', '/theme/images/icon_twitter.jpg');
        })
        .mouseleave(function() {
            $(this).children('img:first').attr('src', '/theme/images/icon_twitter_hover.jpg');
        });

    $('#v6_facebook_link')
        .mouseenter(function() {
            $(this).children('img:first').attr('src', '/theme/images/icon_facebook.jpg');
        })
        .mouseleave(function() {
            $(this).children('img:first').attr('src', '/theme/images/icon_facebook_hover.jpg');
        });

    $('#v6_linkedin_link')
        .mouseenter(function() {
            $(this).children('img:first').attr('src', '/theme/images/icon_vision.jpg');
        })
        .mouseleave(function() {
            $(this).children('img:first').attr('src', '/theme/images/icon_vision_hover.jpg');
        });
});

function subscribe() {
    var name_default_text  = 'First Name';
    var email_default_text = 'Email Address';

    var name  = $('#newsletter_name').val();
    var email = $('#newsletter_email').val();

    if (name.length == 0 || name == name_default_text) {
        $.facebox('Please enter your first name.', 'facebox_alert');
        return;
    }

    var pattern=/^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
    if (email == email_default_text || !pattern.test(email)){
        $.facebox('Please enter a valid email address.', 'facebox_alert');
        return;
    }

    if (!newsletter_loading) {
        $.ajax({
            type:       'POST',
            url:        '/theme/xmlrpc/xhr.php',
            data:       {'action':'newsletter', 'name':name, 'email':email},
            beforeSend: function(jqXHR, settings) {
                            newsletter_loading = true;
                            $('#newsletter_submit_btn').addClass('loading');
                        },
            success:    function(data, textStatus, jqXHR) {
                            $('#newsletter_submit_btn').addClass('success');

                            var result  = data.result;
                            var message = data.message;

                            if (result) {
                                $.facebox('<b>Thank you</b> for submitting your information.', 'facebox_success');

                                $('#newsletter_name').val('');
                                $('#newsletter_email').val('');
                            } else {
                                $.facebox(message, 'facebox_fail');
                            }

                            setTimeout(function() {
                                newsletter_loading = false;
                                $('#newsletter_submit_btn').removeClass('success');
                            }, 3000);
                        },
            complete:   function (jqXHR, textStatus) {
                            $('#newsletter_submit_btn').removeClass('loading');
                        },
            err:        function(jqXHR, textStatus, errorThrown) {
                            newsletter_loading = false;
                            $.facebox('<b>Sorry</b>, a problem was encountered, please try again later.', 'facebox_fail');
                        }
        });
    }

}
