/**
 * 
 * PokeTALK user addressbook 
 * 
 * Require poketalk.base.js
 * 
 * @category	API
 * @package		PokeTALK API
 * @copyright	2009 (c) Parrot Media Ltd.
 * @author		Parrot Media Ltd.
 * @link		http://www.poketalk.com
 */

var ptAddressbook = {
	
	/* Get user addressbook */
	get_contacts : function(callback){
		var params = {api_key:ptBase.secret, time:new Date().getTime()};
		var result = ptBase.send_request("/user_c/get_contacts", params);
		if ($.isFunction(callback)) {
			callback(result);
			return;
		}
		return result;
	},
	
	/* Add new contact to user addressbook */
	add_contact : function(name, company, prefix, number, prefix_1, number_1, prefix_2, number_2, email, callback){
		var params = {name:name, company:company, prefix:prefix, number:number, prefix_1:prefix_1, number_1:number_1, prefix_2:prefix_2, number_2:number_2, email:email, api_key:ptBase.secret};
		var result = ptBase.send_request("/user_c/add_contact", params);
		if ($.isFunction(callback)) {
			callback(result);
			return;
		}
		return result;
	},
	
	/* Remove contact from user addressbook */
	remove_contact : function(id, callback){
		var params = {id:id, api_key:ptBase.secret};
		var result = ptBase.send_request("/user_c/remove_contact", params);
		if ($.isFunction(callback)) {
			callback(result);
			return;
		}
		return result;
	},
	
	/* Update contact */
	update_contact : function(id, name, company, prefix, number, prefix_1, number_1, prefix_2, number_2, email, callback){
		var params = {id:id, name:name, company:company, prefix:prefix, number:number, prefix_1:prefix_1, number_1:number_1, prefix_2:prefix_2, number_2:number_2, email:email, api_key:ptBase.secret};
		var result = ptBase.send_request("/user_c/update_contact", params);
		if ($.isFunction(callback)) {
			callback(result);
			return;
		}
		return result;
	},
	
	/* Share contact */
	share_contact : function(id, flag, callback){
		var params = {id:id, flag:flag, api_key:ptBase.secret};
		var result = ptBase.send_request("/user_c/share_contact", params);
		if ($.isFunction(callback)) {
			callback(result);
			return;
		}
		return result;
	}
	
};

