$(document).ready(
	function()
	{
		$("#dvCalendarEventPopup").data("CalendarEventPopup", true).find("*").data("CalendarEventPopup", true);
		$(".calendarOpen").data("CalendarEventPopup", true);
		$("#joinGroup").data("JoinGroupPopup", true);
		$("#leaveGroup").data("LeaveGroupPopup", true);


		$(".calendarOpen").click(triggerPopup);

		$("#lnkCloseCalendarEventPopupClose").click(closeCalendarEventPopup);

		$("#joinGroup").click(showJoinGroupPopup);
		$("#leaveGroup").click(showLeaveGroupPopup);

		$("#lnkJoinGroupPopupClose,#lnkJoinGroupNo").click(closeJoinGroupPopup);
		$("#lnkLeaveGroupPopupClose,#lnkLeaveGroupNo").click(closeLeaveGroupPopup);
		
		$("#lnkJoinGroupYes").click(joinGroup);
		$("#lnkLeaveGroupYes").click(leaveGroup);

		$("body").click(
			function(e)
			{
				var target					= $(e.target);
				var dvCalendarEventPopup	= $("#dvCalendarEventPopup");

				if(dvCalendarEventPopup.is(":visible"))
				{
					if(!(target.data("CalendarEventPopup") === true))
					{
						closeCalendarEventPopup();
					}
				}
			}
		);
	}
);

function closeCalendarEventPopup()
{
	var dvCalendarEventPopup	= $("#dvCalendarEventPopup");
	var dvOffset				= dvCalendarEventPopup.offset();
	var dvLeft					= dvOffset.left + 10;

	dvCalendarEventPopup.animate({"left" : dvLeft}, 50, function(){	dvCalendarEventPopup.hide("drop", { direction: "left" }, "slow");	});
}

function triggerPopup()
{
	var current				= $(this);
	var dvPopup				= $("#dvCalendarEventPopup");
	var dvPopupContent		= $("#dvCalendarEventPopupContent");
	var dvPopupLoader		= $("#dvCalendarEventPopupLoader");
	var currentOffset		= current.offset();
	var popupLeft			= currentOffset.left - dvPopup.width() - 1;
	if (currentOffset.left < 250)
		popupLeft = currentOffset.left + 30;

	var popupTop			= currentOffset.top - 6;

	$.ajax(
		{
			url			: 	basePath + "day-events",
			type		: 	"POST",
			dataType	: 	"html",
			data		: 	"&m=" + month + "&y=" + year + "&d=" + $(this).html() + "&groupid=" + groupIdentity,
			beforeSend	: 	function()
						  	{
						  		dvPopupContent.hide();
						  		dvPopupLoader.show();

						  		if(dvPopup.is(":visible")){
						  			dvPopup.animate({"left" : popupLeft, "top" : popupTop}, "slow")
						  		} else {
						  			dvPopup.css({"left" : popupLeft, "top" : popupTop}).show("drop", { direction: "right" }, "slow");
						  		}
						  	},
			success		: 	function(reply)
						  	{
						  		dvPopupLoader.fadeOut("fast", function(){ dvPopupContent.html(reply).slideDown("slow"); dvPopup.find("*").data("CalendarEventPopup", true); });
						  	}
		}
	);
}

function previous()
{
	if(month <= 1) {
		month	= 12;
		year	= year - 1;
	} else {
		month	= month - 1;
	}
	calendar(month, year);
	return false;
}

function next()
{
	if(month >= 12) {
		month	= 1;
		year	= year + 1;
	} else {
		month	= month + 1;
	}
	calendar(month, year);
	return false;
}

function calendar(passedMonth, passedYear)
{
	$.ajax(
		{
			url			: basePath + "traverse",
			type		: "POST",
			dataType	: "html",
			data		: "&m=" + passedMonth + "&y=" + passedYear + "&groupid=" + groupIdentity,
			beforeSend	: function()
						  {
						  },
			success		: function(reply)
						  {
							$('#calendar').html(reply);
							$(".calendarOpen").unbind("click").click(triggerPopup).data("CalendarEventPopup", true);
						  }
		}
	);
}

function showJoinGroupPopup()
{
	var dvPopup			= $("#dvJoinGroupPopup");
	var current			= $(this);
	var currentOffset	= current.offset();
	var popupLeft		= currentOffset.left - dvPopup.width() - 1;
	var popupTop		= currentOffset.top - 6;
	var dvPopupLoader	= $("#dvJoinGroupPopupLoader").hide();
	var dvPopupContent	= $("#dvJoinGroupPopupContent").show();
	$("#dvJoinGroupPopupMessage").hide();
	if(dvPopup.is(":hidden"))
	{
		dvPopup.css({"left" : popupLeft, "top" : popupTop}).show("drop", { direction: "right" }, "slow");
	}
}

function closeJoinGroupPopup()
{
	var dvPopup		= $("#dvJoinGroupPopup");

	if(dvPopup.is(":visible"))
	{
		dvPopup.hide("drop", { direction: "left" }, "slow");
	}

	return false;
}

function joinGroup()
{
	var dvPopup			= $("#dvJoinGroupPopup");
	var dvPopupContent	= $("#dvJoinGroupPopupContent");
	var dvPopupLoader	= $("#dvJoinGroupPopupLoader").hide();

	$.ajax(
		{
			url:		basePath + "join-group-ajax",
			type:		"POST",
			data:		"groupid=" + $("#hidGroupID").val(),
			dataType:	"json",
			beforeSend:	function()
						{
							dvPopupContent.hide();
							dvPopupLoader.hide();
						},
			success:	function(data)
						{
							var message = "";
							if(data.info)
							{
								message = data.info;
							}
							dvPopupLoader.hide();
							dvPopupContent.hide();
							$("#dvJoinGroupPopupMessage").html(message).show();
						},
			complete:	function()
						{

						}
		}
	);


	return false;
}


/** Leave group functions **/
function showLeaveGroupPopup()
{
	var dvPopup			= $("#dvLeaveGroupPopup");
	var current			= $(this);
	var currentOffset	= current.offset();
	var popupLeft		= currentOffset.left - dvPopup.width() - 1;
	var popupTop		= currentOffset.top - 6;
	var dvPopupLoader	= $("#dvLeaveGroupPopupLoader").hide();
	var dvPopupContent	= $("#dvLeaveGroupPopupContent").show();
	$("#dvLeaveGroupPopupMessage").hide();
	if(dvPopup.is(":hidden"))
	{
		dvPopup.css({"left" : popupLeft, "top" : popupTop}).show("drop", { direction: "right" }, "slow");
	}
}

function closeLeaveGroupPopup()
{
	var dvPopup		= $("#dvLeaveGroupPopup");

	if(dvPopup.is(":visible"))
	{
		dvPopup.hide("drop", { direction: "left" }, "slow");
	}

	return false;
}

function leaveGroup()
{
	var dvPopup			= $("#dvLeaveGroupPopup");
	var dvPopupContent	= $("#dvLeaveGroupPopupContent");
	var dvPopupLoader	= $("#dvLeaveGroupPopupLoader").hide();

	$.ajax(
		{
			url:		basePath + "leave-group-ajax",
			type:		"POST",
			data:		"groupid=" + $("#hidGroupID").val(),
			dataType:	"json",
			beforeSend:	function()
						{
							dvPopupContent.hide();
							dvPopupLoader.hide();
						},
			success:	function(data)
						{
							var message = "";
							if(data.info)
							{
								message = data.info;
							}
							dvPopupLoader.hide();
							dvPopupContent.hide();
							$("#dvLeaveGroupPopupMessage").html(message).show();
						},
			complete:	function()
						{

						}
		}
	);


	return false;
}
