function DateAdd ( Data , Giorni ) { return new Date ( Data.valueOf() + 1000 * 60 * 60 * 24 * Giorni ) ; }

function StartOfTheYear  ( Data ) { var dd = new Date ( Data.getFullYear() , 00 , 01 ) ; return dd ; }
function EndOfTheYear    ( Data ) { var dd = new Date ( Data.getFullYear() , 11 , 31 ) ; return dd ; }

function StartOfTheMonth ( Data ) { var dd = new Date ( Data.getFullYear() , Data.getMonth() , 01 ) ; return dd ; }
function EndOfTheMonth   ( Data ) { var dd = new Date ( Data.getFullYear() , Data.getMonth() , 25 ) ; return DateAdd ( StartOfTheMonth ( DateAdd ( dd , 10 ) ) , -1 ) ; }

function StartOfTheWeek  ( Data ) { var nn = Data.getDay() ; if ( nn == 0 ) { nn = 7 ; } ; nn -- ; return DateAdd ( Data , - nn     ) ; }
function EndOfTheWeek    ( Data ) { var nn = Data.getDay() ; if ( nn == 0 ) { nn = 7 ; } ; nn -- ; return DateAdd ( Data , - nn + 6 ) ; }

function PrevYear  ( Data ) { return DateAdd ( StartOfTheYear  ( Data ) , -1 ) ; }
function PrevMonth ( Data ) { return DateAdd ( StartOfTheMonth ( Data ) , -1 ) ; }
function PrevWeek  ( Data ) { return DateAdd ( StartOfTheWeek  ( Data ) , -1 ) ; }

function DateToString ( Data )
{ var aa = Data.getFullYear();
  var mm = Data.getMonth();
  var gg = Data.getDate();

  mm ++ ;

  if ( mm < 10 ) { mm = "0" + mm ; }
  if ( gg < 10 ) { gg = "0" + gg ; }

  return gg + "/" + mm + "/" + aa + " 00:00"
}

function CurrYearStart()  { var dd = new Date() ; return DateToString ( StartOfTheYear  ( dd ) ) } ;
function CurrYearEnd()    { var dd = new Date() ; return DateToString ( EndOfTheYear    ( dd ) ) } ;
function CurrMonthStart() { var dd = new Date() ; return DateToString ( StartOfTheMonth ( dd ) ) } ;
function CurrMonthEnd()   { var dd = new Date() ; return DateToString ( EndOfTheMonth   ( dd ) ) } ;
function CurrWeekStart()  { var dd = new Date() ; return DateToString ( StartOfTheWeek  ( dd ) ) } ;
function CurrWeekEnd()    { var dd = new Date() ; return DateToString ( EndOfTheWeek    ( dd ) ) } ;

function PrevYearStart()  { var dd = new Date() ; return DateToString ( StartOfTheYear  ( PrevYear  ( dd ) ) ) } ;
function PrevYearEnd()    { var dd = new Date() ; return DateToString ( EndOfTheYear    ( PrevYear  ( dd ) ) ) } ;
function PrevMonthStart() { var dd = new Date() ; return DateToString ( StartOfTheMonth ( PrevMonth ( dd ) ) ) } ;
function PrevMonthEnd()   { var dd = new Date() ; return DateToString ( EndOfTheMonth   ( PrevMonth ( dd ) ) ) } ;
function PrevWeekStart()  { var dd = new Date() ; return DateToString ( StartOfTheWeek  ( PrevWeek  ( dd ) ) ) } ;
function PrevWeekEnd()    { var dd = new Date() ; return DateToString ( EndOfTheWeek    ( PrevWeek  ( dd ) ) ) } ;

function CurrDay() { var dd = new Date() ; return DateToString ( DateAdd ( dd ,  0 ) ) } ;
function PrevDay() { var dd = new Date() ; return DateToString ( DateAdd ( dd , -1 ) ) } ;

