
google.load("search", "1");
google.load("maps", "2");

var gLocalSearch;
var gBaseLatLng;
var resultSet;

/* Functions for MSO4657 */
var geocode_elements = {};

function tt_onLoad() {
	// Populate the geocode elements array
	geocode_elements.x = [$('row_longitude'),$('geocode_x_sign'),$('geocode_x_deg'),$('geocode_x_min'),$('geocode_x_sec')];
	geocode_elements.y = [$('row_latitude'),$('geocode_y_sign'),$('geocode_y_deg'),$('geocode_y_min'),$('geocode_y_sec')];
	geocode_elements.wait = $('row_processing');

	gBaseLatLng = new google.maps.LatLng(0.09656,51.507941); // Coordinate of Thamesmead for local search
	gLocalSearch = new google.search.LocalSearch();
	gLocalSearch.setCenterPoint(gBaseLatLng);
	gLocalSearch.setSearchCompleteCallback(null,tt_processPostcodeLookup);
}
		
/* Takes in a string and trys to geocode it */
function tt_lookupPostcode(str_postcode) {
	// Hide the x and y field and show processing
	/*if (geocode_elements.x[0] !== false) {
		if (typeof(geocode_elements.x[0].length) !== 'undefined') {
			for (i=0;i<geocode_elements.x[0].length;i++) geocode_elements.x[0][i].style.display = 'none';	
		} else geocode_elements.x[0].style.display = 'none';
	}
	if (geocode_elements.y[0] !== false) {
		if (typeof(geocode_elements.y[0].length) !== 'undefined') {
			for (i=0;i<geocode_elements.y[0].length;i++) geocode_elements.y[0][i].style.display = 'none';	
		} else geocode_elements.y[0].style.display = 'none';
	}
	if (geocode_elements.wait !== false) geocode_elements.wait.style.display = 'table-row';*/
	
	gLocalSearch.execute(str_postcode);

}

function tt_processPostcodeLookup() {
	if (gLocalSearch.results.length) {
		if (geocode_elements.x.length >= 6) geocode_elements.x[5].value = gLocalSearch.results[0].lng;
		if (gLocalSearch.results[0].lng < 0) {geocode_elements.x[1].selectedIndex=1;gLocalSearch.results[0].lng=-1*gLocalSearch.results[0].lng;} else geocode_elements.x[1].selectedIndex=0;
		temp = [];
		temp[0] = Math.floor(gLocalSearch.results[0].lng);
		temp[1] = Math.floor((gLocalSearch.results[0].lng-temp[0])*60);
		temp[2] = Math.floor((gLocalSearch.results[0].lng-temp[0]-temp[1]/60)*3600);
		geocode_elements.x[2].value = temp[0];
		geocode_elements.x[3].value = temp[1];
		geocode_elements.x[4].value = temp[2];
		
		if (geocode_elements.y.length >= 6) geocode_elements.y[5].value = gLocalSearch.results[0].lat;
		if (gLocalSearch.results[0].lat < 0) {geocode_elements.y[1].selectedIndex=1;gLocalSearch.results[0].lat=-1*gLocalSearch.results[0].lat;} else geocode_elements.y[1].selectedIndex=0;
		temp = [];
		temp[0] = Math.floor(gLocalSearch.results[0].lat);
		temp[1] = Math.floor((gLocalSearch.results[0].lat-temp[0])*60);
		temp[2] = Math.floor((gLocalSearch.results[0].lat-temp[0]-temp[1]/60)*3600);
		geocode_elements.y[2].value = temp[0];
		geocode_elements.y[3].value = temp[1];
		geocode_elements.y[4].value = temp[2];
	}
	
	document.forms.store.submit();
	
	/*if (geocode_elements.x[0] !== false) {
		if (typeof(geocode_elements.x[0].length) !== 'undefined') {
			for (i=0;i<geocode_elements.x[0].length;i++) geocode_elements.x[0][i].style.display = 'table-row';	
		} else geocode_elements.x[0].style.display = 'table-row';
	}
	if (geocode_elements.y[0] !== false) {
		if (typeof(geocode_elements.y[0].length) !== 'undefined') {
			for (i=0;i<geocode_elements.y[0].length;i++) geocode_elements.y[0][i].style.display = 'table-row';	
		} else geocode_elements.y[0].style.display = 'table-row';
	}
	if (geocode_elements.wait !== false) geocode_elements.wait.style.display = 'none';*/
}
