/**
 * Zapisywanie i usuwanie adresu email
 * z listy subskrynentów
 */

var errors = new Array();
var newsletter_fields = new Array('newsletter_email');

$(document).ready(function(){
    $("#newsletter_form :input").tooltip({
        position: ['center', 'right'],
        offset: [-2, 10],
        effect: 'toggle',
        opacity: 0.7
    });
    
    $('#newsletter_email').blur(function(){
        result = isValidEmail('newsletter_email');
        setFormFieldCSS('newsletter_email', result);
    });
});

function newsletterAction(id){
    if (isEmpty('newsletter_email')) {
        setFormFieldCSS('newsletter_email', true);
        errors.push('newsletter_email');
    }
    if (isValidEmail('newsletter_email')) {
        errors.push('newsletter_email');
        setFormFieldCSS('newsletter_email', true)
    }
    
    var newsletterAction = null;
	
    switch(id){
        case 'subscribe':
            url = "/newsletter/add/";
            messageSaveOK = "Twój adres zosta\u0142 pomyślnie dodany do listy subskrybentów.";
            messageSaveFail = "Wprowadzony adres email ju\u017c istnieje w naszej bazie.";
            newsletterAction = 1;
            break;
        case 'unsubscribe':
            url = "/newsletter/delete/";
            messageSaveOK = "Twój adres zosta\u0142 pomyślnie usunięty z listy subskrybentów.";
            messageSaveFail = "Wprowadzony adres email nie istnieje w naszej bazie.";
            newsletterAction = 0;
            break;
    }
	    
    if (errors.length == 0) {
        $.ajax({
            type: 'POST',
            url:  url,
            dataType: 'json',
            data: 'email=' + $('#newsletter_email').val(),
            success: function(response){
                setDefaultFormField(newsletter_fields);
                $('#loading').hide();
                if (response.save) {
                    if (newsletterAction) {
                        switch (response.save) {
                            case 1:
                                $('#newsletter_message').css('color', 'green');
                                message = messageSaveOK;
                                break;
                            case 1000:
                                $('#newsletter_message').css('color', 'red');
                                message = messageSaveFail;
                                break;
                        }
                    }
                    else {
                        switch (response.action) {
                            case 1:
                                $('#newsletter_message').css('color', 'green');
                                message = messageSaveOK;
                                break;
                            case 0:
                                $('#newsletter_message').css('color', 'red');
                                message = messageSaveFail;
                                break;
                        }
                    }
                }
                else {
                    $('#newsletter_message').css('color', 'red');
                }
                $('#newsletter_message').empty();
                $('#newsletter_message').append(message);
                $('#newsletter_message').show();
                setTimeout("$('#newsletter_message').hide();$('#newsletter_form').show()", 5000);
            },
            beforeSend: function(){
                $('#newsletter_form').hide();
                $('#loading').show();
            },
            error: function(XMLHttpRequest, textStatus, errorThrown){
                $('#loading').hide();
                $('#newsletter_message').css('color', 'red');
                $('#newsletter_message').empty();
                $('#newsletter_message').append('Wystąpił problem z wykonaniem skryptu !');
                $('#newsletter_message').show();
                setTimeout("$('#newsletter_message').hide();$('#newsletter_form').show()", 5000);
            }
        });
    }
    errors = new Array();
}
