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

<%@ Register TagPrefix="dxGridview" Namespace="DevExpress.Web" Assembly="DevExpress.Web.v14.2" %>
<%@ Register Assembly="DevExpress.Web.v14.2" Namespace="DevExpress.Web"
    TagPrefix="devxEditors" %>
<asp:Content ID="Content1" ContentPlaceHolderID="BodyContentPH" runat="Server">

    <script type="text/javascript">
        function navi(loc) {
            document.getElementById('ctl00_BodyContentPH_iframePopup').src = loc;
            return false;
        }
        function Delete_Conf() {
            //Alert_AreyousuretoDelete
            return confirm('Are you sure to Delete ?');
        }
    </script>

    <div class="content-header">
        <h1 style="background-image: url('../dist/img/leave-type.png'); background-repeat: no-repeat; padding-left: 35px">
            <asp:Label ID="lbl_LeaveType" runat="server"></asp:Label>
        </h1>
        <asp:SiteMapPath ID="site" runat="server" CssClass="breadcrumb">
            <NodeStyle CssClass="active" />
        </asp:SiteMapPath>
    </div>
    <div class="content">
        <div class="col-md-12">
            <div id="myModal" class="modal modal-default fade" role="dialog">
                <div class="modal-dialog" style="min-width: 85%;">
                    <!-- Modal content-->
                    <div class="modal-content" style="margin-top: 100px">
                        <div class="modal-header">
                            <button type="button" class="close" data-dismiss="modal" style="border-radius: 50px;">
                                &times;</button>
                            <h4 class="modal-title">
                                <asp:Label ID="lblDataView" runat="server" Text="Data View"></asp:Label>
                            </h4>
                        </div>
                        <div class="modal-body">
                            <iframe id="iframePopup" runat="server" scrolling="auto" width="100%" height="300px"
                                style="border-style: none"></iframe>
                        </div>
                        <div class="modal-footer" style="display: none">
                            <button type="button" class="btn btn-primary pull-right" data-dismiss="modal">
                                Close</button>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <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="GridView1" EnableCallBacks="false" runat="server" ClientInstanceName="GridView1"
                            AutoGenerateColumns="false" KeyFieldName="LeaveType_Id" DataSourceID="ObjectDataSource1"
                            OnHtmlRowCreated="GridView1_HtmlRowCreated">
                            <Columns>
                                <dxGridview:GridViewDataColumn VisibleIndex="0" Width="30px" 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)"
                                            style="vertical-align: middle" disabled='<%#DataBinder.Eval(Container.DataItem,"flag").ToString()=="1" %>'
                                            accesskey='<%# Eval("LeaveType_Id") %>' />
                                    </DataItemTemplate>
                                    <HeaderStyle HorizontalAlign="center" Wrap="true" />
                                </dxGridview:GridViewDataColumn>
                                <dxGridview:GridViewDataTextColumn FieldName="LeaveType_Id" VisibleIndex="4" Visible="false">
                                    <DataItemTemplate>
                                        <asp:Label ID="lblLeaveType_Id" runat="server" Text=' <%# Eval("LeaveType_Id")%>'
                                            CssClass="dxlabel"></asp:Label>
                                    </DataItemTemplate>
                                    <HeaderStyle HorizontalAlign="center" Wrap="true" />
                                </dxGridview:GridViewDataTextColumn>
                                <dxGridview:GridViewDataTextColumn Caption="Leave Type" FieldName="LeaveType" VisibleIndex="1"
                                    Width="100px">
                                    <DataItemTemplate>
                                        <asp:Label ID="lblleveltype" runat="server" Text='<%# Eval("LeaveType")%>' CssClass="dxlabel"></asp:Label>
                                    </DataItemTemplate>
                                    <HeaderStyle HorizontalAlign="center" Wrap="true" />
                                </dxGridview:GridViewDataTextColumn>
                                <dxGridview:GridViewDataTextColumn FieldName="LeaveDescription" VisibleIndex="2"
                                    Width="500px">
                                    <DataItemTemplate>
                                        <asp:Label ID="lblLeaveDescription" runat="server" Text=' <%# Eval("LeaveDescription")%>'
                                            CssClass="dxlabel"></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="30px">
                                    <Settings AllowAutoFilter="false" />
                                    <DataItemTemplate>
                                        <a data-toggle="modal" title='<%# Session["View"] %>' data-placement="top" data-target="#myModal" onclick="return navi('TA_UI_MasterLeaveTypeView.aspx?LeaveId=<%# Eval("LeaveType_Id") %>')"
                                            href="#"><span class="btn btn-defalut view-icons"></span></a>
                                    </DataItemTemplate>
                                    <HeaderStyle HorizontalAlign="center" Wrap="true" />
                                </dxGridview:GridViewDataColumn>
                                <dxGridview:GridViewDataColumn HeaderStyle-VerticalAlign="Middle" HeaderStyle-HorizontalAlign="Center"
                                    CellStyle-VerticalAlign="Middle" CellStyle-HorizontalAlign="Center" Width="30px">
                                    <Settings AllowAutoFilter="false" />
                                    <DataItemTemplate>
                                        <asp:LinkButton ID="btnEdit" runat="server" ToolTip='<%# Session["Edit"] %>' data-toggle="tooltip"
                                            OnClick="EditLinkButton_Click" CommandName='<%# Eval("LeaveType_Id") %>' 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="30px">
                                    <Settings AllowAutoFilter="false" />
                                    <DataItemTemplate>
                                        <asp:LinkButton ID="btnDelete" runat="server" ToolTip='<%# Session["Delete"] %>' data-toggle="tooltip"
                                            OnClick="btn_delete_Click" CommandName='<%# Eval("LeaveType_Id") %>' 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>
                            <SettingsPager PageSize="10">
                            </SettingsPager>
                            <SettingsText EmptyDataRow="No Records Found" />
                            <Settings ShowFilterRow="true" />
                            <SettingsBehavior SortMode="Value" AllowSort="true" AllowDragDrop="true" />
                            <Styles AlternatingRow-CssClass="table-bg">
                            </Styles>
                            <%--   <ClientSideEvents Init="OnInit" EndCallback="OnEndCallback" />--%>
                        </dxGridview:ASPxGridView>
                        <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="SelectLeaveTypeDetails"
                            TypeName="LeaveEventData">
                            <SelectParameters>
                                <asp:SessionParameter Name="UserGroupName" Type="String" SessionField="UserGroupName" />
                            </SelectParameters>
                        </asp:ObjectDataSource>
                    </div>
                </div>
                <div class="row">

                    <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:Button ID="btn_Delete" CssClass="but" runat="server" CausesValidation="False"
                                OnClick="btn_Delete_Click" OnClientClick="return confirmdelete(this.form);" Visible="false" />
                            <asp:LinkButton ID="btn_Restore" CssClass="btn btn-primary fa fa-recycle" runat="server"
                                OnClick="btn_Restore_Click" OnClientClick="return RestoreData();" />
                            <asp:HiddenField ID="hdnDeletedData" runat="server" />
                            <asp:LinkButton ID="btn_PermanentDelete" runat="server" OnClick="btn_PermanentDelete_Click"
                                OnClientClick="return Permanentconfirmdelete(this.form);" CssClass="btn del-btn fa-trash-o" />
                            <asp:LinkButton ID="btn_Cancel" CssClass="btn btn-primary fa fa-hand-o-left" runat="server"
                                Visible="false" 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 SelectAllOnThisPage(chkSelectAll) {

            var hdnSelectRow = document.getElementById('<%= hdnSelectRow.ClientID %>');
        var hdnSelectAll = document.getElementById('<%= hdnGetAllid.ClientID %>');
        if (chkSelectAll.checked == true) {
            for (var i = 0; i < GridView1.pageRowCount; i++) {
                if (document.getElementById('ctl00_BodyContentPH_GridView1_cell' + (i + GridView1.visibleStartIndex) + '_0_chkSelect').disabled == false) {
                    document.getElementById('ctl00_BodyContentPH_GridView1_cell' + (i + GridView1.visibleStartIndex) + '_0_chkSelect').checked = true;
                    var hdnUserId = document.getElementById('ctl00_BodyContentPH_GridView1_cell' + (i + GridView1.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 < GridView1.pageRowCount; i++) {
                document.getElementById('ctl00_BodyContentPH_GridView1_cell' + (i + GridView1.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;
            var hdnEnableds = 0;
            for (var i = 0; i < GridView1.pageRowCount; i++) {
                if (document.getElementById('ctl00_BodyContentPH_GridView1_cell' + (i + GridView1.visibleStartIndex) + '_0_chkSelect').disabled == false) {
                    hdnEnableds = hdnEnableds + 1;
                }
                if (document.getElementById('ctl00_BodyContentPH_GridView1_cell' + (i + GridView1.visibleStartIndex) + '_0_chkSelect').checked)
                    varTotalCheckedCount = varTotalCheckedCount + 1;
            }
            if (varTotalCheckedCount == hdnEnableds)
                document.getElementById('ctl00_BodyContentPH_GridView1_header0_chkSelectAll').checked = true;
            else
                document.getElementById('ctl00_BodyContentPH_GridView1_header0_chkSelectAll').checked = false;
        }
        else {
            if (Array.contains(removeId, hdnUserId)) {
                Array.remove(removeId, hdnUserId);
            }
            hdnSelectRow.value = removeId;

            document.getElementById('ctl00_BodyContentPH_GridView1_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 = GridView1.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>

</asp:Content>
