советую изучить события touch события. настоятельно не рекомендую использовать стандартные события типа click, и все, что содержит слово mouse на мобильных устройствах:)
Делали в проекте: mediagates.ru — под картой кнопочка вниз (нажимаете, появляется календарик). Писали с нуля, понятно, что не закастомайзить, но если хотите — «пилите, Шура, пилите»:)
Например для PHP есть такая игрушка как APC — с ее помощью можно узнать объем файла еще в процессе загрузки. www.haughin.com/2007/10/php-upload-progress-with-php-52-apc/ Также можете использовать adobe flash — он поможет изначально ограничить тип файла, который можно загружать. Главное понимать: кроссбраузерное решение — это либо flash (если он установлен), либо серверное решение:)