// Comments or suggestions? Please mail: hendry@aplix.co.jp

var p = {};

function errorCallback(err) {
	switch(err.code) {
		case err.PERMISSION_DENIED:
			msg = "Permission denied.";
			break;
		case err.POSITION_UNAVAILABLE:
			msg = "Your position could not be determined.";
			break;
		case err.TIMEOUT:
			msg = "Timeout.";
			break;
		default:
			msg = "Unknown error!";
	}

	if (err.message) { msg += ' &lt;' + err.message + '&gt;'; }
	s = document.getElementById("status");
	s.innerHTML = msg;
	s.style.color = "red";
}

function geohello() {
			try {
				navigator.geolocation.getCurrentPosition(successCallback, errorCallback);
			} catch(e) {
			try {
				var geolocation = {};
				geolocation = google.gears.factory.create('beta.geolocation');
				geolocation.getCurrentPosition(successCallback, errorCallback);
			} catch(e1) {
			try {
				p.coords = google.loader.ClientLocation;
				successCallback(p);
			} catch(e2) {
				errorCallback({ code: 2, message: "No Geolocation providers found" }); }
			}
			}
}
