// JavaScript Document

var _map;

google.load('search', '1');

function load()
{
	if (GBrowserIsCompatible()) 
	{

		var _address = document.getElementById('address2').value;
		if (_address.length > 0 && _address != 'Enter postcode')
		{
			var _icon = new GIcon(G_DEFAULT_ICON);
			_icon.image = '/media/images/styles/images/map_pin.png';
			var _icon1 = new GIcon(G_DEFAULT_ICON);
			_icon1.image = '/media/images/styles/images/map_pin_1.png';
			
			var _nearest_title = document.getElementById('nearest_title'); 
			var _nearest = document.getElementById('nearest'); 
			var _other_stores = document.getElementById('other_stores'); 

			var _localSearch = new google.search.LocalSearch();
			
			_localSearch.setSearchCompleteCallback(null, function() {

				var _found = false; 
	
				if (_localSearch.results.length > 0)
				{
					for (var _res = 0;_res<_localSearch.results.length;_res++)
					{
						if (_localSearch.results[_res].country == 'GB')
						{
							var _point = new GLatLng(_localSearch.results[_res].lat, _localSearch.results[_res].lng);
							_found = true;
							_map = new GMap2(document.getElementById('map'));
							_map.addControl(new GLargeMapControl());
							_map.addControl(new GMapTypeControl());
							_map.addControl(new GScaleControl());
							_map.setCenter(_point, 9, G_NORMAL_MAP);
							GDownloadUrl('http://www.premier-stores.co.uk/locations.php?lng='+_localSearch.results[_res].lng+'&lat='+_localSearch.results[_res].lat, function(data, responseCode) 
							{
								var _xml = GXml.parse(data);
								var _markers = _xml.documentElement.getElementsByTagName("marker");
								for (var _i = 0; _i < _markers.length; _i++) 
								{
									var _title = _markers[_i].getAttribute('title');
									var _distance = _markers[_i].getAttribute('distance');
									var _website = _markers[_i].getAttribute('website');
									
									var _otherContent = GXml.value(_markers[_i]); 
									var _textContent = 'Address<br /><strong>'+_title+'</strong><br />'+_otherContent+'Distance<br /><strong>'+_distance+'</strong><br />';
									var _pcode = _markers[_i].getAttribute('pcode');
									
									var _point = new GLatLng(parseFloat(_markers[_i].getAttribute('lat')),parseFloat(_markers[_i].getAttribute('lng')));
									var _marker;
									
									if (_i == 0)
									{
										_nearest_title.innerHTML = '<br /><h2>Your Nearest Store</h2><hr />';
										_marker = new GMarker(_point, {title:_title,icon:_icon1,content:'<span style="font-size:8px;line-height:9px;">'+_textContent+'</span>'});
										if (_website.length > 0)
										{
											_website = _website.replace(/http:\/\//,'');
											_nearest.innerHTML = _textContent + '<br />Website<br /><strong><a target="_blank" href="http://' + _website + '">' + _website + '</a></strong><br />';
										}
										else
										{
											_nearest.innerHTML = _textContent;
										}
									}
									else
									{
										_marker = new GMarker(_point, {title:_title,icon:_icon,content:'<span style="font-size:8px;line-height:9px;">'+_textContent+'</span>'});
										_otherContent = _otherContent.replace(/<br \/>/g,' ');
										_otherContent = _otherContent.replace('>Telephone','><br />Telephone:&nbsp;');
										_otherContent = _otherContent.replace('>Opening Times','><br />Opening Times:&nbsp;');
										_other_stores.innerHTML += '<hr>'+_title+'<br /><form method="post" style="float:right;"><input type="hidden" name="address" value="'+_pcode+'" /><input type="submit" value="View Map &raquo;" /></form>'+_otherContent;
									}
									_map.addOverlay(_marker);
									GEvent.addListener(_marker, 'click', function()
									{
										this.openInfoWindow(this.Y.content);
									});
									if (_i == 0)
									{
										if (_address == _pcode)
										{
											GEvent.trigger(_marker,'click'); 
										}
									}
								}
								
							});
						}
						break;
					}
				}

				if (!_found)
				{
					document.getElementById('search_results').innerHTML = '<p>We have been unable to find a match for your address, please enter a valid town or postcode within the UK.</p>';
				}
				
			});	
				
			_localSearch.execute(_address + ', UK');
		}
		
	}
}
