static void Bind_Control(Control control, string type, string IsHid)
    {
        if (IsHid.Equals("0"))
        {
            control.Visible = true;
        }
        else
        {
            if (IsHid.Equals("1"))
            {
                control.Visible = false;
            }
            else
            {
                switch (type)
                {
                case "ASPxButton":
                    DevExpress.Web.ASPxEditors.ASPxButton ASPxButton_c = control as DevExpress.Web.ASPxEditors.ASPxButton;
                    if (IsHid.Equals("2") && ASPxButton_c != null)
                    {
                        ASPxButton_c.Enabled = false;
                    }
                    break;

                case "ASPxPageControl":
                    DevExpress.Web.ASPxTabControl.ASPxPageControl ASPxPageControl_c = control as DevExpress.Web.ASPxTabControl.ASPxPageControl;
                    if (IsHid.Equals("2") && ASPxPageControl_c != null)
                    {
                        ASPxPageControl_c.Enabled = false;
                    }
                    break;

                case "TabPage":
                    System.Web.UI.WebControls.Panel TabPage_c = control as System.Web.UI.WebControls.Panel;
                    if (IsHid.Equals("2") && TabPage_c != null)
                    {
                        TabPage_c.Enabled = false;
                    }
                    break;

                default:
                    break;
                }
            }
        }
    }
        protected void btnReabir_Click(object sender, EventArgs e)
        {
            TextBox txtMessage = this.FindControl("txtMessage") as TextBox;

            DevExpress.Web.ASPxEditors.ASPxButton btnSend      = this.FindControl("btnSend") as DevExpress.Web.ASPxEditors.ASPxButton;
            DevExpress.Web.ASPxEditors.ASPxButton btnFinalizar = this.FindControl("btnFinalizar") as DevExpress.Web.ASPxEditors.ASPxButton;
            DevExpress.Web.ASPxEditors.ASPxButton btnReabir    = this.FindControl("btnReabir") as DevExpress.Web.ASPxEditors.ASPxButton;
            string srtUsuario = Request.ServerVariables["REMOTE_USER"].Split(char.Parse("\\"))[1];

            ReabirAtendimento(ViewState["id_atendimento"].ToString(), srtUsuario);
            CarregaMsg();
            txtMessage.Text      = String.Empty;
            btnSend.Visible      = true;
            btnFinalizar.Visible = true;
            txtMessage.Visible   = true;
            btnReabir.Visible    = false;
        }
        protected void BuscaStatusOperador(string operador)
        {
            try
            {
                //Declare ASPxGridView
                HiddenField HField = this.FindControl("HField") as HiddenField;

                int intStatus = 0;

                EventoRedeDataContext objDc = new EventoRedeDataContext();

                var operadorStatus = from o in objDc.evt_chat_operador
                                     where o.operador.Equals(operador)
                                     select o;

                foreach (evt_chat_operador o in operadorStatus)
                {
                    intStatus = (int)o.status;
                }



                DevExpress.Web.ASPxEditors.ASPxButton objBtn = this.FindControl("btnStatusOperador") as DevExpress.Web.ASPxEditors.ASPxButton;

                switch (intStatus)
                {
                case (0):
                {
                    objBtn.Text = "Offline";
                    ViewState["StatusOperador"] = "Online";
                    break;
                }

                default:
                {
                    objBtn.Text = "Online";
                    ViewState["StatusOperador"] = "Offline";
                    break;
                }
                }

                HField.Value = intStatus.ToString();
            }
            catch (Exception ex) { this.lblErro.Text = ex.Message; }
        }
    //end row commands

    /// <summary>
    /// on row create disable commandbuttons unless user is logged in
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void dxgridpricertop_HtmlRowCreated(object sender, ASPxGridViewTableRowEventArgs e)
    {
        if (Session["user"] == null)
        {
            GridViewDataColumn _col1 = (GridViewDataColumn)this.dxgridpricertop.Columns["Calc"];
            DevExpress.Web.ASPxEditors.ASPxButton _cmd1 = (DevExpress.Web.ASPxEditors.ASPxButton) this.dxgridpricertop.FindRowCellTemplateControl(e.VisibleIndex, _col1, "dxbtnquote");
            if (_cmd1 != null)
            {
                _cmd1.ClientEnabled = false;
            }

            GridViewDataColumn _col2 = (GridViewDataColumn)this.dxgridpricertop.Columns["Copy"];
            DevExpress.Web.ASPxEditors.ASPxButton _cmd2 = (DevExpress.Web.ASPxEditors.ASPxButton) this.dxgridpricertop.FindRowCellTemplateControl(e.VisibleIndex, _col2, "dxbtncopy");
            if (_cmd2 != null)
            {
                _cmd2.ClientEnabled = false;
            }
        }
    }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                TextBox txtMessage = this.FindControl("txtMessage") as TextBox;
                DevExpress.Web.ASPxEditors.ASPxButton btnSend      = this.FindControl("btnSend") as DevExpress.Web.ASPxEditors.ASPxButton;
                DevExpress.Web.ASPxEditors.ASPxButton btnFinalizar = this.FindControl("btnFinalizar") as DevExpress.Web.ASPxEditors.ASPxButton;
                DevExpress.Web.ASPxEditors.ASPxButton btnReabir    = this.FindControl("btnReabir") as DevExpress.Web.ASPxEditors.ASPxButton;

                string srtUsuario = Request.ServerVariables["REMOTE_USER"].Split(char.Parse("\\"))[1];

                if (Request.QueryString["id"] == null)
                {
                    ViewState.Add("id_atendimento", "0");
                }
                else
                {
                    ViewState.Add("id_atendimento", Request.QueryString["id"].ToString());

                    Label lblNoc     = this.FindControl("lblNoc") as Label;
                    Label lblUsuario = this.FindControl("lblUsuario") as Label;
                    BuscaTitulo(lblNoc, lblUsuario, ViewState["id_atendimento"].ToString());

                    if (BuscaFinalizado(ViewState["id_atendimento"].ToString()))
                    {
                        btnFinalizar.Visible = false;
                        btnSend.Visible      = false;
                        txtMessage.Visible   = false;
                        btnReabir.Visible    = true;
                    }
                    else
                    {
                        btnFinalizar.Visible = true;
                        btnSend.Visible      = true;
                        txtMessage.Visible   = true;
                        btnReabir.Visible    = false;
                    }
                    CarregaMsg();
                }
            }
        }
    //end incremental filtering of company name

    /// <summary>
    /// row created show break pod link button if quote is linked to pod
    /// button clientviasible=false by default
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void gridviewPrices1_HtmlRowCreated(object sender, ASPxGridViewTableRowEventArgs e)
    {
        if (e.RowType == DevExpress.Web.ASPxGridView.GridViewRowType.Data)
        {
            DevExpress.Web.ASPxGridView.ASPxGridView _grid = (DevExpress.Web.ASPxGridView.ASPxGridView)sender;
            Int32 _onKey = e.GetValue("order_no") != null?wwi_func.vint(e.GetValue("order_no").ToString()) : 0;

            if (_onKey > 0)
            {
                //find template controls
                DevExpress.Web.ASPxGridView.GridViewDataColumn _col1 = (DevExpress.Web.ASPxGridView.GridViewDataColumn)_grid.Columns["colorderno"];
                DevExpress.Web.ASPxEditors.ASPxButton          _btn  = (DevExpress.Web.ASPxEditors.ASPxButton)_grid.FindRowCellTemplateControl(e.VisibleIndex, _col1, "dxbtnbreak");
                //var _chk = (DevExpress.Web.ASPxGridView.Rendering.GridViewTableCommandCell)e.Row.Cells[0];
                //and pass data from hidden field if it's stored - make sure text box is ticked
                if (_btn != null)
                {
                    _btn.ClientVisible = true;
                }
            }
        }
    }
 /// <summary>
 /// check current login status from session and set page up as required
 /// </summary>
 protected void set_page_defaults()
 {
     //check child page to see if it has a login button on it! do not display master page login if it does
     //as the login popup will not work for some reason
     DevExpress.Web.ASPxEditors.ASPxButton _btn = (DevExpress.Web.ASPxEditors.ASPxButton) this.ContentPlaceHolderM1.FindControl("btnLogin");
     if (_btn != null)
     {
         this.btnLogout.ClientVisible = false;
         this.btnLogin.ClientVisible  = false;
     }
     else if (Page.Session["user"] != null)
     {
         UserClass _thisuser = (UserClass)Session["user"];
         this.lblResult.Text = _thisuser.UserName;
         //this.btnLogin.Text = "LogOut";
         this.btnLogout.ClientVisible = true;
         this.btnLogin.ClientVisible  = false;
     }
     else
     {
         Session_Reset_All();
     }
 }
        public void CarregaMsg()
        {
            // Page.RegisterClientScriptBlock("Inicio", "<script> self.focus(); document.title='Nova mensagem! " + DateTime.Now.Hour.ToString() + ":" + DateTime.Now.Minute.ToString() + "' </script>");
            Page.ClientScript.RegisterStartupScript(this.GetType(), "Inicio", "<script> self.focus(); document.title='Nova mensagem! " + DateTime.Now.Hour.ToString() + ":" + DateTime.Now.Minute.ToString() + "' </script>");

            //Declare
            Label  lblNoc      = this.FindControl("lblNoc") as Label;
            Label  lblOperador = this.FindControl("lblOperador") as Label;
            string srtUsuario  = Request.ServerVariables["REMOTE_USER"].Split(char.Parse("\\"))[1];


            DevExpress.Web.ASPxEditors.ASPxListBox lstMsgs = this.FindControl("lstMsgs") as DevExpress.Web.ASPxEditors.ASPxListBox;



            TextBox txtMessage = this.FindControl("txtMessage") as TextBox;

            DevExpress.Web.ASPxEditors.ASPxButton btnSend      = this.FindControl("btnSend") as DevExpress.Web.ASPxEditors.ASPxButton;
            DevExpress.Web.ASPxEditors.ASPxButton btnFinalizar = this.FindControl("btnFinalizar") as DevExpress.Web.ASPxEditors.ASPxButton;
            DevExpress.Web.ASPxEditors.ASPxButton btnReabir    = this.FindControl("btnReabir") as DevExpress.Web.ASPxEditors.ASPxButton;


            //Carrega as mensagens
            System.Collections.Generic.List <evt_chat_msg> objMsgs = BuscaMensagem(ViewState["id_atendimento"].ToString());

            //Limpa a lista
            lstMsgs.Items.Clear();

            //Atualiza o viewstate com a quantidade
            ViewState["qtdMsg"] = objMsgs.Count;


            //Adiciona os items de traz pra frente
            foreach (evt_chat_msg c in objMsgs)
            {
                DateTime data = (c.data == null ? DateTime.MinValue : (DateTime)c.data);

                if (data.ToShortDateString() != DateTime.Now.ToShortDateString())
                {
                    lstMsgs.Items.Add(data.ToShortDateString() + " " + data.ToShortTimeString() + " " + c.de + " diz: " + c.msg.Replace("\n", "<br>"));
                }
                else
                {
                    lstMsgs.Items.Add(data.ToShortTimeString() + " " + c.de + " diz: " + c.msg);
                }
            }

            //seleciona o primeiro item
            lstMsgs.SelectedIndex = lstMsgs.Items.Count - 1;



            if ((lstMsgs.Items.Count > 0))
            {
                txtMessage.Text      = String.Empty;
                btnSend.Visible      = true;
                btnFinalizar.Visible = true;
                txtMessage.Visible   = true;
                btnReabir.Visible    = false;

                if ((lstMsgs.Items[lstMsgs.Items.Count - 1].Text.IndexOf("Chat Finalizado") != -1))
                {
                    txtMessage.Text      = String.Empty;
                    btnSend.Visible      = false;
                    btnFinalizar.Visible = false;
                    txtMessage.Visible   = false;
                    btnReabir.Visible    = true;
                }
            }
            else
            {
                txtMessage.Text      = String.Empty;
                btnSend.Visible      = true;
                btnFinalizar.Visible = true;
                txtMessage.Visible   = true;
                btnReabir.Visible    = false;
            }
        }
        public void CarregaMsg()
        {
            try
            {
                //Declare
                Label  lblNoc      = this.FindControl("lblNoc") as Label;
                Label  lblOperador = this.FindControl("lblOperador") as Label;
                string srtUsuario  = Request.ServerVariables["REMOTE_USER"].Split(char.Parse("\\"))[1];
                DevExpress.Web.ASPxGridView.ASPxGridView dGridMain = this.FindControl("dGridMain") as DevExpress.Web.ASPxGridView.ASPxGridView;
                //ListBox lstMsgs = this.FindControl("lstMsgs") as ListBox;
                DevExpress.Web.ASPxEditors.ASPxListBox lstMsgs = this.FindControl("lstMsgs") as DevExpress.Web.ASPxEditors.ASPxListBox;


                TextBox txtMessage = this.FindControl("txtMessage") as TextBox;
                DevExpress.Web.ASPxEditors.ASPxButton btnSend      = this.FindControl("btnSend") as DevExpress.Web.ASPxEditors.ASPxButton;
                DevExpress.Web.ASPxEditors.ASPxButton btnFinalizar = this.FindControl("btnFinalizar") as DevExpress.Web.ASPxEditors.ASPxButton;
                DevExpress.Web.ASPxEditors.ASPxButton btnReabir    = this.FindControl("btnReabir") as DevExpress.Web.ASPxEditors.ASPxButton;

                BuscaTitulo(lblNoc, lblOperador, ViewState["id_atendimento"].ToString());

                //Carrega as mensagens
                List <evt_chat_msg> objMsgs = BuscaMensagem(ViewState["id_atendimento"].ToString());

                //Limpa a lista
                lstMsgs.Items.Clear();

                //Atualiza o viewstate com a quantidade
                ViewState["qtdMsg"] = objMsgs.Count;

                //Adiciona os items de traz pra frente
                foreach (evt_chat_msg c in objMsgs)
                {
                    DateTime data = (c.data == null ? DateTime.MinValue : (DateTime)c.data);

                    if (data.ToShortDateString() != DateTime.Now.ToShortDateString())
                    {
                        lstMsgs.Items.Add(data.ToShortDateString() + " " + data.ToShortTimeString() + " " + c.de + " diz: " + c.msg.Replace("\n", "<br>"));
                    }
                    else
                    {
                        lstMsgs.Items.Add(data.ToShortTimeString() + " " + c.de + " diz: " + c.msg.Replace("\n", "<br>"));
                    }
                }



                //seleciona o primeiro item
                lstMsgs.SelectedIndex = lstMsgs.Items.Count - 1;

                if ((lstMsgs.Items.Count > 0))
                {
                    txtMessage.Text      = String.Empty;
                    btnSend.Visible      = true;
                    btnFinalizar.Visible = true;
                    txtMessage.Visible   = true;
                    btnReabir.Visible    = false;

                    if ((lstMsgs.Items[lstMsgs.Items.Count - 1].Text.IndexOf("Chat Finalizado") != -1))
                    {
                        txtMessage.Text      = String.Empty;
                        btnSend.Visible      = false;
                        btnFinalizar.Visible = false;
                        txtMessage.Visible   = false;
                        btnReabir.Visible    = true;
                    }
                }
                else
                {
                    txtMessage.Text      = String.Empty;
                    btnSend.Visible      = true;
                    btnFinalizar.Visible = true;
                    txtMessage.Visible   = true;
                    btnReabir.Visible    = false;
                }
            }
            catch { }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                string srtUsuario  = Request.ServerVariables["REMOTE_USER"].Split(char.Parse("\\"))[1];
                Label  lblNoc      = this.FindControl("lblNoc") as Label;
                Label  lblOperador = this.FindControl("lblOperador") as Label;
                System.Web.UI.Timer tVerificaMsgs = this.FindControl("tVerificaMsgs") as System.Web.UI.Timer;
                System.Web.UI.Timer tAtualizaGrid = this.FindControl("tAtualizaGrid") as System.Web.UI.Timer;
                DevExpress.Web.ASPxGridView.ASPxGridView dGridMain = this.FindControl("dGridMain") as DevExpress.Web.ASPxGridView.ASPxGridView;

                if ((Request.QueryString["id_atendimento"] == null))
                {
                    tAtualizaGrid.Enabled = false;
                    tVerificaMsgs.Enabled = false;

                    ViewState["id_atendimento"] = "0";
                    tVerificaMsgs.Enabled       = true;
                }
                else
                {
                    TextBox txtMessage = this.FindControl("txtMessage") as TextBox;
                    DevExpress.Web.ASPxEditors.ASPxButton btnSend      = this.FindControl("btnSend") as DevExpress.Web.ASPxEditors.ASPxButton;
                    DevExpress.Web.ASPxEditors.ASPxButton btnFinalizar = this.FindControl("btnFinalizar") as DevExpress.Web.ASPxEditors.ASPxButton;
                    DevExpress.Web.ASPxEditors.ASPxButton btnReabir    = this.FindControl("btnReabir") as DevExpress.Web.ASPxEditors.ASPxButton;

                    tVerificaMsgs.Enabled = true;
                    ///PageControl.ActiveTabIndex = 0;
                    ViewState.Add("id_atendimento", Request.QueryString["id_atendimento"].ToString());

                    BuscaTitulo(lblNoc, lblOperador, ViewState["id_atendimento"].ToString());
                    if (BuscaFinalizado(ViewState["id_atendimento"].ToString()))
                    {
                        btnFinalizar.Visible = false;
                        btnSend.Visible      = false;
                        txtMessage.Visible   = false;
                        btnReabir.Visible    = true;
                    }
                    else
                    {
                        btnFinalizar.Visible = true;
                        btnSend.Visible      = true;
                        txtMessage.Visible   = true;
                        btnReabir.Visible    = false;
                    }

                    //new tVerificaMsgs_Tick(this, e);
                    tVerificaMsgs.Enabled = true;

                    CarregaMsg();
                }
            }


            if (Request.Form["__EVENTTARGET"] == "Open")
            {
                ViewState["id_atendimento"] = Request.Form["__EVENTARGUMENT"].ToString();
                CarregaMsg();
            }
            //ScriptManager1.Focus();
        }