jQuery.geocode = function(geobyte_sel, maxmind_sel, browserinfo_sel) {
	g = {};
	m = {};
	b = {};
	if ((geobyte_info = jQuery.cookie('geobyte_info')) == null) {
		jQuery.ajax({
			type: 'GET',
			url: 'http://gd.geobytes.com/gd?after=-1&variables=sGeobytesIso2,sGeobytesRegion,sGeobytesCity,sGeobytesCertainty,sGeobytesLatitude,sGeobytesLongitude,sGeobytesTimezone,sGeobytesIsProxyNetwork',
			dataType: 'script',
			cache: true,
			success: function() {
				g.country_code = sGeobytesIso2;
				g.region_name = sGeobytesRegion;
				g.city = sGeobytesCity;
				g.certainty = sGeobytesCertainty;
				g.latitude = sGeobytesLatitude;
				g.longitude = sGeobytesLongitude;
				g.timezone = sGeobytesTimezone;
				g.proxy = sGeobytesIsProxyNetwork;
				g_str = JSON.stringify(g);
				jQuery.cookie('geobyte_info', g_str, {
					expires: 100
				});
				jQuery(geobyte_sel).val(g_str);
			}
		});
	}
	else {
		jQuery(geobyte_sel).val(geobyte_info);
	}
	if ((maxmind_info = jQuery.cookie('maxmind_info')) == null) {
		jQuery.ajax({
			type: 'GET',
			url: 'http://j.maxmind.com/app/geoip.js',
			dataType: 'script',
			cache: true,
			success: function() {
				m.country_code = geoip_country_code();
				m.city = geoip_city();
				m.region_name = geoip_region_name();
				m.latitude = geoip_latitude();
				m.longitude = geoip_longitude();
				m.postal_code = geoip_postal_code();
				m_str = JSON.stringify(m);
				jQuery.cookie('maxmind_info', m_str, {
					expires: 100
				});
				jQuery(maxmind_sel).val(m_str);
			}
		});
	}
	else {
		jQuery(maxmind_sel).val(maxmind_info);
	}
	if ((browser_info = jQuery.cookie('browser_info')) == null) {
		if (navigator.userLanguage) {
			b.browser_lang = navigator.userLanguage;
		}
		else if (navigator.language) {
			b.browser_lang = navigator.language;
		}
		else {
			b.browser_lang = 'en_US';
		}
		b.browser_timezone = -new Date().getTimezoneOffset() / 60;
		b.resolution = screen.width + 'x' + screen.height + 'x' + screen.colorDepth;
		b.browser = BrowserDetect.browser;
		b.os = BrowserDetect.OS;
		b.useragent = navigator.userAgent;
		b_str = JSON.stringify(b);
		jQuery.cookie('browser_info', b_str, {
			expires: 100
		});
		jQuery(browserinfo_sel).val(b_str);
	}
	else {
		jQuery(browserinfo_sel).val(browser_info);
	}
};