I would echo Rohit's Comment but for an alternative JS soloution I would use javascripts Date object.
Something like the below:
var logInTime = new Date();
var logoutTime = new Date();
var loggedInLength = logoutTime.getTime() - logInTime.getTime();
var seconds = loggedInLength / 1000
var minutes = seconds / 60
var hours = minutes / 60
Just set the logInTime on login and the logoutTime on logout
jsFiddle
Edit: I missed your note about clock working through refresh, to implement this without using serverside code you could use either local storage as suggested or set a cookie.
document.cookie = 'logintime='+logInTime.getTime()
look at this SO answer on how to retrieve a cookie by name: Get Cookie By Name