$('#close100') - такой селектор примерно соответствует document.getElementById('close100').
$('.sale') - такой - document.getElementsByClassName('sale')
Установка обработчиков - addEventListener
Поисковики ходят по ajax ссылкам - это значит, что такие ссылки явно присутстуют в коде. Вот вот всех ссылках, которые обрабатываются ajax, нужно поставить дополнительный атрибут rel="nofollow".
Второй совет - это про вставку дополнительного заголовка методом setRequestHeader Если используется jQuery, то дополнительный заголовок сам выставляется, нужно только его проверить на стороне сервера
Похоже, что использовать toTimeString для маленьких значений времени не корректно. С вычислением часового пояса и его изменения возникает столько проблем, что энергетически выгоднее сразу вычислить реальную разницу значений так как это и нужно было сделать, с правильным количеством часов или дней. Что работает неправильно сейчас сложно сказать. Вероятно, идет попытка вычислить часовой локальный пояс для 1970 года, откуда и получаются лишние 3 часа. https://jsfiddle.net/xrqrbcd8/84/
Некоторые вещи проще сжечь и переписать заново, чем объяснять почему они работают неправильно ))) Вот пример скроллера со скриптом на 23 строки + одно изменение в стилях. Там тоже есть ошибок, например разница во времени не должна ограничиваться 24 часами, но это уже факультативно можно поправить... https://jsfiddle.net/xrqrbcd8/42/
Зачем еще один инпут, если в посте и так будет передано и имя нажатой кнопки и ее значение? Если приспичило копировать значение в скрытое поле - нужно пользоваться javascript
Умножать на 5 нужно, вероятно, вот такое значение.
StrToTime($dTime)-StrToTime('0:0:0')
то есть вся функция будет выглядеть примерно так
$tTime = date('H:i:s',StrToTime('0:0:0')+ (StrToTime($dTime)-StrToTime('0:0:0')) * 5);
$('.sale') - такой - document.getElementsByClassName('sale')
Установка обработчиков - addEventListener