var flyout_active	= false;

$(document).ready(function() {
	var flyout			= $('#map-flyout');
	var google			= $('#map-flyout-google');
	var yahoo			= $('#map-flyout-yahoo');
	var bing			= $('#map-flyout-bing');
	var mapquest		= $('#map-flyout-mapquest');

	$('.map-me').live('click', function() {
		var element		= $(this);
		var position	= element.position();
		
		var maps		= map_flyout_directions(element.siblings('span').html().toLowerCase()); // Used to determine which venue to pull.
		if (!maps.error) {

			google.attr('src',		maps.google);
			yahoo.attr('src',		maps.yahoo);
			bing.attr('src',		maps.bing);
			mapquest.attr('src',	maps.mapquest);

			flyout_active			= true;
			flyout.css({top : (position.top - 117) , left : (position.left - 71), visibility : 'visible'});
		}
		return false;
	});

	$('#map-flyout li a').live('click', function() {
		window.open($(this).attr('src'));
		map_flyout_hide();
		return false;
	});

	$('body').mousedown(function(event) {
		if (!$(event.target).closest('#map-flyout').length) {
			map_flyout_hide();
		}
	});

	$('body').keyup(function(key) {
		if (key.keyCode == 27) {
			map_flyout_hide();
		}
	});
});



function map_flyout_directions(venue) {
	var returnObject	= {};
	returnObject.error	= false;

	switch(venue) {
		case 'ohio theatre':
			returnObject.google		= 'http://maps.google.com/maps?hl=en&ie=UTF8&cid=0,0,14709854333988057180&fb=1&hq=ohio+theatre&hnear=columbus+ohio&gl=us&daddr=55+East+State+Street,+Columbus,+OH+43215-4203&geocode=12811833996794668535,39.959883,-82.998894&ei=q5SeS5nxLcP58AaG0uC7Cg&ved=0CBIQngIwAA&z=16';
			returnObject.yahoo		= 'http://maps.yahoo.com/#mvt=m&lat=39.960182&lon=-82.998995&zoom=17&q1=55%20East%20State%20Street%2C%20Columbus%2C%20OH%2043215-4203';
			returnObject.bing		= 'http://www.bing.com/maps/#JnE9eXAuNTUrRWFzdCtTdGF0ZStTdHJlZXQlMmMrQ29sdW1idXMlMmMrT0grNDMyMTUtNDIwMyU3ZXNzdC4wJTdlcGcuMSZiYj01OC42MjM4MTgzNDg1OTg5JTdlLTMxLjk0NDQ4ODUyNTUlN2UxMS4zMzY4NjMyNDExMDkzJTdlLTEzMy45ODU1MDQxNTA1';
			returnObject.mapquest	= 'http://www.mapquest.com/maps?city=Columbus&state=OH&address=55+E+State+St&zipcode=43215-4203&country=US&latitude=39.960312&longitude=-82.999045&geocode=ADDRESS';
			break;
		case 'capitol theatre':
			returnObject.google		= 'http://maps.google.com/maps?hl=en&source=hp&ie=UTF8&cid=0,0,6419606675961189681&fb=1&hq=capitol+theatre&hnear=columbus+ohio&gl=us&daddr=77+S+High+St,+Columbus,+OH+43215&geocode=4657969804615143555,39.960515,-83.000323&ei=kNqfS7StPJC6NozakdoM&ved=0CAkQngIwAA&z=16';
			returnObject.yahoo		= 'http://maps.yahoo.com/#mvt=m&lat=39.960711&lon=-83.000581&zoom=17&q1=77%20S%20High%20St%2C%20Columbus%2C%20OH%2043215';
			returnObject.bing		= 'http://www.bing.com/maps/?FORM=Z9FD#JnE9eXAuNzcrUytIaWdoK1N0JTJjK0NvbHVtYnVzJTJjK09IKzQzMjE1JTdlc3N0LjAlN2VwZy4xJmJiPTQwLjAyMzQ2NDk2NzI4MjQlN2UtODIuODY1OTU0ODIxMzM0OCU3ZTQwLjAxMTk5NDU1MDcwMDglN2UtODIuODkwODY3MTc4NjY1MQ==';
			returnObject.mapquest	= 'http://www.mapquest.com/maps?city=Columbus&state=OH&address=77+S+High+Street&zipcode=43215&country=US&latitude=39.96032&longitude=-83.000243&geocode=ADDRESS';
			break;
		case 'veterans memorial auditorium':
			returnObject.google		= 'http://maps.google.com/maps?hl=en&source=hp&gs_rfai=&um=1&ie=UTF-8&cid=0,0,212066839082127329&fb=1&hq=veterans+memorial+auditorium&hnear=columbus+oh&gl=us&daddr=300+West+Broad+Street,+Columbus,+OH+43215-2788&geocode=1789806964211661606,39.961317,-83.008892&ei=rNyfS7mmCpC6NozakdoM&sa=X&oi=local_result&ct=directions-to&resnum=1&ved=0CA0QngIwAA';
			returnObject.yahoo		= 'http://maps.yahoo.com/#mvt=m&lat=39.961536&lon=-83.006955&zoom=17&q1=300%20West%20Broad%20Street%2C%20Columbus%2C%20OH%2043215-2788&gid1=15437970';
			returnObject.bing		= 'http://www.bing.com/maps/?FORM=Z9FD#JnE9eXAuMzAwK1dlc3QrQnJvYWQrU3RyZWV0JTJjK0NvbHVtYnVzJTJjK09IKzQzMjE1LTI3ODglN2Vzc3QuMCU3ZXBnLjEmYmI9NTguNjIzODE4MzQ4NTk4OSU3ZS0zMS45NDQ0ODg1MjU1JTdlMTEuMzM2ODYzMjQxMTA5MyU3ZS0xMzMuOTg1NTA0MTUwNQ==';
			returnObject.mapquest	= 'http://www.mapquest.com/maps?city=Columbus&state=OH&address=300+W+Broad+St&zipcode=43215-2761&country=US&latitude=39.961491&longitude=-83.006768&geocode=ADDRESS';
			break;
		case 'chemical abstracts service':
			returnObject.google		= 'http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=2540+Olentangy+River+Road,+Columbus,+OH%E2%80%8E&sll=40.032504,-83.009751&sspn=0.292318,0.519104&ie=UTF8&hq=&hnear=2540+Olentangy+River+Rd,+Columbus,+Franklin,+Ohio+43202&ll=40.012726,-83.020678&spn=0.018275,0.032444&z=15';
			returnObject.yahoo		= 'http://maps.yahoo.com/#mvt=m&lat=40.012924&lon=-83.021921&zoom=17&q1=2540%20Olentangy%20River%20Road%2C%20Columbus%2C%20OH%2043202&gid1=15437970';
			returnObject.bing		= 'http://www.bing.com/maps/?FORM=Z9FD#JnE9eXAuMjU0MCtPbGVudGFuZ3krUml2ZXIrUm9hZCUyYytDb2x1bWJ1cyUyYytPSCs0MzIwMiU3ZXNzdC4wJTdlcGcuMSZiYj0zOS45NjczMzk2ODIwNzElN2UtODIuOTk0NTIwODIxMzM0OCU3ZTM5Ljk1NTg1OTgzNjA3OSU3ZS04My4wMTk0MzMxNzg2NjUy';
			returnObject.mapquest	= 'http://www.mapquest.com/maps?city=Columbus&state=OH&address=2540+Olentangy+River+Rd&zipcode=43202-1505&country=US&latitude=40.012888&longitude=-83.022089&geocode=ADDRESS';
			break;
		default:
			alert('This directions for this venue have not been recorded. Please check back later, or perform a search in your search engine of choice.');
			returnObject.error		= true;
	}

	return returnObject;
}



function map_flyout_hide() {
	var flyout		= $('#map-flyout');
	flyout_active	= false;
	flyout.css({visibility : 'hidden'});
}