Конечно же полноценный пинг на JS сделать нельзя, потому что он не дает возможности формировать и получать ICMP пакеты. Но можно схитрить и для пинга использовать объект image. В нем указать адрес картинки на пингуемом сервере. По событиям error и load определять доступность сервера. В коде это будет выглядить как-то так:

var img = new Image(); 
img.onload = function() {      
  alert('Сервер доступен');
}  
img.onerror = function() {     
  alert('Сервер не доступен');
}
img.src = 'http://НАШ_СЕРВЕР/НАША_КАРТИНКА';

Думал реализовать это с помощью iframe, что бы можно было пинговать не только по картинкам, но и по страницам (что вобще более удобно, несомненно). Но iframe не поддерживает событие erorr (при ошибке загрузки там отображается зарезерверованная страница браузера), так что этот вариант отпадает. Вариант с использованием XMLHttpRequest (на основе ajax), не подхоидт так как политики безопасности браузеров запрещают совершать аякс запросы к серверам отличным от сервера, с котоорго получена страница.