// JavaScript Document
var latlng;
var map;
var infowindow = Array();
var markers = Array();
var mapset = false;

function maploc(name) {
	switch (name) {
		case "Hillel": updateMap(43.075778, -89.395557); addMarker("<div class='infowindow'><h1>UW-Hillel</h1><p>611 Langdon Street</p></div>","Hillel"); break;
		case "Ogg": updateMap(43.070939, -89.399683); addMarker("<div class='infowindow'><h1>Ogg Hall, Phillips Lounge, Main Floor</h1><p>835 W. Dayton Street</p></div>","Ogg Hall"); break;
		case "ICMA": updateMap(43.068646, -89.407349); addMarker("<div class='infowindow'><h1>Islamic Center of Madison</h1><p>21 Orchard Street</p></div>","ICMA"); break;
		case "MSC": updateMap(43.075811, -89.397602); addMarker("<div class='infowindow'><h1>MSC Lounge, Red Gym, 2nd Floor</h1><p>716 Langdon Street</p></div>","MSC"); break;
	}
}

function newMap(lat,lng) {
	latlng = new google.maps.LatLng(lat, lng);
	
	var myOptions = {
		zoom: 15,
		center: latlng,
		disableDefaultUI: true,
		navigationControl: true,
		navigationControlOptions: google.maps.NavigationControlStyle.SMALL,
		mapTypeId: google.maps.MapTypeId.ROADMAP
	};
	
	map = new google.maps.Map(document.getElementById('map'), myOptions);
}

function updateMap(lat,lng) {
	latlng = new google.maps.LatLng(lat, lng);
	
	map.set_center(latlng);
}

function addMarker(cnt, ttl) {	
	hideWindows();
	
	//If infowindow does not already exist add one	
	for(var i = 0; i < infowindow.length; i++) {
		if(infowindow[i].get_content() == cnt) {
			infowindow[i].open(map, markers[i]);
			return;
		}
	}
	
	var marker = new google.maps.Marker({
		position: latlng, 
		map: map, 
		title: ttl
	});
	
	var contentString = cnt;
	var iw = new google.maps.InfoWindow({content: contentString});
	iw.open(map,marker);
	
	infowindow.push(iw);
	markers.push(marker);
	
	google.maps.event.addListener(marker, 'click', function() {
		hideWindows();
		iw.open(map,marker);
	});	
}

function hideWindows() {
	for(var i = 0; i < infowindow.length; i++) {		
		infowindow[i].close();
	}	
}

$(document).ready(
	function() {
		$(".location").click(
			function() {
				if(mapset == false) {					
					newMap(43.0746540,-89.3845000); // Location of wisconsin state capitol
					mapset = true;
				}
				var title = $(this).attr("title");
				maploc(title);
				$(this).parent().hide();
				$("#dimmer").show();
			}
		)
	}
)

function hide() {
	$("#dimmer").fadeOut();
}