var locs = [];
var infos = [];
var markers = [];
var latlngs = [];
var geos = [];
var map = totalMarkers = linkAddy = linkURL = mapOptions = null;

$(document).ready(function() {
	GoogleMap();
});

var GoogleMap = function() {
	// map zoom: 1-19: smaller is zoomed out while larger is zoomed in
	// divHeight: height of inner div of info popup box when a marker is clicked. size of google map also effects this.
	var mapData = {
		"centerLat" : "38.27464",
		"centerLong" : "-85.6315568",
		"startZoom" : 14,
		"divHeight" : "125px",
		"mapID" : "googlemap",
		"locations": [
			{
			"name" : "Big Cat 105.5 WLVK",
			"street" : "519 North Miles Street",
			"street2" : "",
			"citystatezip" : "Elizaebthtown, KY 42701",
			"phone" : "(270) 766-1035",
			"fax" : ""
			}
		]
	};
	if (mapData.locations.length > 1) {
		var latlng = new google.maps.LatLng(mapData.centerLat,mapData.centerLong);
		mapOptions = {zoom:mapData.startZoom, center:latlng, mapTypeId:google.maps.MapTypeId.ROADMAP};
	} else {
		mapOptions = {zoom:mapData.startZoom, mapTypeId:google.maps.MapTypeId.ROADMAP};
	}
	map = new google.maps.Map(document.getElementById(mapData.mapID), mapOptions);
	var str = null;
	$.each(mapData.locations, function(i,value) {
		totalMarkers = i;
		str = null;
		linkAddy = (mapData.locations[i].street+"+"+mapData.locations[i].citystatezip).replace(/ /g,"+").replace(/,/g,"");
		linkURL = "http://maps.google.com/maps?f=q&hl=en&q="+linkAddy+"&om=1";
		str = '<div style="height:'+mapData.divHeight+' ; font-size:.9em;"><strong>'+mapData.locations[i].name+'</strong><br />'+mapData.locations[i].street+'<br />';
		if (mapData.locations[i].street2 !== "") {str = str+mapData.locations[i].street2+'<br />'}
		str = str+mapData.locations[i].citystatezip+'<br />';
		if (mapData.locations[i].phone !== "") {str = str+'Phone: '+mapData.locations[i].phone+'<br />'}
		if (mapData.locations[i].fax !== "") {str = str+'Fax: '+mapData.locations[i].fax+'<br />'}
		str = str+'<a href="'+linkURL+'" target="_blank">Get Directions</a></div>';
		infos[i] = new google.maps.InfoWindow({content:str});
		geos[i] = new google.maps.Geocoder();
		if (geos[i]) {
			geos[i].geocode({'address':linkAddy},function(results,status){
				if (status === google.maps.GeocoderStatus.OK) {
					if (mapData.locations.length == 1) {map.setCenter(results[0].geometry.location);}
					markers[i] = new google.maps.Marker({map:map,position:results[0].geometry.location});
					google.maps.event.addListener(markers[i], 'click', function() {ScrollMap(i);});
				}
			});
		}
	});
};

var ScrollMap = function(num){
	closeMarkers();
	infos[num].open(map,markers[num]);
};

var closeMarkers = function(){
	for (var n=0; n <= totalMarkers; n+=1) {infos[n].close(map,markers[n]);}
};