/// <summary>
		/// Reinitializare ore (normale si suplimentare)
		/// </summary>
		/// <param name="angajatID">Id-ul angajatului</param>
		private void ReinitializeOreLunaActivaAngajat( long angajatID )
		{
			//preluare ore normale si suplimentare
			Salaries.Data.LunaData lunaData = new Luni( this.GetAngajator()).GetLunaActiva();

			PontajAngajat pa = new PontajAngajat( angajatID );
			Salaries.Data.IntervaleSchimbariLuna []intervSL = pa.GetIntervaleSchimbariLuna( lunaData.LunaId );

			float nrOreLucrate = 0;
			float nrOreSuplimentare50 = 0;
			float nrOreSuplimentare100 = 0;

			float []intervaleNrOreLucrate = new float[ intervSL.Length ];
			int i=0;
			foreach( Salaries.Data.IntervaleSchimbariLuna interv in intervSL )
			{

				int nrZileLucratoareLuna = pa.GetNrZileLucratoarePerioada( interv.DataStart, interv.DataEnd );

				TimeSpan nrOreLucrateLuna = pa.GetAngajatNrOreTipLucrate( interv.DataStart, interv.DataEnd, Salaries.Business.SituatieLunaraAngajat.denumireOreLucrate[ 0 ] );
				TimeSpan nrOreSuplimentare50Luna = pa.GetAngajatNrOreTipLucrate( interv.DataStart, interv.DataEnd, Salaries.Business.SituatieLunaraAngajat.denumireOreLucrate[ 1 ] );
				TimeSpan nrOreSuplimentare100Luna = pa.GetAngajatNrOreTipLucrate( interv.DataStart, interv.DataEnd, Salaries.Business.SituatieLunaraAngajat.denumireOreLucrate[ 2 ] );

				nrOreLucrate += nrOreLucrateLuna.Days*24+nrOreLucrateLuna.Hours+(float)nrOreLucrateLuna.Minutes/60;
				nrOreSuplimentare50 += nrOreSuplimentare50Luna.Days*24+nrOreSuplimentare50Luna.Hours+(float)nrOreSuplimentare50Luna.Minutes/60;
				nrOreSuplimentare100 += nrOreSuplimentare100Luna.Days*24+nrOreSuplimentare100Luna.Hours+(float)nrOreSuplimentare100Luna.Minutes/60;

				intervaleNrOreLucrate[ i ] = nrOreLucrateLuna.Days*24+nrOreLucrateLuna.Hours+(float)nrOreLucrateLuna.Minutes/60;
				i++;
			}
			//stergere ore din luna activa
			SiemensTM.Classes.IntervaleAngajat ia = new SiemensTM.Classes.IntervaleAngajat( angajatID );
			ia.DeleteIntervaleVizibileAngajatPerioada( lunaData.Data, new DateTime( lunaData.Data.Year, lunaData.Data.Month, DateTime.DaysInMonth( lunaData.Data.Year, lunaData.Data.Month )));

			//reinitializarea angajatului
			for( i=0; i<intervaleNrOreLucrate.Length; i++ )
			{
				//reinitializare pe intervale de zile
				ia.InitializeOreLucratePerioadaAngajatFromIntervalSchimbare( lunaData.Data, intervSL[ i ] );
			}

			//initializeaza orele suplimentare 100%
			int tipIntervalID = new SiemensTM.Classes.IntervaleAngajat( angajatID ).GetTipIntervalIDByName( Salaries.Business.SituatieLunaraAngajat.denumireOreLucrate[ 1 ] );
			double nrOreSuplimentare = nrOreSuplimentare50;
			double nrOreSuplimentare_old = 0;
			if( tipIntervalID > 0 )
			{
				ia.DistribuieOreSuplimentareInRegimNormal( lunaData.Data, nrOreSuplimentare50, tipIntervalID, nrOreSuplimentare_old );
			}

			//initializeaza orele suplimentare 200%
			tipIntervalID = new SiemensTM.Classes.IntervaleAngajat( angajatID ).GetTipIntervalIDByName( Salaries.Business.SituatieLunaraAngajat.denumireOreLucrate[ 2 ] );
			nrOreSuplimentare = nrOreSuplimentare100;
			if( tipIntervalID > 0 )
			{
				ia.DistribuieOreSuplimentareInRegimWeekendNoapte( lunaData.Data, nrOreSuplimentare, tipIntervalID, nrOreSuplimentare_old );
			}
		}
        /// <summary>
        /// 0 - nu a depasit nr de zile anuale;
        /// 10 - a depasit nr de zile anuale
        /// </summary>
        /// <param name="DataStart">Data de inceput a intervalului</param>
        /// <param name="DataEnd">Data de sfarsit a intervalului</param>
        /// <param name="IntervalID">Id-ul intervalului</param>
        /// <returns>Returneaza rezultatul verificarii</returns>
        public int VerificareDepasireZileCOAn(DateTime dataStart, DateTime dataEnd, int intervalID)
        {
            Salaries.Business.Angajat ang = new Salaries.Business.Angajat();
            ang.AngajatId = AngajatID;
            ang.LoadAngajat();

            PontajAngajat pontajAngajat     = new PontajAngajat(this.AngajatID);
            DateTime      primaZiAn         = new DateTime(dataStart.Year, 1, 1);
            DateTime      ultimaZiAn        = new DateTime(dataStart.Year, 12, 31);
            int           nrZileDisponibile = pontajAngajat.GetAngajatNrZileCODisponibileAn(primaZiAn, ultimaZiAn, ang.AngajatorId);
            int           nrZileLuateAn     = pontajAngajat.GetAngajatNrZileCOLuateAn(primaZiAn, ultimaZiAn, intervalID);

            int nrZileConcediuNou = pontajAngajat.GetNrZileLucratoareInterval(dataStart, dataEnd);

            //Modificat:	Oprescu Claudia
            //Descriere:	S-a adaugat si numarul de zile de concediu suplimentar
            int retVal = nrZileDisponibile + ang.NrZileCOSupl < (nrZileLuateAn + nrZileConcediuNou) ? 10 : 0;

            return(retVal);
        }