program timeuse, rclass

	version 11

	syntax varlist(min=1 max=1 numeric), diaryid(string)

	tokenize `varlist'

		local activity `1'

	quietly {

		sequencex `activity', diaryid(`diaryid') diaryst(4)

		levelsof `activity', local(levels)

		local vlname: value label `activity'

		foreach l of local levels {

			tempvar x
			gen `x'=0

			replace `x'=time if `activity'==`l'
			bysort `diaryid': egen `activity'_`l'=total(`x')

			capture qui local thelabel: label `vlname' `l'
			capture lab var `activity'_`l' "mpd on: `thelabel'"
		}

levelsof `activity', local(levels)

local vlname: value label `activity'


foreach l of local levels {
	tempvar x
	gen `x'=0
	replace `x'=1 if `activity'==`l'
	bysort `diaryid': egen `activity'_`l'_n=total(`x')
	capture qui local thelabel: label `vlname' `l'
	capture lab var `activity'_`l'_n "n episodes: `thelabel'"
}

keep if epnum==1
drop `activity'
drop start end epnum time clockst

order `diaryid' `activity'_*

/* Add the 1440 check. */

tempvar y
gen `y'=0

foreach l of local levels {
	replace `y'=`y'+ `activity'_`l'
}


} // end of quietly

qui sum `y'
local e=1440-`r(mean)'

if `e'==0 {
	disp as text "The activities created, `activity'_1 to `activity'_n, add up to 1440 minutes."
}

else {
	disp as text "The activities created, `activity'_1 to `activity'_n, do not add up to 1440 minutes."
	disp as text "`activity' had missing values, recode them as valid numbers if you wish the program to create activity variables that add up to 1440 mpd."
}


end