
var ENUM_TV_TARGET_LOCATION = {
UNKNOWN		 : 0,
KOR             : 1,
USA            : 2,
BRA             :  3,
PANEURO        : 4 ,
CHI            :  5,
HKG            :  6 ,
ARB            : 7 ,
PANNORDIG       : 8 ,
SOUTHEASTASIA   :  9 ,
ASIA_ATV        : 10,
ASIA_DTV        :  11,
TW              :  12,
NORTHAFRICA     :  13,
EA_DTV          :  14,
CIS             :  15,
PHI             :  16,
S_AFR_DTV       : 17,
}


var ENUM_TIMER_TYPE = {
POPUP_WND	 	: 0,
CALL_END      	: 1,
CALL_HOLD      	: 2,
CALL_INFO       : 3,
OTHER			: 4
}


////////////////////// Language code
var ENUM_TV_LANGUAGE = {
KOR : 0,  // ko
ENG_US : 1,  // en
SPA_US : 2,  // es_US
FRA_US : 3,  // fr_US
POR_US :4,  // pt_US
BUL : 5,  // bg
CRO : 6,  // hr
CZE : 7,  // cs
DAN : 8,  // da
DUT : 9,  // nl
FIN : 10,  // fi
FRA : 11,  // fr
DEU : 12,  // de
GRE : 13,  // el
HUN : 14,  // hu
ITA : 15,  // it
NOR : 16,  // no
ENG : 17,  // en-GB
POL : 18,  // pl
POR : 19,  // pt
ROM : 20,  // ro
RUS : 21,  // ru
SER : 22,  // sr
SLK : 23,  // sk
SPA : 24,  // es
SWE : 25,  // sv
TUR : 26,  // tr
CHI : 27,  // zh-CN
HKG : 28,  // zh-HK
TPE : 29,  // zh-TW
JPN : 30,
MAO : 31,
CMN : 32,
YUE : 33,
HIN : 34,  // hi -> en-GB
EST : 35,  // et
LAT : 36,  // lv
LTU : 37,  // lt
ARA : 38,  // ar
PER : 39,  // fa
QAA : 40,
AD  : 41,
CAT : 42,
VAL : 43,
THA : 44,  // th
HEB : 45,  // he
IND : 46,  // id
VIE : 47,  // vi
URD : 48,  // ur
AFR : 49,  // af
ZUL : 50,  // zu
XHO : 51,  // xh
YOR : 52,  // yo
IGB : 53,  // ig
HAU : 54,  // ha
SWA : 55,  // sw
AMH : 56,  // am
OTHER : 57, 
TAM : 58, //ta -> en-GB
IRA : 59, 
FIL : 60,
LIT : 61, //lt
LAV : 62, //lv
SLV : 63, //sl
ALB : 64, //sq               //!< Albania
UKR : 65, //uk               //!< Ukraine
KAZ : 66, //kk               //!< Kazakhstan
MKD : 67, //mk               //!< Macedonia
MAY : 68, //ms               //!< Malaysia
WEL : 69, //cy               //!< Welsh
GLA : 70, //gd               //!< Gaelic
IRI : 71, //ga               //!< Irish 
MAX : 72, 
}


var TV_LANGUAGE_CODE = [
	"ko", //0
	"en", //1
	"es-US", //2
	"fr-US", //3
	"pt-US", //4
	"bg", //5
	"hr", //6
	"cs", //7
	"da", //8
	"nl", //9
	"fi", //10
	"fr", //11
	"de", //12
	"el", //13
	"hu", //14
	"it", //15
	"no", //16
	"en-GB", //17
	"pl", //18
	"pt", //19
	"ro", //20
	"ru", //21
	"sr", //22
	"sk", //23
	"es", //24
	"sv", //25
	"tr", //26
	"zh-CN", //27
	"zh-HK", //28
	"zh-TW", //29
	"ja",  	 //30  // not support
	"mi",  	 //31   // not support
	"",  	 //32   // not support
	"",  	 //33   // not support
	"hi", //34
	"et", //35
	"lv", //36
	"lt", //37
	"ar", //38
	"fa", //39
	"",   //40 // not support
	"",   //41 // not support
	"",   //42 // not support
	"",   //43 // not support
	"th",  //44
	"he", //45
	"id", //46
	"vi", //47
	"ur", //48
	"af", //49
	"zu", //50
	"xh", //51
	"yo", //52
	"ig", //53
	"ha", //54
	"sw", //55
	"am", //56
	"", //57
	"ta", //58
	"", //59
	"", //60
	"lt", //61
	"lv", //62
	"sl", //63
	"sq", //64
	"uk", //65
	"kk", //66
	"mk", //67
	"ms", //68
	"", //69
	"", //70
	"", //71
	
]

////    Key Code  ///////////////////////////////////////////////////////////////////////////////////////////////////
 var ENUM_KEY_CODE={
	KYE_3D : 1219,
 }
 
 var KEY_CODE_LIST =[  
	ENUM_KEY_CODE.KYE_3D ,
 ];
 
 
 // reference ->  WMGlobal.TVMWPlugin
  var ENUM_CALL_BLOCK_KEY_CODE={
 	//SOUNDMODE 	: 1041,
    SOURCE 		: 222,
	//CHLIST 		: 84,
	GUIDE 		: 651,
	AD    		: 1039,
	YAHOO    	: 1083,	
	ESAVING    	: 1119,
	TILT    	: 1217,
	EZVIEW    	: 1218,
	PIP_ONOFF   : 1032,
	EMANUAL     : 1063,
	SEARCH		: 1252,				//smart search
	WEBBROWSER	: 1254,				//web broser key
	DUALVIEW	: 267,	
 }
 
 var CALL_BLOCK_KEY_CODE_LIST =[ 
	 //ENUM_CALL_BLOCK_KEY_CODE.SOUNDMODE ,		//
     ENUM_CALL_BLOCK_KEY_CODE.SOURCE ,
	 //ENUM_CALL_BLOCK_KEY_CODE.CHLIST,
	 ENUM_CALL_BLOCK_KEY_CODE.GUIDE,
	 ENUM_CALL_BLOCK_KEY_CODE.AD,
	 ENUM_CALL_BLOCK_KEY_CODE.YAHOO, //zoom1
	 ENUM_CALL_BLOCK_KEY_CODE.ESAVING,
	 ENUM_CALL_BLOCK_KEY_CODE.TILT,
	 ENUM_CALL_BLOCK_KEY_CODE.EZVIEW,
	 ENUM_CALL_BLOCK_KEY_CODE.PIP_ONOFF,
	 ENUM_CALL_BLOCK_KEY_CODE.EMANUAL,
	 ENUM_CALL_BLOCK_KEY_CODE.SEARCH,
 ];
 
  var ENUM_CHANNEL_KEY_CODE = {
	CH_UP : 68,
	CH_DOWN : 65,
	PANEL_CH_UP: 105,
	PANEL_CH_DOWN : 106,
  }
  
   var CHANNEL_KEY_CODE_LIST =[  
        ENUM_CHANNEL_KEY_CODE.CH_UP ,
        ENUM_CHANNEL_KEY_CODE.CH_DOWN,
		ENUM_CHANNEL_KEY_CODE.PANEL_CH_UP ,
        ENUM_CHANNEL_KEY_CODE.PANEL_CH_DOWN,
 ];
 
 var ENUM_AUDIO_TYPE =
    {
        AUDIO_TYPE_UP : 1,
        AUDIO_TYPE_DOWN: 2,
        AUDIO_TYPE_LEFT: 3,
        AUDIO_TYPE_RIGHT: 4,
        AUDIO_TYPE_PAGE_LEFT: 5,
        AUDIO_TYPE_PAGE_RIGHT: 6,
        AUDIO_TYPE_BACK: 7,
        AUDIO_TYPE_SELECT: 8,
        AUDIO_TYPE_CANCEL: 9,
        AUDIO_TYPE_WARNING: 10,
        AUDIO_TYPE_KEYPAD: 11,
        AUDIO_TYPE_KEYPAD_ENTER: 12,
        AUDIO_TYPE_KEYPAD_DEL: 13,
        AUDIO_TYPE_SMARTCONTROL_MOVE: 14,
        AUDIO_TYPE_SMARTCONTROL_SELECT: 15,
        AUDIO_TYPE_MOVE: 16,
        AUDIO_TYPE_PREPARING: 17,
        AUDIO_TYPE_MAX: 18,
    };


////    Event    ///////////////////////////////////////////////////////////////////////////////////////////////////
	
 var ENUM_EVENT_TYPE={
        LOGGED_IN : 0,
		LOGGED_OUT : 1,
		CONTACTLIST : 2,
		CONTACT_REMOVED : 3,
		CONTACT_BLOCKED : 4,
		CONTACT_VIEWDETAIL : 5,
		RING_OUT : 6,
		INPROGRESS : 7,
		LOCALHOLD : 8,
		REMOTEHOLD : 9,
		MUTED : 10,
		INCOMING_CALL : 11, 
		FINISHED : 12,
		REFUSED : 13,
		REJECTED : 14,
		FIRST_CBL_IN_SYNC : 15,
		CBL_SYNC_FAILED : 16,
		AVAILABILITY_CHANGED : 17,
		FAILED : 18,
		MISSED : 19,
		BUSY : 20,
		DROPPED : 21, 
		GET_CONTACT_FINISH : 22,
		QUIT_APP : 23,
		CALL_END_DISPLAYED : 24,
		SEARCH_FINISH : 25,
		AUTHORIZATION_REQUEST : 26,
		CALL_INITIATE : 27, //for playing ringing sournd
		CALL_CANCEL : 28, //for stopping ringing sournd
		SETTING_WND_CLOSED : 29,
		HISTORY_RESULT : 30, 
		CONTACT_VIEWPROFILE : 31, 
		CONTACT_UNBLOCKED : 32,
		CONFERENCE_CALL : 33,
	 	CONFERENCE_CALLMEMBER_UPDATE : 34,
	 	CONFERENCE_CALL_END : 35,
	 	SETTING_FINISHED : 36,
	 	SETTING_SAVE_QUERY : 37,
		INCOMING_VOICE_MAIL :38,
	 	VOICE_MAIL_MY_GREETING : 39, 
	 	VOICE_MAIL_SENDING : 40,
	 	CHANGE_VIDEO_CALL : 41,
	 	CHANGE_VOICE_CALL : 42,
	 	VIDEO_START_RENDERER : 43,
	 	CALLMEMBER_VIDEO_STATUS : 44,
	 	SETTING_SAVE_START : 45,
	 	CONTACT_GROUP_REFRESH : 46,
	 	CALL_END_BY_CALLMEMBER : 47,
	 	CALL_END_BY_ME : 48,
	 	CALL_REJECT_BY_ME : 49, 
	 	SHOW_CALL_FORWARDING_WARNING : 50,//1330
	 	CALL_DURATION : 51,//1331
	 	CHANGE_ACCOUNT_INFO : 52,
	 	CALL_REDIRECT_VOICEMAIL : 53,
	 	CALL_BEING_FORWARDED : 54,
	 	CREATE_CALL : 55,
	 	BLOCKED_CALL_TRY : 56,
	 	PSTN_STATUS : 57,
	 	UPDATE_NETWORK_ERROR : 58,
	 	UPDATE_DATA_ERROR : 59,
	 	NO_UPGREADE_VERSION_IN_SERVER : 60,  //1340
	 	UPDATE_SKYPE_INSTALL : 61,
	 	UPDATE_SKYPE_COMPLETE : 62,	 	
	 	UPDATE_SKYPE_CANCELED : 63,
	 	EXIT_WND_CLOSED : 64,
		PWD_OK : 65,  //1345
		PWD_CHANGING : 66,		
		PWD_INVALID_OLD_PASSWORD : 67, 
		PWD_SERVER_CONNECT_FAILED : 68, 
		PWD_OK_BUT_CHANGE_SUGGESTED : 69, 
		PWD_MUST_DIFFER_FROM_OLD : 70, //1350
		PWD_INVALID_NEW_PWD : 71, 
		PWD_MUST_LOG_IN_TO_CHANGE : 72, 		
		CAMERA_DISCONNECTED : 73,
		CAMERA_CONNECTED : 74,
		CAMERA_PLUGGED_IN : 75,
		VOICE_MAIL_REMOVE : 76,
		AV_QUALITY_STATUS : 77,
		CALL_TOTAL_DURATION : 78,
		HISTORY_CALL_RESULT : 79,
		HISTORY_VM_RESULT : 80,
		SEND_VM_DURATION : 81,
		RECEIVE_VM_DURATION : 82,
		SEARCH_RESULT : 83,
		CONFERENCE_CALLMEMBER_ADD : 84,
		CHANGE_TO_CONFERENCE_CALL : 85,
		CHANGE_TO_NORMAL_VOICE_CALL : 86,
	 	UPDATE_MEMBER_STATUS : 87,

		//new added event
		ACCOUNT_AVATAR_IMAGE : 88,
		ACCOUNT_SKYPEOUT_BALANCE : 89,
		ACCOUNT_AVAILABILITY : 90,
		ACCOUNT_MOOD_TEXT : 91,
        INCOMING_PSTN : 92,

		CONTACT_AVAILABILITY : 93,
        
        CALLMEMBER_VIDEO_NOT_AVAILABLE : 94,
		CALLMEMBER_VIDEO_AVAILABLE : 95,
		CALLMEMBER_VIDEO_STARTING : 96,
		CALLMEMBER_VIDEO_REJECTED : 97,
		CALLMEMBER_VIDEO_RUNNING : 98,
		CALLMEMBER_VIDEO_STOPPING : 99,
		CALLMEMBER_VIDEO_PAUSED : 100,
        
        CONTACT_SEARCH_FAILED : 101,
		CONTACT_SEARCH_FINISHED : 102,
		CONTACT_PROFILE_SEARCH_FINISHED : 103,
        
        SKYPEOUT_FAIL_REASON_1 : 104, //1000, 6009, 6113, 6519, 8401, 9502, 10408, 10420, 10480, 10482, 10486, 10487, 10500, 10502, 10503, 10504, 10600, 10603, 10686
		SKYPEOUT_FAIL_REASON_2 : 105, //6423
		SKYPEOUT_FAIL_REASON_3 : 106, //9401
		SKYPEOUT_FAIL_REASON_4 : 107, //9402
		SKYPEOUT_FAIL_REASON_5 : 108, //9403, 9407, 9408
		SKYPEOUT_FAIL_REASON_6 : 109, //9409
		SKYPEOUT_FAIL_REASON_7 : 110, //10403
		SKYPEOUT_FAIL_REASON_8 : 111, //10404
		SKYPEOUT_FAIL_REASON_9 : 112, //10484
		SKYPEOUT_FAIL_REASON_10 : 113, //10604
		SKYPEOUT_FAIL_REASON_11 : 114, //13406

		SKYPE_LOADED : 115,       

        UPDATE_CHAT : 116, //! update chatting list and chat dialog

		VIDEO_QUALITY_LEVEL_0 : 117,
		VIDEO_QUALITY_LEVEL_1 : 118,
		VIDEO_QUALITY_LEVEL_2 : 119,
		VIDEO_QUALITY_LEVEL_3 : 120,
		VIDEO_QUALITY_LEVEL_4 : 121,

		HISTORYLIST : 122,

		VOICEMAIL_PLAYING : 123,
		VOICEMAIL_PLAYED : 124,
		VOICEMAIL_UNPLAYED : 125,
		VOICEMAIL_BUFFERING : 126,
		VOICEMAIL_FAILED : 127,
		VOICEMAIL_DELETING : 128,
		VOICEMAIL_DELETING_FAILED : 129,
		VOICEMAIL_EMPTY : 130,

		COMMIT_SUCCESS : 131,
		COMMITTING_TO_SERVER : 132,
		COMMIT_FAILED : 133,
        
        CONTACT_SEARCH_NOT_FOUND: 134,

		SD_VIDEO_RECEIVED: 135,
		HD_VIDEO_RECEIVED: 136,

		VOICEMAIL_GREETING: 137,
		VOICEMAIL_BUFFERING_GREETING: 138,
		VOICEMAIL_RECORDING: 139,
		VOICEMAIL_UPLOADING: 140,
		VOICEMAIL_SENT: 141,
		VOICEMAIL_CANCELLED: 142,
        VOICEMAIL_SEND_FAILED: 143,
        
        AUTHREQ_PROCESSED : 144,
        NEW_CHAT_MESSAGE : 145,
        AUTHREQ_IGNORED : 146,
		OSD_TIMER_EXPIRED_0 : 147,
		OSD_TIMER_EXPIRED_1 : 148,
		OSD_TIMER_EXPIRED_2 : 149,
		OSD_TIMER_EXPIRED_3 : 150,
		OSD_TIMER_EXPIRED_4 : 151,
		OSD_TIMER_EXPIRED_5 : 152,
		OSD_TIMER_EXPIRED_6 : 153,
		OSD_TIMER_EXPIRED_7 : 154,
		OSD_TIMER_EXPIRED_8 : 155,
		OSD_TIMER_EXPIRED_9 : 156,
		
		UPDATE_UNREAD_CHAT_NUM : 157,
		
		CALLMEMBER_AVATAR_CHANGE: 158,
  		CHATMEMBER_AVATAR_CHANGE: 159,
  		CHATMEMBER_CHANGE: 160,	
  		
  		HIDE_BLACK_BG: 161,  //only used by native code (MoIPHeler)

		ONLINE_CONTACT_OBJECT: 162, //only used by native code (MoIPHeler)
		VIDEO_AVAILABLE: 163,	//only used by native code(MoIPHeler)
		CALLMEMBER_VIDEOSTATUS_SEND_ENABLED: 164, //only used by native code(MoIPHeler)
		
  		CREATE_CALL_REQUEST: 165,	// for voice recognition
  		
  		GOTO_CONTACT : 166,
						
		MAX_EVENT_TYPE: 200,	
}

 var ENUM_CAM_EVENT_TYPE =
{
	CAM_EVENT_DISCONNECTED : 0,
	CAM_EVENT_CONNECTING: 1,
	CAM_EVENT_READY : 2,
	CAM_EVENT_JPG_CAPTURED : 3,	
} 

var ENUM_CAM_STATE =
{
	CAM_STATE_DISCONNECTED :0 ,
	CAM_STATE_CONNECTING  : 1 ,
	CAM_STATE_READY  :2 ,
	CAM_STATE_PLAYING  :3 ,					//Not Use!!
} 


////////////   CONTACT   ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

var ENUM_CONTACT_PROPERTY =
	{
		P_SKYPENAME : 1,					            /**< [string] Defined if it's a SKYPE contact */
		P_PSTNNUMBER : 2,						        /**< [string] Defined if it's a PSTN contact */
		P_TYPE : 3,								            /**< [enum TYPE] Type of the contact */
		P_FULLNAME : 4,							        /**< [string] Full name */
		P_BIRTHDAY : 5,							        /**< [int] YYYYMMDD */
		P_GENDER : 6,							            /**< [int] 1=male, 2=female */
		P_LANGUAGES : 7,						            /**< [string] ISO language codes (space-separated) */
		P_COUNTRY : 8,							            /**< [string] ISO country code */
		P_PROVINCE : 9,							        /**< [string] Province */
		P_CITY : 10,								            /**< [string] City */
		P_PHONE_HOME : 11,						        /**< [string] Home phone (NB: string not integer) */
		P_PHONE_OFFICE : 12,					        /**< [string] Office phone (NB: string not integer) */
		P_PHONE_MOBILE : 13,						    /**< [string] Mobile phone (NB: string not integer) */
		P_EMAILS : 14,							            /**< [string] Space separated email addresses. will be hashed before advertising/querying */
		P_HOMEPAGE : 15,							    /**< [string] Homepage */
		P_ABOUT : 16,							            /**< [string] Arbitrary introductory text */
		P_PROFILE_TIMESTAMP : 17,				    /**< [int] UNIX timestamp (seconds since 1/1/1970) of last profile change */
		P_RECEIVED_AUTHREQUEST : 18,			/**< [string] Set if the contact is waiting to be authorised. Contains authreq text.
                                                                            See ContactGroup CONTACTS_WAITING_MY_AUTHORIZATION decription. */
		P_LASTONLINE_TIMESTAMP : 19,			/**< [int] UNIX timestamp (seconds since 1/1/1970) of last successful ping to that user */
		P_AVAILABILITY : 20,						        /**< [enum AVAILABILITY] Contact availability */
		P_DISPLAYNAME : 21,						    /**< [string] Always set (based on various fields) */
		P_GIVEN_DISPLAYNAME : 22,				    /**< [string] Change via GiveDisplayname(). You can use
                                                                            GiveDisplayName() to reset the displayname. */
		P_GIVEN_AUTHLEVEL : 23,					    /**< [enum AUTHLEVEL] Authentification level, 
                                                                            change via Contact::GiveAuthlevel() */
		P_ASSIGNED_SPEEDDIAL : 24,				/**< [string] Speed-dial, change via AssignSpeedDial() */
		P_ASSIGNED_COMMENT : 25,					/**< [string] Comment associated to the contact */
		P_ALERTSTRING : 26,						        /**< [string] Chat ALERTSTRING for all dialogs with that contact */
		P_REFRESHING : 27,						        /**< [int] 1 if querying additional information from p2p or server */
		P_LASTUSED_TIMESTAMP : 28,				/**< [int] UNIX timestamp (seconds since 1/1/1970) of last outbound session (call, chat, FT, etc) */
		P_AUTHREQ_TIMESTAMP : 29,				/**< [int] Timestamp of last received auth-request.
                                                                            See ContactGroup CONTACTS_WAITING_MY_AUTHORIZATION decription. */
		P_AUTHREQUEST_COUNT : 30,				/**<  [int] For contacts that have CONTACT_RECEIVED_AUTHREQUEST, how many
                                                                             times in a row they have requested it without positive answer. */
		P_ALIASES : 31,							            /**< [string] Space-separated list of known aliases */
		P_AVATAR_IMAGE : 32,						    /**< [binary] Avatar image.
                                                                            If the contact doesn't have an avatar set, this property is empty. If you want to get the default avatar when
                                                                            there is no avatar set, use Contact::GetAvatar().
                                                                            The avatar is a JPEG image of which each side is up to 96 pixels. */
		P_MOOD_TEXT : 33,						        /**< [string] Personal mood text (visible to authorised users only) */
		P_RICH_MOOD_TEXT : 34,					    /**< [string] XML version of CONTACT_MOOD_TEXT */
		P_TIMEZONE : 35,							        /**< [int] 24 * 3600 + diff_to_UTC_in_seconds
                                                                            NB: Changes with Daylight Saving Time.
                                                                            To get the difference to UTC in hours: (CONTACT_TIMEZONE - 24*3600) / 3600
                                                                            or CONTACT_TIMEZONE / 3600 - 24.
                                                                            But be there are timezones in the world that differ from UTC by fractional hours. */
		P_NROF_AUTHED_BUDDIES : 36,				/**< [int] Size of the contact list (authentificated contact only) */
		P_CAPABILITIES : 37,						        /**< [binary] Binary key that can be queried via CONTACT::HasCapability(),
                                                                            the property itself is only used for change events. */
		P_IPCOUNTRY : 38,						        /**< [string] ISO country code assigned by the IP */
		P_AVATAR_TIMESTAMP : 39,					/**< [int] UNIX timestamp of when current avatar was set */
		P_MOOD_TIMESTAMP : 40,					    /**< [int] UNIX timestamp of when current mood was set */
		P_PROFILE_ATTACHMENTS : 41,				/**< [binary] Use Contact::GetProfileAttachment to access */
		P_ASSIGNED_PHONE1 : 42,					    /**< [string] user-assigned phone numbers, change via Contact::SetPhoneNumber() */
		P_ASSIGNED_PHONE1_LABEL : 43,			/**< [string] user-assigned phone numbers, change via Contact::SetPhoneNumber() */
		P_ASSIGNED_PHONE2 : 44,					    /**< [string] user-assigned phone numbers, change via Contact::SetPhoneNumber() */
		P_ASSIGNED_PHONE2_LABEL : 45,			/**< [string] user-assigned phone numbers, change via Contact::SetPhoneNumber() */
		P_ASSIGNED_PHONE3 : 46,					    /**< [string] user-assigned phone numbers, change via Contact::SetPhoneNumber() */
		P_ASSIGNED_PHONE3_LABEL	 : 47			/**< [string] user-assigned phone numbers, change via Contact::SetPhoneNumber() */
	};


var ENUM_CONTACT_AVAILABILITY = {
	UNKNOWN						: 1,			/**< Contact availability unknown */
	PENDINGAUTH					: 2,			/**< The contact hasn't authorized me yet */
	BLOCKED						: 3,			/**< The contact is blocked - it cannot contact me */
	BLOCKED_SKYPEOUT			: 4,			/**< The Skypeout number is blocked, it cannot call me */
	SKYPEOUT					: 5,			/**< Contact is a SkypeOut number */
	OFFLINE						: 6,			/**< Contact is offline */
	ONLINE						: 7,			/**< Contact is online */
	AWAY						: 8,			/**< Contact is away */
	NOT_AVAILABLE				: 9,			/**< Contact is not available */
	DO_NOT_DISTURB				:10,			/**< Contact in do not disturb mode (ie no chat popup, etc) */
	SKYPE_ME					:11,			/**< Contact in Skype-me mode */
	OFFLINE_BUT_VM_ABLE			:12,			/**< Offline but can receive voice mail */
	OFFLINE_BUT_CF_ABLE			:13,			/**< Offline but call can be forwarded */

	ONLINE_FROM_MOBILE			:14,			/**< DEPRECATED, do not use, don't work */
	AWAY_FROM_MOBILE			:15,			/**< DEPRECATED, do not use, don't work */
	NOT_AVAILABLE_FROM_MOBILE	:16,			/**< DEPRECATED, do not use, don't work */
	DO_NOT_DISTURB_FROM_MOBILE	:17,			/**< DEPRECATED, do not use, don't work */
	SKYPE_ME_FROM_MOBILE		:18,				/**< DEPRECATED, do not use, don't work */

	GROUP						:20,			/**group by lee dong hee*/
	
}
var ENUM_CONTACT_CAPABILITY ={
		CAPABILITY_VOICEMAIL : 1,			                    /**< Can the user send voicemail? */
		CAPABILITY_SKYPEOUT : 2,				                    /**< Can the user skype-out, ie call PSTN numbers? */
		CAPABILITY_SKYPEIN : 3,					                    /**< Can the user be skyped-in, ie receive calls from PSTN numbers? Not supported for Contact objects. */
		CAPABILITY_CAN_BE_SENT_VM : 4,			        /**< Can the user receive voicemail? */
		CAPABILITY_CALL_FORWARD : 5,			        /**< Can the user activate call-forwarding? */
		CAPABILITY_VIDEO : 6,					                        /**< Does the user have video? */
		CAPABILITY_TEXT : 7,					                        /**< Does the user support chat? */
		CAPABILITY_SERVICE_PROVIDER : 8,		        /**< Is the user a service provider? Not supported for Contact objects. */
		CAPABILITY_LARGE_CONFERENCE : 9,		        /**< Does the user support large conferences? */
		CAPABILITY_COMMERCIAL_CONTACT : 10,		/**< Is the user a commercial contact? Not supported for Account objects. */
		CAPABILITY_PSTN_TRANSFER : 11,			        /**< TODO */
		CAPABILITY_TEXT_EVER : 12,				                /**< TODO */
		CAPABILITY_VOICE_EVER : 13,				            /**< TODO */
		CAPABILITY_MOBILE_DEVICE : 14,			        /**< TODO */
		CAPABILITY_PUBLIC_CONTACT : 15			        /**< TODO */
	};

var ENUM_CAPABILITY_STATUS = {

		NO_CAPABILITY			: 1,				/**< No capability */
		CAPABILITY_EXISTS		: 2,				/**< The user has the capability */
		FIRST_EXPIRY_WARNING	: 3,				/**< The capability will expire in less than 30 days */
		SECOND_EXPIRY_WARNING	: 4,				/**< The capability will expire in less than 7 days */
		FINAL_EXPIRY_WARNING	: 5					/**< The capability will expire in less than 1 day */
		
}



var ENUM_CONTACT_AVATA_TYPE = { 
 
    ONES_IMAGE		:   1,
	PSTN			:	2,	
    MALE			:   3,
    FEMALE			:   4,
    NO_GENDER		:	5,
    TEST_CALL		:   6,
    MYSELF			:	7,
	GROUP			:	8,

}  


////////////  HISTORY   //////////////////////////////////////////////////////
var ENUM_HISTORY_PROPERTY = {
	
	P_TYPE				: 0,				/**< Call/Voicemail/Chat */
	P_SKYPENAME			: 1,			
	P_DISPNAME			: 2,
	P_TIMESTAMP			: 3,
	P_TIMESTAMP_STR		: 4,
	P_IS_MISSED			: 5,			/**< Missed call or Unplayed Voicemail */
	P_IS_CONFERENCE		: 6,
	P_IS_INCOMING		: 7,
	P_IS_PSTN			: 8,
	P_DURATION			: 9,
	P_PARTICIPANTS		: 10,
};


var ENUM_HISTORY_STATUS = {

	MISSED_INCOMING_CALL			: 1,
	MISSED_CONFENRECE_CALL			: 2,
	MISSED_VOICEMAIL				: 3,
	INCOMING_CALL					: 4,
	INCOMING_CONFERENCE				: 5,
	OUTGOING_CALL					: 6,
	INCOMING_VOICEMAIL				: 7,
	INCOMING_MESSAGE				: 8
	
}

////////////////CHAT HISTOR/////////////////

var ENUM_CHAT_HISTORY_TYPE = {

	LEGACY_DIALOG 			: 1,
	DIALOG					: 2,
	MULTICHAT				: 3,
	SHAREDGROUP				: 4,
	LEGACY_UNSUBSCRIBED		: 5, 
	
}

var ENUM_CHAT_HISTORY_AVATAR_TYPE = {

	ONES_IMAGE		: 1,
	NO_IMAGE		: 2, 
	UNKNOWN			: 3,
	GROUP			: 4,
}







////////////   ACCOUNT   ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

var  ENUM_ACCOUNT_PROPERTY ={

		P_SKYPENAME : 1,					                /**< [string] Registered Skype user name */
		P_FULLNAME: 2,						                /**< [string] Full name entered in the profile */
		P_BIRTHDAY: 3,							                /**< [int] YYYYMMDD integer.
                                                                                 When a date corresponding to a child under 13 years is set,
                                                                                 the property is reset. By regulation, we don't allow users 
                                                                                 under 13 years old to display their age in their profile. */
		P_GENDER: 4,							                /**< [int] integer: 1-male, 2-female */
		P_LANGUAGES: 5,						                /**< [string] ISO language codes (space-separated) */
		P_COUNTRY: 6,							                /**< [string] ISO country code */
		P_PROVINCE: 7,							                /**< [string] Province */
		P_CITY: 8,								                    /**< [string] City */
		P_PHONE_HOME: 9,						            /**< [string] Home phone (NB! these are strings) */
		P_PHONE_OFFICE: 10,						        /**< [string] Office phone (NB! these are strings) */
		P_PHONE_MOBILE: 11,						        /**< [string] Mobile phone (NB! these are strings) */
		P_EMAILS: 12,							                /**< [string] Space separated emails. Only a hash of e-mail is present in the public profile (allowing searches) */
		P_HOMEPAGE: 13,							            /**< [string] Homepage */
		P_ABOUT: 14,							                /**< [string] Arbitrary introductory text */
		P_AVATAR_IMAGE: 15,						        /**< [binary] Avatar image.
                                                                                If the avatar image has not been set, this property is empty. See also Contact::GetAvatar().
                                                                                The avatar set must be JPEG image with a maximum of 96 pixels for each side. */
		P_MOOD_TEXT: 16,						            /**< [string] Personal mood text (visible to authorised users only) */
		P_RICH_MOOD_TEXT: 17,					        /**< [string] XML version of CONTACT_MOOD_TEXT */
		P_TIMEZONE: 18,							            /**< [int] 24 * 3600 + diff_to_UTC_in_seconds. nb! changes with DST */
		P_CAPABILITIES: 19,						            /**< [binary] The capabilities are not meant to be interpreted by UI. 
                                                                                 The property is only there for UI to get the notification of change
                                                                                 in capabilities (via OnChange). After that the UI should 
                                                                                 use GetCapabilityStatus() to query individual capabilities. */
		P_AVAILABILITY: 20,						            /**< [enum AVAILABILITY] Availability */
		P_STATUS: 21,							                /**< [enum STATUS] Status */
		P_PWDCHANGESTATUS: 22,				        /**< [enum PWDCHANGESTATUS] Used when changing password */
		P_LOGOUTREASON: 23,						        /**< [enum LOGOUTREASON] Logout reason */
		P_COMMITSTATUS: 24,						        /**< [enum COMMITSTATUS] Commit status */
		P_SUGGESTED_SKYPENAME: 25,				/**< [string] Suggested skypename. Present if logout reason is SKYPENAME_TAKEN */
		P_SKYPEOUT_BALANCE_CURRENCY: 26,		/**< [string] Skype Credit balance currency, "EUR", "USD", etc.
                                                                                 Note that OnChange events won't be sent for this property,
                                                                                 only P_SKYPEOUT_BALANCE changes will be sent (when changing the currency the
                                                                                 balance changes automatically too. */
		P_SKYPEOUT_BALANCE: 27,					    /**< [int] Balance in "cents". The balance is communicated as integer with "implied"
                                                                                2 decimal points. For example in EUR, 4500 means 45.00 EUR and in JPY, 450000 means 4500 JPY. */
		P_SKYPEOUT_PRECISION: 28,				        /**< [int] */
		P_SKYPEIN_NUMBERS: 29,					        /**< [string] Space-separated list of SkypeIn numbers */
		P_CBLSYNCSTATUS: 30,					            /**< [enum CBLSYNCSTATUS] CBL synchronization status */
		P_SERVICE_PROVIDER_INFO: 31,			        /**< [string] Service information if the user is a paid service provider */
		P_REGISTRATION_TIMESTAMP: 32,			    /**< [int] UNIX timestamp of when user was registered */
		P_NR_OF_OTHER_INSTANCES: 33,			    /**< [int] Number of instances this user is logged in (from other computers or devices) */
		P_OFFLINE_CALLFORWARD: 34,				    /**< [string] Server-side property, use SetServersideProps() to set this.
                                                                                The list of Skype names or PSTN numbers to forward calls to. The list is a space-separated list of 
                                                                                "begSecond, endSecond,identity" tokens. So "a0,b0,id0 a1,b1,id1 ... an,bn,idn". Redirect to id1 
                                                                                if id0 is not answering from a0 [sec] to b0 [sec]; redirect to id2 if id1 is not answering 
                                                                                from a1 [sec] to b1 [sec] ... and so on. For example: 0,20,some_user 20,40 some_user2 40,60,+some_number, 
                                                                                if user to whom we are calling is not answering then redirect to some_user, if some_user is not 
                                                                                answering [0,20] sec redirect to some_user2, if some_user2 is not answering during [20,40] sec then redirect to +some_number and so on.
                                                                                If you want to setup pstn redirection you have to have skypeout and you will pay for redirected call to pstn.
                                                                                Call forwarding has priority over voicemail redirection and if call forwarding fails then voicemail redirection will be started automatically.
                                                                                If the user has voicemail and he is OFFLINE then voicemail redirection will be started automatically (like in desktop client).
                                                                                The UI should decide what to do if the user is ONLINE and he is not answering, they shoud do it with UI 
                                                                                settings and use Call::End() to redirect call to another number (call forwaring) or to voicemail.*/
		P_CHAT_POLICY: 35,						            /**< [enum CHATPOLICY] Server-side property */
		P_SKYPE_CALL_POLICY: 36,				        /**< [enum SKYPECALLPOLICY] Server-side property */
		P_PSTN_CALL_POLICY: 37,					        /**< [enum PSTNCALLPOLICY] Server-side property */
		P_AVATAR_POLICY: 38,					            /**< [enum AVATARPOLICY] Server-side property */
		P_BUDDYCOUNT_POLICY: 39,				        /**< [enum BUDDYCOUNTPOLICY] Server-side property */
		P_TIMEZONE_POLICY: 40,					        /**< [enum TIMEZONEPOLICY] Server-side property */
		P_WEBPRESENCE_POLICY: 41,				    /**< [enum WEBPRESENCEPOLICY] Server-side property */
		P_PHONENUMBERS_POLICY: 42,				    /**< [enum PHONENUMBERSPOLICY] Server-side property */
		P_VOICEMAIL_POLICY: 43					        /**< [enum VOICEMAILPOLICY] Server-side property */
	};

var ENUM_ACCOUNT_AVAILABILITY= {

		UNKNOWN : 1,						        /**< Unknown */
		OFFLINE : 2,							        /**< Offline */
		ONLINE : 3,								    /**< Online */
		AWAY : 4,								        /**< Away */
		NOT_AVAILABLE : 5,					    /**< Not available */
		DO_NOT_DISTURB : 6,					    /**< Do not disturb */
		INVISIBLE : 7,							    /**< Invisible */
		SKYPE_ME : 8,							    /**< Skype-me */
		CONNECTING : 9,						    /**< Currently connecting */
	};

var ENUM_PWD_VALIDATERESULT = {
		NOT_VALIDATED : 0,				        /**< Not validated */
		VALIDATED_OK : 1,					        /**< Validated OK */
		TOO_SHORT : 2,						        /**< Too short */
		TOO_LONG : 3,						        /**< Too long */
		CONTAINS_INVALID_CHAR : 4,	        /**< Contains invalid char */
		CONTAINS_SPACE : 5,					/**< Contains space */
		SAME_AS_USERNAME : 6,				/**< Same as username */
		INVALID_FORMAT : 7,					    /**< Invalid format */
		CONTAINS_INVALID_WORD : 8,		/**< Contains invalid word */
		TOO_SIMPLE : 9,						    /**< Too simple */
	};
    
var	ENUM_NORMALIZERESULT = {
		IDENTITY_OK : 1,						/**< The identity is valid */
		IDENTITY_EMPTY :2,						/**< The identity is empty */
		IDENTITY_TOO_LONG : 3,					/**< The identity is too long */
		IDENTITY_CONTAINS_INVALID_CHAR: 4,		/**< The identity has invalid characters */
		PSTN_NUMBER_HAS_INVALID_PREFIX : 5,		/**< Identity looks like pstn number but does not start with +/00/011 */
		SKYPENAME_STARTS_WITH_NONALPHA : 6,		/**< The Skype username starts with a non-alphabetic character */
		SKYPENAME_SHORTER_THAN_6_CHARS: 7,		/**< Skype username too short, returned only when isNewSkypeName */
		PSTN_NUMBER_TOO_SHORT: 9,				/**< PSTN number too short */
	};
    
 var ENUM_LOGOUTREASON = {
		LOGOUT_CALLED : 1,					                /**< Manual logout (or unknown reason, from previous session) */
		HTTPS_PROXY_AUTH_FAILED : 2,			    /**< Synchronous error at login/registration */
		SOCKS_PROXY_AUTH_FAILED : 3,			    /**< Synchronous error at login/registration */
		P2P_CONNECT_FAILED : 4,					        /**< Synchronous error at login/registration */
		SERVER_CONNECT_FAILED : 5,				    /**< Synchronous error at login/registration */
		SERVER_OVERLOADED : 6,					        /**< Synchronous error at login/registration */
		DB_IN_USE : 7,
		INVALID_SKYPENAME : 8,					        /**< Synchronous error at registration */
		INVALID_EMAIL : 9,						            /**< Synchronous error at registration */
		UNACCEPTABLE_PASSWORD : 10,
		SKYPENAME_TAKEN : 11,					        /**< Synchronous error at registration */
		REJECTED_AS_UNDERAGE : 12,				    /**< Synchronous error at registration */
		NO_SUCH_IDENTITY : 13,					        /**< Synchronous error at login. In practice this error is never returned, is used, INCORRECT_PASSWORD is returned. */
		INCORRECT_PASSWORD : 14,					    /**< Synchronous error at login */
		TOO_MANY_LOGIN_ATTEMPTS : 15,			/**< Synchronous error at login */
		PASSWORD_HAS_CHANGED : 16,				    /**< Asynchronous errors (can happen anytime while logged in). */
		PERIODIC_UIC_UPDATE_FAILED : 17,			/**< Asynchronous errors (can happen anytime while logged in).
                                                                                UIC stands for "user identity certificate". The way skype "login" works is that server
                                                                                issues the UIC to the user, which is like a "passport" that could be used to prove your
                                                                                identity to others. The user may choose to save that UIC locally (by setting savePwd=true),
                                                                                in which case it needs to be periodically re-issued (because it has limited validity).
                                                                                If that periodic update fails (because of server issues) and the "best before" of
                                                                                the UIC runs out, SkyHost gives this error. Try LoginWithPassword again. */
		DB_DISK_FULL : 18,
		DB_IO_ERROR : 19,
		DB_CORRUPT : 20,
		DB_FAILURE : 21,							            /**< Asynchronous errors (can happen anytime while logged in). Access to the database files in .Skype directory has failed. */
		INVALID_APP_ID : 22,
		APP_ID_BLACKLISTED  : 23,
	};

    ////////////   CALL   ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    
    var ENUM_CALL_WINDOW_TYPE = {
		VOICE_CALL : 0,				                 /**< voice call */
		VIDEO_CALL : 1,					        /**< video call */
		PSTN_CALL : 2,						        /**< skype out call */
		CONF_CALL : 3,						        /**< conference call */
	};
    
    var ENUM_CALL_MEMBE_TYPE = {
		INCOMING_P2P : 1,					                /**< The call is coming from another Skype client */
		OUTGOING_P2P : 2,						            /**< The call is going to another Skype client */
		INCOMING_PSTN : 3,						        /**< The call is coming from a PSTN phone */
		OUTGOING_PSTN : 4,						        /**< The call is going to a PSTN phone */
		OUTGOING_VOICEMAIL : 5					/**< The call is actually a voicemail being played */
	};
    
   var ENUM_CALL_MEMBER_PROPERTY = {
		P_IDENTITY : 1,						                    /**< [string] Normalised skypename, pstn-number,  or "?" if unknown (eg, skypein call). */
		P_DISPNAME : 2,							            /**< [string] User's display name. */
		P_LANGUAGES : 3,						            /**< [string] Space-separated preferred ISO language list. */
		P_CALL_DURATION : 4,				            /**< [int] Duration since answering. */
		P_PRICE_PER_MINUTE : 5,				        /**< [int] Price in "cents". */
		P_PRICE_PRECISION : 6,					        /**< [int] Decimal points in P_PRICE_PER_MINUTE */
		P_PRICE_CURRENCY : 7,					        /**< [string] Should be same as account currency at the time of the call. */
		P_TYPE : 8,								                    /**< [enum TYPE] CallMember type. */
		P_STATUS : 9,							                    /**< [enum STATUS] CallMember status. */
		P_FAILUREREASON : 10,					        /**< [enum FAILUREREASON] Failure reason. */
		P_SOUNDERROR_CODE : 11,			        /**< [int] Lowlevel error code for SOUND_*_ERROR. */
		P_SOUNDLEVEL : 12,						            /**< [int] Current "loudness" level (0..10). */
		P_PSTN_STATUSTEXT : 13,					/**< [string] PSTN status string that is sent by gateway. */
		P_PSTN_FEEDBACK : 14,					        /**< [string] Pstn call debuginfo string (to report quality problems). */
		P_FORWARD_TARGETS : 15,					/**< [string] Set while FORWARDING. "?" means undisclosed. */
		P_FORWARDED_BY : 16,						    /**< [string] Forwarder identity. "?" means undisclosed. */
		P_DEBUGINFO : 17,						            /**< [string] Technical debug string. */
		P_VIDEOSTATUS : 18,						        /**< [enum VIDEOSTATUS] Video status. */
		P_TARGET_IDENTITY : 19,					    /**< [string] Identity (PSTN number), caller called. */
		P_MIKE_STATUS : 20,						        /**< [enum MIKESTATUS] Mike status. */
		P_IS_READ_ONLY : 21,						    /**< [int] 1 if CallMember is read-only (API user can only read props) */
		P_QUALITY_STATUS : 22,					    /**< [enum QUALITYSTATUS] Gives feedback on the quality of the call and the possible reasons of a bad quality. */
		P_CALL_NAME : 23,						            /**< [string] to which call member belongs to */
		P_TRANSFER_STATUS : 24,					/**< [enum STATUS] CallMember::STATUS (transferer side) */
		P_TRANSFER_ACTIVE : 25,					/**< [int] 1 if call is being transfered (caller side) */
		P_TRANSFERRED_BY : 26,					    /**< [string] transferrer identity (transferee side) */
		P_TRANSFERRED_TO : 27,					    /**< [string] identity of recipient of transfer (transferer,caller side) */
		P_GUID : 28,								                    /**< [string] globally unique identifier of callmember, same in caller and recipient side */
		P_NEXT_REDIAL_TIME : 29,					                    /**< [int] Timestamp of next planned redial attempt */
		P_NROF_REDIALS_DONE : 30,				                    /**< [int] Number of redials performed so far */
		P_NROF_REDIALS_LEFT : 31,				                    /**< [int] Number of redial attempts left */
		P_TRANSFER_TOPIC : 32,					                        /**< [string] Transfer topic */
		P_REAL_IDENTITY : 33,					                            /**< [string] Real identity TODO clarify */
		P_START_TIMESTAMP : 34,					                    /**< [int] timestamp of callmember joining the call */
		P_IS_CONFERENCE : 35,					                            /**< [int] Same as Call P_IS_CONFERENCE */
		P_VOICEMAIL_DURATION : 36,				                /**< [int] Duration of the voicemail when leaving a VM to the call member */
		P_VOICEMAIL_ALLOWED_DURATION : 37,		    /**< [int] Maximum allowed duration of the VM */
		P_VOICEMAIL_FAILUREREASON : 38			            /**< [enum Voicemail::FAILUREREASON] Reason we couldn't leave a VM */
	};
	
	var ENUM_CALL_MEMBER_STATUS = {
		UNPLACED : 1,						/**< Unplaced call */
		ROUTING: 2,							/**< Currently finding his waya through the network */
		CANCELLED: 3,							/**< The caller has cancelled the call before it got answered */
		FAILED: 4,								/**< The call failed (see FAILUREREASON enumeration) */
		EARLYMEDIA: 5,							/**< EARLYMEDIA means sound played on remote end before the actual call,
												(whereas RINGING_OUT is simply a status of the call before voice channel 
												is opened and if any sound needs to be played, it must be played locally). */
		RINGING_OUT: 6,						/**< The outgoing call is ringing */
		RINGING_IN: 7,							/**< The incoming call is ringing */
		INPROGRESS: 8,							/**< The call was answered and has started */
		LOCALHOLD: 9,							/**< The user has put the call on hold */
		REMOTEHOLD: 10,							/**< The remote party has put the call on hold.
												 If you are in REMOTEHOLD status and want to place or accept another
												 call, you first need to get the call in LOCALHOLD by calling Hold(true); */
		FINISHED: 11,							/**< The call is finished (one of the party hang-up) */
		MISSED: 12,								/**< Call was made and connection was established but one of the
												 parties did not answer. Both incoming and outgoing calls can
												 be in this status. The missed calls shown on Skype start tab
												 are incoming MISSED calls. */
		REFUSED: 13,							/**< The other party has refused the call */
		BUSY: 14,								/**< The other party is busy (already in a call) */
		DROPPED: 15,							/**< The call terminated abnormally */
		VM_BUFFERING_GREETING: 16,				/**< Greetings are stored on server, so downloading them can take
												 some time. When sufficient amount has been downloaded call goes
												 to playing_greeting status. Still the status can alternate
												 between buffering and playing. */
		VM_PLAYING_GREETING: 17,				/**< The voicemail greetings are being played */
		VM_RECORDING: 18,						/**< Recording new voicemail greetings */
		VM_UPLOADING: 19,						/**< Uploading new voicemail greetings on the server */
		VM_SENT: 20,							/**< A voicemail has been sent */
		VM_CANCELLED: 21,						/**< A voicemail sending was cancelled */
		VM_FAILED: 22,							/**< A voicemail couldn't be sent */
		TRANSFERRING: 23,						/**< Call transfer in progress */
		TRANSFERRED: 24,						/**< Call transferred */
		WAITING_REDIAL_COMMAND: 25,				/**< TODO */
		REDIAL_PENDING:26,						/**< TODO */
};



var ENUM_CALL_STATUS = {
		UNPLACED : 1,						                    /**< Unplaced call */
		ROUTING : 2,							                    /**< Currently finding his waya through the network */
		CANCELLED : 3,							                /**< The caller has cancelled the call before it got answered */
		FAILED : 4,								                     /**< The call failed (see FAILUREREASON enumeration) */
		EARLYMEDIA :5,							             /**< EARLYMEDIA means sound played on remote end before the actual call, 
                                                                                        (whereas RINGING_OUT is simply a status of the call before voice channel 
                                                                                        is opened and if any sound needs to be played, it must be played locally). */
		RINGING_OUT :6,						                 /**< The outgoing call is ringing */
		RINGING_IN : 7,							                 /**< The incoming call is ringing */
		INPROGRESS : 8,							                /**< The call was answered and has started */
		LOCALHOLD : 9,							                 /**< The user has put the call on hold */
		REMOTEHOLD : 10,							        /**< The remote party has put the call on hold. If you are in REMOTEHOLD status and want to place or accept another
                                                                                        call, you first need to get the call in LOCALHOLD by calling Hold(true); */
		FINISHED : 11,							                     /**< The call is finished (one of the party hang-up) */
		MISSED : 12,								                 /**< Call was made and connection was established but one of the parties did not answer. Both incoming and outgoing calls can
                                                                                            be in this status. The missed calls shown on Skype start tab are incoming MISSED calls. */
		REFUSED : 13,							                     /**< The other party has refused the call */
		BUSY : 14,								                         /**< The other party is busy (already in a call) */
		DROPPED : 15,							                     /**< The call terminated abnormally */
		VM_BUFFERING_GREETING : 16,			/**< Greetings are stored on server, so downloading them can take some time. When sufficient amount has been downloaded call goes
                                                                                            to playing_greeting status. Still the status can alternate  between buffering and playing. */
		VM_PLAYING_GREETING : 17,				/**< The voicemail greetings are being played */
		VM_RECORDING : 18,						        /**< Recording new voicemail greetings */
		VM_UPLOADING : 19,						        /**< Uploading new voicemail greetings on the server */
		VM_SENT : 20,							                /**< A voicemail has been sent */
		VM_CANCELLED : 21,						        /**< A voicemail sending was cancelled */
		VM_FAILED : 22,							            /**< A voicemail couldn't be sent */
		TRANSFERRING : 23,						            /**< Call transfer in progress */
		TRANSFERRED : 24,						            /**< Call transferred */
		WAITING_REDIAL_COMMAND : 25,				/**< TODO */
		REDIAL_PENDING	 : 26,					            /**< TODO */
        
        SKYPEOUT_FAIL_REASON_1 : 31, //1000, 6009, 6113, 6519, 8401, 9502, 10408, 10420, 10480, 10482, 10486, 10487, 10500, 10502, 10503, 10504, 10600, 10603, 10686
		SKYPEOUT_FAIL_REASON_2 : 32, //6423
		SKYPEOUT_FAIL_REASON_3 : 33, //9401
		SKYPEOUT_FAIL_REASON_4 : 34, //9402
		SKYPEOUT_FAIL_REASON_5 : 35, //9403, 9407, 9408
		SKYPEOUT_FAIL_REASON_6 : 36, //9409
		SKYPEOUT_FAIL_REASON_7 : 37, //10403
		SKYPEOUT_FAIL_REASON_8 : 38, //10404
		SKYPEOUT_FAIL_REASON_9 : 39, //10484
		SKYPEOUT_FAIL_REASON_10 : 40, //10604
		SKYPEOUT_FAIL_REASON_11 : 41, //13406
        
        CALL_BEING_FORWARDED:51,
        VM_SEND_FAILED:52,
	};
    
var ENUM_DTMF = {
		DTMF_0 : 1,
		DTMF_1  : 2,
		DTMF_2  : 3,
		DTMF_3  : 4,
		DTMF_4  : 5,
		DTMF_5  : 6,
		DTMF_6  : 7,
		DTMF_7  : 8,
		DTMF_8  : 9,
		DTMF_9  : 10,
		DTMF_STAR  : 11,
		DTMF_POUND  : 12
	};

var ENUM_SCENE = {
	CONTACT_LIST		: 1,
	HISTORY_LIST		: 2,
	CHAT_HISTOR_LIST	: 3
};


var ENUM_CHAT_PROPERTY = {
  P_NAME 					: 1,       		/**< [string] Globally unique chat identifier (auto-generated) */
  P_OPTIONS 				: 2,       		/**< [int] Actually this is a bit mask of Chat::OPTION_BITMAP */
  P_FRIENDLYNAME 			: 3,      		/**< [string] Short string that has either the topic or part
             									of first messages sent in chat, stripped of whitespace,
             									shortened and terminated with ellipse if needed. */
  P_DESCRIPTION 			: 4,      		/**< [XML string] Chat's description (used for shared groups intro message) */
  P_TIMESTAMP 				: 5,     		/**< [int] UNIX timestamp (seconds since 1/1/1970) of chat creation by chat creator */
  P_ADDER					: 6,       		/**< [string] Skypename of user who added current user to this chat */
  P_TYPE 					: 7,        	/**< [enum TYPE] Chat type */
  P_MYSTATUS 				: 8,       		/**< [enum MYSTATUS] Chat status */
  P_MYROLE 					: 9,       		/**< [enum MYROLE] ChatMember::ROLE of local user. 0 means undefined */
  P_POSTERS 				: 10,      		/**< [string] Space-separated ASCII-ordered list of handles who
            								 	have posted messages into this chat. Can include handles who
             								 	have already left the chat. Usually used at history generation and searching. */
  P_PARTICIPANTS 			: 11,      		/**< [string] Space-separated ASCII-ordered list of current participants (who can see the chat contents) */
  P_APPLICANTS 				: 12,      		/**< [string] Space-separated ASCII-ordered list of current applicants */
  P_BANNED_USERS 			: 13,      		/**< [string] Space-separated ASCII-ordered list of banned users */
  P_NAME_TEXT 				: 14,      		/**< [string] Global chat name */
  P_GUIDELINES 				: 15,      		/**< [string XML] (public chat's) participation guidelines as set by latest SETGUIDELINES message */
  P_TOPIC 					: 16,       	/**< [string] Chat's topic. To change topic you must be at least USER, unless the TOPIC_AND_PIC_LOCKED_FOR_USERS
             									option is set - in that case you have to be at least MASTER. */
  P_TOPIC_XML 				: 17,      		/**< [string XML] rich topic as set by latest SETTOPIC message */
  P_PICTURE 				: 18,       	/**< [binary] Binary key that can be accessed via Chat::GetPicture()/SetPicture()
             									To change the pictureyou must be at least USER, unless the TOPIC_AND_PIC_LOCKED_FOR_USERS
             									option is set - in that case you have to be at least MASTER. */
  P_ALERTSTRING 			: 19,      		/**< [string] UI interpreted string: empty - everything matches,
               									= - nothing matches, =string - string matches. Alertstring is set
                								by user when he types /alertson or /alertsoff commands
                								(as Say()-s). The idea is that UI will alert about new messages
                								in the chat according to this alertstring policy. */
  P_IS_BOOKMARKED 			: 20,     		/**< [int] 0/1 whether user has bookmarked this chat using SetBookmark() */
  P_ACTIVITY_TIMESTAMP 		: 21,    		/**< [int] Unix timestamp of last activity in chat. "Activity" is defined by
      											"something happened that's worthwhile to show to the users".
      											P_ACTIVITY_TIMESTAMP may be 0 for some chats. These should not be displayed. They are either chat created
      											but without any message or chat used to support a shared group (Shared groups are internally implemented using chat). */
  P_DIALOG_PARTNER 			: 22,     		/**< [string] Username of the other side if/when this chat is/was a dialog */
  P_PASSWORDHINT 			: 23     		/**< [string] Password hint */
 };
 
var ENUM_CHAT_TYPE = {
		LEGACY_DIALOG 			: 1,		/**< The other party is of legacy type. Due to that certain limitations exist (no topic, can't invite more members). */
		DIALOG 					: 2,		/**< This is a 1:1 dialog between two Skype clients. */
		MULTICHAT 				: 3,		/**< This chat has (or had in past) more than 2 members so it's no longer a 1:1 chat and should not be used for that purpose. */
		SHAREDGROUP 			: 4,	    /**< Shared contact group used chat as underlying implementation. This chat is used to transport a shared group. */
		LEGACY_UNSUBSCRIBED	 	: 5,	    /**< The logged in user has left/unsubscribed from this chat. */
};
 
///////////Voice Mail//////////

var ENUM_VOICE_MAIL_STATUS = {
		
	NOTDOWNLOADED	: 1,
	DOWNLOADING		: 2,
	UNPLAYED		: 3,
	BUFFERING		: 4,
	PLAYING			: 5,
	PLAYED			: 6,
	BLANK			: 7,
	RECORDING		: 8,
	RECORDED		: 9,
	UPLOADING		:10,
	UPLOADED		:11,
	DELETING		:12,
	FAILED			:13,
	DELETING_FAILED	:14,
	CHECKING		:15
	
};

///////////Scene Status//////////

var ENUM_SCENE_STATUS = {

	INITIALIZED		: 0,
	CREATED			: 1,			//until created	
	ACTIVATED		: 2,			//show & focus, allow update event...
	DEACTIVATED		: 3,			//only show & maybe not focus, not allow update event...
	DISAPPEARED		: 4,			//hide
	DESTORYED		: 5				//destory

};

var ENUM_SCENE_NAVIGATOR = {

	RETURN_TAB		: 0,
	CONTACT_BTN		: 1,
	SIGNOUT_BTN		: 2,	
	CONTACT_LIST	: 3,
	GOTO_SKYPE		: 4,	

};

/////////////TOOL////////////////////

var TOOL_MENU_LIST_TYPE = {      

	NOTHING					: 0,
	
	CONTACT_LIST			: 1,
	HISTORY_LIST			: 2,
	CHAT_LIST				: 3,
	
	VOICE_CALL_BUTTON		: 4,
	
	VIDEO_CALL				: 5,
	VIDEO_CALL_WITH_EXT_CAM	: 6,	
	VOICE_CALL				: 7
}


var MAIN_LIST_POPUP_FUNCTION_TYPE = {      

	NOTHING					: 0,
	
	CONTACT_RENAME			: 1,
	CONTACT_REMOVE			: 2,
	CONTACT_BLOCK			: 3,
	CONTACT_BLOCK_REMOVE	: 4,
	CONTACT_UNBLOCK			: 5,
	CONTACT_ADD_REQUEST		: 6,
	CONTACT_IGNORE_REQEST	: 7,
	CONTACT_BLOCK_REQEST	: 8,
	
	HISTORY_BLOCK			: 9,
	HISTORY_BLOCK_REMOVE	:10,
	HISTORY_UNBLOCK			:11,
	HISTORY_REMOVE			:12,
	
	CHAT_BLOCK				:13,
	CHAT_BLOCK_REMOVE		:14,
	CHAT_UNBLOCK			:15,
	CHAT_REMOVE				:16,
	
	OPTION_BLOCK			:17,
	OPTION_UNBLOCK			:18
}

var COUNTRY_LIST_TYPE = {      
	    INIT				:   0,
	    SIGNUP				:   1, 
		EDIT_PROFILE		:	2,	                                 
}

var TV_MODEL_CODE = {      
	   	NORMAL				:   0,
	    GENOA_S				:   1, 
		X10P				:	2,
		FOX					:   3,
		FOX_SBB				: 	4, 
		X12					:   5
}

////Camera /////////////////////////////////////////////////////////////////////////////////////////////////

var ENUM_CAM_PROPERTY = 
{
	CAM_PROPERTY_BITRATE : "0",
	CAM_PROPERTY_FRAMERATE: "1",
	CAM_PROPERTY_NEWGOP: "2",
	CAM_PROPERTY_DIMENSION: "3",
	CAM_PROPERTY_MICVOLUME: "4",
	CAM_PROPERTY_SAMPLERATE: "5", //5
	CAM_PROPERTY_SAMPLEBITS: "6",
	CAM_PROPERTY_ZOOM: "7",
	CAM_PROPERTY_PAN: "8",
	CAM_PROPERTY_TILT: "9",
	CAM_PROPERTY_AUTO_HZ: "10",
	CAM_PROPERTY_AUTO_FOCUS: "11", //11
	CAM_PROPERTY_MIRROR: "12",			// (KITECam Only) Mirror Image Control
	CAM_PROPERTY_FLIP: "13",				// (KITECam Only) Flip Image Control
	CAM_PROPERTY_FD_CONTROL: "14",		// (KITECam Only) Face Detection Control
	CAM_PROPERTY_SIGNAL_TYPE: "15",		// (KITECam Only) Video Stream Selection
	CAM_PROPERTY_I2C_READ_VIDEO: "16",	// (KITECam Only) Read ISP Register
	CAM_PROPERTY_I2C_WRITE_VIDEO: "17",	// (KITECam Only) Write ISP Register
	CAM_PROPERTY_I2C_READ_AUDIO: "18",	// (KITECam Only) Read ADC Register
	CAM_PROPERTY_I2C_WRITE_AUDIO: "19",	// (KITECam Only) Write ADC Register
	CAM_PROPERTY_CROP_VGA: "20",			// (KITECam Only) Crop VGA Sized image for YUYV, GRAY
	CAM_PROPERTY_TRIGGER_JPEG: "21",		// (KITECam Only) Trigger JPEG 1 frame
	CAM_PROPERTY_AUDIO_MODE: "22",		    // (KITECam Only) Audio Mode
	CAM_PROPERTY_WOV: "23",		        // (KITECam Only) WOV Control
	CAM_PROPERTY_VIDEO_MODE: "24",
	CAM_PROPERTY_NV12_MODE_CONTROL: "25",		// (KITECam Only) Enable/Disable NV12 mode
	CAM_PROPERTY_BRIGHTNESS: "26",					// (KITECam Only) Brightness setting (1~255)
	CAM_PROPERTY_CONTRAST: "27",					// (KITECam Only) Contrast setting (0~255)
	CAM_PROPERTY_SATURATION: "28",					// (KITECam Only) Saturation setting (0~255)
	CAM_PROPERTY_SHARPNESS: "29",					// (KITECam Only) Sharpness setting (0~255)
	CAM_PROPERTY_HUE: "30",							// (KITECam Only) Hue setting (-180~180)
	CAM_PROPERTY_GAMMA: "31",						// (KITECam Only) Gamma setting (1~255)
	CAM_PROPERTY_BACKLIGHT_CONTROL: "32",			// (KITECam Only) Enable/Disable Backlight
	CAM_PROPERTY_POWER_LINE_FREQUENCY: "33",		// (KITECam Only) Power line frequency (auto/50Hz/60Hz)
	CAM_PROPERTY_AWB_TEMPERATURE: "34",			// (KITECam Only) Auto White Balance (2800~6500: step 10)
	CAM_PROPERTY_MANUAL_AWB_CONTROL: "35",		// (KITECam Only) Enable/Disable Auto White Balance
	CAM_PROPERTY_IMAGE_EFFECT: "36",				// (KITECam Only) Image Effect Control (0~24)
	CAM_PROPERTY_3A_CONTROL: "37",					// (KITECam Only) Enable/Disable each 3A (AE, AWB, AF)
	CAM_PROPERTY_WDR_CONTROL: "38",				// (KITECam Only) Enable/Disable WDR
	CAM_PROPERTY_COLOR_EFFECT: "39",				// (KITECam Only) Color Effect Control (0~3)
	CAM_PROPERTY_MANUAL_GAIN_CONTROL: "40",		// (KITECam Only) Enable/Disable Manual Gain Cotrol
	CAM_PROPERTY_DIGITAL_GAIN_CONTROL: "41",		// (KITECam Only) Digital Gain Control (Each RGB Gain)
	CAM_PROPERTY_ANALOG_GAIN_CONTROL: "42",		// (KITECam Only) Analog Gain Control (RGB Gain)
	CAM_PROPERTY_LOCAL_MIRROR: "43",				// (KITECam Only) Local Mirror Control(0, 1)
	CAM_PROPERTY_M2TS_CONTROL: "44",				// (KITECam Only) Enable/Disable M2TS
	CAM_PROPERTY_MIRROR_SUB: "45",
	CAM_PROPERTY_IFRAME_INTERVAL: "46",
	CAM_PROPERTY_TS_DURATION: "47",
	CAM_PROPERTY_VERSION: "48",
	CAM_PROPERTY_WOV_UPDATE: "49",
	CAM_PROPERTY_WOV_INDEX: "50",
	CAM_PROPERTY_WOV_VERIFICATION: "51",
	CAM_PROPERTY_LUX: "52",
	CAM_PROPERTY_MODEL: "53",
	CAM_PROPERTY_DIMENSION_EX: "54",
	CAM_PROPERTY_NUM_MIC: "55",
	CAM_PROPERTY_DISTANCE_MIC: "56",
	CAM_PROPERTY_PRESET: "57",
	CAM_PROPERTY_HAWLING_LEVEL: "58",
	CAM_PROPERTY_SENSOR_FPS: "59",
	CAM_PROPERTY_RESERVED_0: "60",
	CAM_PROPERTY_RESERVED_1: "61",
	CAM_PROPERTY_RESERVED_2: "62",
	CAM_PROPERTY_RESERVED_3: "63",
	CAM_PROPERTY_RESERVED_4: "64",
	CAM_PROPERTY_RESERVED_5: "65",
	CAM_PROPERTY_RESERVED_6: "66",
	CAM_PROPERTY_RESERVED_7: "67",
	CAM_PROPERTY_RESERVED_8: "68",
	CAM_PROPERTY_RESERVED_9: "69"
} ;

var ENUM_CAM_CAPABILITY = 
{
	CAM_CAPABILITY_ZOOM:"0",
	CAM_CAPABILITY_DUAL_ENCODING:"1",
	CAM_CAPABILITY_SIGNAL_TYPE:"2",
	CAM_CAPABILITY_TRIGGER_JPEG:"3",
	CAM_CAPABILITY_WOV:"4",
	CAM_CAPABILITY_BEAMFORMER:"5",
	CAM_CAPABILITY_AUTO_HZ:"6", //if camera supports this, anti-flicker menu is not necessary.
	CAM_CAPABILITY_FACE_TRACKING:"7",
	CAM_CAPABILITY_FHD:"8",
	CAM_CAPABILITY_Y800600:"9",
	CAM_CAPABILITY_RECOG_VOICE:"10",
	CAM_CAPABILITY_RECOG_GESTURE:"11",
	CAM_CAPABILITY_RESERVED_0:"12",
	CAM_CAPABILITY_RESERVED_1:"13",
	CAM_CAPABILITY_RESERVED_2:"14",
	CAM_CAPABILITY_RESERVED_3:"15",
	CAM_CAPABILITY_RESERVED_4:"16",
	CAM_CAPABILITY_RESERVED_5:"17",
	CAM_CAPABILITY_RESERVED_6:"18",
	CAM_CAPABILITY_RESERVED_7:"19",
	CAM_CAPABILITY_RESERVED_8:"20",
	CAM_CAPABILITY_RESERVED_9:"21"
};


var ARROW_TYPE = { 
 
 	UP_NOR		:1,
    UP_SEL		:2,
	DOWN_NOR	:3,
	DOWN_SEL	:4,
	ARROW_SHOW :5,
	ARROW_HIDE :6
}

var KPI_LOG_ITEM_ID ={};
