var C_DELETE_USER_GROUP = "88000";
var C_USER_GROUP_FILTERS = "88001";

var user_group_idx = 0;

function cancelUserGroupEntry() {
    prevscreen('User Group');
    userGroupFilter();
}
function cancelUserGroupEntry() {
    prevscreen('User Group');
    userGroupFilter();
}
function addUserGroup() {
    saveUserGroupEntry(C_ADD);
}
function updateUserGroup() {
    saveUserGroupEntry(C_UPDATE);
}
function saveUserGroupEntry(type) {
    LoadingScreen("show");

    if (validateUserGroupEntry()) {
        var data = {
            "type"  : type,
            "id"    : $('#txtUserGroupID').val(),
            "name"  : $('#txtUserGroupName').val(),
            "code"  : $('#txtUserGroupCode').val(),
            "admin" : getAdmin(),
        };

        var url = "index.pzx?c=" + user_group_url + "&d=" + new Date().getTime();
        callServer(url, "json", data, onResponseUserGroupEntry, null);
        swal.fire('Update Success', '', 'success');
        cancelUserGroupEntry();
        return false;
    } else {
        LoadingScreen("hide");
    }
}

function getAdmin() {
    return {
        "marketing_entity"              : ($('#usergroup-marketing-entity').is(':checked') ? '1' : '0'),
        "marketing_view_others"         : ($('#usergroup-marketing-view-others').is(':checked') ? '1' : '0'),
        "marketing_edit_others"         : ($('#usergroup-marketing-edit-others').is(':checked') ? '1' : '0'),
        "sales_account"                 : ($('#usergroup-sales-account').is(':checked') ? '1' : '0'),
        "sales_suspect"                 : ($('#usergroup-sales-suspect').is(':checked') ? '1' : '0'),
        "sales_prospect"                : ($('#usergroup-sales-prospect').is(':checked') ? '1' : '0'),
        "sales_opportunity"             : ($('#usergroup-sales-opportunity').is(':checked') ? '1' : '0'),
        "sales_view_others"             : ($('#usergroup-sales-view-others').is(':checked') ? '1' : '0'),
        "sales_edit_others"             : ($('#usergroup-sales-edit-others').is(':checked') ? '1' : '0'),
        "integration_customer"          : ($('#usergroup-integration-customer').is(':checked') ? '1' : '0'),
        "integration_prospect"          : ($('#usergroup-integration-prospect').is(':checked') ? '1' : '0'),
        "integration_export_data"       : ($('#usergroup-integration-export-data').is(':checked') ? '1' : '0'),
        "integration_destination_master": ($('#usergroup-integration-destination-master').is(':checked') ? '1' : '0'),
        "admin_user"                    : ($('#usergroup-admin-user').is(':checked') ? '1' : '0'),
        "admin_user_group"              : ($('#usergroup-admin-user-group').is(':checked') ? '1' : '0'),
        "admin_industry"                : ($('#usergroup-admin-industry').is(':checked') ? '1' : '0'),
        "admin_business_sector"         : ($('#usergroup-admin-business-sector').is(':checked') ? '1' : '0'),
        "admin_business_nature"         : ($('#usergroup-admin-business-nature').is(':checked') ? '1' : '0'),
        "admin_software"                : ($('#usergroup-admin-software').is(':checked') ? '1' : '0'),
        "admin_department"              : ($('#usergroup-admin-department').is(':checked') ? '1' : '0'),
        "report_contact"                : ($('#usergroup-report-contact').is(':checked') ? '1' : '0'),
        "report_summary"                : ($('#usergroup-report-summary').is(':checked') ? '1' : '0'),
        "report_inquiry"                : ($('#usergroup-report-inquiry').is(':checked') ? '1' : '0'),
        "report_history"                : ($('#usergroup-report-history').is(':checked') ? '1' : '0'),
        "report_conversation"           : ($('#usergroup-report-conversation').is(':checked') ? '1' : '0'),
        "report_all_account"            : ($('#usergroup-report-all-account').is(':checked') ? '1' : '0'),
        "gift_company"                  : ($('#corporate-gift-company').is(':checked') ? '1' : '0'),
        "gift_listing"                  : ($('#corporate-gift-listing').is(':checked') ? '1' : '0'),
        "gift_master"                   : ($('#corporate-gift-master').is(':checked') ? '1' : '0'),
        "campaign_company"              : ($('#campaign-company').is(':checked') ? '1' : '0'),
        "campaign_listing"              : ($('#campaign-listing').is(':checked') ? '1' : '0'),
        "campaign_master"               : ($('#campaign-master').is(':checked') ? '1' : '0'),
    }
}

function validateUserGroupEntry() {
    if ($('#txtUserGroupCode').blank()) {
        swal.fire("Warning", "User Group Code cannot be blank", "warning");
        return false;
    }

    if ($('#txtUserGroupName').blank()) {
        swal.fire("Warning", "User Group Name cannot be blank", "waring");
        return false;
    }

    return true;
}

function onResponseUserGroupEntry(obj, resp) {
    LoadingScreen("hide");
    if (resp.status != C_OK) {
        swal.fire('Warning', resp.mesg, 'warning');
        return;
    }
    if (resp.type == C_ADD) {
        swal.fire('Success', resp.mesg, 'success');
        $("#btnSaveUserGroup").attr("onclick", "updateUserGroup();");
        $("txtUserGroupID").val(resp.data.id);
        cancelUserGroupEntry();
    }
    if (resp.type == C_UPDATE) {
        swal.fire('Success', resp.mesg, 'success');
        $("#btnUpdateUserGroup").attr("onclick", "updateUserGroup();");
        $("txtUserGroupID").val(resp.data.id);
        cancelUserGroupEntry();
    }
}