$(document).ready(function(){
    var timerId;
    
    $('#newsletter form').submit(function(){
        context = $(this);
        email = $('.input_text', this).val();
        validRegExp = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i

        if (email.search(validRegExp) !== -1) {
            $('.submit', context).addClass('loading').attr('disabled', 'disabled');
            
            $.ajax({
                type:'get',
                url:'addNewsletter.php?rnd=' + Math.random(),
                dataType:'json',
                data:{email: email},
                success:function(data){
                    $('.submit', context).removeClass('loading').attr('disabled', '');
                    showMsg(data.msg, data.status);
                },
                error:function (xhr, ajaxOptions, thrownError){
                    $('.submit', context).removeClass('loading').attr('disabled', '');
                    showMsg('An error occurred, please try again later.', 'error');
                }
            });
            
        } else {
            showMsg('Please enter a valid email address','error');
        }    
        return false;
        
        function showMsg(msg, status, secs) {
            if (typeof(secs) == 'undefined') secs=5;
            if (typeof(status) == 'undefined') status='';
        
            $('.msg_newsletter', context).fadeOut('slow');
            $('.msg_newsletter', context).remove();
            clearTimeout(timerId);
            
            context.append('<p class="msg_newsletter ' + status + ' hide">' + msg + '</p>');
            $('.msg_newsletter', context).fadeIn('slow');
            timerId = setTimeout(function(){$('.msg_newsletter', context).fadeOut('slow')}, (secs*1000))
        }
    });

    
});
