Re-inventing XMLHttpRequest: Cross-browser implementation with sniffing capabilities