///////// REGISTRATION //////////
function onGetRegistrationResult(responseText) {
    if (responseText.length>0) {
        try {
            var response = eval('(' + responseText + ')');
            if (response.success) {
                var message = document.getElementById('registration_success').innerHTML;
                window.location.reload();
//                ezChangePage('./');
//                refresh();
//                showMessage(message);
            }
            else {
                if (typeof(response.error.email) != 'undefined' && response.error.email == 'exist') {
                    document.getElementById('email_error_field').innerHTML = document.getElementById('email_error_busy').innerHTML;
                    var label = document.getElementById('email_error_busy').parentNode;
                    if (label.className.indexOf('ok') != -1) {
                        label.className = label.className.replace(/ok/, 'err');
                    } else if (label.className.indexOf('err') == -1) {
                        label.className = label.className+' err';
                    }

                }
                if (typeof(response.error.user) != 'undefined') {
                    document.getElementById('other_error').innerHTML = response.error.user;
                }
                /*Остальные ошибки должны отловиться валидатором*/
            }
        }
        catch (e) {
            // do nothing
        }

    }
    return false;
}


function doRegistration(form) {
    new Ajax('/defa/ajax/personal', {'method': 'post', 'data': form, 'onComplete': onGetRegistrationResult}).request();
}

///////// AUTHORIZATION //////////
function onGetAuthorizationResult(responseText) {
    if (responseText.length>0) {
        try {
            var response = eval('(' + responseText + ')');
            if (response.success) {
                document.getElementById('personal').style.display = 'none';
                window.location.reload();
//                refresh();
//                ezChangePage('./');
            }
            else {
                if (response.error == 'blocked') {
                    document.getElementById('error_auth_blocked').style.display = 'block';
                    document.getElementById('error_auth_incorrect').style.display = 'none';
                }
                else {
                    document.getElementById('error_auth_blocked').style.display = 'none';
                    document.getElementById('error_auth_incorrect').style.display = 'block';
                }
            }
        }
        catch (e) {
            // do nothing
        }
    }
}

function doAuthorize(form) {
    new Ajax('/defa/ajax/personal', {'method': 'post', 'data': form, 'onComplete': onGetAuthorizationResult}).request();
}

///////// EMAIL //////////
function onChangeEmail(responseText) {
    if (responseText.length>0) {
        try {
            var response = eval('(' + responseText + ')');
            if (response.success) {
                var message = document.getElementById('email_change_success').innerHTML;
                document.getElementById(this.layer).style.display = 'none';
//                refresh();
                ezChangePage('./');
                showMessage(message);
            }
            else {
                document.getElementById(this.errorField).style.display = 'block';
                /* Остальные ошибки должны отловиться валидатором */
            }
        }
        catch (e) {
            // do nothing
        }

    }
    return false;
}

function doChangeEmail(form, errorField, layer) {
    var ajax = new Ajax('/defa/ajax/personal', {'method': 'get', 'data': form, 'onComplete': onChangeEmail});
    ajax.errorField = errorField;
    ajax.layer = layer;
    ajax.request();
}


///////// REGISTRATION //////////
function onChangePassword(responseText) {
    if (responseText.length>0) {
        try {
            var response = eval('(' + responseText + ')');
            if (response.success) {
                var message = document.getElementById('password_change_success').innerHTML;
                document.getElementById('my_account_edit').style.display = 'none';
//                refresh();
                ezChangePage('./');
                showMessage(message);
            }
            else {
                document.getElementById('error_password_unknown').style.display = 'block';
                /*Остальные ошибки должны отловиться валидатором*/
            }
        }
        catch (e) {
            // do nothing
        }

    }
    return false;
}

function doChangePassword(form) {
    new Ajax('/defa/ajax/personal', {'method': 'post', 'data': form, 'onComplete': onChangePassword}).request();
}

///////// SUBSCRIBTION //////////
function onChangeSubscription(responseText) {
    if (responseText.length>0) {
        try {
            var response = eval('(' + responseText + ')');
            if (response.success) {
                var message = document.getElementById('subscription_change_success').innerHTML;
                document.getElementById('my_account_subscr').style.display = 'none';
//                refresh();
                ezChangePage('./');
                showMessage(message);
            }
            else {
                document.getElementById('error_subscription_unknown').style.display = 'block';
            }
        }
        catch (e) {
            // do nothing
        }

    }
    return false;
}

function doChangeSubscription(form) {
    new Ajax('/defa/ajax/personal', {'method': 'post', 'data': form, 'onComplete': onChangeSubscription}).request();
}


///////// USER_TYPE //////////
function onChangeUserType(responseText) {
    if (responseText.length>0) {
        try {
            var response = eval('(' + responseText + ')');
            if (response.success) {
//                var message = document.getElementById('subscription_change_success').innerHTML;
                document.getElementById('user_type_define').style.display = 'none';
//                refresh();
                ezChangePage('./');
//                showMessage(message);
            }
/*            else {
            }*/
        }
        catch (e) {
            // do nothing
        }

    }
    return false;
}

function doChangeUserType(form) {
    new Ajax('/defa/ajax/personal', {'method': 'get', 'data': form, 'onComplete': onChangeUserType}).request();
}


///////// REGISTRATION //////////
function onQuestionSend(responseText) {
    if (responseText.length>0) {
        try {
            var response = eval('(' + responseText + ')');
            if (response.success) {
                var message = document.getElementById('question_send_success').innerHTML;
                document.getElementById('question_form').style.display = 'none';
                ezChangePage('./');
//                refresh();
                showMessage(message);
            }
            else {
                /*Остальные ошибки должны отловиться валидатором*/
            }
        }
        catch (e) {
            // do nothing
        }

    }
    return false;
}

function doQuestionSend(form) {
    new Ajax('/defa/ajax/faq', {'method': 'post', 'data': form, 'onComplete': onQuestionSend}).request();
}
