function oc(a) {
	var o = {};
	for(var i=0;i<a.length;i++){o[a[i]]='';
	}
	return o;
}

$(function() {

	var $ = jQuery;
	
	var soybean = {
	
		links : function() {
		
			$('a').click(function() {
				try {
					domain = $(this).attr("href").match(/:\/\/(.[^/]+)/)[1];
					exceptions = new Array('mnsoybean.org','www.mnsoybean.org');
					if(domain in oc(exceptions)){}
					else{ window.open($(this).attr("href"));
						return false;
					}
				}
				catch(e){}
			});
			
			$('a.print').click(function(){
				window.print();
				
				return false;
			});
			
			$('.calendarMonthLinks a').live("click", function(){
				
				var url = $(this).attr("href");
				
				$.ajax({
				
					type: "GET",
					url: url,
					success: function(content){
						$("#top .sub-column table").fadeOut("slow", function(){
							$(this).remove();
							$(content).hide();
							$(content).appendTo("#top .sub-column");
							$(content).fadeIn("slow")
						});
					}
				
				});
				
				return false;
				
			});
		},
	
		navigate : function() {
			$('#header ul li').hover(function() {
				$(this).addClass('over');
			}, function() {
				$(this).removeClass('over');
			});
		},
	
		cufon : function() {
			Cufon.replace('h1');
			Cufon.replace('#home #main-sub #capital h2');
			Cufon.replace('#top .sub-column h2');
			Cufon.replace('#content .sub-column h2');
			Cufon.replace('#header label');
			Cufon.replace('#header ul li a.replace');
			Cufon.replace('#home #top .sub-column p');
			Cufon.replace('#breadcrumb p');
		},
		
		maps : function() {
		
			if ($("#office-map").length > 0)
			{
				var address = "151 Saint Andrews Court, Suite 710 Mankato, MN 56001";
				
				var map = new GMap2(document.getElementById('office-map'));
				
				var geocoder = new GClientGeocoder();
				
				map.setUIToDefault();
				map.enableRotation();

				geocoder.getLatLng(
					address,
					function(point) {
						if (!point) {} else {
							map.setCenter(point, 13);
							var marker = new GMarker(point);
							map.addOverlay(marker);
						}
					}
				);
			}
			
		},
	
		init : function() {
			
			soybean.links();
			soybean.navigate();
			soybean.cufon();
			soybean.maps();
			
		}
	
	}
	
	soybean.init();

	// EMAIL SHARING LINK
	$('a.email').click(function(){
		var url = $(this).attr("href");
		$.ajax({
			type: "POST",
			url: url,
			data: "",
			success: function(data){
				var winW = $(window).width();
				$("body").append(data);
				var w = $("#contact_overlay").width();
				$("#contact_overlay").css('left', winW/2-w/2).fadeIn("slow");
				$("#overlay").fadeIn("slow");
			}
		});
		return false;
	});

	// CALENDAR EVENTS LINKS
	$('a.event-link').live("click", function(){
		var url = $(this).attr("href");
		$.ajax({
			type: "POST",
			url: url,
			data: "",
			success: function(data){
				var winW = $(window).width();
				$("body").append(data);
				var w = $("#contact_overlay").width();
				$("#contact_overlay").css('left', winW/2-w/2).fadeIn("slow");
				$("#overlay").fadeIn("normal");
				Cufon.replace("#events-overlay h1");
			}
		});
		return false;
	});

	$(".close").live("click",function(){
		$("#overlay").fadeOut("slow", function(){
			$(this).remove();
		});
		$("#contact_overlay").fadeOut("slow", function(){
			$(this).remove();
		});
		return false;
	});
	
	$("#overlay").live("click",function(){
		$("#overlay").fadeOut("slow", function(){
			$(this).remove();
		});
		$("#contact_overlay").fadeOut("slow", function(){
			$(this).remove();
		});
		return false;
	});	
			
	$(document).keyup(function(event){
		if (event.keyCode == 27) {
			$("#overlay").fadeOut("slow", function(){
				$(this).remove();
			});
			$("#contact_overlay").fadeOut("slow", function(){
				$(this).remove();
			});
		}
	});

});