/// <summary>
		/// Procedura seteaza o data ca fiind sarbatoare
		/// </summary>
		/// <param name="dataSarbatoare">Data specificata</param>
		/// <param name="sarbatoare">Este sarbatoare sau nu</param>
		private void SetDataTipSarbatoare(DateTime dataSarbatoare, bool sarbatoare)
		{
			ErrHandler.MyErrHandler.WriteError("Admin_NomenclatorSarbatoriLegale.ascx - start - SetDataTipSarbatoare() - " + dataSarbatoare.ToShortDateString() + " - " + sarbatoare.ToString());
			try
			{
				Salaries.Business.SarbatoriLegale sarbatori = new Salaries.Business.SarbatoriLegale();
				sarbatori.DataSarbatoare = dataSarbatoare;
				bool parametruSarbatoare = sarbatoare;
				if(!sarbatoare)
				{
					if(!IsWeekEnd(dataSarbatoare))
					{
						parametruSarbatoare = sarbatoare;
					}
					else
					{
						parametruSarbatoare = !sarbatoare;
					}
				}
				else
				{
					parametruSarbatoare = sarbatoare;				
				}
				sarbatori.SetDataTipSarbatoare(parametruSarbatoare);
			}
			catch(Exception exc)
			{
				ErrHandler.MyErrHandler.WriteError("Admin_NomenclatorSarbatoriLegale.ascx - error - SetDataTipSarbatoare() - " + dataSarbatoare.ToShortDateString() + " - " + sarbatoare.ToString() + " - " + exc.Message);
			}
			ErrHandler.MyErrHandler.WriteError("Admin_NomenclatorSarbatoriLegale.ascx - end - SetDataTipSarbatoare() - " + dataSarbatoare.ToShortDateString() + " - " + sarbatoare.ToString());
		}
		/// <summary>
		/// Sterge o sarbatoare legala
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		private void btnDelete_Click(object sender, System.EventArgs e)
		{
			ErrHandler.MyErrHandler.WriteError("Admin_NomenclatorSarbatoriLegale.ascx - start - Delete() - " + txtAddDateSarbatoriLegale.Text);
			try
			{
				Salaries.Business.SarbatoriLegale sarbatori = new Salaries.Business.SarbatoriLegale();
				DateTime dataSarbatoare = Convert.ToDateTime(txtAddDateSarbatoriLegale.Text);
				if( DataDupaLunaCurenta( dataSarbatoare) || DataInLunaCurenta( dataSarbatoare ))
				{
					sarbatori.Denumire = "";
					sarbatori.Descriere = "";
					sarbatori.DataSarbatoare = dataSarbatoare;
					sarbatori.DeleteSarbatoareLegala();

					if( DataInLunaCurenta( dataSarbatoare ))
					{
						ReinitializeazaLuna( dataSarbatoare, false ); 
					}

					LoadSarbatoriLegale();
				}
				else
				{
					ErrHandler.MyErrHandler.WriteError("Admin_NomenclatorSarbatoriLegale.ascx - start - Delete() - 'Nu puteti sa stergeti sarbatori specifice unei luni anterioare lunii active!!!'");
					Response.Write( "<script>alert( 'Nu puteti sa stergeti sarbatori specifice unei luni anterioare lunii active!!!' );</script>" );
				}
			}
			catch(Exception errDelete)
			{
				errorLit.Text="Stergerea esuata!!!"+errDelete.Message ;
				ErrHandler.MyErrHandler.WriteError("Admin_NomenclatorSarbatoriLegale.ascx - Delete() - " + errDelete.Message);
			}
			ErrHandler.MyErrHandler.WriteError("Admin_NomenclatorSarbatoriLegale.ascx - end - Delete() - " + txtAddDateSarbatoriLegale.Text);
		}
		/// <summary>
		/// Salveaza o sarbatoare legala
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		private void btnSaveSarbatoriLegale_Click(object sender, System.EventArgs e)
		{
			ErrHandler.MyErrHandler.WriteError("Admin_NomenclatorSarbatoriLegale.ascx - start - Save() - " + txtAddDateSarbatoriLegale.Text);
			try
			{
				Salaries.Business.SarbatoriLegale sarbatori = new Salaries.Business.SarbatoriLegale();
				DateTime dataSarbatoare = Convert.ToDateTime(txtAddDateSarbatoriLegale.Text);
				sarbatori.DataSarbatoare = dataSarbatoare;
				if(sarbatori.CheckInsertSarbatoareLegala())
				{
					if(DataDupaLunaCurenta( dataSarbatoare ) || DataInLunaCurenta( dataSarbatoare ))
					{
						sarbatori.Denumire = txtSarbatoriLegaleDenum.Text;
						sarbatori.Descriere = txtSarbatoriLegaleDescr.Text;
						sarbatori.DataSarbatoare = dataSarbatoare;
						sarbatori.InsertSarbatoareLegala();
						
						if( DataInLunaCurenta( dataSarbatoare ))
						{
							ReinitializeazaLuna( dataSarbatoare, true );
						}

						LoadSarbatoriLegale();
					}
					else
					{
						ErrHandler.MyErrHandler.WriteError("Admin_NomenclatorSarbatoriLegale.ascx - Save() - 'Nu puteti sa introduceti sarbatori specifice unei luni anterioare celei active!!!'");
						Response.Write( "<script>alert( 'Nu puteti sa introduceti sarbatori specifice unei luni anterioare celei active!!!' );</script>" );
					}
				}
				else
				{
					ErrHandler.MyErrHandler.WriteError("Admin_NomenclatorSarbatoriLegale.ascx - Save() - 'Nu puteti sa introduceti doua sarbatori in aceeasi zi!!!'");
					Response.Write( "<script>alert( 'Nu puteti sa introduceti doua sarbatori in aceeasi zi!!!' );</script>" );
				}
			}
			catch(Exception ex)
			{
				errorLit.Text="Adaugarea esuata!!!"+ex.Message;
				ErrHandler.MyErrHandler.WriteError("Admin_NomenclatorSarbatoriLegale.ascx - error - Save() - " + ex.Message);
			}
			ErrHandler.MyErrHandler.WriteError("Admin_NomenclatorSarbatoriLegale.ascx - end - Save()");
		}
		/// <summary>
		/// Listeaza sarbatorile legale
		/// </summary>
		private void LoadSarbatoriLegale()
		{
			try
			{
				listTable.Rows.Clear();
				Salaries.Business.SarbatoriLegale sarbatori = new Salaries.Business.SarbatoriLegale();
				DataSet ds = sarbatori.LoadSarbatoriLegale();

				lstFunctie.DataSource = ds;
				lstFunctie.DataValueField = "Data";
				lstFunctie.DataTextField = "Denumirea";
				lstFunctie.DataBind();		

				listTable.Attributes.Add("width", "100%");
				listTable.Style.Add("border","1px solid #20b2aa");
				listTable.Attributes.Add("cellpadding", "0");
				listTable.Attributes.Add("cellspacing", "1");
				
				string[] arHeader = {"Data", "Denumirea", "Descrierea"};
				string[] arCols = {"Data", "Denumirea", "Descrierea"};
				ListTable objListTable = new ListTable(listTable, ds, arHeader, arCols);
				objListTable.textForEmptyDataSet= "Nu exista sarbatori legale!";

				string[] ar_OnClickParam = {"Data", "Denumirea", "Descrierea"};
				string[] ar_OnClickParamType = {"dataset", "dataset", "dataset"};
			
				objListTable.OnclickParams = ar_OnClickParam;
				objListTable.OnclickParamsType = ar_OnClickParamType;
				objListTable.OnclickJSMethod = "SelectFunctie";

				objListTable.DrawListTableWithoutDigits();
			}
			catch(Exception ex)
			{
				litError.Text = "The following error occurred: <br>";
				litError.Text += ex.Message;
			}	
		}
		/// <summary>
		/// Actualizeaza o sarbatoare legala
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		private void btnUpdateSarbatoriLegale_Click(object sender, System.EventArgs e)
		{
			ErrHandler.MyErrHandler.WriteError("Admin_NomenclatorSarbatoriLegale.ascx - start - Update() - " + txtAddDateSarbatoriLegale.Text);
			try
			{
				Salaries.Business.SarbatoriLegale sarbatori = new Salaries.Business.SarbatoriLegale();
				DateTime dataSarbatoare = Convert.ToDateTime(txtAddDateSarbatoriLegale.Text);
				DateTime old_dataSarbatoare = Convert.ToDateTime(old_DataStart.Text);
				sarbatori.DataSarbatoare = dataSarbatoare;

				//daca a fost aleasa o noua data pentru sarbatoare 
				if (dataSarbatoare.Date != old_dataSarbatoare.Date)
				{
					//se verifica sa nu mai existe o alta sarbatoare in acea zi
					if(sarbatori.CheckInsertSarbatoareLegala())
					{
						//daca data aleasa este corecta se adauga sarbatoarea in tabela
						if( DataDupaLunaCurenta( dataSarbatoare) || DataInLunaCurenta( dataSarbatoare))
						{
							sarbatori.Denumire = txtSarbatoriLegaleDenum.Text;
							sarbatori.Descriere = txtSarbatoriLegaleDescr.Text;
							sarbatori.DataSarbatoare = dataSarbatoare;
							sarbatori.UpdateSarbatoareLegala(old_dataSarbatoare);

							if( DataInLunaCurenta( dataSarbatoare ))
							{
								SetDataTipSarbatoare(old_dataSarbatoare, false);//scoaterea vechii date din tm_zile
								ReinitializeazaLuna( dataSarbatoare, true );
							}

							LoadSarbatoriLegale();
						}
						else
						{
							ErrHandler.MyErrHandler.WriteError("Admin_NomenclatorSarbatoriLegale.ascx - Save() - 'Nu puteti sa introduceti sarbatori specifice unei luni anterioare lunii active!!!'");	
							Response.Write( "<script>alert( 'Nu puteti sa introduceti sarbatori specifice unei luni anterioare lunii active!!!' );</script>" );
						}
					}
					else
					{
						ErrHandler.MyErrHandler.WriteError("Admin_NomenclatorSarbatoriLegale.ascx - Save() - 'Nu puteti sa introduceti doua sarbatori in aceeasi zi!!!'");
						Response.Write( "<script>alert( 'Nu puteti sa introduceti doua sarbatori in aceeasi zi!!!' );</script>" );
					}
				}
				//daca nu a fost modificata data sarbatorii nu mai trebuie verificata pentru a fi unica
				//ea este deja pentru ca a fost verificata la adaugare
				else
				{
					//se mai verifica doar sa fie in luna activa
					if( DataDupaLunaCurenta( dataSarbatoare) || DataInLunaCurenta( dataSarbatoare))
					{
						sarbatori.Denumire = txtSarbatoriLegaleDenum.Text;
						sarbatori.Descriere = txtSarbatoriLegaleDescr.Text;
						sarbatori.DataSarbatoare = dataSarbatoare;
						sarbatori.UpdateSarbatoareLegala(old_dataSarbatoare);

						//Lungu Andreea - 29.06.2009
						//daca este aceeasi data, vechea data nu trebuie scoasa din tm_zile
						//inseamna ca am modificat doar detalii de denumire si descriere
						/*if( DataInLunaCurenta( dataSarbatoare ))
						{
							SetDataTipSarbatoare(old_dataSarbatoare, false);//scoaterea vechii date din tm_zile
							//ReinitializeazaLuna( dataSarbatoare, true );
						}*/

						LoadSarbatoriLegale();
					}
					else
					{
						ErrHandler.MyErrHandler.WriteError("Admin_NomenclatorSarbatoriLegale.ascx - Save() - 'Nu puteti sa introduceti sarbatori specifice lunii unei luni anterioare lunii active!!!'");
						Response.Write( "<script>alert( 'Nu puteti sa introduceti sarbatori specifice lunii unei luni anterioare lunii active!!!' );</script>" );
					}
				}
			}
			catch(Exception ex)
			{
				errorLit.Text="Editarea esuata!!!"+ex.Message;
				ErrHandler.MyErrHandler.WriteError("Admin_NomenclatorSarbatoriLegale.ascx - error - Update() - " + ex.Message);
			}	
			ErrHandler.MyErrHandler.WriteError("Admin_NomenclatorSarbatoriLegale.ascx - end - Update() - " + txtAddDateSarbatoriLegale.Text);
		}