,time()+3600)
Откуда в JavaScript функция time() ??? время нужно указать просто цифру в секундах, тоесть время хранения куки, прибавлять при этом текущую дату не нужно, нужно так:
echo('<a href="detals.php" onclick="setCookie(\'CookieName\', '.$row['id'].', 3600 );"><div class="detals">подробно </div></a>');
а это что за конструкция?
<?php $value = setCookie('CookieName', 'id', {expires: 600}); ?>
В PHP функция setCookie принимает совсем иные параметры.