#!/bin/bash
#########################################################
# 							#
# This is BashStyle-NG 7.8				#
#							#
# Licensed under GNU GENERAL PUBLIC LICENSE v3    	#
#							#
# Copyright 2007 - 2009 Christopher Bratusek		#
#							#
#########################################################

white=$(bs-ng-echo $white)
orange=$(bs-ng-echo $orange)
iceblue=$(bs-ng-echo $iceblue)
green=$(bs-ng-echo $green)

_help ()
{

	echo -e "\n${white}Usage:\n"
	echo -e "${orange}showuptime${white} |${green} ! no options !\n"

}

echotime() {
	timeused=$1

	if (( timeused > 86400 )); then
		((
			daysused=timeused/86400,
			hoursused=timeused/3600-daysused*24,
			minutesused=timeused/60-hoursused*60-daysused*60*24,
			secondsused=timeused-minutesused*60-hoursused*3600-daysused*3600*24
		))
		if (( hoursused < 10 )); then
			hoursused=0${hoursused}
		fi
		if (( minutesused < 10 )); then
			minutesused=0${minutesused}
		fi
		if (( secondsused < 10 )); then
			secondsused=0${secondsused}
		fi
		output="${daysused}d ${hoursused}h:${minutesused}m:${secondsused}s"
	elif (( timeused > 9 && timeused < 60 )); then
		output="0d 00h:00m:0${timeused}s"
	elif (( timeused < 60 )); then
		output="0d 00h:00m:${timeused}s"
	elif (( timeused < 3600 )); then
		((
			minutesused=timeused/60,
			secondsused=timeused-minutesused*60
		))
		if (( minutesused < 10 )); then
			minutesused=0${minutesused}
		fi
		if (( secondsused < 10 )); then
			secondsused=0${secondsused}
		fi
		output="0d 00h:${minutesused}m:${secondsused}s"
	elif (( timeused < 86400 )); then
		((
			hoursused=timeused/3600,
			minutesused=timeused/60-hoursused*60,
			secondsused=timeused-minutesused*60-hoursused*3600
		))
		if (( hoursused < 10 )); then
			hoursused=0${hoursused}
		fi
		if (( minutesused < 10 )); then
			minutesused=0${minutesused}
		fi
		if (( secondsused < 10 )); then
			secondsused=0${secondsused}
		fi
		output="0d ${hoursused}h:${minutesused}m:${secondsused}s"
	fi

	echo "$output"
}

case $1 in

	*help )

		_help

	;;

	* )

		uptime=$(</proc/uptime)
		echotime ${uptime%%.*}
	;;

esac
