relenta.calendar = {};

relenta.calendar.active_view = "";
relenta.calendar.displayed_activity_id = 0;

relenta.calendar.qs_activity_contact_remove = function(link, cn_id) 
{
	jQuery('#tcna_'+cn_id,'#activity_form_'+relenta.calendar.active_view).remove();
	var c_list = jQuery('.contact_assigned_list', '#activity_form_'+relenta.calendar.active_view);

	if(!jQuery('li.contact_assigned_item', c_list).size()) {
		c_list.html("<li class='unassigned'>You can associate this activity item with one or more contacts.</li>");
	}
	return false;
};
relenta.calendar.qs_activity_user_remove = function(link, user_id) 
{
	jQuery('#tusr_'+user_id,'#activity_form_'+relenta.calendar.active_view).remove();
	jQuery("#tusrl_"+user_id,'#activity_form_'+relenta.calendar.active_view).show()
	jQuery(".assign_user_link","#activity_form_"+relenta.calendar.active_view).show();
	var c_list = jQuery('.user_assigned_list', '#activity_form_'+relenta.calendar.active_view);

	if(!jQuery('li.user_assigned_item', c_list).size()) {
		c_list.html('<li class="unassigned">You can assign this activity item to one or more users.</li>');
	}
	return false;
};

relenta.calendar.qs_activity_message_remove = function (link, message_id)
{
	jQuery('#tmsg_'+message_id,'#activity_form_'+relenta.calendar.active_view).remove();
	var c_list = jQuery('.message_assigned_list', '#activity_form_'+relenta.calendar.active_view);

	if(!jQuery('li.message_assigned_item', c_list).size()) {
		c_list.html("");
	}
	return false;
};//qs_activity_message_remove

relenta.calendar.qs_activity_contact_assign_result_display = function(response) 
{
	eval(response.responseText);
	jQuery(".contact_quick_search_results","#activity_form_"+relenta.calendar.active_view).show();
	var add_company = "";
	var s = "";
	if(opresult["search_results"].length>0) {
		var contact_map = {};
		s = "<table>";
		for(var i=0; i<opresult["search_results"].length; i++) {
			contact_map[opresult["search_results"][i].cn_id] = opresult["search_results"][i];
			if(opresult["search_results"][i].company) {
				add_company = ", "+opresult["search_results"][i].company;
			} else {
				add_company = "";
			}
			s += "" +
				'<tr>'+
					'<td>'+opresult["search_results"][i].contact_name+', '+opresult["search_results"][i].email+add_company+' <a href="#" class="contact_assign lnk" rel="'+opresult["search_results"][i].cn_id+'">select</a></td>'+
				'</tr>';
		}
		s += "</table>";
	}//
	else {
		s = "<p>No contact matches</p>";
	}
	jQuery('.contact_quick_search_results', '#activity_form_'+relenta.calendar.active_view).html(s);
	jQuery('a.contact_assign', '#activity_form_'+relenta.calendar.active_view).unbind('click').click(function() { 
		var cn_id = jQuery(this).attr('rel');
		var c_list = jQuery('.contact_assigned_list', '#activity_form_'+relenta.calendar.active_view);
		c_list.show();
		jQuery(".contact_quick_search_results","#activity_form_"+relenta.calendar.active_view).hide();
		jQuery(".unassigned", c_list).remove();
		var delim = '';
		if(!jQuery('#tcna_'+cn_id).size()) {
			var contact_item_html = '<li class="contact_assigned_item" id="tcna_'+cn_id+'">'+contact_map[cn_id].contact_name+' <a href="#" class="remove_small lnk" onclick="return relenta.calendar.qs_activity_contact_remove(this, '+cn_id+');">remove</a><input type="hidden" name="cn_ids[]" value="'+cn_id+'"/></li>';
			c_list.append(contact_item_html);
		}
		relenta.calendar.contact_link_row_toggle();
		return false;
	});
};

relenta.calendar.qs_activity_user_assign_result_display = function(response) 
{
	eval(response.responseText);
	var add_company = "";
	var s = "";
	if(opresult["search_results"].length>0) {
		var user_map = {};
		s = "<table>";
		for(var i=0; i<opresult["search_results"].length; i++) {
			user_map[opresult["search_results"][i].cn_id] = opresult["search_results"][i];
			if(opresult["search_results"][i].company) {
				add_company = ", "+opresult["search_results"][i].company;
			} else {
				add_company = "";
			}
			s += "" +
				'<tr>'+
					'<td>'+opresult["search_results"][i].user_name+', '+opresult["search_results"][i].email+add_company+' <a href="#" class="user_assign lnk" rel="'+opresult["search_results"][i].cn_id+'">select</a></td>'+
				'</tr>';
		}
		s += "</table>";
	}//
	else {
		s = "<p>No user matches</p>";
	}
	jQuery('.user_quick_search_results', '#activity_form_'+relenta.calendar.active_view).html(s);
	jQuery('a.user_assign', '#activity_form_'+relenta.calendar.active_view).unbind('click').click(function() { 
		var cn_id = jQuery(this).attr('rel');
		var c_list = jQuery('.user_assigned_list', '#activity_form_'+relenta.calendar.active_view);
		c_list.show();
		var delim = '';
		if(!jQuery('#tusr_'+cn_id).size()) {
			var user_item_html = '<li class="user_assigned_item" id="tusr_'+cn_id+'">'+user_map[cn_id].user_name+' <a href="#" class="remove_small lnk" onclick="return relenta.calendar.qs_activity_user_remove(this, '+cn_id+');">remove</a><input type="hidden" name="cn_ids[]" value="'+cn_id+'"/></li>';
			c_list.append(user_item_html);
		}
		relenta.calendar.user_link_row_toggle();
		return false;
	});
};

relenta.calendar.user_assign_ui_helper = function()
{
	jQuery('a.user_assign', '#activity_form_'+relenta.calendar.active_view).unbind('click').click(function() { 
		var user_id = jQuery(this).attr('rel');
		var c_list = jQuery('.user_assigned_list', '#activity_form_'+relenta.calendar.active_view);
		c_list.show();
		var delim = '';

		if(jQuery('.user_assigned_item', c_list).size()) {
			delim = '<span class="delim" style="margin:0;padding:0;">, </span>';
		}
		else {
			c_list.html('<b>Assigned users: </b>');
		}
		if(!jQuery('#tusr_'+user_id).size()) {
			var user_item_html = '<span class="user_assigned_item" id="tusr_'+user_id+'">'+delim+activity_user_map[user_id].user_name+' <a href="#" class="remove_small lnk" onclick="return relenta.calendar.qs_activity_user_remove(this, '+user_id+');">remove</a><input type="hidden" name="user_ids[]" value="'+user_id+'"/></span>';
			c_list.append(user_item_html);
		}
		return false;
	});
};

relenta.calendar.agenda_summary_reload = function(prm)
{
	prm = jQuery.extend({dp_id:'',f_status:0, mode:'', active_tab:'summary', activity_label_id:''}, prm);
	var mode_add = "";
	
	var mode_add = "";
	if (prm.mode && prm.mode.substr(0,4)=="user") {
		mode_add += "&user_id="+prm.mode.substr(5);
	}
	if (prm.mode == "cal_items") {
		mode_add += "&calendar_only=1";
	};
	if (prm.activity_label_id) {
		mode_add += "&activity_label_id="+prm.activity_label_id;
	};

/*	if (prm.mode) {
		var all_pattern = /all_/;
		var user_pattern = /user_/;
		var cal_items_pattern = /cal_items_/;
	
		if (prm.mode == "cal_items") {
			mode_add += "&calendar_only=1";
		}
		if (prm.mode.search(cal_items_pattern)!=-1) {
			mode_add += "&calendar_only=1";
			var activity_type_pattern = /cal_items_\d+/;
			var m = prm.mode.match(activity_type_pattern);
			if (m[0] != null) {
				mode_add += "&activity_type="+m[0].substr(10);
			}
		}
		if (prm.mode.search(user_pattern)!=-1) {
			var user_pattern = /user_\d+/;
			var user_activity_type_pattern = /user_\d+_\d+/;
			
			m = prm.mode.match(user_activity_type_pattern);
			if (m != null) {
				m_id = prm.mode.match(/_\d+/); // user_id
				mode_add += "&user_id="+m_id[0].substr(1);
				m_act_type = prm.mode.match(/_\d+$/); // activity_type
				mode_add += "&activity_type="+m_act_type[0].substr(1);
			}
			else {
				mode_add += "&user_id="+prm.mode.substr(5);
			}
		};
		if (prm.mode.search(all_pattern)!=-1) {
			m = prm.mode.match(/_\d+/);
			if (m != null) {
				mode_add += "&activity_type="+m[0].substr(1);
			};
		}
	};*/

	location.href = "/?m=calendar&a="+prm.active_tab+"&dp_id="+prm.dp_id+"&f_status="+prm.f_status+mode_add;
}; // agenda_summary_reload

relenta.calendar.agenda_daily_reload = function(prm)
{
	prm = jQuery.extend({dp_id:'',f_status:0, mode:'', active_tab:'daily', activity_label_id:'', dt:0}, prm);
	var mode_add = "";
	
	var mode_add = "";
	if (prm.mode && prm.mode.substr(0,4)=="user") {
		mode_add += "&user_id="+prm.mode.substr(5);
	}
	if (prm.activity_label_id) {
		mode_add += "&activity_label_id="+prm.activity_label_id;
	};
	if (prm.mode == "cal_items") {
		mode_add += "&calendar_only=1";
	};
	
	location.href = "/?m=calendar&tab_active=daily&dt="+prm.dt+"&a="+prm.active_tab+"&dp_id="+prm.dp_id+"&f_status="+prm.f_status+mode_add;
}; // agenda_daily_reload

relenta.calendar.monthly_view_reload = function(prm)
{
	prm = jQuery.extend({dp_id:'',f_status:0, mode:'', active_tab:'monthly', activity_label_id:'', dt_active:0}, prm);
	var mode_add = "";
	
	var mode_add = "";
	if (prm.mode && prm.mode.substr(0,4)=="user") {
		mode_add += "&user_id="+prm.mode.substr(5);
	}
	if (prm.activity_label_id) {
		mode_add += "&activity_label_id="+prm.activity_label_id;
	};
	
	location.href = "/?m=calendar&tab_active=monthly&dt_active="+prm.dt_active+"&a="+prm.active_tab+"&dp_id="+prm.dp_id+"&f_status="+prm.f_status+mode_add;
};

relenta.calendar.agenda_load = function(prm, page)
{
	page = page || 0;
	prm = jQuery.extend({dp_id:'',period:'overdue',f_status:0,activity_label_id:'',mode:false}, prm);

	var mode_add = "";
	if (prm.mode && prm.mode.substr(0,4)=="user") {
		mode_add += "&user_id="+prm.mode.substr(5);
	}
	if (prm.mode == "cal_items") {
		mode_add += "&calendar_only=1";
	};
	
	container = "#agenda_period_"+prm.period;
	// Loader ON!
	new Ajax.Request('/', {
		method:'get',
		parameters:'m=ajax_calendar&dp_id='+prm.dp_id+'&a=agenda_load'+mode_add+'&ag_period='+prm.period+'&f_status='+prm.f_status+"&activity_label_id="+prm.activity_label_id+'&page='+page,
		onSuccess: function(t) {
			jQuery(container).html(t.responseText);
		}
	});
};// agenda_load

relenta.calendar.monthly_view_load = function (dp_id, user_id)
{
	if (user_id > 0) {
		user_selector = "&user_id="+user_id;
	} else {
		user_selector = "";
	}
	// Loader ON!
	new Ajax.Request('/', {
		method:'get',
		parameters:'m=ajax_calendar&dp_id='+dp_id+'&a=monthly_view_load'+user_selector,
		onSuccess: function(t) {
			jQuery("#calendar_body_monthly").html(t.responseText);
		}
	});
};// monthly_view_load

relenta.calendar.activity_compose_show = function(prm)
{
	// DIRTY HACK
	if(relenta.calendar.active_view!='agenda' && relenta.calendar.active_view!='monthly' && relenta.calendar.active_view!='daily') {
		jQuery("#activity_form_"+relenta.calendar.active_view).remove();
	}
	
	prm = jQuery.extend({dp_id:0,cn_id:0,message_id:0,activity_id:0,container:"",success_create:false,mode:''}, prm);
	if(!jQuery("#activity_form_"+relenta.calendar.active_view).size() && prm.container) {
		jQuery('#'+prm.container).html('<div id="activity_form_'+relenta.calendar.active_view+'" class="activity_form"></div>');
	}
	if(!jQuery("#activity_form_"+relenta.calendar.active_view).size()) {
		alert('Activity form container not found #activity_form_'+relenta.calendar.active_view);
		return false;
	}
	
	jQuery("#activity_form_"+relenta.calendar.active_view).empty();
	
	new Ajax.Request('/', {
		method:'get',
		parameters:'m=ajax_calendar&a=activity_compose&dp_id='+prm.dp_id+(prm.activity_id?'&activity_id='+prm.activity_id:'')+(prm.cn_id?'&cn_id='+prm.cn_id:'')+(prm.message_id?'&message_id='+prm.message_id:'')+(prm.mode?'&mode='+prm.mode:''),
		onSuccess: function(t) {
			if (relenta.calendar.active_view == "agenda") {
				jQuery("#agenda_summary_table").hide();
				jQuery(".paginator", "#calendar_body_agenda").hide();
			} else if (relenta.calendar.active_view == "monthly") {
				jQuery("#calendar").hide();
				jQuery("#activity_info_monthly").hide();
			}
			jQuery('#calendar_'+relenta.calendar.active_view+'_control_bar').hide();
			jQuery('#calendar_'+relenta.calendar.active_view+'_control_subbar').hide();
			jQuery("#activity_form_"+relenta.calendar.active_view).html(t.responseText);
			jQuery("#activity_form_"+relenta.calendar.active_view).show();

			relenta.calendar.activity_form_init(prm.dp_id);
			var form_container = "";
			if (prm.container != "") {
				form_container = prm.container;
			}
			else {
				form_container = "activity_form_"+relenta.calendar.active_view;
			}
			jQuery(".activity_label_manage", "#"+form_container).dialog({ 
																			autoOpen: false ,
																			bgiframe: true ,
																			buttons: { 
																						// "Save": function() { jQuery(this).dialog("close"); } ,
																						// "Cancel": function() { jQuery(this).dialog("close"); } ,
																					 },
																			resizable: false
																		});

			if(prm.success_create) {
				prm.success_create();
			}
		}
	});
	return false;
};// activity_compose_show



relenta.calendar.activity_form_init = function(dp_id)
{
	jQuery('form','#activity_form_'+relenta.calendar.active_view).submit(function(){
		return false;
	});
	var cs_search = function(e) {
		contact_quick_search(dp_id, 
			jQuery('input[name=contact_search]','#activity_form_'+relenta.calendar.active_view).val(), 
			relenta.calendar.qs_activity_contact_assign_result_display
		);
		return false;
	};
	jQuery('input[name=contact_search]','#activity_form_'+relenta.calendar.active_view).unbind('keydown').keydown(function(e) {
		if(e.keyCode==13) {
			cs_search();
			e.keyCode=9;
		}
	});
	relenta.calendar.user_assign_ui_helper();
	jQuery('.contact_search_btn','#activity_form_'+relenta.calendar.active_view).unbind('click').click(cs_search);
	Calendar.setup({
        inputField     :    "dt_end",     // id of the input field
        ifFormat       :    "%m/%d/%y",      // format of the input field
        align          :    "Bl",           // alignment (defaults to "Bl")
        showOthers    :    true

    });
    Calendar.setup({
        inputField     :    "dt_end",     // id of the input field
        ifFormat       :    "%m/%d/%y",      // format of the input field
        button         :    "img_dt_end",  // trigger for the calendar (button ID)
        align          :    "Bl",           // alignment (defaults to "Bl")
        singleClick    :    true,
        showOthers    :    true
    });
	if (jQuery(".user_list", "#activity_form_"+relenta.calendar.active_view) && jQuery("input",".user_list").is(":checked")) {
		jQuery(".user_list", "#activity_form_"+relenta.calendar.active_view).show();
	};
};

relenta.calendar.activity_compose_cancel = function(mode)
{
	mode = mode?mode:'';
	jQuery(".activity_label_manage").remove();
	if(mode=='contact') {
		if (relenta.state.get("ui","active_view") == "contact_list") {
			cancel_message_compose();
			return;
		}
		jQuery("#activity_form_"+relenta.calendar.active_view).hide();
		jQuery('#calendar_'+relenta.calendar.active_view+'_control_bar').show();
		jQuery('#calendar_'+relenta.calendar.active_view+'_control_subbar').show();
		if (typeof(tabs_top) != 'undefined') {
			tabs_top.hideTab('message_create');
			tabs_top.changeTab("activity");
		};
	}
	else {
		if (relenta.calendar.active_view == "agenda") {
			jQuery("#agenda_summary_table").show();
			jQuery(".paginator", "#calendar_body_agenda").show();
		} else if (relenta.calendar.active_view == "monthly") {
			jQuery("#calendar").show();
			jQuery("#activity_info_monthly").show();
		}
		if (mode=="folder") {
			jQuery("#activity_form_"+relenta.calendar.active_view).remove();
		}
		jQuery("#activity_form_"+relenta.calendar.active_view).hide();
		jQuery('#calendar_'+relenta.calendar.active_view+'_control_bar').show();
		jQuery('#calendar_'+relenta.calendar.active_view+'_control_subbar').show();
	}
};

relenta.calendar.contact_link_row_toggle = function()
{
	if (jQuery(".tr_contact_link","#activity_form_"+relenta.calendar.active_view).is(":visible")) {
		
		jQuery(".contact_quick_search_results", "#activity_form_"+relenta.calendar.active_view).empty();
		jQuery(".contact_search", "#activity_form_"+relenta.calendar.active_view).empty();
		jQuery(".assign_contact_link", "#activity_form_"+relenta.calendar.active_view).show();
	}
	else {
		jQuery(".assign_contact_link", "#activity_form_"+relenta.calendar.active_view).hide();
	}
	jQuery(".tr_contact_link","#activity_form_"+relenta.calendar.active_view).toggle();
	return false;
};

relenta.calendar.user_link_row_toggle = function()
{
	jQuery(".user_list","#activity_form_"+relenta.calendar.active_view).toggle();
	//jQuery(".assign_user_link","#activity_form_"+relenta.calendar.active_view).toggle();
	return false;
};

relenta.calendar.add_user = function (user_id, user_name)
{
	jQuery(".unassigned", ".user_assigned_list").remove();
	if (!jQuery("#tusr_"+user_id).size()) {
		jQuery(".user_assigned_list", "#activity_form_"+relenta.calendar.active_view).append("<li id='tusr_"+user_id+"' class='user_assigned_item'>"+user_name+" <a href='#' class='remove_small lnk' onclick='return relenta.calendar.qs_activity_user_remove(this, "+user_id+");'>remove</a><input name='user_ids[]' value='"+user_id+"' type='hidden'></li>");
		jQuery("#tusrl_"+user_id, "#activity_form_"+relenta.calendar.active_view).hide();
		relenta.calendar.user_link_row_toggle();
	};
	if (!jQuery("li",".user_list", "#activity_form_"+relenta.calendar.active_view).is(":visible")) {
		//jQuery(".assign_user_link","#activity_form_"+relenta.calendar.active_view).hide();
	};
	return false;
}; //add_user

relenta.calendar.status_set_row_toggle = function()
{
	jQuery(".tr_status_set","#activity_form_"+relenta.calendar.active_view).toggle();
	return false;
};

relenta.calendar.activity_compose_save = function(prm)
{
	prm = jQuery.extend({dp_id:0,cn_id:0,tag_id:0,mode:'',f_status:0}, prm);

	// Check empty fields
	if (jQuery("input[name=subject]","#activity_form_"+relenta.calendar.active_view).val() == "" && jQuery("textarea[name=body]","#activity_form_"+relenta.calendar.active_view).val() == "") {
		alert("Please fill either activity subject or body to proceed.");
		return false;
	};
	if(!prm.dp_id) {
		alert("Not DpId!");
		return false;
	}
	form_data = jQuery("form[name=activity_form]","#activity_form_"+relenta.calendar.active_view).serialize();

	// Loader ON!
	jQuery.ajax({
		type: "POST",
		url: "/",
		data: "m=ajax_calendar&a=ajax_activity_save&f_status="+prm.f_status+"&"+form_data,
		success: function(msg){
			eval(msg);
			if(opresult["status"]=="success") {
				jQuery(".activity_label_manage").remove();
				if(prm.mode=='contact') {
					if (typeof(tabs_top) != 'undefined') {
						tabs_top.hideTab('message_create');
						if (relenta.state.get("ui","active_view") == "contact_list") {
							cancel_message_compose();
						}
						else {
							tabs_top.changeTab("activity");
							ajax_contact_load_activity({'dp_id':prm.dp_id, 'cn_id':prm.cn_id});
						}
					}
					else {
						relenta.calendar.activity_compose_cancel(prm.mode);
					}
				}
				else if ( prm.mode == 'folder' ) {
					// TODO: Add info message
					relenta.calendar.activity_compose_cancel(prm.mode);
				}
				else if (prm.mode=='tag') {
					ajax_tag_load_activity({dp_id:prm.dp_id,tag_id:prm.tag_id});
				}
				else if (prm.mode=='calendar') {
					relenta.calendar.monthly_view_reload({dp_id:prm.dp_id});
				}
				else if (prm.mode=='daily') {
					relenta.calendar.agenda_daily_reload({dp_id:prm.dp_id,dt:jQuery("input[name=dt_end]","#activity_form_"+relenta.calendar.active_view).val()})
				}
				else {
					relenta.calendar.agenda_summary_reload({dp_id:prm.dp_id});
				}
			}
		}
	});
	return false;
};//relenta.calendar.activity_compose_save

relenta.calendar.activity_checked_set_status_complete = function (dp_id, user_id) {
	// Loader ON!
	if (confirm("Are you sure that you want to complete all selected activities?")) {
		activity_ids = [];
		jQuery("input:checkbox","#agenda_summary_table").each( function(i,j) {
			if (j.checked == true) {
				activity_ids.push(j.value);
			};
		});
		if (!activity_ids.size()) {
			alert("Please select at least one activity to mark it as complete!");
			return false;
		};
		jQuery.ajax({
			type: "POST",
			url: "/",
			data: "m=ajax_calendar&a=ajax_activity_set_status_complete&dp_id="+dp_id+"&activity_id[]="+activity_ids.join('&activity_id[]='),
			success: function(msg){
				eval(msg);
				if(opresult["status"]=="success") {
					relenta.calendar.agenda_summary_reload({dp_id:dp_id});
				}
			}
		});
	};
	return false;
};// activity_checked_set_status_complete

relenta.calendar.activity_info_toggle = function (dp_id, activity_id)
{
	if (relenta.calendar.active_view == "agenda") {
		container = jQuery("#activity_info_"+activity_id,"#agenda_summary_table");
		container_div = jQuery("#activity_info_"+activity_id+" > div","#agenda_summary_table");
	}
	else if (relenta.calendar.active_view == "tag") {
		container = jQuery("#activity_info_"+activity_id,".agenda_table");
		container_div = jQuery("#activity_info_"+activity_id+" > div",".agenda_table");
	}
	else if (relenta.calendar.active_view == "daily") {
		container = jQuery("#activity_info_"+activity_id,"#daily_table");
		container_div = jQuery("#activity_info_"+activity_id+" > div","#daily_table");
	}
	else {
		container = jQuery("#activity_info_monthly");
		container_div = jQuery("#activity_info_monthly > div");
	}
	if ((relenta.calendar.active_view == "agenda" || relenta.calendar.displayed_activity_id==activity_id) && container.is(":visible")) {
		container.hide();
		container_div.empty();
	} else {
		// Loader ON!
		jQuery.ajax({
			type: "GET",
			url: "/",
			data: "m=ajax_object&a=ajax_load_object_info&dp_id="+dp_id+"&obj_id="+activity_id+"&obj_type_name=activity"+(relenta.calendar.active_view?"&view_mode="+relenta.calendar.active_view:""),
			success: function(msg){
				container_div.html(msg);
				container.show();
				relenta.calendar.displayed_activity_id = activity_id;
			}
		});
	}
	return false;
};// activity_info_toggle

relenta.calendar.activity_status_toggle = function (dp_id, activity_id)
{
	// Loader ON!
	jQuery.ajax({
		type: "GET",
		url: "/",
		data: "m=ajax_calendar&a=ajax_activity_status_toggle&dp_id="+dp_id+"&activity_id="+activity_id,
		success: function(msg){
			eval(msg);
			if (
				relenta.calendar.active_view == 'activity' || 
				relenta.calendar.active_view == 'tag' || 
				relenta.calendar.active_view == 'daily' || 
				relenta.calendar.active_view == 'agenda'
				) {
				if (relenta.calendar.active_view == 'activity') {
					row_id = "#msg"+activity_id;
				} else {
					row_id = ".activity_row_"+activity_id;
				}
				if (opresult['activity_status'] == relenta.calendar.activity_status_complete) {
					jQuery(".activity_status_cell", row_id).html("<img src='/img/ui/icn/icn_16x16_complete.gif' width=16 height=16 alt='completed' />");
				} else {
					jQuery(".activity_status_cell", row_id).empty();
				}
			};
			if (
				jQuery(".activity_info_row_"+activity_id).is(":visible") ||
				jQuery("#minf"+activity_id).is(":visible") ||
				jQuery("#activity_info_monthly").is(":visible")
				) {
				if (opresult['activity_status'] == relenta.calendar.activity_status_complete) {
					jQuery("#activity_status_btn_"+activity_id)
						.removeClass('icn_complete')
						.addClass('icn_pending')
						.html("Open");
				} else {
					jQuery("#activity_status_btn_"+activity_id)
						.removeClass('icn_pending')
						.addClass('icn_complete')
						.html("Complete");
				}
			};
		}
	});
	return false;
};// activity_status_toggle

relenta.calendar.activity_delete = function(dp_id, activity_id)
{
	if (confirm("Are you sure that you want to delete this activity?")) {
		// Loader ON!
		jQuery.ajax({
			type: "GET",
			url: "/",
			data: "m=ajax_calendar&a=ajax_activity_delete&dp_id="+dp_id+"&activity_id="+activity_id,
			success: function(msg){
				eval(msg);
				jQuery(".activity_row_"+activity_id).remove();
				if (relenta.calendar.active_view == 'activity' || relenta.calendar.active_view == 'agenda' || relenta.calendar.active_view == 'daily' || relenta.calendar.active_view == 'tag') {
					jQuery(".activity_info_row_"+activity_id).remove();
				}
				else {
					jQuery("#activity_"+activity_id, "#calendar").remove();
					jQuery("#activity_info_monthly").hide();
					jQuery("#activity_info_monthly > div").empty();
					relenta.calendar.displayed_activity_id = null;
				}
			}
		});
	};
	return false;
};// activity_delete

relenta.calendar.set_time = function ()
{
	jQuery('#t_end_box').toggle();
	if (jQuery('input[name=f_time]','#activity_form').val() == 1) {
		jQuery('input[name=f_time]','#activity_form').val(0);
	} else {
		jQuery('input[name=f_time]','#activity_form').val(1);
	};
	return false;
};// set_time

relenta.calendar.monthly_completed_show = function ()
{
	jQuery('.complete','.month_cal').show();
	jQuery('a', '#calendar_monthly_control_subbar').removeClass('active');
	jQuery('a#show_completed_lnk', '#calendar_monthly_control_subbar').addClass('active');
	return false;
};//monthly_completed_show

relenta.calendar.monthly_completed_hide = function ()
{
	jQuery('.complete','.month_cal').hide();
	jQuery('a', '#calendar_monthly_control_subbar').removeClass('active');
	jQuery('a#hide_completed_lnk', '#calendar_monthly_control_subbar').addClass('active');
	return false;
};//monthly_completed_hide

relenta.calendar.agenda_completed_toggle = function ()
{
	jQuery('.complete','#agenda_summary_table').toggle();
	if (jQuery('#agenda_completed_toggle').html() == "Show completed") {
		jQuery('#agenda_completed_toggle').html("Hide completed");
	} else {
		jQuery('#agenda_completed_toggle').html("Show completed");
	}
	return false;
};//agenda_completed_toggle

relenta.calendar.agenda_activity_message_link = function (message_id, container)
{
	ajax_activity_item_info_load('message', message_id, container, {mode:'lite'});
	return false;
};//agenda_activity_message_link

relenta.calendar.edit_activity_label = function (prm)
{
	prm = jQuery.extend({label_id: 0, container: null}, prm);
	
	jQuery("#info_"+prm.label_id, prm.container).hide();
	jQuery("#field_"+prm.label_id, prm.container).show();
};//edit_activity_label

relenta.calendar.save_activity_label = function (prm)
{
	prm = jQuery.extend({dp_id: 0, mode: '', label_id: 0, container: null}, prm);
	var label = jQuery("input[name=label_name_"+prm.label_id+"]", prm.container).val();
	jQuery("#field_"+prm.label_id, prm.container).removeClass("error");

	if (label != "") {
		jQuery.ajax({
			type: "GET",
			url: "/",
			data: "m=ajax_calendar&a=ajax_activity_label_save&dp_id="+prm.dp_id+"&activity_label_id="+prm.label_id+"&label="+escape(label),
			success: function(msg){
				if (msg=="success") {
					jQuery("#info_"+prm.label_id+" > .activity_label", prm.container).html(label);
					jQuery("#info_"+prm.label_id, prm.container).show();
					jQuery("#field_"+prm.label_id, prm.container).hide();
					
					// Update active activity label dropdowns
					jQuery("option[id=label_id_"+prm.label_id+"]","select[name=activity_label_id]").html(label);
					
					return true;
				}
				else {
					jQuery("#field_"+prm.label_id, prm.container).addClass("error");
					return false;
				}
			}
		});
	}
	else {
		jQuery("#field_"+prm.label_id, prm.container).addClass("error");
		return false;
	}
};//save_activity_label

relenta.calendar.delete_activity_label = function (prm)
{
	prm = jQuery.extend({dp_id: 0, label_id: 0, container: null}, prm);
	jQuery("#info_"+prm.label_id, prm.container).removeClass("error");
	if (!confirm("Are you sure?")) {
		return false;
	};
	
	jQuery.ajax({
		type: "GET",
		url: "/",
		data: "m=ajax_calendar&a=ajax_activity_label_delete&dp_id="+prm.dp_id+"&activity_label_id="+prm.label_id,
		success: function(msg){
			if (msg=="success") {
				jQuery("#info_"+prm.label_id, prm.container).remove();
				jQuery("#field_"+prm.label_id, prm.container).remove();
				jQuery("option[id=label_id_"+prm.label_id+"]","select[name=activity_label_id]").remove();
				return true;
			}
			else {
				jQuery("#info_"+prm.label_id, prm.container).addClass("error");
				return false;
			}
		}
	});
};//delete_activity_label

relenta.calendar.add_activity_label = function(prm) 
{
	prm = jQuery.extend({dp_id: 0, container: null}, prm);
	if (jQuery("input[name=new_label]", prm.container).val() == "") {
		return false;
	};
	jQuery(".add", prm.container).removeClass("error");
	jQuery.ajax({
		type: "GET",
		url: "/",
		data: "m=ajax_calendar&a=ajax_activity_label_add&dp_id="+prm.dp_id+"&label="+escape(jQuery("input[name=new_label]", prm.container).val()),
		success: function(msg){
			eval(msg);
			if (opresult['result']=="success") {
				jQuery(".add", prm.container).attr("id", "info_"+opresult['activity_label_id']);
				jQuery(".add", prm.container).click(function () {
					relenta.calendar.edit_activity_label({label_id: opresult['activity_label_id'], container: getParent(this,1)});
				});
				
				jQuery(".add", prm.container).html
				("<a href='#' class='activity_label_label' onclick='return false;'>"+opresult['label']+"</a>\n"+
				"<div class='control'>\n"+
				"	<a href='#' class='btn_delete' onclick='return false;'>\n"+
				"		<img src='/img/ui/icn/icn_16x16_del.gif' width='16' height='16' alt='delete' />\n"+
				"	</a>\n"+
				"</div>\n");
				jQuery(".add", prm.container).removeClass("add");
				jQuery("ul", prm.container).append(
				"<li id='field_"+opresult['activity_label_id']+"' style='display: none;'>\n"+
				"	<input label='text' name='label_name_"+opresult['activity_label_id']+"' value='"+opresult['label']+"' />\n"+
				"	<a href='#' onclick='relenta.calendar.save_activity_label({dp_id: "+prm.dp_id+", label_id: "+opresult['activity_label_id']+", container: getParent(this,2)});return false;'>save</a>\n"+
				"</li>\n"+
				"<li class='add'>\n"+
				"	<input label='text' name='new_label' value='' /> \n"+
				"	<a href='#' onclick='relenta.calendar.add_activity_label({dp_id: "+prm.dp_id+", container: getParent(this,2)});return false;'>add</a>\n"+
				"</li>\n");
				jQuery("select[name=activity_label_id]").append('<option id="label_id_'+opresult['activity_label_id']+'" value="'+opresult['activity_label_id']+'">'+opresult['label']+'</option>');
				return true;
			}
			else {
				jQuery(".add", prm.container).addClass("error");
				return false;
			}
		}
	});
	
}; // add_activity_label
