package Reports::Dates;
require Exporter;

use strict;
use warnings;

our @ISA		 = qw(Exporter);
our @EXPORT      = qw(startDate endDate searchStart searchEnd searchDate);
our $VERSION	 = '1';

# Declare our global variables
my (@date, @days, @months, @years, @searchDate);
our (@searchDate, $startDate, $endDate, $searchStart, $searchEnd);

sub getDates {
	my $time = time();
	for (1 .. 7) {
		$time -= 24*60*60;
		@date = (localtime($time))[3 .. 5];
		push @days, (sprintf '%02d', $date[0]);
		push @months,(sprintf '%02d',$date[1] + 1);
		push @years, $date[2] + 1900;
	}
	return;
}

sub searchDate {
	my $time = time();
	for (1 .. 7) {
		$time -= 24*60*60;
		@date = (localtime($time))[3 .. 5];
		push @searchDate, join "-", ($date[2] + 1900), (sprintf '%02d',$date[1] + 1), (sprintf '%02d', $date[0]);
	}
	return @searchDate;
}

sub startDate {
	getDates();
	$startDate   = join "-", $months[$#months], $days[$#days], $years[$#years];
	return $startDate;
}

sub endDate {
	getDates();
	$endDate     = join "-", $months[0], $days[0], $years[0];
	return $endDate;
}

sub searchStart {
	getDates();
	$searchStart = join "-", $years[$#years], $months[$#months], $days[$#days];
	return $searchStart;
}

sub searchEnd {
	getDates();
	$searchEnd   = join "-", $years[0], $months[0], $days[0];
	return $searchEnd;
}

return 1;
