if(typeof AJAX == "undefined") AJAX={};
AJAX_class = function() {};
Object.extend(AJAX_class.prototype, Object.extend(new AjaxPro.AjaxClass(), {
	GetAutoCheckData: function(getAllFolders, getEmails, folderID, sortField, ascOrder, firstRow, rowCount) {
		return this.invoke("GetAutoCheckData", {"getAllFolders":getAllFolders, "getEmails":getEmails, "folderID":folderID, "sortField":sortField, "ascOrder":ascOrder, "firstRow":firstRow, "rowCount":rowCount}, this.GetAutoCheckData.getArguments().slice(7));
	},
	GetFoldersAndEmails: function(folderID, sortField, ascOrder, firstRow, rowCount) {
		return this.invoke("GetFoldersAndEmails", {"folderID":folderID, "sortField":sortField, "ascOrder":ascOrder, "firstRow":firstRow, "rowCount":rowCount}, this.GetFoldersAndEmails.getArguments().slice(5));
	},
	GetFolders: function() {
		return this.invoke("GetFolders", {}, this.GetFolders.getArguments().slice(0));
	},
	GetEmails: function(folderID, sortField, ascOrder, firstRow, rowCount) {
		return this.invoke("GetEmails", {"folderID":folderID, "sortField":sortField, "ascOrder":ascOrder, "firstRow":firstRow, "rowCount":rowCount}, this.GetEmails.getArguments().slice(5));
	},
	SearchEmails: function(query, sortField, ascOrder, firstRow, rowCount) {
		return this.invoke("SearchEmails", {"query":query, "sortField":sortField, "ascOrder":ascOrder, "firstRow":firstRow, "rowCount":rowCount}, this.SearchEmails.getArguments().slice(5));
	},
	GetMessage: function(emailID, emailTicket) {
		return this.invoke("GetMessage", {"emailID":emailID, "emailTicket":emailTicket}, this.GetMessage.getArguments().slice(2));
	},
	MarkAsRead: function(emailID) {
		return this.invoke("MarkAsRead", {"emailID":emailID}, this.MarkAsRead.getArguments().slice(1));
	},
	SwitchToLoggedInMode: function(username, password, persist, DraftTicket) {
		return this.invoke("SwitchToLoggedInMode", {"username":username, "password":password, "persist":persist, "DraftTicket":DraftTicket}, this.SwitchToLoggedInMode.getArguments().slice(4));
	},
	SwitchToNewUser: function(SignupName, SignupEmail, SignupUserName, SignupPassword, persist, DraftTicket, captchaText) {
		return this.invoke("SwitchToNewUser", {"SignupName":SignupName, "SignupEmail":SignupEmail, "SignupUserName":SignupUserName, "SignupPassword":SignupPassword, "persist":persist, "DraftTicket":DraftTicket, "captchaText":captchaText}, this.SwitchToNewUser.getArguments().slice(7));
	},
	SendPasswordReminder: function(userName, secondaryEmail) {
		return this.invoke("SendPasswordReminder", {"userName":userName, "secondaryEmail":secondaryEmail}, this.SendPasswordReminder.getArguments().slice(2));
	},
	ImportContacts: function(account, password, service) {
		return this.invoke("ImportContacts", {"account":account, "password":password, "service":service}, this.ImportContacts.getArguments().slice(3));
	},
	SetImportContactsToolbarVisibility: function(isVisible) {
		return this.invoke("SetImportContactsToolbarVisibility", {"isVisible":isVisible}, this.SetImportContactsToolbarVisibility.getArguments().slice(1));
	},
	GetRootCategories: function() {
		return this.invoke("GetRootCategories", {}, this.GetRootCategories.getArguments().slice(0));
	},
	GetSystemPhotos: function() {
		return this.invoke("GetSystemPhotos", {}, this.GetSystemPhotos.getArguments().slice(0));
	},
	AddOrEditExternalMailAccount: function(extMailAcctID, email, pass, blnKeepACopy, pop3ServerName, pop3TCPPort, pop3UseSSL) {
		return this.invoke("AddOrEditExternalMailAccount", {"extMailAcctID":extMailAcctID, "email":email, "pass":pass, "blnKeepACopy":blnKeepACopy, "pop3ServerName":pop3ServerName, "pop3TCPPort":pop3TCPPort, "pop3UseSSL":pop3UseSSL}, this.AddOrEditExternalMailAccount.getArguments().slice(7));
	},
	EditExternalMailAccount: function(extMailAcctID, email, pass, blnKeepACopy, pop3ServerName, pop3TCPPort, pop3UseSSL) {
		return this.invoke("EditExternalMailAccount", {"extMailAcctID":extMailAcctID, "email":email, "pass":pass, "blnKeepACopy":blnKeepACopy, "pop3ServerName":pop3ServerName, "pop3TCPPort":pop3TCPPort, "pop3UseSSL":pop3UseSSL}, this.EditExternalMailAccount.getArguments().slice(7));
	},
	InitiateCheckExternalAccountsForNewMessages: function() {
		return this.invoke("InitiateCheckExternalAccountsForNewMessages", {}, this.InitiateCheckExternalAccountsForNewMessages.getArguments().slice(0));
	},
	GetTopContacts: function() {
		return this.invoke("GetTopContacts", {}, this.GetTopContacts.getArguments().slice(0));
	},
	GetFirstNEntries: function(socialNetwork, n) {
		return this.invoke("GetFirstNEntries", {"socialNetwork":socialNetwork, "n":n}, this.GetFirstNEntries.getArguments().slice(2));
	},
	GetAllEntries: function(socialNetwork) {
		return this.invoke("GetAllEntries", {"socialNetwork":socialNetwork}, this.GetAllEntries.getArguments().slice(1));
	},
	GetContactsByPrefix: function(prefix) {
		return this.invoke("GetContactsByPrefix", {"prefix":prefix}, this.GetContactsByPrefix.getArguments().slice(1));
	},
	GetDetailedContactsByPrefix: function(prefix) {
		return this.invoke("GetDetailedContactsByPrefix", {"prefix":prefix}, this.GetDetailedContactsByPrefix.getArguments().slice(1));
	},
	AddEntry: function(ContactName, ContactEmail, ContactHomePhone, ContactMobilePhone, ContactWorkPhone, ContactNotes) {
		return this.invoke("AddEntry", {"ContactName":ContactName, "ContactEmail":ContactEmail, "ContactHomePhone":ContactHomePhone, "ContactMobilePhone":ContactMobilePhone, "ContactWorkPhone":ContactWorkPhone, "ContactNotes":ContactNotes}, this.AddEntry.getArguments().slice(6));
	},
	UpdateEntry: function(contactID, ContactName, ContactEmail, useContactPhoto, sysPhotoName, ContactHomePhone, ContactMobilePhone, ContactWorkPhone, ContactNotes) {
		return this.invoke("UpdateEntry", {"contactID":contactID, "ContactName":ContactName, "ContactEmail":ContactEmail, "useContactPhoto":useContactPhoto, "sysPhotoName":sysPhotoName, "ContactHomePhone":ContactHomePhone, "ContactMobilePhone":ContactMobilePhone, "ContactWorkPhone":ContactWorkPhone, "ContactNotes":ContactNotes}, this.UpdateEntry.getArguments().slice(9));
	},
	CreateContact: function(prefix, ContactName, ContactEmail, ContactHomePhone, ContactMobilePhone, ContactWorkPhone, ContactNotes) {
		return this.invoke("CreateContact", {"prefix":prefix, "ContactName":ContactName, "ContactEmail":ContactEmail, "ContactHomePhone":ContactHomePhone, "ContactMobilePhone":ContactMobilePhone, "ContactWorkPhone":ContactWorkPhone, "ContactNotes":ContactNotes}, this.CreateContact.getArguments().slice(7));
	},
	UpdateContact: function(prefix, contactID, ContactName, ContactEmail, useContactPhoto, sysPhotoName, ContactHomePhone, ContactMobilePhone, ContactWorkPhone, ContactNotes) {
		return this.invoke("UpdateContact", {"prefix":prefix, "contactID":contactID, "ContactName":ContactName, "ContactEmail":ContactEmail, "useContactPhoto":useContactPhoto, "sysPhotoName":sysPhotoName, "ContactHomePhone":ContactHomePhone, "ContactMobilePhone":ContactMobilePhone, "ContactWorkPhone":ContactWorkPhone, "ContactNotes":ContactNotes}, this.UpdateContact.getArguments().slice(10));
	},
	DeleteEntries: function(contactIDs) {
		return this.invoke("DeleteEntries", {"contactIDs":contactIDs}, this.DeleteEntries.getArguments().slice(1));
	},
	DeleteContacts: function(prefix, contactIDs) {
		return this.invoke("DeleteContacts", {"prefix":prefix, "contactIDs":contactIDs}, this.DeleteContacts.getArguments().slice(2));
	},
	GetAccountInfo: function() {
		return this.invoke("GetAccountInfo", {}, this.GetAccountInfo.getArguments().slice(0));
	},
	UpdateUserDetails: function(UserName, UserDisplayName, UserHeadline, UserSecondaryEmail) {
		return this.invoke("UpdateUserDetails", {"UserName":UserName, "UserDisplayName":UserDisplayName, "UserHeadline":UserHeadline, "UserSecondaryEmail":UserSecondaryEmail}, this.UpdateUserDetails.getArguments().slice(4));
	},
	UpdatePassword: function(NewPassword, OldPassword) {
		return this.invoke("UpdatePassword", {"NewPassword":NewPassword, "OldPassword":OldPassword}, this.UpdatePassword.getArguments().slice(2));
	},
	SetDefaultExternalAccount: function(newDefaultExternalAccountID) {
		return this.invoke("SetDefaultExternalAccount", {"newDefaultExternalAccountID":newDefaultExternalAccountID}, this.SetDefaultExternalAccount.getArguments().slice(1));
	},
	SetExternalAccountActivityStatus: function(extMailAcctID, isActive) {
		return this.invoke("SetExternalAccountActivityStatus", {"extMailAcctID":extMailAcctID, "isActive":isActive}, this.SetExternalAccountActivityStatus.getArguments().slice(2));
	},
	DeleteExternalAccount: function(extMailAcctID) {
		return this.invoke("DeleteExternalAccount", {"extMailAcctID":extMailAcctID}, this.DeleteExternalAccount.getArguments().slice(1));
	},
	SendPhotoInvitation: function(contactID) {
		return this.invoke("SendPhotoInvitation", {"contactID":contactID}, this.SendPhotoInvitation.getArguments().slice(1));
	},
	ImportFromMeez: function(meezUser) {
		return this.invoke("ImportFromMeez", {"meezUser":meezUser}, this.ImportFromMeez.getArguments().slice(1));
	},
	url: '/web/ajaxpro/Mail,Newman.Web.ashx'
}));
AJAX = new AJAX_class();

