Адаптивная верстка подразумевает изменения размера, положения, видимости элементов в зависимости от размеров экрана пользователя и других пареметров (через css media queries). В резиновой верстке обычно просто тянется основной элемент с содержанием. Полезно знать оба подхода, да и никто не мешает использовать их одновременно. Изображение на фон ставится как обычно, можно сделать несколько размеров под разные размеры экрана.
Алгоритм сортировки нестабилен в хроме, то есть порядок для одинаковых значений не определен. Самый простой вариант — дополнительная сортировка по городу, если значения по счетчику совпадает.
function sCount(i, ii) {
var delta = i[1] - ii[1];
return delta == 0 ? sCity(i, ii) : delta;
}