Если вы с телефона проверяете через сотовую сеть - то это нормальное поведение. Потому что определение идет по ip, а у сотовых операторов адреса из их сетей могут использоваться для разных регионов.
Как вариант, можно попробовать геолокацию использовать для телефонов, которые gps поддерживают - но это у пользователя будет выводиться запрос на разрешение доступа к его местоположению.
Насчет готовых решений - я не интересовался, если честно. Если с нуля - то да, трудоемкая. Например, как на вашем примере картинки с белой кружкой отделить белую кружку от белого фона? Т.е. в частных случаях могут быть и проблемы с таким подходом. Хотя если подготовить исходной изображение, вырезав и сделав прозрачным фон - то задача облегчается. Но если уж обрабатывать изображения руками - то легче нагенерить на сервере нужных картинок, если у вас, конечно, не любой цвет из палитры можно выбрать.
Вот, например - http://www.playmycode.com/blog/2011/06/realtime-image-tinting-on-html5-canvas/
Если вопрос именно в технически - то можно. Можно js получить картинку в виде массива байтов и дальше, зная формат, покрасить нужные пиксели и вернуть обратно.
Но тут вопрос в совместимости браузеров, нагрузке на браузер и трудозатратах на реализацию (библиотеки для работы с изображениями, скорее всего есть).
Обычно при использовании jQuery такая ошибка возникает, когда пытаетесь вызвать плагин до того как подключили сам файл плагина.
У вас в 5 строке вызов .live() - хотя это не плагин, но механизм примерно тот же.
Судя по http://api.jquery.com/live/ от этого метода отказались в версии 1.9 - так что ваша догадка про обновление версии jQuery справедлива. Ну и в доке вот что советуют:
Ну в punbb тоже придется все руками править, насколько я помню. Достаточно простой движок.
Из форумов я бы еще посоветовал http://vanillaforums.org/ посмотреть.
Можно допилить рабочий пример. Кидайте самое важное сюда, тег [СODE] не забудьте.
Liberbox, извините, с версткой я не очень дружу, поэтому на ваш вопрос ответить не смогу.
По поводу того. что вы нашли меню на mootools - это скорее исключение в сегодняшних реалиях. Сейчас обычно или библиотеки без зависимостей или плагины к jQuery.
Если у вас нет сторонних библиотек, которые захотят использовать $ (а их в 99% случаев и нет), то можно не париться со всем этим, а просто писать везде $ и всё.
И тогда все записи сократятся до
или вообще
А если просто вот так:
без передачи jQuery внутрь?
Вы понимаете для каких целей используется конструкция из вашего первого кода?
Можно выбирать элемент по классу.
Внутри обработчика ссылка на текущий dom-элемент доступна в переменной this - это для того, чтобы вы могли определить на какой элемент кликнули и показать нужный блок.