| var s3_credential_installed = false;
var configuration_set = false;
$('#wizard').smartWizard({
    onLeaveStep: function (obj, context) {
        if (context.fromStep > context.toStep) {
            $(".left-installation-steps").removeClass('active');
            $(".step" + context.toStep).addClass('active');
            return true;
        }
        switch (context.fromStep) {
            case 1:
                if ($("input[name=license_checkbox]").is(":checked")) {
                    $(".left-installation-steps").removeClass('active');
                    $(".step" + context.toStep).addClass('active');
                    handle_target_step(context.toStep);
                    return true;
                }
                else {
                    new PNotify({
                        title: 'Oop!',
                        text: 'You must accept the License Agreement.',
                        type: 'error'
                    });
                    return false;
                }
                break;
            case 3:
                if (configuration_set) {
                    return true;
                }
                if (!s3_credential_installed) {
                    new PNotify({
                        title: 'Oop!',
                        text: 'Please complete S3 configuration stuffs',
                        type: 'error'
                    });
                    return false;
                }
                var bucket = $("select[name='setting[bucket]']").val();
                var username = $("input[name='setting[username]']").val();
                var password = $("input[name='setting[password]").val();
                var re_password = $("input[name='setting[re_password]").val();
                if (bucket == '') {
                    new PNotify({
                        title: 'Oop!',
                        text: 'Please choose default bucket',
                        type: 'error'
                    });
                    return false;
                }
                if (username == '') {
                    new PNotify({
                        title: 'Oop!',
                        text: 'Please fill username',
                        type: 'error'
                    });
                    return false;
                }
                if (password == '') {
                    new PNotify({
                        title: 'Oop!',
                        text: 'Please choose password',
                        type: 'error'
                    });
                    return false;
                }
                if (password != re_password) {
                    new PNotify({
                        title: 'Oop!',
                        text: 'Your password confirmation is not matched',
                        type: 'error'
                    });
                    return false;
                }
                var data = $("form[name=setting_form]").serialize();
                var url = $("input[name=site_url]").val() + '/index.php?route=home/installation';
                data += "&action=save_settings";
                PrettyS3FilesManager.Application.putLoadingState(".setting-form");
                $.post(url, data, function (data) {
                    PrettyS3FilesManager.Application.removeLoadingState(".setting-form");
                    if (data.status) {
                        $("#login-username").html($("input[name='setting[username]']").val());
                        $("#login-password").html($("input[name='setting[password]").val());
                        configuration_set = true;
                        $(".left-installation-steps").removeClass('active');
                        $(".step" + 4).addClass('active');
                        $('#wizard').smartWizard('goToStep', 4);
                    }
                    else {
                        PrettyS3FilesManager.Application.errorPopup(data.message);
                    }
                });
                return false;
                break;
        }
        $(".left-installation-steps").removeClass('active');
        $(".step" + context.toStep).addClass('active');
        handle_target_step(context.toStep);
        return true;
    },
    onFinish: function (objs, context) {
        var url = $("input[name=site_url]").val();
        document.location.href = url;
    },
});
function handle_target_step(step_num) {
    //Handle at target steps
    switch (step_num) {
        case 2:
            $(".requirement-checking-content").html('<i>Checking all requirements...</i>');
            $("#wizard").find(".actionBar a").attr("disabled", "disabled");
            var url = $("input[name=site_url]").val() + '/index.php?route=home/installation';
            $.post(url, {action:'requirements'}, function(data) {
                $(".requirement-checking-content").html(data.html);
                if (!data.status) {
                    $(".requirement-checking-content").prepend('<div class="alert alert-danger"><i class="fa fa-remove"> </i> Something wrong! please re-checking red highlight requirements</div>');
                }
                else {
                    $("#wizard").find(".actionBar a").removeAttr("disabled");
                }
            });
            break;
    }
}
$(function () {
   $("#btn-connect-cloud").click(function () {
       var app_key = $("input[name='setting[app_id]']").val();
       var app_secret = $("input[name='setting[app_secret]']").val();
       if (app_key == '' || app_secret == '') {
           new PNotify({
               title: 'Oop!',
               text: 'Please fill App Key and Secret',
               type: 'error'
           });
           s3_credential_installed = false;
       }
       else {
           var region = $("select[name='setting[region]']").val();
           if (region == '') {
               new PNotify({
                   title: 'Success',
                   text: 'Please choose your region',
                   type: 'error'
               });
               s3_credential_installed = false;
           }
           else {
               var data = {action:'connect_cloud', key: app_key, secret: app_secret, region: region};
               var url = $("input[name=site_url]").val() + '/index.php?route=home/installation';
               PrettyS3FilesManager.Application.putLoadingState(".setting-form");
               $.post(url, data,  function (data) {
                    if (data.status) {
                        $("select[name='setting[bucket]']").html(data.html);
                        new PNotify({
                            title: 'Success',
                            text: 'Connected to Amazon S3 Credential',
                            type: 'success'
                        });
                        s3_credential_installed = true;
                    }
                    else {
                        PrettyS3FilesManager.Application.errorPopup(data.message);
                        s3_credential_installed = false;
                    }
                    PrettyS3FilesManager.Application.removeLoadingState(".setting-form");
               });
           }
       }
   });
});
 |