var Registration = new Object();

// функция открытия окна регистрации
Registration.open = function () {
    $("#registrationBox").fadeIn();
};

// функция закрытия окна регистрации
Registration.close = function () {
    $("#registrationBox").fadeOut();
};

// callback валидации
Registration.validationCallback = function (fields) {
    $("#registrationBox .reg form span").text('');
    $("#registrationBox .reg form img").remove();
    if(!fields)
    {
        switch($("#registrationBox .reg form").find(":submit").attr("rel"))
        {
            case 'step1':
            Registration.sendMailValidation($("#registrationBox .reg form input[name='c_email']").val());
            break;

            case 'step2':
            Registration.registerUser();
            break;
        }
    }
    else
    {
        for(f in fields)
        {
            $("#registrationBox .reg form:has(:submit) i").filter(":has(input[name='"+fields[f]['field']+"'])").after('<img src="/img/stop.gif" alt="" />');
            $("#registrationBox .reg form i").filter(":has(input[name='"+fields[f]['field']+"'])").next("img").next("span").append(fields[f]['message']+" ");
        }
    }
    return false;
}

// отправка письма с подтверждением email
Registration.sendMailValidation = function (email) {
    $("#registrationBox .reg form input").attr("disabled", true);
    $("#registrationBox .reg form :submit").val("Отправляется письмо...");
    $.getJSON("/execplugin/?plg=registration&plugFunc=validateEmail", {email:email}, function(resp){
        var html=TrimPath.processDOMTemplate ("registrationStep1Tpl", {email:email});
        $("#registrationBox .reg .reg_body").html(html);
    });
};

// регистрирование нового юзера
Registration.registerUser = function (){
    var form=$("#registrationBox .reg form input").serialize();
    $.getJSON("/execplugin/?plg=registration&plugFunc=addUser", form, function(response){
        if(parseInt(response['code'])>0)
        {
            var html=TrimPath.processDOMTemplate ("registrationStep3Tpl", {id:response['id']});
            $("#registrationBox .reg .reg_body").html(html);
        }
        else
        {
            switch(parseInt(response['code']))
            {
                case -1:
                    alert("Ошибка: неверный ключ активации.");
                break;

                case -2:
                    alert("Ошибка: проблемы при добавлении пользователя в БД. Возможно такой Email адрес уже зарегистрирован на сайте.");
                break;
            }
        }
    });
};

// функция открытия окна входа в систему
Registration.login = function () {
    $("#loginBox").fadeIn();
};

// функция закрытия окна входа в систему
Registration.loginClose = function () {
    $("#loginBox").fadeOut();
};
