relenta.contact = {};

relenta.contact.unassign_from_group = function(prm)
{
	prm = jQuery.extend({dp_id:0, cn_group_id:0}, prm);
	if (jQuery("input[checked]","#contact_list").size()) {
		var message = "Are you sure that you want to remove selected contacts from this group?";
	}
	else {
		var message = "Are you sure that you want to remove ALL contacts from this group?";
	}
	
	if(!confirm(message)) {
		return false;
	}
	
	var form_data = "";
	jQuery("input[checked]","#contact_list").each(function() {
		form_data += "&contact_ids[]="+jQuery(this).val();
	});
	jQuery.blockUI('<div style="font-size:11px;padding: 20px 5px;font-weight:bold;"><img src="/img/ui/ui_ajax_loader_message.gif" align="absmiddle" /> Processing contacts...</div>');
	jQuery.ajax({
		type: "POST",
		url: "/",
		data: "m=ajax_contact_group&a=ajax_unassign_contacts&dp_id="+prm.dp_id+"&cn_group_id="+prm.cn_group_id+form_data,
		success: function(msg){
			jQuery.unblockUI();
			if(msg=="ok") {
				location.href = "/?m=contact&a=list&dp_id="+prm.dp_id+"&cn_group_id="+prm.cn_group_id;
			}
		}
	});
	return true;
}; // relenta.contact.unassign_from_group

relenta.contact.merge_form_toggle = function(prm) 
{
	prm = jQuery.extend({dp_id:0, cn_id:0}, prm);
	if (!jQuery(".contact_merge_form").is(":visible")) {
		jQuery('input[name=contact_search]','.contact_merge_form').unbind('keydown').keydown(function(e) {
			if(e.keyCode==13) {
				relenta.contact.merge_contact_search({dp_id: prm.dp_id});
			}
		});
		jQuery('.contact_search_btn',".contact_merge_form").unbind('click').click(function(e) {
			relenta.contact.merge_contact_search({dp_id: prm.dp_id});
		});
		
	};
	jQuery(".contact_merge_form").toggle();
}; // relenta.contact.merge_form_toggle

relenta.contact.merge_contact_search = function(prm) 
{
	prm = jQuery.extend({dp_id:0}, prm);
	contact_quick_search(prm.dp_id, 
		jQuery('input[name=contact_search]','.contact_merge_form').val(), 
		relenta.contact.merge_contact_search_result_display
	);
}; // relenta.contact.merge_contact_search

relenta.contact.merge_contact_search_result_display = function(opresult) 
{
	// eval(response.responseText);
	jQuery(".contact_quick_search_results",".contact_merge_form").show();
	var add_company = "";
	var s = "";
	var cn_id = jQuery("input[name=cn_id]", "#contact_form").val();
	if(opresult["search_results"].length>0) {
		var contact_map = {};
		s = "<table>";
		for(var i=0; i<opresult["search_results"].length; i++) {
			if (opresult["search_results"][i].cn_id != cn_id) {
				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_merge lnk" merge_cn_id="'+opresult["search_results"][i].cn_id+'" merge_cn_name="'+opresult["search_results"][i].contact_name+'">select</a></td>'+
					'</tr>';
			};
		}
		s += "</table>";
	}//
	else {
		s = "<p>No contact matches</p>";
	}
	jQuery('.contact_quick_search_results', ".contact_merge_form").html(s);
	jQuery('a.contact_merge', ".contact_merge_form").unbind('click').click(function() { 
		if(relenta.contact.merge_contact(jQuery(this).attr('merge_cn_id'), jQuery(this).attr('merge_cn_name'))) {
			jQuery(".contact_quick_search_results", ".contact_merge_form").hide();
		}
		return false;
	});
}; // relenta.contact.merge_contact_search_result_display

relenta.contact.merge_contact = function(merge_cn_id, merge_cn_name) 
{
	var cn_id = jQuery("input[name=cn_id]").val();
	var dp_id = jQuery("input[name=dp_id]").val();
	var answer = prompt('Please type "yes" below to confirm. This operation can not be undone.','');
	if (answer && answer.toLowerCase() == "yes") {
		// Loader ON!
		jQuery.ajax({
			type: "POST",
			url: "/",
			data: "m=ajax_contact&a=ajax_contact_merge&cn_id="+cn_id+"&merge_cn_id="+merge_cn_id,
			success: function(msg){
				eval(msg);
				if(opresult["status"]=="success") {
					relenta.contact.merge_form_toggle();
					show_edit_contact_form(cn_id, '#ci-contact-info-container');
					showMessage("contact", "Contact successfully merged", "info-message", 0);
					relenta.activity.filter_item_list(jQuery(".tbl_control_bar_top > select","#contact_communication"),'message_list_container');
				}
				else {
					showMessage("contact", opresult['status'], "error-message", 1);
				}
			}
		});
		return true;
	};
	return false;
}; // relenta.contact.merge_contact

relenta.contact.contact_mass_group_assign_check = function (f, contact_count)
{
	if(jQuery("input.cnchk[checked]", f).length == 0) {
		var answer = prompt('You are about to assign all '+contact_count+' contacts to selected group(s).\nType YES to proceed:','');
		if (!answer || answer.toLowerCase() != "yes") {
			return false;
		};
	}
	f.submit();
	return false;
}; // relenta.contact.contact_mass_group_assign_check

relenta.contact.request_form_show = function (prm)
{
	prm = jQuery.extend({dp_id:0, cn_id:0, cn_group_id:0, container:'#contact_body_message_create', form_template:'', cb_on_success:false}, prm);
	jQuery(prm.container).empty();
	// Loader ON!
	jQuery.ajax({
		type: "POST",
		url: "/",
		data: "m=ajax_contact&a=ajax_show_request_form&dp_id="+prm.dp_id+"&cn_id="+prm.cn_id+"&cn_group_id="+prm.cn_group_id+"&form_template="+prm.form_template,
		success: function(msg){
			jQuery(prm.container).html(msg);
			if (prm.cb_on_success != false) {
				prm.cb_on_success();
			}
			else {
				tabs_top.changeTab("message_create");
				tabs_top.setCaption("message_create", "Send request");
			}
		}
	});

}; // relenta.contact.request_form_show

relenta.contact.request_compose_save = function (prm)
{
	prm = jQuery.extend({dp_id:0, cn_id:0, cn_group_id:0, container:'#contact_body_message_create', mode:'contact', form_template:'', cb_on_success:false}, prm);

	form_data = jQuery(".request_form",prm.container).serialize();

	jQuery.ajax({
		type: "POST",
		url: "/",
		data: "m=ajax_contact&a=ajax_save_request&mode="+prm.mode+"&"+form_data,
		success: function(msg){
			eval(msg);
			jQuery(prm.container).html(msg);
			if (prm.cb_on_success != false) {
				prm.cb_on_success();
			}
			else if (prm.mode != 'contact') {
				relenta.contact.request_compose_cancel({mode:prm.mode,container:prm.container});
			}
			else {
				ajax_contact_load_activity({'dp_id':prm.dp_id, 'cn_id':prm.cn_id, 'obj_id':opresult['req_id']});
				relenta.contact.request_compose_cancel({dp_id:prm.dp_id, cn_id:prm.cn_id, container:prm.container, mode:prm.mode});
			}
		}
	});
	return false;
}; // relenta.contact.request_compose_save

relenta.contact.request_compose_preview = function (prm)
{
	prm = jQuery.extend({container:'#contact_body_message_create'}, prm);
	c = jQuery(".request_preview", prm.container);
	form_data = jQuery(".request_form",prm.container).serialize();
	jQuery.ajax({
		type: "POST",
		url: "/",
		data: "m=ajax_contact&a=ajax_preview_request&"+form_data,
		success: function(msg){
			jQuery(c).html(msg);
			jQuery(".request_form",prm.container).hide();
			jQuery(".icn_preview",prm.container).hide();
			jQuery(".icn_request_cancel",prm.container).hide();
			jQuery(".icn_preview_cancel",prm.container).show();
		}
	});
	c.show();
	return false;
}; // relenta.contact.request_compose_preview

relenta.contact.request_compose_preview_cancel = function (prm)
{
	prm = jQuery.extend({container:'#contact_body_message_create'}, prm);
	c = jQuery(".request_preview", prm.container);
	c.hide();
	jQuery(".request_form",prm.container).show();
	jQuery(".icn_preview",prm.container).show();
	jQuery(".icn_request_cancel",prm.container).show();
	jQuery(".icn_preview_cancel",prm.container).hide();
	return false;
}; // relenta.contact.request_compose_preview_cancel

relenta.contact.request_compose_cancel = function (prm)
{
	prm = jQuery.extend({dp_id:0, cn_id:0, container:'#contact_body_message_create', mode:'contact'}, prm);
	tabs_top.hideTab('message_create');
	if (prm.mode == 'contact') {
		tabs_top.changeTab("activity");
	}
	else {
		jQuery('#compose_message_container').hide();
		jQuery('#contact_list_container').show();
		tabs_top.changeTab("list");
	}
	return false;
}; // relenta.contact.request_compose_cancel

relenta.contact.form_file_upload_finished = function (fid, file_id) 
{
	dp_id = jQuery("#contact_avatar_dp_id").val();
	cn_id = jQuery("#contact_avatar_cn_id").val();
	showMessage("contact", "Image was successfully saved", "info-message", 0);
	jQuery(".contact_avatar_form").hide();
	jQuery("input[name=file_finp]", ".contact_avatar_form").val("");
	// Load picture to avatar container
	jQuery(".contact-avatar-edit").html("<img src='/?m=file&a=file_preview&dp_id="+dp_id+"&file_id="+file_id+"&content_type=image/jpeg&preview_type=contact_avatar_small' width='50' height='50' alt='' />");
	jQuery(".remove_avatar_lnk").show();
	jQuery(".upload_avatar_lnk").hide();
	jQuery("input[name=avatar_file_id]").val(file_id);
	return;
}; // relenta.contact.form_file_upload_finished

relenta.contact.remove_avatar = function ()
{
	jQuery(".contact-avatar-edit").html("");
	jQuery(".remove_avatar_lnk").hide();
	jQuery(".upload_avatar_lnk").show();
	jQuery("input[name=avatar_file_id]").val("");
}

relenta.contact.form_file_upload_error = function(msg)
{
	showMessage("contact", msg, "error-message", 1);
};


// Local compose callbacks
// SHOW FORMS
var calendar_activity_form = function(prm)
{
	prm = jQuery.extend({dp_id:0, cn_id:0, message_id:0, activity_id:0, mode:'add', view_mode:'', on_success:false}, prm);
	switch(prm.mode) {
		case 'edit':	
			relenta.calendar.activity_compose_show({dp_id:prm.dp_id, activity_id:prm.activity_id, container:'contact_body_message_create', 
				success_create:function() { 
					tabs_top.changeTab("message_create"); 
					tabs_top.setCaption("message_create", "Edit activity");
					if(prm.on_success) {
						prm.on_success(prm);
					};
				},
				mode:prm.view_mode,
				cn_id:prm.cn_id,
				message_id:prm.message_id}
			);
		break;
		case 'add':
		default:	
			relenta.calendar.activity_compose_show({dp_id:prm.dp_id, activity_id:0, container:'contact_body_message_create', 
				success_create:function() { 
					tabs_top.changeTab("message_create"); 
					tabs_top.setCaption("message_create", "New activity");
					if(prm.on_success) {
						prm.on_success(prm);
					};
				},
				mode:prm.view_mode,
				cn_id:prm.cn_id,
				message_id:prm.message_id}
			);
		break;
	}
};

var ajax_contact_activity_from_message = function(prm)
{
	prm = jQuery.extend({dp_id:0,cn_id:0,message_id:0,act_body:""}, prm);
	calendar_activity_form({dp_id:prm.dp_id, message_id:prm.message_id, cn_id:prm.cn_id, on_success:function(){jQuery(".activity_body","#contact_body_message_create").val(prm.act_body)}});
}; // ajax_contact_activity_from_message

var compose_options_hide = function(cn_id)
{
	var elem_id = 'cn_btn_opt_'+cn_id;
	jQuery('#'+elem_id).hide();
};

var show_compose_form = function(dp_id, cn_id, prm)
{
	create_message('compose', dp_id, cn_id, 0, "contact_body_message_create", 
		function() {
			tabs_top.changeTab("message_create"); 
			tabs_top.setCaption("message_create", "Compose"); 
		}, 
		prm);
};

var show_edit_form = function(dp_id, cn_id, message_id)
{
	edit_message(message_id, dp_id, cn_id, 'contact_body_message_create', function() {tabs_top.changeTab("message_create"); tabs_top.setCaption("message_create", "Edit message"); } );
};

var show_reply_form = function(dp_id, cn_id, source_message_id)
{
	create_message('reply', dp_id, cn_id, source_message_id, 'contact_body_message_create', function() { tabs_top.changeTab("message_create"); tabs_top.setCaption("message_create", "Reply"); } );
};

var show_replytoall_form = function(dp_id, cn_id, source_message_id)
{
	create_message('replytoall', dp_id, cn_id, source_message_id, 'contact_body_message_create', function() { tabs_top.changeTab("message_create"); tabs_top.setCaption("message_create", "Reply to all"); } );
}
var show_forward_form = function(dp_id, cn_id, source_message_id)
{
	create_message('forward', dp_id, cn_id, source_message_id, 'contact_body_message_create', function() { tabs_top.changeTab("message_create"); tabs_top.setCaption("message_create", "Forward"); } );
} 

// SAVE FORMS
var send_message = function(prm)
{
	$('f_draft').value = 0;
	contact_view_save_message(prm);
}
var save_draft_message = function(prm)
{
	$('f_draft').value = 1;
	contact_view_save_message(prm);
}

// CANCEL FORMS
var cancel_message_compose = function(prm)
{
	if(prm.message_id) {
		state = relenta.state.get('message', prm.message_id)
			window.clearTimeout(relenta.local.message_autosave_timer_id);
			window.clearTimeout(relenta.local.message_change_observer_timer_id);
			relenta.action.deleteObject({
				type:'message', 
				id:prm.message_id, 
				onsuccess:function(t) {
					ajax_contact_load_activity({dp_id:prm.dp_id, cn_id:prm.cn_id, obj_id:prm.message_id});
				}
			})
	}
	disable_editor('body');
	tabs_top.hideTab('message_create');
	tabs_top.changeTab("activity");
}


function hide_message_list_and_control()
{
	Element.show('info-message');
	Element.show('info_message_no_message');
	Element.hide('message_list_container');
	$('message_view').innerHTML = "";
	Element.hide('message_view');
	Element.hide('btn_reply');
	Element.hide('btn_forward');
	Element.hide('btn_replytoall');
	Element.hide('btn_edit');
	Element.hide('btn_del');
	Element.hide('btn_archive');
	
}

function get_message_id_by_row_index(row_index)
{
	var tbl = $('message_list_container');
	if(row_index<0) {
		return false;
	}
	if(row_index>=tbl.rows.length) {
		return false;
	}
	else {
		return tbl.rows[row_index].id.substring(4);
	}
}//get_message_id_by_row_index


function is_message_selected()
{
	var els = document.getElementsByClassName('msgc');
	for(var i=0; i<els.length; i++) {
		if(els[i].checked === true) return 1;
	}//for
	return 0;
}// is_message_selected


var delete_contact = function (contact_id) {
	if (confirm('Are you sure you want to delete this contact?') == false) {
		return;
	}

	// Loader ON!
	new Ajax.Request('/', {
		method:'post',
		parameters:'m=ajax_contact&a=ajax_contact_delete&cn_id='+contact_id,
		onSuccess: function(t) {
			eval(t.responseText);
			if("success"==opresult["status"]) {
				showMessage("contact_info", opresult["message"],"info-message", 0);
				opresult.process();
			}
			else {
				showMessage("contact_info", opresult["message"],"error-message", 0);
			}
		},
		// Handle 404
		on404: function(t) { alert('Error 404: location "' + t.statusText + '" was not found.'); },
		onFailure: function(t) { alert('Error ' + t.status + ' -- ' + t.statusText);}
	});
}// delete_contact


var contact_obj = null;
var show_edit_contact_form = function (contact_id, container) {
	// Loader ON!
	new Ajax.Request('/', {
		method:'get',
		evalJS:true,
		parameters:'m=ajax_contact&a=get_edit_form_data&cn_id='+contact_id,
		onSuccess: function(t) {
			jQuery(".contact-avatar", container).hide();
			jQuery(".contact-control .edit_lnk", container).hide();
			jQuery(".contact-control .cancel_edit_lnk", container).show();
			jQuery(".contact-control .save_lnk", container).show();
			jQuery(".contact-control .merge_lnk", container).show();
			jQuery(".contact-view-control", container).hide();
			jQuery(".ci-contact-info", container)
				.addClass('ci-contact-info-edit')
				.html(t.responseText);
			jQuery.each(contact_obj.contact_info_block, function(ci_block_id,ci_block) {
				contact_info_block_add(ci_block_id, ci_block['label']);
				if (ci_block.contact_info != "") {
					jQuery.each(ci_block.contact_info, function(ci_info_id, ci_info) {
						contact_info_block_add_value('ci_block_'+ci_block_id, ci_block_id, ci_info_id, ci_info['info_type'], ci_info['value'], ci_info['note']);
					});
				}
				else {
					contact_info_block_add_value('ci_block_'+ci_block_id, ci_block_id, null);
					// jQuery('.btn_contact_info_block_add_value','#ci_block_'+ci_block_id).click();
				}
			});
		}
	});
}// show_edit_contact_form

var load_contact_info = function (contact_id, container) {
	// Loader ON!
	new Ajax.Request('/', {
		method:'get',
		parameters:'m=ajax_contact&a=load_contact_info&cn_id='+contact_id,
		onSuccess: function(t) {
			jQuery(".ci-contact-info", container).html(t.responseText);
		}
	});
}// load_contact_info

var cancel_edit_contact = function (contact_id, container) {
	jQuery(".contact-avatar", container).show();
	jQuery(".contact-control .edit_lnk", container).show();
	jQuery(".contact-control .cancel_edit_lnk", container).hide();
	jQuery(".contact-control .save_lnk", container).hide();
	jQuery(".contact-control .merge_lnk", container).hide();
	jQuery(".contact-view-control", container).show();
	jQuery(".ci-contact-info", container).removeClass('ci-contact-info-edit');
	load_contact_info(contact_id, container);
}// cancel_edit_contact

var cancel_create_contact = function () {
	location.href = "/?m=contact&a=list&dp_id="+jQuery("#dp_id").val();
}// cancel_create_contact

var save_contact_info = function () {
	form_data = jQuery("#contact_form").serialize();
	// Loader ON!
	jQuery.ajax({
		type: "POST",
		url: "/",
		data: "m=ajax_contact&a=ajax_save_contact_info&"+form_data,
		success: function(msg){
			eval(msg);
			if(opresult["status"]=="success") {
				cancel_edit_contact(jQuery("#cn_id").val());
			}
			else if(opresult['status'] == "created") {
				document.location = "/?m=contact&a=view&cn_id="+jQuery("#cn_id").val()+"&dp_id="+jQuery("#dp_id").val();
			}
			else if(opresult['status'] == "failed") {
				alert("Oops... "+opresult['address']+" already exists in the database");
			}
		}
	});
	return;
}// save_contact_info

var new_contact_info_block_id = -1;
var new_contact_info_value_id = -1;

var contact_info_block_add = function(contact_info_block_id, label)
{

	label = label || 'Other';
	contact_info_block_id = contact_info_block_id || (--new_contact_info_block_id);
	var html_ci_block_id = 'ci_block_'+contact_info_block_id;
	var html_ci_block = ''
	+'<div id="'+html_ci_block_id+'" class="contact_block"><div class="clr"></div>'
	+'<div class="contact_block_remove_btn"><a href="#" onClick="return contact_info_block_remove('+contact_info_block_id+');">Delete block</a></div>'
	+'	<h2 class="label">'
	+'		<input type="text" name="cb['+contact_info_block_id+'][label]" value="'+label+'"/>'
	+'	</h2>'
	+'<div class="clr"></div>'
	+'	<div class="contact_block_values">'
	+'	</div>'
	+'	<div class="contact_block_controls">'
	+'		<a href="#" class="btn_contact_info_block_add_value">Add field</a>'
	+'	</div>'
	+'</div>'; 

	jQuery('#contact_block_list').append(html_ci_block);
	jQuery('.btn_contact_info_block_add_value','#'+html_ci_block_id)
		.click(function(){
			contact_info_block_add_value(html_ci_block_id, contact_info_block_id, null);
			return false;
		});
	if (contact_info_block_id == jQuery("input[name=default_contact_info_block_id]","#contact_form").val()) {
		jQuery("h2.label","#"+html_ci_block_id).hide();
		jQuery(".contact_block_remove_btn","#"+html_ci_block_id).hide()
	};
	if (contact_info_block_id < 0) {
		contact_info_block_add_value(html_ci_block_id, contact_info_block_id, null);
	};
	return false;
}

var contact_info_block_remove = function (contact_info_block_id)
{
	if (confirm('Are you sure you want to delete this block?')) {
		// jQuery("#ci_block_"+contact_info_block_id).remove();
		jQuery("#ci_block_"+contact_info_block_id).hide();
		jQuery("div", "#ci_block_"+contact_info_block_id).remove();
	};
	return false;
} // contact_info_block_remove

var contact_info_block_add_value = function (html_block_id, contact_info_block_id, contact_info_id, info_type, value, note)
{
	info_type = info_type || CONTACT_INFO_TYPE_PHONE;
	type_name = contact_info_type[info_type];
	value = value || '';
	note = note || '';

	if (!contact_info_id) {
		contact_info_id = --new_contact_info_value_id;
	};

	var ci = "<table id=\"ci_"+contact_info_id+"\" class=\"xcontact_info_"+type_name.toLowerCase()+"\"><tr>\n";
		ci += "<td  width='140' class='contact_info_type_box'>\n";
		ci += "<select name=\"cb["+contact_info_block_id+"][contact_info]["+contact_info_id+"][info_type]\" id=\"info_type_"+contact_info_block_id+"_"+contact_info_id+"\" onChange=\"value_type_change("+contact_info_block_id+","+contact_info_id+")\">\n";
		jQuery.each(contact_info_type, function(i,v){
			ci += "<option value=\""+i+"\">"+v+"</option>\n";
		});
		ci += "</select>\n";
		ci += "</td>\n";
		
		ci += "<td class='contact_info_value_box' id=\"val_box_"+contact_info_block_id+"_"+contact_info_id+"\">\n";
		if (info_type == CONTACT_INFO_TYPE_TEXT || info_type == CONTACT_INFO_TYPE_FREE_FORM_ADDRESS) {
			ci += "<textarea id=\"val_"+contact_info_block_id+"_"+contact_info_id+"\" name=\"cb["+contact_info_block_id+"][contact_info]["+contact_info_id+"][value]\" rows=\"4\" cols=\"40\">"+value+"</textarea>\n";
		} else {
			ci += "<input type=\"text\" id=\"val_"+contact_info_block_id+"_"+contact_info_id+"\" name=\"cb["+contact_info_block_id+"][contact_info]["+contact_info_id+"][value]\" value=\""+value+"\" id=\"val["+contact_info_id+"]\">\n";
		};
		ci += "</td>\n";
	
	
	ci += "<td width='90' class=\"contact_info_note_box\" id=\"note_box_"+contact_info_id+"\">\n<input type=\"text\" name=\"cb["+contact_info_block_id+"][contact_info]["+contact_info_id+"][note]\" value=\""+note+"\" id=\"note_"+contact_info_id+"\" style='display:none;'>\n";
	ci += "<a href=\"#\" class=\"lnk\" onclick=\"add_note("+contact_info_id+");return false;\">label</a>\n";
	ci += "</td>\n";
	
	

	ci += "</tr></table><div class=\"clr\"></div>\n";
	
	
	jQuery("#"+html_block_id+" .contact_block_values").append(ci);
	jQuery("#ci_"+contact_info_id+" select[name='cb["+contact_info_block_id+"][contact_info]["+contact_info_id+"][info_type]'] option[value='"+info_type+"']").attr("selected","selected");
	if (note != "") {
		add_note(contact_info_id);
	}
} // contact_info_block_add_value

var contact_info_block_remove_value = function (contact_info_id) {
	jQuery("#ci_"+contact_info_id).remove();
	return false;
} // contact_info_block_remove_value

var value_type_change = function (contact_info_block_id, contact_info_id)
{
	info_type = jQuery("#info_type_"+contact_info_block_id+"_"+contact_info_id).val();
	value = jQuery("#val_"+contact_info_block_id+"_"+contact_info_id).val();
	if (info_type == CONTACT_INFO_TYPE_TEXT || info_type == CONTACT_INFO_TYPE_FREE_FORM_ADDRESS) {
		d = "<textarea id=\"val_"+contact_info_block_id+"_"+contact_info_id+"\" name=\"cb["+contact_info_block_id+"][contact_info]["+contact_info_id+"][value]\" rows=\"4\" cols=\"40\">"+value+"</textarea>\n";
	} else {
		d = "<input type=\"text\" id=\"val_"+contact_info_block_id+"_"+contact_info_id+"\" name=\"cb["+contact_info_block_id+"][contact_info]["+contact_info_id+"][value]\" value=\""+value+"\" id=\"val["+contact_info_id+"]\">\n";
	};
	jQuery("#val_box_"+contact_info_block_id+"_"+contact_info_id).html(d);
} // value_type_change

var add_note = function (contact_info_id)
{
	jQuery("#note_"+contact_info_id).show();
	jQuery("#note_box_"+contact_info_id+" a").hide();
} // add_note

var toggle_contact_details = function (element, container)
{
	jQuery('.contact-info-more', container).toggle();
	//if (jQuery(".contact-info-more", container).is(":visible")) {
	if(jQuery(".contact-view-control a",container).html()=="More") {
		jQuery(".ci-less", container).show();
		jQuery(".contact-view-control a",container).html("Less is more");
	} else {
		jQuery(".ci-less", container).hide();
		jQuery(".contact-view-control a",container).html("More");
		
	}
	desma.event.trigger('after.contact_info_toggle.contact_page', {element:element});
	return false;
} // toggle_contact_details

var load_contact_list = function (prm)
{
	prm = jQuery.extend({dp_id:0,cn_group_id:0,search_terms:"",sort_by:"dt_created",sort_order:"desc"}, prm);
	location.href="/?m=contact&a=list&dp_id="+prm.dp_id+"&cn_group_id="+prm.cn_group_id+"&search_terms="+prm.search_terms+"&sort_by="+prm.sort_by+"&sort_order="+prm.sort_order;
} // load_contact_list
