package intimate

import (
	"log"
	"time"
)

var zeroTime time.Time

func init() {

	tm, err := time.Parse("15:04:05", "0:00:00")
	if err != nil {
		log.Println(err)
	}
	zeroTime = tm

}

// ParseDuration time to duration eg: 1:40:00 -> time.Duration
func ParseDuration(dt string) (time.Duration, error) {

	var parse []byte = []byte("00:00:00")

	j := len(parse) - 1
	for i := len(dt) - 1; i >= 0; i-- {
		c := dt[i]
		if c != ':' {
			parse[j] = dt[i]
		} else {
			for parse[j] != ':' {
				j--
			}
		}
		j--
	}

	tdt, err := time.Parse("15:04:05", string(parse))
	if err != nil {

		return time.Duration(0), err
	}
	return tdt.Sub(zeroTime), nil
}