<%@ page language="C#" masterpagefile="~/MasterFile/TimeCheck.master" autoeventwireup="true" inherits="Masters_TA_UI_Master_AttandanceCode, App_Web_oqeancrh" %>

<%@ Register Assembly="DevExpress.Web.v14.2" Namespace="DevExpress.Web"
    TagPrefix="dxe" %>
<%@ Register TagPrefix="dxGridview" Namespace="DevExpress.Web" Assembly="DevExpress.Web.v14.2" %>
<asp:Content ID="Content1" ContentPlaceHolderID="BodyContentPH" runat="Server">
    <div>
        <div class="content-header">
            <h1 style="background-image: url(../dist/img/Att-code.png); background-repeat: no-repeat; padding-left: 35px">
                <asp:Label ID="lbl_Header" runat="server"></asp:Label>
            </h1>
            <asp:SiteMapPath ID="site" runat="server" CssClass="breadcrumb">
                <NodeStyle CssClass="active" />
            </asp:SiteMapPath>
        </div>
        <div class="content">
            <div class="form-horizontal">
                <div class="border-table new-space" style="margin-top: 0px">
                    <div class="row form-group">
                        <div class="col-md-12" style="overflow: auto; overflow-y: hidden; padding-bottom: 10px">
                            <asp:HiddenField ID="hdnSelectRow" runat="server" />
                            <asp:HiddenField ID="hdnGetAllid" runat="server" />
                            <dxGridview:ASPxGridView ID="gv" EnableCallBacks="false" runat="server" ClientInstanceName="grv_AttendanceCode"
                                AutoGenerateColumns="false" DataSourceID="ObjectDataSource1" OnHtmlRowCreated="gv_HtmlRowCreated"
                                KeyFieldName="AttandanceCode">
                                <Columns>
                                    <dxGridview:GridViewDataColumn VisibleIndex="0" Width="32px" HeaderStyle-VerticalAlign="Middle"
                                        HeaderStyle-HorizontalAlign="Center" CellStyle-VerticalAlign="Middle" CellStyle-HorizontalAlign="Center">
                                        <Settings AllowAutoFilter="false" />
                                        <HeaderTemplate>
                                            <input id="chkSelectAll" runat="server" type="checkbox" onclick="SelectAllOnThisPage(this)" />
                                        </HeaderTemplate>
                                        <DataItemTemplate>
                                            <input id="chkSelect" runat="server" type="checkbox" onclick="SelectOnRow(this)"
                                                accesskey='<%# Eval("AttandanceId") %>' />
                                        </DataItemTemplate>
                                        <HeaderStyle HorizontalAlign="center" Wrap="true" />
                                    </dxGridview:GridViewDataColumn>
                                    <dxGridview:GridViewDataTextColumn FieldName="AttandanceId" VisibleIndex="1" Visible="false">
                                        <DataItemTemplate>
                                            <asp:Label ID="lblID" runat="server" Text=' <%# Eval("AttandanceId")%>'></asp:Label>
                                        </DataItemTemplate>
                                        <HeaderStyle HorizontalAlign="center" Wrap="true" />
                                    </dxGridview:GridViewDataTextColumn>
                                    <dxGridview:GridViewDataTextColumn Caption="Attendance Code" FieldName="AttandanceCode"
                                        VisibleIndex="2" Width="200px">
                                        <DataItemTemplate>
                                            <asp:Label ID="lblAttandance" Text='<%# Eval("AttandanceCode") %>' runat="server"
                                                Style="overflow-y: auto; overflow-x: auto; word-break: break-all; word-wrap: break-word; display: inline-block;"></asp:Label>
                                        </DataItemTemplate>
                                        <HeaderStyle HorizontalAlign="center" Wrap="true" />
                                    </dxGridview:GridViewDataTextColumn>
                                    <dxGridview:GridViewDataTextColumn Caption="Attendance" FieldName="AttandanceValue"
                                        VisibleIndex="3" Width="200px">
                                        <DataItemTemplate>
                                            <asp:Label ID="lblAttandanceValue" Text='<%# Eval("AttandanceValue") %>' runat="server"></asp:Label>
                                        </DataItemTemplate>
                                        <HeaderStyle HorizontalAlign="center" Wrap="true" />
                                    </dxGridview:GridViewDataTextColumn>
                                    <dxGridview:GridViewDataTextColumn Caption="Company" FieldName="name" VisibleIndex="4"
                                        Width="200px">
                                        <DataItemTemplate>
                                            <asp:Label ID="lblLevelName" Text='<%# Eval("name") %>' runat="server" Style="overflow-y: auto; overflow-x: auto; word-break: break-all; word-wrap: break-word; display: inline-block;"></asp:Label>
                                        </DataItemTemplate>
                                        <HeaderStyle HorizontalAlign="center" Wrap="true" />
                                    </dxGridview:GridViewDataTextColumn>
                                    <dxGridview:GridViewDataColumn HeaderStyle-VerticalAlign="Middle" HeaderStyle-HorizontalAlign="Center"
                                        CellStyle-VerticalAlign="Middle" CellStyle-HorizontalAlign="Center" Width="32px"
                                        VisibleIndex="6">
                                        <Settings AllowAutoFilter="false" />
                                        <DataItemTemplate>
                                            <asp:LinkButton ID="btnEdit" runat="server" ToolTip='<%# Session["Edit"] %>' data-toggle="tooltip"
                                                OnClick="EditLinkButton_Click" CommandName='<%# Eval("AttandanceId") %>' data-placement="top"
                                                CssClass="btn btn-defalut edit-icons" Style="color: #3C8DBC"></asp:LinkButton>
                                        </DataItemTemplate>
                                        <HeaderStyle HorizontalAlign="center" Wrap="true" />
                                    </dxGridview:GridViewDataColumn>
                                    <dxGridview:GridViewDataColumn HeaderStyle-VerticalAlign="Middle" HeaderStyle-HorizontalAlign="Center"
                                        CellStyle-VerticalAlign="Middle" CellStyle-HorizontalAlign="Center" Width="32px"
                                        VisibleIndex="7">
                                        <Settings AllowAutoFilter="false" />
                                        <DataItemTemplate>
                                            <asp:LinkButton ID="btnDelete" runat="server" ToolTip='<%# Session["Delete"] %>' data-toggle="tooltip"
                                                OnClick="btn_delete_Click_1" CommandName='<%# Eval("AttandanceId") %>' data-placement="top"
                                                CssClass="btn btn-defalut del-icons" Style="color: Red" OnClientClick="return Delete_Conf();"></asp:LinkButton>
                                        </DataItemTemplate>
                                        <HeaderStyle HorizontalAlign="center" Wrap="true" />
                                    </dxGridview:GridViewDataColumn>
                                </Columns>
                                <Styles AlternatingRow-CssClass="table-bg">
                                </Styles>
                                <SettingsText EmptyDataRow="No Records Found" />
                                <SettingsPager PageSize="10">
                                </SettingsPager>
                                <Settings ShowFilterRow="true" />
                                <SettingsBehavior SortMode="Value" AllowSort="true" AllowDragDrop="true" />
                                <%--<ClientSideEvents Init="OnInit" EndCallback="OnEndCallback" />--%>
                            </dxGridview:ASPxGridView>
                            <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="SelectAllAttandance"
                                TypeName="AttandanceCodeEventData">
                                <SelectParameters>
                                    <asp:Parameter DefaultValue="0" Name="iAttandanceID" Type="int32" />
                                    <asp:Parameter DefaultValue="All" Name="strAll" Type="string" />
                                    <asp:SessionParameter Name="strUserGroup" SessionField="UserGroupName" Type="string" />
                                    <asp:SessionParameter Name="strUserLevels" SessionField="LevelRights" Type="string" />
                                    <asp:SessionParameter Name="parentLevelId" SessionField="parentLevelId" Type="int32" />
                                </SelectParameters>
                            </asp:ObjectDataSource>
                        </div>
                    </div>
                    <div class="row page-nos">
                        <div class="col-md-12">
                            <div class="pull-right-button">
                                <asp:LinkButton ID="btn_add" CssClass="btn add-btn fa-plus" runat="server" OnClick="btn_add_Click" />
                                <asp:LinkButton ID="btn_Delete" CssClass="btn btn-primary fa fa-trash-o" runat="server"
                                    CausesValidation="False" OnClick="btn_Delete_Click" OnClientClick="return confirmdelete(this.form);" />
                                <asp:LinkButton ID="btn_Restore" runat="server" CausesValidation="true" CssClass="but"
                                    OnClientClick="return RestoreData();" OnClick="btn_Restore_Click" />
                                <asp:HiddenField ID="hdnDeletedData" runat="server" />
                                <asp:LinkButton ID="btn_PermanentDelete" runat="server" CausesValidation="true" CssClass="btn del-btn fa-trash-o"
                                    OnClientClick="return Permanentconfirmdelete(this.form);" OnClick="btn_PermanentDelete_Click" />
                                <asp:Button ID="btn_Cancel" CssClass="but" Visible="false" runat="server" OnClick="btn_Cancel_Click" />
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <script type="text/javascript" language="javascript">
            function OnInit(s, e) {

                AdjustSize();
            }
            function OnEndCallback(s, e) {
                AdjustSize();
            }

            function AdjustSize() {

                var height = Math.max(0, document.documentElement.clientHeight);
                var width = Math.max(0, document.documentElement.clientWidth);
                grid.SetHeight(height);
            }
            function Delete_Conf() {
                //Alert_AreyousuretoDelete
                return confirm('Are you sure to Delete ?');
            }
            function SelectAllOnThisPage(chkSelectAll) {
                var hdnSelectRow = document.getElementById('<%= hdnSelectRow.ClientID %>');
            var hdnSelectAll = document.getElementById('<%= hdnGetAllid.ClientID %>');
            if (chkSelectAll.checked == true) {
                for (var i = 0; i < grv_AttendanceCode.pageRowCount; i++) {
                    if (document.getElementById('ctl00_BodyContentPH_gv_cell' + (i + grv_AttendanceCode.visibleStartIndex) + '_0_chkSelect').disabled == false) {
                        document.getElementById('ctl00_BodyContentPH_gv_cell' + (i + grv_AttendanceCode.visibleStartIndex) + '_0_chkSelect').checked = true;
                        var hdnUserId = document.getElementById('ctl00_BodyContentPH_gv_cell' + (i + grv_AttendanceCode.visibleStartIndex) + '_0_chkSelect').accessKey;
                        var hdnSelectRow = document.getElementById('<%= hdnSelectRow.ClientID %>');
                        var removeId = hdnSelectRow.value.split(",");
                        if (hdnUserId != "" && !Array.contains(removeId, hdnUserId)) {
                            if (hdnSelectRow.value != "")
                                hdnSelectRow.value += ",";
                            hdnSelectRow.value += hdnUserId;
                        }
                    }
                }
            }
            else {
                for (var i = 0; i < grv_AttendanceCode.pageRowCount; i++) {
                    document.getElementById('ctl00_BodyContentPH_gv_cell' + (i + grv_AttendanceCode.visibleStartIndex) + '_0_chkSelect').checked = false;
                }
                hdnSelectRow.value = '';
            }
        }
        function SelectOnRow(chkOnSelect) {
            var hdnUserId = chkOnSelect.accessKey;
            var hdnSelectRow = document.getElementById('<%= hdnSelectRow.ClientID %>');
            var removeId = hdnSelectRow.value.split(",");
            if (chkOnSelect.checked) {
                if (hdnUserId != "" && !Array.contains(removeId, hdnUserId)) {
                    if (hdnSelectRow.value != "")
                        hdnSelectRow.value += ",";
                    hdnSelectRow.value += hdnUserId;
                }
                var varTotalCheckedCount = 0;
                for (var i = 0; i < grv_AttendanceCode.pageRowCount; i++) {
                    if (document.getElementById('ctl00_BodyContentPH_gv_cell' + (i + grv_AttendanceCode.visibleStartIndex) + '_0_chkSelect').checked)
                        varTotalCheckedCount = varTotalCheckedCount + 1;
                    else
                        break;
                }
                if (varTotalCheckedCount == grv_AttendanceCode.pageRowCount)
                    document.getElementById('ctl00_BodyContentPH_gv_header0_chkSelectAll').checked = true;
                else
                    document.getElementById('ctl00_BodyContentPH_gv_header0_chkSelectAll').checked = false;
            }
            else {
                if (Array.contains(removeId, hdnUserId)) {
                    Array.remove(removeId, hdnUserId);
                }
                hdnSelectRow.value = removeId;
                document.getElementById('ctl00_BodyContentPH_gv_header0_chkSelectAll').checked = false;
            }
        }
        var Norecordsavailable = "No records available ";
        var AreyousuretoRestore = "Are you sure to Restore? ";
        var Selecteddataisnotindeletedstatus = "Selected data is not in deleted status ";
        var Selectdatatorestore = "Select data to restore ";
        var Nodeletedrecordsavailable = "No deleted records available ";
        function RestoreAlert(norecordsavailable, areyousuretoRestore, selecteddataisnotindeletedstatus, selectdatatorestore, nodeletedrecordsavailable) {
            Norecordsavailable = norecordsavailable;
            AreyousuretoRestore = areyousuretoRestore;
            Selecteddataisnotindeletedstatus = selecteddataisnotindeletedstatus;
            Selectdatatorestore = selectdatatorestore;
            Nodeletedrecordsavailable = nodeletedrecordsavailable;
        }
        function RestoreData() {
            var rowscount = grv_AttendanceCode.pageRowCount;
            if (rowscount == 0) {
                alert(Norecordsavailable);
                return false;
            }
            var hdnSelectRow = document.getElementById('<%= hdnSelectRow.ClientID %>');
        var DeleteDataRow = document.getElementById('<%= hdnDeletedData.ClientID %>');
        if (DeleteDataRow.value != '') {
            if (hdnSelectRow.value != '') {
                var selectedRow = new Array();
                selectedRow = hdnSelectRow.value.split(",");
                var deletedRow = new Array();
                deletedRow = DeleteDataRow.value.split(",");
                var Status = false;
                for (var i = 0; i < selectedRow.length; i++) {
                    //alert(selectedRow[i]);
                    if (Array.contains(deletedRow, selectedRow[i])) {
                        Status = true;
                    }
                }
                if (Status == true) {
                    return confirm(AreyousuretoRestore);
                }
                else {
                    alert(Selecteddataisnotindeletedstatus);
                    return false;
                }
            }
            else {
                alert(Selectdatatorestore);
                return false;
            }
        }
        else {
            if (hdnSelectRow.value == '') {
                alert(Nodeletedrecordsavailable);
                return false;
            }
            else {
                alert(Selecteddataisnotindeletedstatus);
                return false;
            }
        }
    }
        </script>

    </div>
</asp:Content>
