[js]Kompresja danych przed wysłaniem

Witam.

Mam następujący problem. Wczytuję dane z urządzenia Garmin przy pomocy odpowiedniego pluginu. W tym momencie dane wczytuję do textarea. Są one w formacie xml i zazwyczaj tych danych jest bardzo dużo więc trochę zajmują (zazwyczaj więcej niż 1 mega), a ja potrzebuję je teraz wysłać na serwer.

I teraz pytanie czy istnieje jakaś funkcja lub jakiś sposób na skompresowanie tego przy pomocy js lub czegoś podobnego?

Wysyłanie nieskompresowanego zajmuje zbyt dużo czasu, a jak użytkownik ma wolne łącze to to będzie trochę trwało:/

Raczej kompresował bym to stosując php niż js.:

http://pl.php.net/manual/pl/refs.compression.php

http://pl2.php.net/ob_gzhandler

a jeśli upierasz sie przy js, to np.: http://code.google.com/p/jslibs/

Ale przecież php działa po stronie serwera więc nie wiem jakby to miało działać. Jakbym to robił phpem to przecież dane muszą być najpierw wysłane na serwer potem php to obsłuży czyli mi to skompresuje a potem mi to odeśle skompresowane więc tak chyba raczej być nie może. Chyba, że się mylę

Nie upieram się się przy js. Po prostu chcę żeby to działało jak najszybciej i po stronie klienta więc pierwsza myśl to była js. Chyba, że masz jakieś inne propozycje?