Zegar odliczający JavaScript, który zatrzymuje się, gdy okno nie jest aktywne

Ok, mam problem z rozwiązaniem tego problemu, jestem programistą php / C # i nie mam doświadczenia ani wiedzy w zakresie Javascript, muszę zrobić tylko jedną rzecz, która wymaga Javascript:

Po załadowaniu określonej strony zaczyna się licznik. Klient musi pozostać na tej stronie przez 20 sekund. po, chcę wykonać kod php.

Są więc 2 kwestie dotyczące mnie, po pierwsze: jak zatrzymać licznik, jeśli klient opuści stronę (co oznacza, że ​​strona nie jest skupiona).

2) Jak mogę wykonać php w javascript? lub wywołaj funkcję php z Javascript.

Kod jaki mam do tej pory to:

<html>
<head>
</head>

<body>
<div id='timer'>
<script type="text/javascript">

COUNTER_START = 20

function tick () {
    if (document.getElementById ('counter').firstChild.data > 0) {
        document.getElementById ('counter').firstChild.data = document.getElementById ('counter').firstChild.data - 1
        setTimeout ('tick()', 1000)
    } else {
        document.getElementById ('counter').firstChild.data = 'done'
    }
}

if (document.getElementById) onload = function () {
    var t = document.createTextNode (COUNTER_START)
    var p = document.createElement ('P')
    p.appendChild (t)
    p.setAttribute ('id', 'counter')

    var body = document.getElementsByTagName ('BODY')[0]
    var firstChild = body.getElementsByTagName ('*')[0]

    body.insertBefore (p, firstChild)
    tick()
}

</script>
</div>
</body>
</html>

a także chcę, aby zegar zaczął tykać, gdy klient wróci na stronę

Dziękuję bardzo za pomoc z góry

questionAnswers(2)

yourAnswerToTheQuestion