// estimate.js
// Google Maps enabled estimate request form.
// Portions (C)2009 Alexander Cua - All rights reserved.

var map=null;
var center=null;
var marker=null;
var geocoder=null;
var address=null;

$(document).ready(function(){
	map = new GMap2($('#map').get(0));
	center = new GLatLng(36,-96);
	map.setCenter(center,4);
	map.addControl(new GLargeMapControl());
	map.setMapType(G_HYBRID_MAP);
	marker = new GMarker(center,{draggable:true});
	GEvent.addListener(marker, "dragstart", function() { map.closeInfoWindow(); });
	GEvent.addListener(marker, "dragend", function() { updateMapData(); });
	GEvent.addListener(map, "zoomend", function() { updateMapData(); });
	map.addOverlay(marker);
	geocoder = new GClientGeocoder();
	updateMapData();
	
	$("form.locator").validate({
		rules:{
			primary_address_street:"required",
			primary_address_city:{
				required:true,
				},
			primary_address_state:{
				required:true,
				},
			primary_address_postalcode:{
				required:true,
				},
			area:{
				required:true,
				},
			first_name:{
				required:true,
				},
			last_name:{
				required:true,
				},
			email_address:{
				required:true,
				email:true
				},
			},
		messages:{
			primary_address_street:"",
			primary_address_city:"",
			primary_address_state:"",
			primary_address_postalcode:"",
			area:"",
			first_name:"",
			last_name:"",
			email_address:""
			}
		
		});
	});

function updateMapData() {
	$('#lat').val(marker.getPoint().lat());
	$('#lng').val(marker.getPoint().lng());
	$('#zoom').val(map.getZoom());
	}

function getAddress() {
	address = $('#primary_address_street').val()+' '+
		$('#primary_address_city').val()+', '+$('#primary_address_state').val()+' '+
		$('#primary_address_postalcode').val();
	return address;
	}

function showAddress() {
	if (geocoder) {
		geocoder.getLatLng(getAddress(), function(point) {
			if (!point) {
				alert("Please enter your address and click the button again.");
				} else {
				map.setCenter(point, 13);
				map.setZoom(18);
				marker.setLatLng(point);
				updateMapData();
				}
			} );
		}
	}
	


