/**
 * migz.ru
 * Created by Bright Brains
 */
var user_register_form_submitted = false;
var user_login_form_submitted = false;

var user_login_form_authorised_label = "My Dashboard";
var user_login_form_unauthorised_label = "Login / Register";

function user_register_form_submit()
{
    if(user_register_form_submitted==false) {
        $('#register_form_status').hide().addClass('hidden').removeClass('process').removeClass('error').removeClass('success');
        $('#register_form_status').html('<img src="/img/interface/ajax-loading.gif" width="16" height="16"/><span>Обработка формы...</span>');
        $('#register_form_status').fadeIn().addClass('process').removeClass('hidden');

        var status_class = 'process';
        var status_message = '';
        var errors = '';
        var empty_fields = false;
        var errors_counter = 0;
        var invalid_email = false;

        $.each($('.iRequired'), function(i,input) {
            if($(input).val()=='') {
                errors_counter++;
                $(input).animate({border: '1px solid #bf8058'},1000);
                if(errors_counter==1) $(input).focus();
                empty_fields = true;
            }
            else {
                if($(input).hasClass('iEmail') && valid_email($(input).val())==false) {
                    errors_counter++;
                    $(input).animate({border: '1px solid #bf8058'},1000);
                    if(errors_counter==1) $(input).focus();
                    invalid_email = true;
                }
                else
                {
                    $(input).animate({border: '1px solid #7f9db9'},1000);
                }
            }
        });

        if(empty_fields==true) errors = errors + 'Пожалуйста, заполните все обязательные поля<br/>';
        if(invalid_email==true) errors = errors + 'Неправильный формат электронной почты<br/>';

        if(errors!='')
        {
            status_class='error'; status_message = errors;
            $('#register_form_status').addClass(status_class);
            $('#register_form_status').html(status_message);
        }

        else
        {
            // отключаем обработку формы после отправки
            user_register_form_submitted = true;
            // затеняем форму
            $('#register_form_form').animate({opacity: 0.4}, 500);

            // получаем выбранные предпочтения
            var user_themes = '';
            $.each($('.theme_checkbox'), function(i,input) {
                if($(input).attr('checked')!='') {
                    if(user_themes=='') user_themes = $(input).attr('id');
                    else user_themes = user_themes + ',' +$(input).attr('id');
                }
            });

            $.post('/ajax/ajax_user_register', {user_email: $('#register_email').val(), user_password: $('#register_password').val(), user_nickname: $('#register_nickname').val(),
                                                     user_sex: $('#register_sex').val(), user_first_name: $('#register_first_name').val(), user_last_name: $('#register_last_name').val(),
                                                     user_themes: user_themes},
            function(data) {

                if (data.status == true)
                {
                    $('#register_form_form').fadeOut();
                    $('#register_form_status').fadeOut('fast', function(){
                        $('#register_form_status').removeClass('process').addClass('success');
                        $('#register_form_status').html(data.message);
                        $('#register_form_status').fadeIn();
                    });
                    window.location = '/' + current_lang + '/mymigz';
                }
                else
                {
                    $('#register_form_status').fadeOut('fast', function(){
                        $('#register_form_status').removeClass('process').addClass('error');
                        $('#register_form_status').html(data.message);
                        $('#register_form_status').fadeIn();
                    });
                    $('#register_form_form').animate({opacity: 1}, 500);
                    
                    // включаем обработку формы
                    user_register_form_submitted = false;
                }
                }, "json"
            );

        }
    }
    else 
    {
        return false;
    }
}



function valid_email(email){
var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
if (filter.test(email)) return true;
else return false;
}



function user_check_login() {
    if(user_login_form_submitted == false)
    {
        var user_name = $('#auth_name').val();
        var user_pass = $('#auth_pass').val();
        var user_remember = $('#auth_remember').attr('checked');

        if(user_name == '' || valid_email(user_name) == false)
        {
            $('#auth_name').focus();
            return false;
        }
        else if(user_pass == '')
        {
            $('#auth_pass').focus();
        }
        else
        {
            $('#login_status').hide();
            $('#login_status').html('<img src="/img/interface/ajax-loading-dark.gif" width="16" height="16"/><span>Обработка формы...</span>');
            $('#login_status').fadeIn().removeClass('hidden');

            // включаем обработку формы
            user_login_form_submitted = true;
            $('#login_form').animate({opacity: 0.4}, 300);

            $.post('/ajax/ajax_user_login', {user_name: user_name, user_pass: user_pass, user_remember: user_remember},
            function(data) {

                if (data.status == true)
                {
                    $('#login_status').hide();
                    $('#headerform').hide();

                    /*
                    $('#headeruser').fadeIn().removeClass('hidden');
                    $('#login_form').animate({opacity: 1}, 300);
                    $('#dashboard-label').html(user_login_form_authorised_label);

                    $('#olduser>p>strong').html(data.user_display_name);
                    $('#dashdetail').html(data.user_stats);

                    //  активируем/деактивируем необходимые элементы на странице

                    // кнопка MyMigz на dashboard'e
                    $('#dashboard-my-migz').attr('href', '/mymigz').attr('onclick', 'window.location="/mymigz"');

                    if(current_page == '')
                    {
                        // do nothing
                    }
                    // blog: включаем ссылку "добавить запись"
                    else if(current_page == 'blog' || current_page == 'blog-one')
                    {
                        $('#add_post_link').attr('href', '/blog/add');
                    }
                    // media: включаем ссылку "добавить медиа"
                    else if(current_page == 'media' || current_page == 'media-one')
                    {
                        $('#add_post_link').attr('href', '/media/add');
                    }
                    */
                    
                    window.location = current_page;
                }
                else
                {
                    $('#login_status').html(data.message);
                    $('#login_form').animate({opacity: 1}, 300);
                    // включаем обработку формы
                    user_login_form_submitted = false;
                }
                }, "json"
            );
        }
    }
    else
    {
        return false;
    }
}



function user_logout() {
    $.post('/ajax/ajax_user_logout', {},
    function(data) {
        if (data.status == true)
        {
            $('#headeruser').hide();
            $('#headerform').fadeIn().removeClass('hidden');
            $('#dashboard-label').html(user_login_form_unauthorised_label);
            // включаем обработку формы логина
            user_login_form_submitted = false;
        }

        /*********************************
         *  активируем/деактивируем необходимые элементы на странице
         */

        // кнопка MyMigz на dashboard'e
        $('#dashboard-my-migz').attr('href', '#').addClass('dashboardlink');

        if(current_page == '')
        {
            // do nothing
        }
        else window.location = current_page;
    }, "json"
    );    
}



function user_update_settings()
{
    if(user_register_form_submitted==false) {
        $('#register_form_status').hide().addClass('hidden').removeClass('process').removeClass('error').removeClass('success');
        $('#register_form_status').html('<img src="/images/interface/ajax-loading.gif" width="16" height="16"/><span>Обработка формы...</span>');
        $('#register_form_status').fadeIn().addClass('process').removeClass('hidden');

        var status_class = 'process';
        var status_message = '';
        var errors = '';
        var empty_fields = false;
        var errors_counter = 0;
        var invalid_email = false;

        $.each($('.iRequired'), function(i,input) {
            if($(input).val()=='') {
                errors_counter++;
                $(input).animate({border: '1px solid #bf8058'},1000);
                if(errors_counter==1) $(input).focus();
                empty_fields = true;
            }
            else {
                if($(input).hasClass('iEmail') && valid_email($(input).val())==false) {
                    errors_counter++;
                    $(input).animate({border: '1px solid #bf8058'},1000);
                    if(errors_counter==1) $(input).focus();
                    invalid_email = true;
                }
                else
                {
                    $(input).animate({border: '1px solid #7f9db9'},1000);
                }
            }
        });

        if(empty_fields==true) errors = errors + 'Пожалуйста, заполните все обязательные поля<br/>';
        if(invalid_email==true) errors = errors + 'Неправильный формат электронной почты<br/>';

        if(errors!='')
        {
            status_class='error'; status_message = errors;
            $('#register_form_status').addClass(status_class);
            $('#register_form_status').html(status_message);
        }

        else
        {
            // отключаем обработку формы после отправки
            user_register_form_submitted = true;
            // затеняем форму
            $('#register_form_form').animate({opacity: 0.4}, 500);

            // получаем выбранные предпочтения
            var user_themes = '';
            $.each($('.theme_checkbox'), function(i,input) {
                if($(input).attr('checked')!='') {
                    if(user_themes=='') user_themes = $(input).attr('id');
                    else user_themes = user_themes + ',' +$(input).attr('id');
                }
            });

            $.post('/ajax/user_update_info', {user_email: $('#register_email').val(), user_password: $('#register_password').val(), user_new_password: $('#register_new_password').val(), user_nickname: $('#register_nickname').val(),
                                                     user_sex: $('#register_sex').val(), user_first_name: $('#register_first_name').val(), user_last_name: $('#register_last_name').val(),
                                                     user_themes: user_themes},
            function(data) {

                if (data.status == true)
                {
                    $('#register_form_form').fadeOut();
                    $('#register_form_status').fadeOut('fast', function(){
                        $('#register_form_status').removeClass('process').addClass('success');
                        $('#register_form_status').html(data.message);
                        $('#register_form_status').fadeIn();
                    });                    
                }
                else
                {
                    $('#register_form_status').fadeOut('fast', function(){
                        $('#register_form_status').removeClass('process').addClass('error');
                        $('#register_form_status').html(data.message);
                        $('#register_form_status').fadeIn();
                    });
                    $('#register_form_form').animate({opacity: 1}, 500);

                    // включаем обработку формы
                    user_register_form_submitted = false;
                }
                }, "json"
            );

        }
    }
    else
    {
        return false;
    }
}



// ВОССТАНОВЛЕНИЕ ПАРОЛЯ

function user_lost_password_form_submit()
{
    if(user_register_form_submitted==false) {
        $('#register_form_status').hide().addClass('hidden').removeClass('process').removeClass('error').removeClass('success');
        $('#register_form_status').html('<img src="/img/interface/ajax-loading.gif" width="16" height="16"/><span>Обработка формы...</span>');
        $('#register_form_status').fadeIn().addClass('process').removeClass('hidden');

        var status_class = 'process';
        var status_message = '';
        var errors = '';
        var empty_fields = false;
        var errors_counter = 0;
        var invalid_email = false;

        $.each($('.iRequired'), function(i,input) {
            if($(input).val()=='') {
                errors_counter++;
                $(input).animate({border: '1px solid #bf8058'},1000);
                if(errors_counter==1) $(input).focus();
                empty_fields = true;
            }
            else {
                if($(input).hasClass('iEmail') && valid_email($(input).val())==false) {
                    errors_counter++;
                    $(input).animate({border: '1px solid #bf8058'},1000);
                    if(errors_counter==1) $(input).focus();
                    invalid_email = true;
                }
                else
                {
                    $(input).animate({border: '1px solid #7f9db9'},1000);
                }
            }
        });

        if(empty_fields==true) errors = errors + 'Пожалуйста, заполните все обязательные поля<br/>';
        if(invalid_email==true) errors = errors + 'Неправильный формат электронной почты<br/>';

        if(errors!='')
        {
            status_class='error'; status_message = errors;
            $('#register_form_status').addClass(status_class);
            $('#register_form_status').html(status_message);
        }

        else
        {
            // отключаем обработку формы после отправки
            user_register_form_submitted = true;
            // затеняем форму
            $('#register_form_form').animate({opacity: 0.4}, 500);

            // получаем выбранные предпочтения
            var user_themes = '';
            $.each($('.theme_checkbox'), function(i,input) {
                if($(input).attr('checked')!='') {
                    if(user_themes=='') user_themes = $(input).attr('id');
                    else user_themes = user_themes + ',' +$(input).attr('id');
                }
            });

            $.post('/ajax/user_lost_password', {register_email: $('#register_email').val()},
            function(data) {

                if (data.status == true)
                {
                    $('#register_form_form').fadeOut();
                    $('#register_form_status').fadeOut('fast', function(){
                        $('#register_form_status').removeClass('process').addClass('success');
                        $('#register_form_status').html(data.message);
                        $('#register_form_status').fadeIn();
                    });
                }
                else
                {
                    $('#register_form_status').fadeOut('fast', function(){
                        $('#register_form_status').removeClass('process').addClass('error');
                        $('#register_form_status').html(data.message);
                        $('#register_form_status').fadeIn();
                    });
                    $('#register_form_form').animate({opacity: 1}, 500);

                    // включаем обработку формы
                    user_register_form_submitted = false;
                }
                }, "json"
            );

        }
    }
    else
    {
        return false;
    }
}




function add_to_mymigz (event_id, a)
{
    $(a).html('<img src="/images/interface/ajax_loader_brown.gif" alt=""/>');
    var remove = 0;
    if ($(a).hasClass('remove')) remove = 1;
    $.post('/ajax/event_to_mymigz', { event_id: event_id, remove: remove }, function(data) {
        if (data.status == true)
        {
            $(a).html(data.message);
            $(a).toggleClass('remove');
        }
    }, "json");
}


function media_to_favorites(media_id, a)
{
    $(a).html('');
    var remove = 0;
    if ($(a).hasClass('active')) remove = 1;
    $.post('/ajax/media_to_favorites', { media_id: media_id, remove: remove }, function(data) {
        if (data.status == true)
        {
            $(a).html(data.message);
            $(a).toggleClass('active');
        }
    }, "json");
}


function news_to_favorites(news_id, a)
{
    $(a).html('');
    var remove = 0;
    if ($(a).hasClass('active')) remove = 1;
    $.post('/ajax/news_to_favorites', { news_id: news_id, remove: remove }, function(data) {
        if (data.status == true)
        {
            $(a).html(data.message);
            $(a).toggleClass('active');
        }
    }, "json");
}


function program_to_favourites(event_id, a)
{
    $(a).html('');
    var remove = 0;
    if ($(a).hasClass('active')) remove = 1;
    $.post('/add_to_mymigz', { event_id: event_id, remove: remove }, function(data) {
        if (data.status == true)
        {
            //$(a).html(data.message);
            $(a).toggleClass('active');
        }
    }, "json");
}



var news_add_form_submitted = false;

function news_add_form_submit ()
{
    if(news_add_form_submitted==false) {
        

        $('#news_add_form_status').hide().addClass('hidden').removeClass('process').removeClass('error').removeClass('success');
        $('#news_add_form_status').html('<img src="/images/interface/ajax-loading.gif" width="16" height="16"/><span>Обработка формы...</span>');
        $('#news_add_form_status').fadeIn().addClass('process').removeClass('hidden');

        var status_class = 'process';
        var status_message = '';
        var errors = '';
        var empty_fields = false;
        var errors_counter = 0;

        $.each($('.iRequired'), function(i,input) {
            if($(input).val()=='') {
                errors_counter++;
                $(input).animate({border: '1px solid #bf8058'},1000);
                if(errors_counter==1) $(input).focus();
                empty_fields = true;
            }
            else {
                $(input).animate({border: '1px solid #7f9db9'},1000);
            }
        });

        if(empty_fields==true) errors = errors + 'Пожалуйста, заполните все обязательные поля<br/>';

        if(errors != '')
        {
            status_class='error'; status_message = errors;
            $('#news_add_form_status').addClass(status_class);
            $('#news_add_form_status').html(status_message);
        }
        else
        {
            // отключаем обработку формы после отправки
            news_add_form_submitted = true;
            // затеняем форму
            $('#news_add_form_wrap').animate({opacity: 0.4}, 500, function () { $('#add_post').submit(); });

        }

    }
}
