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

<%@ Register Src="~/UserControls/TA_uc_OrganizationLevels_Mandatory.ascx" TagName="OrganizationLevel"
    TagPrefix="uc" %>

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<%@ Register TagPrefix="dxGridview" Namespace="DevExpress.Web" Assembly="DevExpress.Web.v14.2" %>
<asp:Content ID="ConAutoShift" ContentPlaceHolderID="BodyContentPH" runat="Server">
    <!--[if gt IE 5.5]>
	<link rel="stylesheet" type="text/css" href="../css/anytimeIE.css" />
		<link rel="stylesheet" type="text/css" href="../css/ProgressforIE.css" />
 <![endif]-->

    <script type="text/javascript" src="../bootstrap/js/1.4.3/jquery.min.js"></script>

    <script src="../bootstrap/js/1.8.5/jquery-ui.min.js" type="text/javascript"></script>

    <script type="text/javascript">
        $(function () {

            $("#<%= txtEmployeeId.ClientID %>").autocomplete({
                source: function (request, response) {
                    $.getJSON("../AutoCompleteByEmployeeId.ashx?EmpAutoid=" + '<%= Convert.ToString(Session["EmpAutoID"]) %>', {
                        term: extractLast(request.term)
                    }, response);
                },
                search: function () {
                    // custom minLength
                    var term = extractLast(this.value);
                    if (term.length < 1) {
                        return false;
                    }
                },
                focus: function () {
                    // prevent value inserted on focus
                    return false;
                },
                select: function (event, ui) {

                    var terms = split(this.value);
                    // remove the current input
                    terms.pop();
                    // add the selected item
                    terms.push(ui.item.value);
                    // add placeholder to get the comma-and-space at the end
                    terms.push("");
                    this.value = terms.join(",");
                    return false;
                }
            });
            function split(val) {
                return val.split(/,\s*/);
            }
            function extractLast(term) {
                return split(term).pop();
            }
        });

            $(function () {

                $("#<%= txtEmployeeName.ClientID %>").autocomplete({
                    source: function (request, response) {
                        $.getJSON("../AutoCompleteByName.ashx?EmpAutoid=" + '<%= Convert.ToString(Session["EmpAutoID"]) %>', {
                            term: extractLast(request.term)
                        }, response);
                    },
                    search: function () {
                        // custom minLength
                        var term = extractLast(this.value);
                        if (term.length < 1) {
                            return false;
                        }
                    },
                    focus: function () {
                        // prevent value inserted on focus
                        return false;
                    },
                    select: function (event, ui) {

                        var terms = split(this.value);
                        // remove the current input
                        terms.pop();
                        // add the selected item
                        terms.push(ui.item.value);
                        // add placeholder to get the comma-and-space at the end
                        terms.push("");
                        this.value = terms.join(",");
                        return false;
                    }
                });
                function split(val) {
                    return val.split(/,\s*/);
                }
                function extractLast(term) {
                    return split(term).pop();
                }
            });
    </script>

    <script src="../plugins/datepicker/jquery-1.11.1.min.js"></script>

    <script language="javascript" src="../js/jquery.autocomplete.js" type="text/javascript"></script>

    <script src="../plugins/datepicker/bootstrap-datepicker.js"></script>

    <script type="text/javascript">
        $(document).ready(function () {
            $("#<%=txtEmployeeId.ClientID%>").autocomplete('../AutoCompleteByEmployeeId.ashx?EmpAutoid=' + '<%= Convert.ToString(Session["EmpAutoID"]) %>', {
                multiple: true,
                multipleSeparator: ",",
                width: 180,
                highlight: false,
                scroll: true,
                scrollHeight: 300,
                delay: 10
            });
        });

        $(document).ready(function () {
            $("#<%=txtEmployeeName.ClientID%>").autocomplete('../AutoCompleteByName.ashx?EmpAutoid=' + '<%= Convert.ToString(Session["EmpAutoID"]) %>', {
                multiple: true,
                multipleSeparator: " ,",
                width: 380,
                highlight: false,
                scroll: true,
                scrollHeight: 300,
                delay: 10
            });


        });

    </script>

    <script type="text/javascript">

        //Todo: Make companyId in hidden field
        //$(document).ready(function () {

        //    $('ctl00_BodyContentPH_ucOrganizationLevel_1').bind("change", function () {
        //        alert($('ctl00_BodyContentPH_ucOrganizationLevel_1 option:selected').val());
        //    });
        //});

    </script>

    <div class="content-header" id="conHeader" runat="server">
        <h1 style="background-image: url(../dist/img/swipe-icon.png); background-repeat: no-repeat; padding-left: 35px">
            <asp:Label ID="lblShiftReport" runat="server"></asp:Label>
            <asp:HiddenField ID="Hidden1" runat="server" />
            <asp:HiddenField ID="Hidden2" runat="server" />
            <asp:HiddenField ID="hdnReportFilters" runat="server" />
            <asp:HiddenField ID="hdnReportType1" runat="server" />
            <asp:HiddenField ID="hdnCompanyId1" runat="server" />
        </h1>
        <asp:SiteMapPath ID="site" runat="server" CssClass="breadcrumb">
            <NodeStyle CssClass="active" />
        </asp:SiteMapPath>
    </div>
    <div class="content">
        <div class="inr-ftr">
            <div class="row">
                <div class="col-sm-2">
                    <div class="inr-fil-text">
                        <asp:Label ID="lblFilter" runat="server" Text="Filters"></asp:Label>
                        <asp:Label ID="Label1" runat="server" Visible="false"></asp:Label>
                        <input id="Hidden3" type="hidden" value='<% Response.Write(Convert.ToString(Session["IDateFormat"])); %>' />
                    </div>
                </div>
                <div class="clearfix">
                </div>
            </div>
        </div>
        <div id="collapseOne">
            <div class="emp-filter">
                <div class="form-horizontal">
                    <div id="divEmployeeDetails" runat="server">
                        <div class="row form-group">
                            <div class="col-md-2">

                                <asp:Label ID="lblEmployeeName" runat="server"></asp:Label>
                            </div>
                            <div class="col-md-3">
                                <asp:TextBox onpaste="return true" ID="txtEmployeeName" runat="server" CssClass="form-control"
                                    Style="resize: none;" TextMode="multiLine"></asp:TextBox>
                            </div>
                            <div class="col-md-1">
                            </div>
                            <div class="col-md-2">
                                <asp:Label ID="lblEmployeeId" runat="server"></asp:Label>
                            </div>
                            <div class="col-md-3">
                                <asp:TextBox onpaste="return true" ID="txtEmployeeId" runat="server" CssClass="form-control"
                                    Style="resize: none;" TextMode="multiLine"></asp:TextBox>
                            </div>
                        </div>
                        <div class="row form-group">
                            <div class="col-md-2">
                                <asp:Label ID="lblEmpCategory" runat="server"></asp:Label>
                            </div>
                            <div class="col-md-3">
                                <asp:DropDownList ID="ddlEmpCatagory" runat="server" CssClass="form-control select2"
                                    AppendDataBoundItems="true">
                                    <asp:ListItem Value="0" Selected="True" Text="-Select-"></asp:ListItem>
                                </asp:DropDownList>
                            </div>
                            <div class="col-md-1">
                            </div>
                            <div class="col-md-2">
                                <asp:Label ID="lblEmpType" runat="server"></asp:Label>
                            </div>
                            <div class="col-md-3">
                                <asp:DropDownList ID="ddlEmpType" runat="server" CssClass="form-control select2"
                                    AppendDataBoundItems="true">
                                    <asp:ListItem Value="0" Selected="True" Text="-Select-"></asp:ListItem>
                                </asp:DropDownList>
                            </div>
                        </div>
                        <div class="row form-group">
                            <div class="col-md-2">
                                <asp:Label ID="lblDesignation" runat="server" Text="Designation"></asp:Label>
                            </div>
                            <div class="col-md-3">
                                <asp:DropDownList ID="ddlDesignation" runat="server" CssClass="form-control select2"
                                    AppendDataBoundItems="true">
                                    <asp:ListItem Value="0" Selected="True" Text="All"></asp:ListItem>
                                </asp:DropDownList>
                            </div>
                            <div class="col-md-1">
                            </div>
                            <div class="col-md-2">
                                <asp:Label ID="lblGender" runat="server" Text="Gender"></asp:Label>
                            </div>
                            <div class="col-md-3">
                                <asp:DropDownList ID="ddlGender" runat="server" CssClass="form-control select2">
                                    <asp:ListItem Value="Both" Text="Both"></asp:ListItem>
                                    <asp:ListItem Value="Male" Text="Male"></asp:ListItem>
                                    <asp:ListItem Value="Female" Text="Female"></asp:ListItem>
                                </asp:DropDownList>
                            </div>
                        </div>


                    </div>
                    <div class="clearfix">
                    </div>
                    <div class="row">
                        <div class="row">
                            <div class="line16">
                            </div>
                        </div>
                    </div>
                    <div class="row">
                        <div class="col-md-12">
                            <asp:UpdatePanel ID="upOrgLevel" runat="server" UpdateMode="Conditional">
                                <ContentTemplate>
                                    <asp:PlaceHolder ID="PlaceHolderShift" runat="server">
                                        <uc:OrganizationLevel ID="ucOrganizationLevel" runat="server" />
                                    </asp:PlaceHolder>
                                </ContentTemplate>
                            </asp:UpdatePanel>
                        </div>
                    </div>

                    <div class="clearfix">
                    </div>
                    <div class="row">
                        <div class="row">
                            <div class="line16">
                            </div>
                        </div>
                    </div>

                    <div class="row form-group" id="trView" runat="server">
                        <div class="col-md-9">
                        </div>
                        <div class="col-md-1">
                            <div class="pull-right-button">
                                <asp:LinkButton ID="btn_View" CssClass="btn save-btn fa-eye" runat="server"
                                    OnClientClick="return CompanyValidation()" OnClick="btn_View_Click" />

                            </div>
                        </div>
                        <div class="col-md-1">
                            <div class="pull-right-button">
                                <asp:LinkButton ID="btnImport" CssClass="btn add-btn fa-plus" runat="server" OnClick="btnImport_Click" />
                            </div>
                        </div>
                    </div>
                        <div class="row form-group" runat="server">
                            <p style="color:red;">*Note: For Auto Shift configured employee(s) , weeklyoff need to allocate manually or through import option. </p>
                            </div>
                    <div class="clearfix">
                    </div>
                    <div id="divAutoShift" runat="server" style="display: none;">

                        <div class="row">
                            <div class="col-md-12">
                                <div class="table-responsive" style="padding-bottom: 10px; overflow: auto; width: 100% !important">
                                    <asp:HiddenField ID="hdnSelectRow" runat="server" />
                                    <asp:HiddenField ID="hdnGetAllid" runat="server" />

                                    <dxGridview:ASPxGridView ID="grdAutoShift" EnableCallBacks="false" runat="server"
                                        ClientInstanceName="grdAutoShift" AutoGenerateColumns="false"
                                        OnHtmlRowCreated="grdAutoShift_HtmlRowCreated" Width="100%" KeyFieldName="AutoID"
                                        Style="width: 100%; empty-cells: show; table-layout: fixed; overflow: hidden;">
                                        <Columns>
                                            <dxGridview:GridViewDataColumn VisibleIndex="0" Width="34px" 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("AutoID") %>' />
                                                </DataItemTemplate>
                                                <HeaderStyle HorizontalAlign="center" Wrap="true" />
                                            </dxGridview:GridViewDataColumn>
                                            <dxGridview:GridViewDataTextColumn FieldName="id" VisibleIndex="1" Width="90px">
                                                <DataItemTemplate>
                                                    <asp:Label ID="lblEmpid" runat="server" Text='<%# Eval("id") %>'></asp:Label>
                                                </DataItemTemplate>
                                                <Settings AllowAutoFilter="False" />
                                                <HeaderStyle HorizontalAlign="center" Wrap="true" />
                                            </dxGridview:GridViewDataTextColumn>
                                            <dxGridview:GridViewDataTextColumn FieldName="Name" VisibleIndex="2" Width="200px">
                                                <DataItemTemplate>
                                                    <asp:Label ID="lblEmpname" runat="server" Text='<%# Eval("Name") %>' Style="overflow-y: auto; overflow-x: auto; cursor: pointer; word-break: break-all; word-wrap: break-word; display: inline-block;"></asp:Label>
                                                </DataItemTemplate>
                                                <Settings AllowAutoFilter="False" />
                                                <HeaderStyle HorizontalAlign="center" Wrap="true" />
                                            </dxGridview:GridViewDataTextColumn>
                                            <dxGridview:GridViewDataTextColumn FieldName="ShiftID1" VisibleIndex="3" Width="190px">
                                                <DataItemTemplate>
                                                    <asp:DropDownList ID="ddlshift1" runat="server" CssClass="form-control" Style="width: 100px">
                                                        <%--         <asp:ListItem Text="Select" Value="0"></asp:ListItem>--%>
                                                    </asp:DropDownList>
                                                </DataItemTemplate>
                                                <Settings AllowAutoFilter="False" />
                                                <HeaderStyle HorizontalAlign="center" Wrap="true" />
                                            </dxGridview:GridViewDataTextColumn>
                                            <dxGridview:GridViewDataTextColumn FieldName="ShiftID2" VisibleIndex="4" Width="190px">
                                                <DataItemTemplate>
                                                    <asp:DropDownList ID="ddlshift2" runat="server" CssClass="form-control" Style="width: 100px">
                                                        <%-- <asp:ListItem Text="Select" Value="0"></asp:ListItem>--%>
                                                    </asp:DropDownList>
                                                </DataItemTemplate>
                                                <Settings AllowAutoFilter="False" />
                                                <HeaderStyle HorizontalAlign="center" Wrap="true" />
                                            </dxGridview:GridViewDataTextColumn>
                                            <dxGridview:GridViewDataTextColumn FieldName="ShiftID3" VisibleIndex="5" Width="190px">
                                                <DataItemTemplate>
                                                    <asp:DropDownList ID="ddlshift3" runat="server" CssClass="form-control" Style="width: 100px">
                                                        <%--         <asp:ListItem Text="Select" Value="0"></asp:ListItem>--%>
                                                    </asp:DropDownList>
                                                </DataItemTemplate>
                                                <Settings AllowAutoFilter="False" />
                                                <HeaderStyle HorizontalAlign="center" Wrap="true" />
                                            </dxGridview:GridViewDataTextColumn>
                                            <dxGridview:GridViewDataTextColumn FieldName="ShiftID4" VisibleIndex="6" Width="190px">
                                                <DataItemTemplate>
                                                    <asp:DropDownList ID="ddlshift4" runat="server" CssClass="form-control" Style="width: 100px">
                                                        <%--    <asp:ListItem Text="-Select-" Value="0"></asp:ListItem>--%>
                                                    </asp:DropDownList>
                                                </DataItemTemplate>
                                                <Settings AllowAutoFilter="False" />
                                                <HeaderStyle HorizontalAlign="center" Wrap="true" />
                                            </dxGridview:GridViewDataTextColumn>
                                            <dxGridview:GridViewDataTextColumn FieldName="ShiftID5" VisibleIndex="7" Width="190px">
                                                <DataItemTemplate>
                                                    <asp:DropDownList ID="ddlshift5" runat="server" CssClass="form-control" Style="width: 100px">
                                                        <%--     <asp:ListItem Text="-Select-" Value="0"></asp:ListItem>--%>
                                                    </asp:DropDownList>
                                                </DataItemTemplate>
                                                <Settings AllowAutoFilter="False" />
                                                <HeaderStyle HorizontalAlign="center" Wrap="true" />
                                            </dxGridview:GridViewDataTextColumn>
                                            <dxGridview:GridViewDataTextColumn FieldName="EmployeeAutoID" VisibleIndex="8" Width="2px">
                                                <HeaderStyle CssClass="clumndisplay" />
                                                <CellStyle CssClass="clumndisplay"></CellStyle>
                                                <DataItemTemplate>
                                                    <asp:Label ID="lblEmployeeAutoID" runat="server" Text='<%# Eval("EmployeeAutoID") %>'></asp:Label>
                                                </DataItemTemplate>
                                            </dxGridview:GridViewDataTextColumn>

                                        </Columns>
                                        <Settings ShowVerticalScrollBar="True" HorizontalScrollBarMode="Visible" VerticalScrollableHeight="460" />
                                        <SettingsPager Mode="ShowAllRecords">
                                        </SettingsPager>
                                        <SettingsText EmptyDataRow="No Records Found" />
                                        <Settings ShowFilterRow="false" />
                                        <SettingsBehavior AllowSort="false" AllowDragDrop="false" />
                                        <Styles AlternatingRow-CssClass="table-bg" Header-Wrap="True">
                                        </Styles>
                                        <%--<ClientSideEvents Init="OnInit" EndCallback="OnEndCallback" />--%>
                                    </dxGridview:ASPxGridView>
                                </div>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-md-12">
                                <div class="pull-right-button">
                                    <asp:LinkButton ID="btnSave" CssClass="btn save-btn fa-floppy-o" runat="server" 
                                        CausesValidation="true" OnClick="btnSave_Click" Style="margin-top: 15px;"  />
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <style type="text/css">
        .clumndisplay {
            display: none;
        }
    </style>
    <script type="text/javascript" language="javascript">

        function SelectAllOnThisPage(chkSelectAll) {

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

                document.getElementById('ctl00_BodyContentPH_grdAutoShift_header0_chkSelectAll').checked = false;
            }
        }

        //values for check date
        var Monthfourdigit = 'Please enter valid date as month, day, and four digit year : Format MM/dd/yyyy.';
        //Adding this line var Datefourdigit='Please enter valid date with correct format dd/MM/yyyy'; as newly
        var Datefourdigit = 'Please enter valid date with correct format dd/MM/yyyy';
        var Invalidyearentry = 'Invalid year entry';
        var Invalidmonthentry = 'Invalid month entry';
        var Invaliddateentry = 'Invalid date entry';
        var DateformatDDMONYYYY = 'Incorrect date format. Enter as DD-MON-YYYY';
        var Entertime = 'Enter time';
        var Valueforhours = 'Invalid value for hours:';
        var Invalidvalueforminutes = 'Invalid value for minutes:';
        var Invalidtimeformat = 'Invalid time format:';
        var EntervalidDateandTime = 'Please enter valid Date and Time';
        var ValiddatemonthMMDDYYHHMM = 'Please enter valid Date and Time MM/dd/yyyy HH:mm';
        var ValiddatemonthMMDDYYHHMMTT = 'Please enter valid Date and Time MM/dd/yyyy hh:mm tt';
        var EntervalidDateandTime = 'Please enter valid Date and Time';
        var Invalidvalueforhours = 'Invalid value for hours:';
        var Invalidvalueforminites = 'Invalid value for minutes:';
        var FromDate = "Enter Valid From Date";
        var MaxLength = "Maximum length is ";
        var SelectCompany = "Please Select Company"

        function MaxLengthh(maxLength) {

            MaxLength = maxLength;
        }


        function SetAlertCheckDate(monthfourdigit, datefourdigit, invalidyearentry, invalidmonthentry, invaliddateentry, dateformatDDMONYYYY, entertime, valueforhours, invalidvalueforminutes, invalidtimeformat, entervalidDateandTime, validdatemonthMMDDYYHHMM, validdatemonthMMDDYYHHMMTT, entervalidDateandTime, invalidvalueforhours, invalidvalueforminites) {
            Monthfourdigit = monthfourdigit;
            Datefourdigit = datefourdigit;
            Invalidyearentry = invalidyearentry;
            Invalidmonthentry = invalidmonthentry;
            Invaliddateentry = invaliddateentry;
            DateformatDDMONYYYY = dateformatDDMONYYYY;
            Entertime = Entertime;
            Valueforhours = valueforhours;
            Invalidvalueforminutes = invalidvalueforminutes;
            Invalidtimeformat = invalidtimeformat;
            EntervalidDateandTime = entervalidDateandTime;
            ValiddatemonthMMDDYYHHMM = validdatemonthMMDDYYHHMM;
            ValiddatemonthMMDDYYHHMMTT = validdatemonthMMDDYYHHMMTT;
            EntervalidDateandTime = entervalidDateandTime;
            Invalidvalueforhours = invalidvalueforhours;
            Invalidvalueforminites = invalidvalueforminites;
        }


        function SetAlertMessages(fromdate) {

            FromDate = fromdate;


        }
        function CompanyValidation() {

            if ((document.getElementById('ctl00_BodyContentPH_ucOrganizationLevel_1').value == '-Select-')) {
                alert(SelectCompany);
                return false;
            }
        }

    </script>


</asp:Content>

