var map;
window.addEvent('domready', function(){
	// Map Object
	map = new GoogleMap("map", 32.723457, -99.297336, {zoom: 13});
	
	// Right Side bar locations
	$('locations').getElement('ul').getElements('a').each(function(el){
		
		el.addEvent('click', function(e){
			var e = new Event(e).stop();
			
			var loc = parseLocation(this.get('rel'));
			
			map.moveTo(loc.lat, loc.lng);
			map.addMarker(loc.lat, loc.lng);
			map.showInfo(loc.lat, loc.lng, '<h1>'+this.get('text')+'</h1>'+loc.address);
			
			drawRanch();
		});
		
	});
	
	// Locations drop downs
	$('from_locations').addEvent('change', function(){
		var loc = parseLocation(this.get('value'));
		$('from_address').set('value', loc.address);
	});
	
	$('to_locations').addEvent('change', function(){
		var loc = parseLocation(this.get('value'));
		$('to_address').set('value', loc.address);
	});
	
	// Inputs should kill drop down
	$('from_address').addEvent('keydown', function(){
		$('from_locations').set('value', '');
	});
	$('to_locations').addEvent('keydown', function(){
		$('from_locations').set('value', '');
	});
	
	// Get directions form
	$('getdirections').addEvent('submit', function(e){
		var e = new Event(e).stop();
		var start = $('from_address').get('value');
		var end = $('to_address').get('value');
		if(start && end){
			map.map.clearOverlays();
			map.loadDirections($('directions'), start, end);
		}else{
		
		}
	});
	
});


function parseLocation(str){

	var info = str.split('^');
	
	var address = info[1];
	
	var latlng = info[0];
	var latlng = latlng.split(',');
	
	return {'address':address, 'lat':latlng[0], 'lng': latlng[1]};
	
}


function drawRanch(){
	// Draw Ranch Area
	var polyline = new GPolyline([
	  new GLatLng(32.637496,-99.170151),
	  new GLatLng(32.639122,-99.172254),
	  new GLatLng(32.639122, -99.188089),
	  new GLatLng(32.618159, -99.188089),
	  new GLatLng(32.609194, -99.170623),
	  new GLatLng(32.603374, -99.170623),
	  new GLatLng(32.603374, -99.161096),
	  new GLatLng(32.610749, -99.161096),
	  new GLatLng(32.61093, -99.161825),
	  new GLatLng(32.617328, -99.161696),
	  new GLatLng(32.617581, -99.170151),
	  new GLatLng(32.637496,-99.170151)
	], "#ff0000", 10);
	map.map.addOverlay(polyline);
}
