using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BE;
using BL;
using Utilitaria;
using System.Data;
using System.Data.SqlClient;
using Telerik.Web.UI;
using System.Configuration;
using System.Threading;
using System.Globalization;

public partial class frmEEFFMensual : System.Web.UI.Page
{
    public string COIN;
    public String OrdenHotelGrupo;
    public string[] vali = new string[15];
    public String[] ArrayHotelID = new String[9];
    string titulo;
    Int32 OrdenHotelHeader=0;
    String Hotel = "";
    public List<BEUsuarios> List_OrdenHotel = new List<BEUsuarios>();
    BLUsuarios BL_Orden_Hotel = new BLUsuarios();
     
    protected void Page_Load(object sender, EventArgs e)
    {
        titulo = (Request.QueryString["Tit"] == null) ? "" : Request.QueryString["Tit"].ToString();
        this.Title = titulo;
        Thread.CurrentThread.CurrentCulture = new CultureInfo("es-PE");
        Thread.CurrentThread.CurrentUICulture = new CultureInfo("es-PE");

        ViewState["Mes"] = Request.QueryString["Mes"];
        
        if (Session["Usuario"] == null)
        {
            Response.Redirect(Utilitaria.Cls_Enums.CerrarSesion.Salir);
        }

        if (Request.QueryString["NTF"].ToString() == "5" || Request.QueryString["NTF"].ToString() == "6")
            {
                COIN = (Request.QueryString["MON"].ToString() == null) ? "0" : Request.QueryString["MON"].ToString();
                lblexpresado.Text = COIN == "1" ? "Expresado en  Soles" : "Expresado en Dolares ";

                List_OrdenHotel = BL_Orden_Hotel.OrdenHotel(Convert.ToInt32(Session["txtPeriodo"].ToString()), Convert.ToInt16( ViewState["Mes"].ToString()), Convert.ToInt32(Request.QueryString["ACUM"]), Request.QueryString["NTF"].ToString(), Convert.ToInt32(Request.QueryString["HTL"].ToString()), Convert.ToInt32( Session["EmpresaID"]), ref OrdenHotelHeader);
            }
        if (!IsPostBack)
        {
            /////////////////////////// Inicio Parametros Cabecera 
            ViewState["FecDesde"] = Session["Desde"];
            ViewState["FecHasta"] = Session["Hasta"];
            this.lblTitulo.Text = titulo;
            //MON  -> MONEDA  1= SOLES    2= DOLARES
           
           
            this.lblMoneda.Text = Utilitaria.Cls_Utilitaria.f_MostraNombreMoneda(Convert.ToInt32(Session["MonedaID"].ToString()), 3);
            if (ViewState["FecDesde"] == "" || ViewState["FecDesde"] == null || ViewState["FecHasta"] == "" || ViewState["FecHasta"] == null)
            {
                this.lblDesde.Text = "--/--/----";
                this.lblHasta.Text = "--/--/----";
            }
            else
            {
                this.lblDesde.Text = String.Format("{0:dd/MM/yyyy}", Convert.ToDateTime(ViewState["FecDesde"]));
                this.lblHasta.Text = String.Format("{0:dd/MM/yyyy}", Convert.ToDateTime(ViewState["FecHasta"]));
            }
            /////////////////////////// Fin Parametros Cabecera 

            lblMes.Text = Request.QueryString["Periodo"];
            lblEjercicio.Text = Session["txtperiodo"].ToString();
            ViewState["BalanceAcumulado"] = Request.QueryString["ACUM"]; //Session["BalanceAcumulado"].ToString();
            ViewState["TipoFormatoGGPPID"] = Request.QueryString["TFGPID"];
            //ViewState["Mes"] = Request.QueryString["Mes"];

            ViewState["HotelID"] = Request.QueryString["HTL"].ToString();
            if (ViewState["HotelID"].ToString() != "0")
            {
                BLHoteles oBLHoteles = new BLHoteles();
                List<BEHoteles> loHoteles;
                loHoteles = oBLHoteles.fnSelHotelesDin("Where HotelID=" + ViewState["HotelID"].ToString().Trim(), "");
                lblSucursal.Text = loHoteles[0].NombreHotel;
            }
            else
            {
                lblSucursal.Text = "Todas";
            }

            ViewState["UnidadNegocioID"] = Request.QueryString["UNG"].ToString();
            if (ViewState["UnidadNegocioID"].ToString() != "0")
            {
                BLUnidadesDeNegocio oBLUnidadesDeNegocio = new BLUnidadesDeNegocio();
                BEUnidadesDeNegocio oBEUnidadesDeNegocio = new BEUnidadesDeNegocio();
                oBEUnidadesDeNegocio.EstablecimientoID = Convert.ToInt32(Session["EmpresaID"].ToString());
                List<BEUnidadesDeNegocio> loUnidadesDeNegocio;
                loUnidadesDeNegocio = oBLUnidadesDeNegocio.fnSelUnidadesDeNegocioDin(oBEUnidadesDeNegocio, "and UnidadNegocioID=" + ViewState["UnidadNegocioID"].ToString().Trim(), "");
                lblUnidadNegocio.Text = loUnidadesDeNegocio[0].NombreUnidadNegocio;
            }
            else
            {
                lblUnidadNegocio.Text = "Todas";
            }

            ViewState["AreaID"] = Request.QueryString["ARA"].ToString();
            if (ViewState["AreaID"].ToString() != "0")
            {
                BLAreas oBLAreas = new BLAreas();
                List<BEAreas> loAreas;
                loAreas = oBLAreas.fnSelAreasDin("AreaID=" + ViewState["AreaID"].ToString().Trim(), "");
                lblArea.Text = loAreas[0].NombreArea;
            }
            else
            {
                lblArea.Text = "Todas";
            }


            ViewState["NivelCuentaID"] = Request.QueryString["NVL"];
            foreach (GridColumn col in tk_Grid.Columns)
            {
                if (col.UniqueName == "NombrePlanCuenta" || col.UniqueName == "CodigoPlanCuenta")
                {
                    col.Visible = false;
                }
            }

            switch (Convert.ToInt32(ViewState["Mes"]))
            {
                case 1: lblMes.Text = "Enero";
                    break;
                case 2: lblMes.Text = "Febrero";
                    break;
                case 3: lblMes.Text = "Marzo";
                    break;
                case 4: lblMes.Text = "Abril";
                    break;
                case 5: lblMes.Text = "Mayo";
                    break;
                case 6: lblMes.Text = "Junio";
                    break;
                case 7: lblMes.Text = "Julio";
                    break;
                case 8: lblMes.Text = "Agosto";
                    break;
                case 9: lblMes.Text = "Septiembre";
                    break;
                case 10: lblMes.Text = "Octubre";
                    break;
                case 11: lblMes.Text = "Noviembre";
                    break;
                case 12: lblMes.Text = "Diciembre";
                    break;

            }
        }
    }

    private void AgregarGrupo()
    {
        foreach (GridColumn col in tk_Grid.Columns)
        {
            if (col.UniqueName == "NombrePlanCuenta" || col.UniqueName == "CodigoPlanCuenta")
            {
                col.Visible = true;
            }
            if (col.UniqueName == "NombreFormatoGanaciasPerdidas")
            {
                col.Visible = false;
            }
        }

        tk_Grid.MasterTableView.GroupByExpressions.Add(new GridGroupByExpression("NombreFormatoGanaciasPerdidas [Formato] Group By NombreFormatoGanaciasPerdidas"));

    }

    private void NomHotel ()
    {
        string connect = System.Configuration.ConfigurationManager.AppSettings["connectionstring"];
        SqlConnection scn = new SqlConnection(connect);
        string select = "SELECT Valor  FROM ParametrosGenerales WHERE ParametroGeneralID =889 ";
        SqlCommand spcmd = new SqlCommand(select, scn);
        spcmd.CommandType = CommandType.Text;
        SqlDataReader dr;
        scn.Open();
        dr = spcmd.ExecuteReader();

        if (dr.HasRows)
        {
            while (dr.Read())
            {
                Hotel = dr["Valor"].ToString().Trim();
            }
        }
    }
    private void Listar()
    {
        BEMayorizados objet_Mayorizados = new BEMayorizados();
        BLMayorizados objlg_Mayorizados = new BLMayorizados();

        //string _FormatoID = Session["FormatoID"].ToString();
        String _TipoFormatoGGPPID = ViewState["TipoFormatoGGPPID"].ToString();
        String _TipoCuentaID = "0";  //Session["TipoCuentaID"].ToString();
        Int32 _Ejercicio = Convert.ToInt32(Session["txtperiodo"].ToString());
        String _MesID = ViewState["Mes"].ToString();
        //String _MesNombre = Request.QueryString["Periodo"];
        Int32 HotelID = Convert.ToInt32(ViewState["HotelID"]);
        Int32 EstablecimientoID = Convert.ToInt32(Session["EmpresaID"]);

        Int32 _NivelID = Convert.ToInt32(ViewState["NivelCuentaID"]);
        string psWhere;
        if (Convert.ToInt32(ViewState["BalanceAcumulado"]) == 0)
        {
            lblDelAl.Text = "DEL ";
            //psWhere = "Month(Dia)=" + _MesID + " and PeriodoID=" + _MesID;
            psWhere = "PeriodoID=" + _MesID;
        }
        else
        {
            lblDelAl.Text = "AL ";
            //psWhere = "Month(Dia)<=" + _MesID;
            psWhere = "PeriodoID<=" + _MesID;

            // Diego 06/01/2014 //
            lblDesde.Visible = false;
            label_desde_html.Visible = false;
            // Diego 06/01/2014 //
        }


        //tk_Grid.DataSource = objlg_Mayorizados.fnSelMayorizadosMesDin(_FormatoID, _TipoCuentaID, _Ejercicio,_NivelID, psWhere, "");
        Int32 AreaID = 0;
        Int32 UnidadDeNegocioID = 0;
        Int32 FormatoReporte = 0;
        FormatoReporte = Convert.ToInt32(Request.QueryString["FORMATOREPORTE"].ToString());
        tk_Grid.DataSource = objlg_Mayorizados.fnSelMayorizadosMesDin(_TipoFormatoGGPPID, _TipoCuentaID, _Ejercicio, _NivelID, HotelID, EstablecimientoID, psWhere, "", AreaID, UnidadDeNegocioID, FormatoReporte, Request.QueryString["NTF"].ToString());
        //this.tk_Grid.Columns[0].ItemStyle.HorizontalAlign = HorizontalAlign.Left;

        objet_Mayorizados = null;
        objlg_Mayorizados = null;

        if (ViewState["NivelCuentaID"].ToString() != "0") AgregarGrupo();
    }


    //Int32 _CurrGroup;
    string _FormatoGananciaPerdidaID;
    string _FormatoBalanceID;
    string _TipoCuentaID;

    String currUrl;
    String headertext;
    String GroupHeaderText;
    String SubGroupHeaderText;
    int t = 0;
    protected void tk_Grid_ItemDataBound(object sender, GridItemEventArgs e)
    {
        if (e.Item is GridHeaderItem)
        {
            NomHotel();
            GridHeaderItem headerItem = (GridHeaderItem)e.Item;
            // string r = headerItem.DataItem.ToString();
            HyperLink hh0 = new HyperLink();
            currUrl = "BalanceComprobacion.aspx?MON=1&Mes=" + ViewState["Mes"].ToString().Trim() + "&ACUM=" + ViewState["BalanceAcumulado"].ToString().Trim() + "&HTL=" + ViewState["HotelID"].ToString().Trim() + "&UNG=" + ViewState["UnidadNegocioID"].ToString().Trim() + "&ARA=" + ViewState["AreaID"].ToString().Trim() + "&NVL=" + ViewState["NivelCuentaID"].ToString().Trim();
            hh0.NavigateUrl = "#";
            if(COIN =="1")
            {
                hh0.Text = Hotel;
            }
            else { hh0.Text = "S/.";}
            
            hh0.CssClass = "gridtext";
            hh0.Attributes.Add("OnClick", "return AbreVentana('" + currUrl + "','Balance Comprobacion');");
            headerItem["totalDebe"].Controls.Add(hh0);

            HyperLink hh1 = new HyperLink();
            currUrl = "BalanceComprobacion.aspx?MON=2&Mes=" + ViewState["Mes"].ToString().Trim() + "&ACUM=" + ViewState["BalanceAcumulado"].ToString().Trim() + "&HTL=" + ViewState["HotelID"].ToString().Trim() + "&UNG=" + ViewState["UnidadNegocioID"].ToString().Trim() + "&ARA=" + ViewState["AreaID"].ToString().Trim() + "&NVL=" + ViewState["NivelCuentaID"].ToString().Trim();
            hh1.NavigateUrl = "#";
            if (COIN == "2")
            {
                hh1.Text = Hotel;
            }
            else { hh1.Text = "US$"; }
            
            hh1.CssClass = "gridtext";
            hh1.Attributes.Add("OnClick", "return AbreVentana('" + currUrl + "','Balance Comprobacion');");
            headerItem["totalHaber"].Controls.Add(hh1);
            if (Request.QueryString["NTF"].ToString() == "5" || Request.QueryString["NTF"].ToString() == "6")
            {

                string[] ordenhotel = new string[8];
               
                int op = 0;
                //ordenhotel[0] = "1"; ordenhotel[0] = "2"; ordenhotel[0] = "3"; ordenhotel[0] = "4"; ordenhotel[0] = "6"; ordenhotel[0] = "7"; ordenhotel[0] = "8"; ordenhotel[0] = "9";   //="1";
                for (int x = 0; x < List_OrdenHotel.Count; x++)
                {
                    op = 0;
                    string ind = List_OrdenHotel[x].OrdenHotel.ToString();
                    for (int y = 0; y < vali.Count(); y++)
                    {
                        if (vali[y] != null)
                        {
                            if (ind == vali[y].ToString())
                            {
                                op = 1;
                            }
                        }
                    }
                    if (op == 0)
                    {
                        if (COIN == "1")
                        {
                            switch (List_OrdenHotel[x].OrdenHotel.ToString())
                            {
                                case "1": headerItem["H1S"].Text = List_OrdenHotel[x].NombreHotel.ToString(); vali[x] = List_OrdenHotel[x].OrdenHotel.ToString(); ArrayHotelID[1] = List_OrdenHotel[x].HotelID; OrdenHotelGrupo = List_OrdenHotel[x].NombreHotel.Trim() == "OTROS" ? List_OrdenHotel[x].HotelID : OrdenHotelGrupo; break;
                                case "2": headerItem["H2S"].Text = List_OrdenHotel[x].NombreHotel.ToString(); vali[x] = List_OrdenHotel[x].OrdenHotel.ToString(); ArrayHotelID[2] = List_OrdenHotel[x].HotelID; OrdenHotelGrupo = List_OrdenHotel[x].NombreHotel.Trim() == "OTROS" ? List_OrdenHotel[x].HotelID : OrdenHotelGrupo; break;
                                case "3": headerItem["H3S"].Text = List_OrdenHotel[x].NombreHotel.ToString(); vali[x] = List_OrdenHotel[x].OrdenHotel.ToString(); ArrayHotelID[3] = List_OrdenHotel[x].HotelID; OrdenHotelGrupo = List_OrdenHotel[x].NombreHotel.Trim() == "OTROS" ? List_OrdenHotel[x].HotelID : OrdenHotelGrupo; break;
                                case "4": headerItem["H4S"].Text = List_OrdenHotel[x].NombreHotel.ToString(); vali[x] = List_OrdenHotel[x].OrdenHotel.ToString(); ArrayHotelID[4] = List_OrdenHotel[x].HotelID; OrdenHotelGrupo = List_OrdenHotel[x].NombreHotel.Trim() == "OTROS" ? List_OrdenHotel[x].HotelID : OrdenHotelGrupo; break;
                                case "5": headerItem["H5S"].Text = List_OrdenHotel[x].NombreHotel.ToString(); vali[x] = List_OrdenHotel[x].OrdenHotel.ToString(); ArrayHotelID[5] = List_OrdenHotel[x].HotelID; OrdenHotelGrupo = List_OrdenHotel[x].NombreHotel.Trim() == "OTROS" ? List_OrdenHotel[x].HotelID : OrdenHotelGrupo; break;
                                case "6": headerItem["H6S"].Text = List_OrdenHotel[x].NombreHotel.ToString(); vali[x] = List_OrdenHotel[x].OrdenHotel.ToString(); ArrayHotelID[6] = List_OrdenHotel[x].HotelID; OrdenHotelGrupo = List_OrdenHotel[x].NombreHotel.Trim() == "OTROS" ? List_OrdenHotel[x].HotelID : OrdenHotelGrupo; break;
                                case "7": headerItem["H7S"].Text = List_OrdenHotel[x].NombreHotel.ToString(); vali[x] = List_OrdenHotel[x].OrdenHotel.ToString(); ArrayHotelID[7] = List_OrdenHotel[x].HotelID; OrdenHotelGrupo = List_OrdenHotel[x].NombreHotel.Trim() == "OTROS" ? List_OrdenHotel[x].HotelID : OrdenHotelGrupo; break;
                                case "8": headerItem["H8S"].Text = List_OrdenHotel[x].NombreHotel.ToString(); vali[x] = List_OrdenHotel[x].OrdenHotel.ToString(); ArrayHotelID[8] = List_OrdenHotel[x].HotelID; OrdenHotelGrupo = List_OrdenHotel[x].NombreHotel.Trim() == "OTROS" ? List_OrdenHotel[x].HotelID : OrdenHotelGrupo; break;
                                
                            }
                        }
                        else if (COIN == "2")
                        {
                            switch (List_OrdenHotel[x].OrdenHotel.ToString())
                            {
                                case "1": headerItem["H1D"].Text = List_OrdenHotel[x].NombreHotel.ToString(); vali[x] = List_OrdenHotel[x].OrdenHotel.ToString(); ArrayHotelID[1] = List_OrdenHotel[x].HotelID; OrdenHotelGrupo = List_OrdenHotel[x].NombreHotel.Trim() == "OTROS" ? List_OrdenHotel[x].HotelID : OrdenHotelGrupo; break;
                                case "2": headerItem["H2D"].Text = List_OrdenHotel[x].NombreHotel.ToString(); vali[x] = List_OrdenHotel[x].OrdenHotel.ToString(); ArrayHotelID[2] = List_OrdenHotel[x].HotelID; OrdenHotelGrupo = List_OrdenHotel[x].NombreHotel.Trim() == "OTROS" ? List_OrdenHotel[x].HotelID : OrdenHotelGrupo; break;
                                case "3": headerItem["H3D"].Text = List_OrdenHotel[x].NombreHotel.ToString(); vali[x] = List_OrdenHotel[x].OrdenHotel.ToString(); ArrayHotelID[3] = List_OrdenHotel[x].HotelID; OrdenHotelGrupo = List_OrdenHotel[x].NombreHotel.Trim() == "OTROS" ? List_OrdenHotel[x].HotelID : OrdenHotelGrupo; break;
                                case "4": headerItem["H4D"].Text = List_OrdenHotel[x].NombreHotel.ToString(); vali[x] = List_OrdenHotel[x].OrdenHotel.ToString(); ArrayHotelID[4] = List_OrdenHotel[x].HotelID; OrdenHotelGrupo = List_OrdenHotel[x].NombreHotel.Trim() == "OTROS" ? List_OrdenHotel[x].HotelID : OrdenHotelGrupo; break;
                                case "5": headerItem["H5D"].Text = List_OrdenHotel[x].NombreHotel.ToString(); vali[x] = List_OrdenHotel[x].OrdenHotel.ToString(); ArrayHotelID[5] = List_OrdenHotel[x].HotelID; OrdenHotelGrupo = List_OrdenHotel[x].NombreHotel.Trim() == "OTROS" ? List_OrdenHotel[x].HotelID : OrdenHotelGrupo; break;
                                case "6": headerItem["H6D"].Text = List_OrdenHotel[x].NombreHotel.ToString(); vali[x] = List_OrdenHotel[x].OrdenHotel.ToString(); ArrayHotelID[6] = List_OrdenHotel[x].HotelID; OrdenHotelGrupo = List_OrdenHotel[x].NombreHotel.Trim() == "OTROS" ? List_OrdenHotel[x].HotelID : OrdenHotelGrupo; break;
                                case "7": headerItem["H7D"].Text = List_OrdenHotel[x].NombreHotel.ToString(); vali[x] = List_OrdenHotel[x].OrdenHotel.ToString(); ArrayHotelID[7] = List_OrdenHotel[x].HotelID; OrdenHotelGrupo = List_OrdenHotel[x].NombreHotel.Trim() == "OTROS" ? List_OrdenHotel[x].HotelID : OrdenHotelGrupo; break;
                                case "8": headerItem["H8D"].Text = List_OrdenHotel[x].NombreHotel.ToString(); vali[x] = List_OrdenHotel[x].OrdenHotel.ToString(); ArrayHotelID[8] = List_OrdenHotel[x].HotelID; OrdenHotelGrupo = List_OrdenHotel[x].NombreHotel.Trim() == "OTROS" ? List_OrdenHotel[x].HotelID : OrdenHotelGrupo; break;
                              
                            }

                        }

                    }
                }


                if (COIN == "1")
                {//ocultar $

                    headerItem["H1D"].Visible = false;
                    headerItem["H2D"].Visible = false;
                    headerItem["H3D"].Visible = false;
                    headerItem["H4D"].Visible = false;
                    headerItem["H5D"].Visible = false;
                    headerItem["H6D"].Visible = false;
                    headerItem["H7D"].Visible = false;
                    headerItem["H8D"].Visible = false;
                    headerItem["totalHaber"].Visible = false;

                }
                else if (COIN == "2")
                {//ocultar S/
                    headerItem["H1S"].Visible = false;
                    headerItem["H2S"].Visible = false;
                    headerItem["H3S"].Visible = false;
                    headerItem["H4S"].Visible = false;
                    headerItem["H5S"].Visible = false;
                    headerItem["H6S"].Visible = false;
                    headerItem["H7S"].Visible = false;
                    headerItem["H8S"].Visible = false;
                    headerItem["totalDebe"].Visible = false;
                    
                }
            }
            else
            {
                headerItem["H1D"].Visible = false;
                headerItem["H2D"].Visible = false;
                headerItem["H3D"].Visible = false;
                headerItem["H4D"].Visible = false;
                headerItem["H5D"].Visible = false;
                headerItem["H6D"].Visible = false;
                headerItem["H7D"].Visible = false;
                headerItem["H8D"].Visible = false;
                headerItem["H1S"].Visible = false;
                headerItem["H2S"].Visible = false;
                headerItem["H3S"].Visible = false;
                headerItem["H4S"].Visible = false;
                headerItem["H5S"].Visible = false;
                headerItem["H6S"].Visible = false;
                headerItem["H7S"].Visible = false;
                headerItem["H8S"].Visible = false;
            }

        }

       

        if (e.Item is GridGroupHeaderItem)
        {
            GridGroupHeaderItem item = (GridGroupHeaderItem)e.Item;
            Label groupCaption = new Label();
            System.Data.DataRowView groupDataRow = (System.Data.DataRowView)e.Item.DataItem;
            //groupCaption.Text = item.DataCell.Text.Substring(7, item.DataCell.Text.Length - 7);
            groupCaption.Text = item.DataCell.Text;
            groupCaption.CssClass = "gridtextbold";
            item.DataCell.Controls.Clear();
            item.DataCell.Controls.Add(groupCaption);


            if (item.GroupIndex.Length == 1)
            {
                GroupHeaderText = item.DataCell.Text.Substring(item.DataCell.Text.IndexOf(':') + 1);
            }
            else
            {
                SubGroupHeaderText = item.DataCell.Text.Substring(item.DataCell.Text.IndexOf(':') + 1);
            }
           


        }

        if (e.Item is GridDataItem)
        {
            GridDataItem dataItem = (GridDataItem)e.Item;

            _FormatoGananciaPerdidaID = dataItem["FormatoGananciaPerdidaID"].Text.Trim();
            _FormatoBalanceID = dataItem["FormatoBalanceID"].Text.Trim();
            _TipoCuentaID = dataItem["TipoCuentaID"].Text.Trim();

            HyperLink h0 = new HyperLink();
            currUrl = "frmAnexoBalance.aspx?MON=1&Mes=" + ViewState["Mes"].ToString().Trim() + "&FGPID=" + dataItem["FormatoGananciaPerdidaID"].Text.Trim() + "&FBID=0&TCTAID=0" + "&ACUM=" + ViewState["BalanceAcumulado"].ToString().Trim() + "&HTL=" + ViewState["HotelID"].ToString().Trim() + "&UNG=" + ViewState["UnidadNegocioID"].ToString().Trim() + "&ARA=" + ViewState["AreaID"].ToString().Trim() + "&TFGPID=" + ViewState["TipoFormatoGGPPID"].ToString().Trim();
            h0.NavigateUrl = "#";
            if (double.Parse(dataItem["totalDebe"].Text) == 0) dataItem["totalDebe"].Text = "";
            h0.Text = dataItem["totalDebe"].Text;
            h0.CssClass = "gridtext";
            h0.Attributes.Add("OnClick", "return AbreVentana('" + currUrl + "','BalanceMensual');");
            dataItem["totalDebe"].Controls.Add(h0);

            HyperLink h1 = new HyperLink();
            currUrl = "frmAnexoBalance.aspx?&MON=2&Mes=" + ViewState["Mes"].ToString().Trim() + "&FGPID=" + dataItem["FormatoGananciaPerdidaID"].Text.Trim() + "&FBID=0&TCTAID=0" + "&ACUM=" + ViewState["BalanceAcumulado"].ToString().Trim() + "&HTL=" + ViewState["HotelID"].ToString().Trim() + "&UNG=" + ViewState["UnidadNegocioID"].ToString().Trim() + "&ARA=" + ViewState["AreaID"].ToString().Trim() + "&TFGPID=" + ViewState["TipoFormatoGGPPID"].ToString().Trim();
            h1.NavigateUrl = "#";
            if (double.Parse(dataItem["totalHaber"].Text) == 0) dataItem["totalHaber"].Text = "";
            h1.Text = dataItem["totalHaber"].Text;
            h1.CssClass = "gridtext";
            h1.Attributes.Add("OnClick", "return AbreVentana('" + currUrl + "','BalanceMensual');");
            dataItem["totalHaber"].Controls.Add(h1);

           
            //nbernuy por hoteles  en soles -----------------------------------

            if (COIN == "1")
            {
                dataItem["H1D"].Visible = false;
                dataItem["H2D"].Visible = false;
                dataItem["H3D"].Visible = false;
                dataItem["H4D"].Visible = false;
                dataItem["H5D"].Visible = false;
                dataItem["H6D"].Visible = false;
                dataItem["H7D"].Visible = false;
                dataItem["H8D"].Visible = false;
                dataItem["totalHaber"].Visible = false;
                //nbernuy por hoteles  en soles -----------------------------------
                for (int r = 0; r < ArrayHotelID.Length; r++)
                {
                    if (ArrayHotelID[r] != null )
                    {
                        if (ArrayHotelID[r] != OrdenHotelGrupo)
                        {
                            HyperLink hotel1 = new HyperLink();
                            currUrl = "frmAnexoBalance.aspx?MON=" + COIN + "&NTF=" + Request.QueryString["NTF"].ToString() + "&Mes=" + ViewState["Mes"].ToString().Trim() + "&FGPID=" + dataItem["FormatoGananciaPerdidaID"].Text.Trim() + "&FBID=0&TCTAID=0" + "&ACUM=" + ViewState["BalanceAcumulado"].ToString().Trim() + "&HTL=" + ArrayHotelID[r].Trim() + "&UNG=" + ViewState["UnidadNegocioID"].ToString().Trim() + "&ARA=" + ViewState["AreaID"].ToString().Trim() + "&TFGPID=" + ViewState["TipoFormatoGGPPID"].ToString().Trim();
                            hotel1.NavigateUrl = "#";
                            if (double.Parse(dataItem["H" + r + "S"].Text) == 0) dataItem["H" + r + "S"].Text = "0.00";
                            hotel1.Text = dataItem["H" + r + "S"].Text;
                            hotel1.CssClass = "gridtext";
                            hotel1.Attributes.Add("OnClick", "return AbreVentana('" + currUrl + "','BalanceMensual');");
                            dataItem["H" + r + "S"].Controls.Add(hotel1);
                        }
                    }
                }
                

            }
            else if (COIN == "2")
            {
                dataItem["H1S"].Visible = false;
                dataItem["H2S"].Visible = false;
                dataItem["H3S"].Visible = false;
                dataItem["H4S"].Visible = false;
                dataItem["H5S"].Visible = false;
                dataItem["H6S"].Visible = false;
                dataItem["H7S"].Visible = false;
                dataItem["H8S"].Visible = false;
                dataItem["totalDebe"].Visible = false;
                for (int r = 0; r < ArrayHotelID.Length; r++)
                {
                    if (ArrayHotelID[r] != null)
                    {
                        if (ArrayHotelID[r] != OrdenHotelGrupo)
                        {
                            HyperLink hotel1 = new HyperLink();
                            currUrl = "frmAnexoBalance.aspx?MON=" + COIN + "&NTF=" + Request.QueryString["NTF"].ToString() + "&Mes=" + ViewState["Mes"].ToString().Trim() + "&FGPID=" + dataItem["FormatoGananciaPerdidaID"].Text.Trim() + "&FBID=0&TCTAID=0" + "&ACUM=" + ViewState["BalanceAcumulado"].ToString().Trim() + "&HTL=" + ArrayHotelID[r].Trim() + "&UNG=" + ViewState["UnidadNegocioID"].ToString().Trim() + "&ARA=" + ViewState["AreaID"].ToString().Trim() + "&TFGPID=" + ViewState["TipoFormatoGGPPID"].ToString().Trim();
                            hotel1.NavigateUrl = "#";
                            if (double.Parse(dataItem["H" + r + "D"].Text) == 0) dataItem["H" + r + "D"].Text = "0.00";
                            hotel1.Text = dataItem["H" + r + "D"].Text;
                            hotel1.CssClass = "gridtext";
                            hotel1.Attributes.Add("OnClick", "return AbreVentana('" + currUrl + "','BalanceMensual');");
                            dataItem["H" + r + "D"].Controls.Add(hotel1);
                        }
                    }
                }
               
            }
            else
            {
                dataItem["H1D"].Visible = false;
                dataItem["H2D"].Visible = false;
                dataItem["H3D"].Visible = false;
                dataItem["H4D"].Visible = false;
                dataItem["H5D"].Visible = false;
                dataItem["H6D"].Visible = false;
                dataItem["H7D"].Visible = false;
                dataItem["H8D"].Visible = false;
                dataItem["H1S"].Visible = false;
                dataItem["H2S"].Visible = false;
                dataItem["H3S"].Visible = false;
                dataItem["H4S"].Visible = false;
                dataItem["H5S"].Visible = false;
                dataItem["H6S"].Visible = false;
                dataItem["H7S"].Visible = false;
                dataItem["H8S"].Visible = false;
            }

        }

        else if (e.Item is GridGroupFooterItem)
        {

            GridGroupFooterItem gridfooteritem = e.Item as GridGroupFooterItem;

          

            HyperLink hg0 = new HyperLink();
            if (gridfooteritem.GroupIndex.Length == 1)
            {
                //currUrl = "frmAnexoBalance.aspx?&MON=1&Mes=" + ViewState["Mes"].ToString().Trim() + "&FGPID=0" + "&ACUM=" + ViewState["BalanceAcumulado"].ToString().Trim() + "&GGPPID=0&FBID=0&TCTAID=0" + _FormatoBalanceID + "&TCID=" + _TipoCuentaID + "&HTL=" + ViewState["HotelID"] + "&UNG=" + ViewState["UnidadNegocioID"] + "&ARA=" + ViewState["AreaID"] + "&TFGPID=" + ViewState["TipoFormatoGGPPID"].ToString().Trim();
                currUrl = "frmAnexoBalance.aspx?MON=1&Mes=" + ViewState["Mes"].ToString().Trim() + "&GPID=0&FBID=0&TCTAID=" + _TipoCuentaID + "&HTL=" + ViewState["HotelID"].ToString().Trim() + "&UNG=" + ViewState["UnidadNegocioID"].ToString().Trim() + "&ARA=" + ViewState["AreaID"].ToString().Trim() + "&ACUM=" + ViewState["BalanceAcumulado"].ToString().Trim() + "&TFGPID=" + ViewState["TipoFormatoGGPPID"].ToString().Trim() + "&FGPID=0";
            }
            else
            {
                //currUrl = "frmAnexoBalance.aspx?Mes=1&GPID=0&FBID=" + _FormatoBalanceID + "&TCTAID=" + _TipoCuentaID + "&HTL=" + ViewState["HotelID"].ToString().Trim() + "&UNG=" + ViewState["UnidadNegocioID"].ToString().Trim() + "&ARA=" + ViewState["AreaID"].ToString().Trim() + "&MON=" + ViewState["MonedaID"].ToString().Trim() + "&ACUM=" + ViewState["BalanceAcumulado"].ToString().Trim() + "&TFGPID=" + ViewState["TipoFormatoGGPPID"].ToString().Trim() + "&FGPID=0";
                currUrl = "frmAnexoBalance.aspx?MON=1&Mes=" + ViewState["Mes"].ToString().Trim() + "&GPID=0&FBID=" + _FormatoBalanceID + "&TCTAID=" + _TipoCuentaID + "&HTL=" + ViewState["HotelID"].ToString().Trim() + "&UNG=" + ViewState["UnidadNegocioID"].ToString().Trim() + "&ARA=" + ViewState["AreaID"].ToString().Trim() + "&ACUM=" + ViewState["BalanceAcumulado"].ToString().Trim() + "&TFGPID=" + ViewState["TipoFormatoGGPPID"].ToString().Trim() + "&FGPID=0";
            }
            hg0.NavigateUrl = "#";
            if (double.Parse(gridfooteritem["totalDebe"].Text) == 0) gridfooteritem["totalDebe"].Text = "";
            hg0.Text = gridfooteritem["totalDebe"].Text.Trim();
            hg0.CssClass = "gridtext";
            hg0.Attributes.Add("OnClick", "return AbreVentana('" + currUrl + "','BalanceMensual');");
            gridfooteritem["totalDebe"].Controls.Add(hg0);


            HyperLink hg1 = new HyperLink();
            if (gridfooteritem.GroupIndex.Length == 1)
            {
                //currUrl = "frmAnexoBalance.aspx?&MON=1&Mes=" + ViewState["Mes"].ToString().Trim() + "&FGPID=0" + "&ACUM=" + ViewState["BalanceAcumulado"].ToString().Trim() + "&GGPPID=0&FBID=0&TCTAID=0" + _FormatoBalanceID + "&TCID=" + _TipoCuentaID + "&HTL=" + ViewState["HotelID"] + "&UNG=" + ViewState["UnidadNegocioID"] + "&ARA=" + ViewState["AreaID"] + "&TFGPID=" + ViewState["TipoFormatoGGPPID"].ToString().Trim();
                currUrl = "frmAnexoBalance.aspx?MON=2&Mes=" + ViewState["Mes"].ToString().Trim() + "&GPID=0&FBID=0&TCTAID=" + _TipoCuentaID + "&HTL=" + ViewState["HotelID"].ToString().Trim() + "&UNG=" + ViewState["UnidadNegocioID"].ToString().Trim() + "&ARA=" + ViewState["AreaID"].ToString().Trim() + "&ACUM=" + ViewState["BalanceAcumulado"].ToString().Trim() + "&TFGPID=" + ViewState["TipoFormatoGGPPID"].ToString().Trim() + "&FGPID=0";
            }
            else
            {
                //currUrl = "frmAnexoBalance.aspx?Mes=1&GPID=0&FBID=" + _FormatoBalanceID + "&TCTAID=" + _TipoCuentaID + "&HTL=" + ViewState["HotelID"].ToString().Trim() + "&UNG=" + ViewState["UnidadNegocioID"].ToString().Trim() + "&ARA=" + ViewState["AreaID"].ToString().Trim() + "&MON=" + ViewState["MonedaID"].ToString().Trim() + "&ACUM=" + ViewState["BalanceAcumulado"].ToString().Trim() + "&TFGPID=" + ViewState["TipoFormatoGGPPID"].ToString().Trim() + "&FGPID=0";
                currUrl = "frmAnexoBalance.aspx?MON=2&Mes=" + ViewState["Mes"].ToString().Trim() + "&GPID=0&FBID=" + _FormatoBalanceID + "&TCTAID=" + _TipoCuentaID + "&HTL=" + ViewState["HotelID"].ToString().Trim() + "&UNG=" + ViewState["UnidadNegocioID"].ToString().Trim() + "&ARA=" + ViewState["AreaID"].ToString().Trim() + "&ACUM=" + ViewState["BalanceAcumulado"].ToString().Trim() + "&TFGPID=" + ViewState["TipoFormatoGGPPID"].ToString().Trim() + "&FGPID=0";
            }
            //currUrl = "frmAnexoBalance.aspx?&MON=2Mes=" + ViewState["Mes"].ToString().Trim() + "&FGPID=0" + "&ACUM=" + gridfooteritem["FormatoGananciaPerdidaID"].Text.Trim() + "&ACUM=" + ViewState["BalanceAcumulado"].ToString().Trim() + "&GGPPID=0&FBID=&TCTAID=0" + _FormatoBalanceID + "&TCID=" + _TipoCuentaID + "&HTL=" + ViewState["HotelID"] + "&UNG=" + ViewState["UnidadNegocioID"] + "&ARA=" + ViewState["AreaID"] + "&TFGPID=" + ViewState["TipoFormatoGGPPID"].ToString().Trim();
            hg1.NavigateUrl = "#";
            if (double.Parse(gridfooteritem["totalHaber"].Text) == 0) gridfooteritem["totalHaber"].Text = "";
            hg1.Text = gridfooteritem["totalHaber"].Text.Trim();
            hg1.CssClass = "gridtext";
            hg1.Attributes.Add("OnClick", "return AbreVentana('" + currUrl + "','BalanceMensual');");
            gridfooteritem["totalHaber"].Controls.Add(hg1);

            string strtxt = gridfooteritem["NombreFormatoBalance"].Text.Substring(gridfooteritem["NombreFormatoBalance"].Text.IndexOf(':') + 1);
            if (headertext != null)
                gridfooteritem["NombrePlanCuenta"].Text = headertext + ":" + strtxt;
            gridfooteritem["NombrePlanCuenta"].Style["color"] = "#006400";
            gridfooteritem["NombrePlanCuenta"].Style["font-weight"] = "bold";
            gridfooteritem["NombrePlanCuenta"].Style["font-style"] = "italic";
            gridfooteritem["NombrePlanCuenta"].Style["text-align"] = "right";

            if (COIN == "1")
            {
                gridfooteritem["H1D"].Visible = false;
                gridfooteritem["H2D"].Visible = false;
                gridfooteritem["H3D"].Visible = false;
                gridfooteritem["H4D"].Visible = false;
                gridfooteritem["H5D"].Visible = false;
                gridfooteritem["H6D"].Visible = false;
                gridfooteritem["H7D"].Visible = false;
                gridfooteritem["H8D"].Visible = false;
                gridfooteritem["totalHaber"].Visible = false;
                //POR HOTELES en soles nbernuy 
                for (int r = 0; r < ArrayHotelID.Length; r++)
                {
                    if (ArrayHotelID[r] != null)
                    {
                        if (ArrayHotelID[r] != OrdenHotelGrupo)
                        {
                            HyperLink hg = new HyperLink();
                            if (gridfooteritem.GroupIndex.Length == 1)
                            {
                                //currUrl = "frmAnexoBalance.aspx?&MON=1&Mes=" + ViewState["Mes"].ToString().Trim() + "&FGPID=0" + "&ACUM=" + ViewState["BalanceAcumulado"].ToString().Trim() + "&GGPPID=0&FBID=0&TCTAID=0" + _FormatoBalanceID + "&TCID=" + _TipoCuentaID + "&HTL=" + ViewState["HotelID"] + "&UNG=" + ViewState["UnidadNegocioID"] + "&ARA=" + ViewState["AreaID"] + "&TFGPID=" + ViewState["TipoFormatoGGPPID"].ToString().Trim();
                                currUrl = "frmAnexoBalance.aspx?MON=" + COIN + "&NTF=" + Request.QueryString["NTF"].ToString() + "&Mes=" + ViewState["Mes"].ToString().Trim() + "&GPID=0&FBID=0&TCTAID=" + _TipoCuentaID + "&HTL=" + ArrayHotelID[r].Trim() + "&UNG=" + ViewState["UnidadNegocioID"].ToString().Trim() + "&ARA=" + ViewState["AreaID"].ToString().Trim() + "&ACUM=" + ViewState["BalanceAcumulado"].ToString().Trim() + "&TFGPID=" + ViewState["TipoFormatoGGPPID"].ToString().Trim() + "&FGPID=0";
                            }
                            else
                            {
                                //currUrl = "frmAnexoBalance.aspx?Mes=1&GPID=0&FBID=" + _FormatoBalanceID + "&TCTAID=" + _TipoCuentaID + "&HTL=" + ViewState["HotelID"].ToString().Trim() + "&UNG=" + ViewState["UnidadNegocioID"].ToString().Trim() + "&ARA=" + ViewState["AreaID"].ToString().Trim() + "&MON=" + ViewState["MonedaID"].ToString().Trim() + "&ACUM=" + ViewState["BalanceAcumulado"].ToString().Trim() + "&TFGPID=" + ViewState["TipoFormatoGGPPID"].ToString().Trim() + "&FGPID=0";
                                currUrl = "frmAnexoBalance.aspx?MON=" + COIN + "&NTF=" + Request.QueryString["NTF"].ToString() + "&Mes=" + ViewState["Mes"].ToString().Trim() + "&GPID=0&FBID=" + _FormatoBalanceID + "&TCTAID=" + _TipoCuentaID + "&HTL=" + ArrayHotelID[r].Trim() + "&UNG=" + ViewState["UnidadNegocioID"].ToString().Trim() + "&ARA=" + ViewState["AreaID"].ToString().Trim() + "&ACUM=" + ViewState["BalanceAcumulado"].ToString().Trim() + "&TFGPID=" + ViewState["TipoFormatoGGPPID"].ToString().Trim() + "&FGPID=0";
                            }
                            //currUrl = "frmAnexoBalance.aspx?&MON=2Mes=" + ViewState["Mes"].ToString().Trim() + "&FGPID=0" + "&ACUM=" + gridfooteritem["FormatoGananciaPerdidaID"].Text.Trim() + "&ACUM=" + ViewState["BalanceAcumulado"].ToString().Trim() + "&GGPPID=0&FBID=&TCTAID=0" + _FormatoBalanceID + "&TCID=" + _TipoCuentaID + "&HTL=" + ViewState["HotelID"] + "&UNG=" + ViewState["UnidadNegocioID"] + "&ARA=" + ViewState["AreaID"] + "&TFGPID=" + ViewState["TipoFormatoGGPPID"].ToString().Trim();
                            hg.NavigateUrl = "#";
                            if (double.Parse(gridfooteritem["H" + r + "S"].Text) == 0) gridfooteritem["H" + r + "S"].Text = "0.00";
                            hg.Text = gridfooteritem["H" + r + "S"].Text.Trim();
                            hg.CssClass = "gridtext";
                            hg.Attributes.Add("OnClick", "return AbreVentana('" + currUrl + "','BalanceMensual');");
                            gridfooteritem["H" + r + "S"].Controls.Add(hg);
                        }
                    }
                }



               
            }
            else if (COIN == "2")
            {
                gridfooteritem["H1S"].Visible = false;
                gridfooteritem["H2S"].Visible = false;
                gridfooteritem["H3S"].Visible = false;
                gridfooteritem["H4S"].Visible = false;
                gridfooteritem["H5S"].Visible = false;
                gridfooteritem["H6S"].Visible = false;
                gridfooteritem["H7S"].Visible = false;
                gridfooteritem["H8S"].Visible = false;
                gridfooteritem["totalDebe"].Visible = false;
                //link por hoteles 
                for (int r = 0; r < ArrayHotelID.Length; r++)
                {
                    if (ArrayHotelID[r] != null)
                    {
                        if (ArrayHotelID[r] != OrdenHotelGrupo)
                        {
                            HyperLink hg = new HyperLink();
                            if (gridfooteritem.GroupIndex.Length == 1)
                            {
                                //currUrl = "frmAnexoBalance.aspx?&MON=1&Mes=" + ViewState["Mes"].ToString().Trim() + "&FGPID=0" + "&ACUM=" + ViewState["BalanceAcumulado"].ToString().Trim() + "&GGPPID=0&FBID=0&TCTAID=0" + _FormatoBalanceID + "&TCID=" + _TipoCuentaID + "&HTL=" + ViewState["HotelID"] + "&UNG=" + ViewState["UnidadNegocioID"] + "&ARA=" + ViewState["AreaID"] + "&TFGPID=" + ViewState["TipoFormatoGGPPID"].ToString().Trim();
                                currUrl = "frmAnexoBalance.aspx?MON=" + COIN + "&NTF=" + Request.QueryString["NTF"].ToString() + "&Mes=" + ViewState["Mes"].ToString().Trim() + "&GPID=0&FBID=0&TCTAID=" + _TipoCuentaID + "&HTL=" + ArrayHotelID[r].Trim() + "&UNG=" + ViewState["UnidadNegocioID"].ToString().Trim() + "&ARA=" + ViewState["AreaID"].ToString().Trim() + "&ACUM=" + ViewState["BalanceAcumulado"].ToString().Trim() + "&TFGPID=" + ViewState["TipoFormatoGGPPID"].ToString().Trim() + "&FGPID=0";
                            }
                            else
                            {
                                //currUrl = "frmAnexoBalance.aspx?Mes=1&GPID=0&FBID=" + _FormatoBalanceID + "&TCTAID=" + _TipoCuentaID + "&HTL=" + ViewState["HotelID"].ToString().Trim() + "&UNG=" + ViewState["UnidadNegocioID"].ToString().Trim() + "&ARA=" + ViewState["AreaID"].ToString().Trim() + "&MON=" + ViewState["MonedaID"].ToString().Trim() + "&ACUM=" + ViewState["BalanceAcumulado"].ToString().Trim() + "&TFGPID=" + ViewState["TipoFormatoGGPPID"].ToString().Trim() + "&FGPID=0";
                                currUrl = "frmAnexoBalance.aspx?MON=" + COIN + "&NTF=" + Request.QueryString["NTF"].ToString() + "&Mes=" + ViewState["Mes"].ToString().Trim() + "&GPID=0&FBID=" + _FormatoBalanceID + "&TCTAID=" + _TipoCuentaID + "&HTL=" + ArrayHotelID[r].Trim() + "&UNG=" + ViewState["UnidadNegocioID"].ToString().Trim() + "&ARA=" + ViewState["AreaID"].ToString().Trim() + "&ACUM=" + ViewState["BalanceAcumulado"].ToString().Trim() + "&TFGPID=" + ViewState["TipoFormatoGGPPID"].ToString().Trim() + "&FGPID=0";
                            }
                            //currUrl = "frmAnexoBalance.aspx?&MON=2Mes=" + ViewState["Mes"].ToString().Trim() + "&FGPID=0" + "&ACUM=" + gridfooteritem["FormatoGananciaPerdidaID"].Text.Trim() + "&ACUM=" + ViewState["BalanceAcumulado"].ToString().Trim() + "&GGPPID=0&FBID=&TCTAID=0" + _FormatoBalanceID + "&TCID=" + _TipoCuentaID + "&HTL=" + ViewState["HotelID"] + "&UNG=" + ViewState["UnidadNegocioID"] + "&ARA=" + ViewState["AreaID"] + "&TFGPID=" + ViewState["TipoFormatoGGPPID"].ToString().Trim();
                            hg.NavigateUrl = "#";
                            if (double.Parse(gridfooteritem["H" + r + "D"].Text) == 0) gridfooteritem["H" + r + "D"].Text = "0.00";
                            hg.Text = gridfooteritem["H" + r + "D"].Text.Trim();
                            hg.CssClass = "gridtext";
                            hg.Attributes.Add("OnClick", "return AbreVentana('" + currUrl + "','BalanceMensual');");
                            gridfooteritem["H" + r + "D"].Controls.Add(hg);
                        }
                    }
                }

                
            }
            else
            {
                gridfooteritem["H1S"].Visible = false;
                gridfooteritem["H2S"].Visible = false;
                gridfooteritem["H3S"].Visible = false;
                gridfooteritem["H4S"].Visible = false;
                gridfooteritem["H5S"].Visible = false;
                gridfooteritem["H6S"].Visible = false;
                gridfooteritem["H7S"].Visible = false;
                gridfooteritem["H8S"].Visible = false;
                gridfooteritem["H1D"].Visible = false;
                gridfooteritem["H2D"].Visible = false;
                gridfooteritem["H3D"].Visible = false;
                gridfooteritem["H4D"].Visible = false;
                gridfooteritem["H5D"].Visible = false;
                gridfooteritem["H6D"].Visible = false;
                gridfooteritem["H7D"].Visible = false;
                gridfooteritem["H8D"].Visible = false;
            }
        }



        else if (e.Item is GridFooterItem)
        {
            GridFooterItem footer = (GridFooterItem)e.Item;

            HyperLink hf0 = new HyperLink();
            currUrl = "frmAnexoBalance.aspx?Mes=" + ViewState["Mes"].ToString().Trim() + "&GGPPID=0&FBID=0&TCID=0" + "&HTL=" + ViewState["HotelID"] + "&UNG=" + ViewState["UnidadNegocioID"] + "&ARA=" + ViewState["AreaID"];
            hf0.NavigateUrl = "#";
            if (footer["totalDebe"].Text == "0.00") footer["totalDebe"].Text = "";
            hf0.Text = footer["totalDebe"].Text.Trim();
            hf0.CssClass = "linkstotal";
            hf0.Attributes.Add("OnClick", "return AbreVentana('" + currUrl + "','BalanceMensual');");
            footer["totalDebe"].Controls.Add(hf0);

            HyperLink hf1 = new HyperLink();
            currUrl = "frmAnexoBalance.aspx?Mes=" + ViewState["Mes"].ToString().Trim() + "&GGPPID=0&FBID=0&TCID=0" + "&HTL=" + ViewState["HotelID"] + "&UNG=" + ViewState["UnidadNegocioID"] + "&ARA=" + ViewState["AreaID"];
            hf1.NavigateUrl = "#";
            if (footer["totalHaber"].Text == "0.00") footer["totalHaber"].Text = "";
            hf1.Text = footer["totalHaber"].Text.Trim();
            hf1.CssClass = "linkstotal";
            hf1.Attributes.Add("OnClick", "return AbreVentana('" + currUrl + "','BalanceMensual');");
            footer["totalHaber"].Controls.Add(hf1);

            if (COIN == "1")
            {
                footer["H1D"].Visible = false;
                footer["H2D"].Visible = false;
                footer["H3D"].Visible = false;
                footer["H4D"].Visible = false;
                footer["H5D"].Visible = false;
                footer["H6D"].Visible = false;
                footer["H7D"].Visible = false;
                footer["H8D"].Visible = false;
                footer["totalHaber"].Visible = false;
              
            }
            else if (COIN == "2")
            {
                footer["H1S"].Visible = false;
                footer["H2S"].Visible = false;
                footer["H3S"].Visible = false;
                footer["H4S"].Visible = false;
                footer["H5S"].Visible = false;
                footer["H6S"].Visible = false;
                footer["H7S"].Visible = false;
                footer["H8S"].Visible = false;
                footer["totalDebe"].Visible = false;
                
            }
            else
            {
                footer["H1D"].Visible = false;
                footer["H2D"].Visible = false;
                footer["H3D"].Visible = false;
                footer["H4D"].Visible = false;
                footer["H5D"].Visible = false;
                footer["H6D"].Visible = false;
                footer["H7D"].Visible = false;
                footer["H8D"].Visible = false;
                footer["H1S"].Visible = false;
                footer["H2S"].Visible = false;
                footer["H3S"].Visible = false;
                footer["H4S"].Visible = false;
                footer["H5S"].Visible = false;
                footer["H6S"].Visible = false;
                footer["H7S"].Visible = false;
                footer["H8S"].Visible = false;
            }

        }

    }

    protected void tk_Grid_ItemCommand(object source, GridCommandEventArgs e)
    {
        tk_Grid.ExportSettings.ExportOnlyData = true;
        tk_Grid.ExportSettings.IgnorePaging = true;
        tk_Grid.ExportSettings.OpenInNewWindow = false;

        switch (e.CommandName)
        {
            case "ExportExcel":
                if (Cls_Propiedades.PrivilegiosUsuario[0].Exporta == 1)
                {
                    tk_Grid.MasterTableView.ExportToExcel();
                }
                else
                {
                    showMessage("No posee los privilegios necesario para completar la operación");
                }
                break;
            case "ExportPDF":
                if (Cls_Propiedades.PrivilegiosUsuario[0].Exporta == 1)
                {
                    tk_Grid.MasterTableView.ExportToPdf();
                }
                else
                {
                    showMessage("No posee los privilegios necesario para completar la operación");
                }
                break;
            case "ExportWord":
                if (Cls_Propiedades.PrivilegiosUsuario[0].Exporta == 1)
                {
                    tk_Grid.MasterTableView.ExportToWord();
                }
                else
                {
                    showMessage("No posee los privilegios necesario para completar la operación");
                }
                break;
            case "ExportCSV":
                if (Cls_Propiedades.PrivilegiosUsuario[0].Exporta == 1)
                {
                    tk_Grid.MasterTableView.ExportToCSV();
                }
                else
                {
                    showMessage("No posee los privilegios necesario para completar la operación");
                }
                break;
            case "Print":
                if (Cls_Propiedades.PrivilegiosUsuario[0].Imprime == 1)
                {
                    String _MesID = ViewState["Mes"].ToString();
                    string psWhere;
                    if (Convert.ToInt32(ViewState["BalanceAcumulado"]) == 0)
                    {
                        psWhere = "PeriodoID=" + _MesID;
                        
                    }
                    else
                    {
                        psWhere = "PeriodoID<=" + _MesID;
                    }

                    //Response.Write(Cls_Utilitaria.f_Imprime());
                    
                    // Set the window properties   
                    String TextoAcumulado = "";
                    var DaysInMonth = DateTime.DaysInMonth(Convert.ToInt32(Session["txtperiodo"]), Convert.ToInt32(ViewState["Mes"]));
                    if (Request.QueryString["ACUM"].ToString() == "1")
                    {

                        TextoAcumulado = "Al " + new DateTime(Convert.ToInt32(Session["txtperiodo"]), Convert.ToInt32(ViewState["Mes"]), DaysInMonth).Day + " de " + lblMes.Text.ToString() + " de " + Session["txtperiodo"].ToString();
                    }
                    else
                    {
                        TextoAcumulado = "Del mes de " + lblMes.Text.ToString() + " del " + Session["txtperiodo"].ToString();
                    }
                    if(Request.QueryString["NTF"].ToString() =="5" || Request.QueryString["NTF"].ToString() =="6")
                    {
                        String Hotel="";
                        string connect = System.Configuration.ConfigurationManager.AppSettings["connectionstring"];
                        SqlConnection scn = new SqlConnection(connect);
                        string select = "SELECT Valor  FROM ParametrosGenerales WHERE ParametroGeneralID =889 " ;
                        SqlCommand spcmd = new SqlCommand(select, scn);
                        spcmd.CommandType = CommandType.Text;
                        SqlDataReader dr;
                        scn.Open();
                        dr = spcmd.ExecuteReader();

                        if (dr.HasRows)
                        {
                            while (dr.Read())
                            {
                               Hotel= dr["Valor"].ToString().Trim();
                            }
                        }
                        string Direccion;
                        if(Request.QueryString["NTF"].ToString() =="5")
                        {
                            Direccion = "Comparativo";
                        }else
                        {
                            Direccion = "ComparativoHotelGrupo";
                        }
                        RadWindowManager windowManager = new RadWindowManager();
                        RadWindow widnow1 = new RadWindow();
                        widnow1.NavigateUrl = "Frm_ReporteEstadoSituacionFinancieraMes_"+Direccion+".aspx?TipoFormatoGGPPID=" + ViewState["TipoFormatoGGPPID"].ToString() +  "&TipoCuentaID=0&Ejercicio=" + Convert.ToInt32(Session["txtperiodo"].ToString()) + "&NivelID=" + Convert.ToInt32(ViewState["NivelCuentaID"]) + "&HotelID=" + Convert.ToInt32(ViewState["HotelID"]) + "&EstablecimientoID=" + Convert.ToInt32(Session["EmpresaID"]) + "&AreaID=0&UnidadNegocioID=0&Periodo=" + psWhere + "&Texto1=" + Request.QueryString["NTF"] + "&Texto2=" + TextoAcumulado + "&Texto3=&FormatoReporte=" + Request.QueryString["FORMATOREPORTE"] + "&Mon=" + COIN + "&Tit=" + titulo + "&Sucursal=" + lblSucursal.Text+ "&Hotel="+ Hotel;
                        widnow1.ID = "RadWindow1";
                        widnow1.Width = 500;
                        widnow1.Height = 500;
                        widnow1.Skin = "Office2007";
                        widnow1.VisibleOnPageLoad = true; // Set this property to True for showing window from code   
                        windowManager.Windows.Add(widnow1);
                        this.form2.Controls.Add(widnow1);
                        tk_Grid.Rebind();
                    }
                    else
                    {
                        RadWindowManager windowManager = new RadWindowManager();
                        RadWindow widnow1 = new RadWindow();
                        widnow1.NavigateUrl = "Frm_ReporteEstadoSituacionFinancieraMes.aspx?TipoFormatoGGPPID=" + ViewState["TipoFormatoGGPPID"].ToString() + "&TipoCuentaID=0&Ejercicio=" + Convert.ToInt32(Session["txtperiodo"].ToString()) + "&NivelID=" + Convert.ToInt32(ViewState["NivelCuentaID"]) + "&HotelID=" + Convert.ToInt32(ViewState["HotelID"]) + "&EstablecimientoID=" + Convert.ToInt32(Session["EmpresaID"]) + "&AreaID=0&UnidadNegocioID=0&Periodo=" + psWhere + "&Texto1=" + titulo+"&Texto2=" + TextoAcumulado + "&Texto3=&FormatoReporte=" + Request.QueryString["FORMATOREPORTE"]+ "&Sucursal="+ lblSucursal.Text;
                        widnow1.ID = "RadWindow1";
                        widnow1.Width = 500;
                        widnow1.Height = 500;
                        widnow1.Skin = "Office2007";
                        widnow1.VisibleOnPageLoad = true; // Set this property to True for showing window from code   
                        windowManager.Windows.Add(widnow1);
                        this.form2.Controls.Add(widnow1);
                        tk_Grid.Rebind();
                    }
                   
                }
                else
                {
                    showMessage("No posee los privilegios necesario para completar la operación");
                }
                break;
        }
        Listar();
    }

    protected void showMessage(string strMessage)
    {
        ClientScript.RegisterStartupScript(this.GetType(), "Application", string.Format("alert('{0}');", HttpUtility.HtmlDecode(strMessage)), true);
    }

    protected void tk_Grid_NeedDataSource(object source, GridNeedDataSourceEventArgs e)
    {
        Listar();
    }
}
