function Membership() {

	var location = "http://www.equitable-society.com/ajax/membership.ashx";
	this.BowserErrorMessage = "Browser Not Support";

	this.CreateUser = function( jsonText ) {
		var rmi = new RemoteMethodInvoker( );
		if( rmi.IsBrowserSupported( ) ) { 
			rmi.Location = location;
			rmi.UseHttpPost = true;
			rmi.RemoteMethod =  "CreateUser";
			rmi.ClientCallBackMethod =  "callBack_CreateUser";
			rmi.Parameters.Add(jsonText);
			rmi.Invoke();
		}
		else
			alert( this.BowserErrorMessage );
	}


	this.UserExists = function( username ) {
		var rmi = new RemoteMethodInvoker( );
		if( rmi.IsBrowserSupported( ) ) { 
			rmi.Location = location;
			rmi.UseHttpPost = true;
			rmi.RemoteMethod =  "UserExists";
			rmi.ClientCallBackMethod =  "callBack_UserExists";
			rmi.Parameters.Add(username);
			rmi.Invoke();
		}
		else
			alert( this.BowserErrorMessage );
	}


	this.GetUserByID = function( userId ) {
		var rmi = new RemoteMethodInvoker( );
		if( rmi.IsBrowserSupported( ) ) { 
			rmi.Location = location;
			rmi.UseHttpPost = true;
			rmi.RemoteMethod =  "GetUserByID";
			rmi.ClientCallBackMethod =  "callBack_GetUserByID";
			rmi.Parameters.Add(userId);
			rmi.Invoke();
		}
		else
			alert( this.BowserErrorMessage );
	}


	this.UpdateUser = function( userId, jsonText ) {
		var rmi = new RemoteMethodInvoker( );
		if( rmi.IsBrowserSupported( ) ) { 
			rmi.Location = location;
			rmi.UseHttpPost = true;
			rmi.RemoteMethod =  "UpdateUser";
			rmi.ClientCallBackMethod =  "callBack_UpdateUser";
			rmi.Parameters.Add(userId);
			rmi.Parameters.Add(jsonText);
			rmi.Invoke();
		}
		else
			alert( this.BowserErrorMessage );
	}


	this.ChangeUsername = function( userId, newUsername, password ) {
		var rmi = new RemoteMethodInvoker( );
		if( rmi.IsBrowserSupported( ) ) { 
			rmi.Location = location;
			rmi.UseHttpPost = true;
			rmi.RemoteMethod =  "ChangeUsername";
			rmi.ClientCallBackMethod =  "callBack_ChangeUsername";
			rmi.Parameters.Add(userId);
			rmi.Parameters.Add(newUsername);
			rmi.Parameters.Add(password);
			rmi.Invoke();
		}
		else
			alert( this.BowserErrorMessage );
	}


	this.ChangePassword = function( userId, newPassword, oldPassword ) {
		var rmi = new RemoteMethodInvoker( );
		if( rmi.IsBrowserSupported( ) ) { 
			rmi.Location = location;
			rmi.UseHttpPost = true;
			rmi.RemoteMethod =  "ChangePassword";
			rmi.ClientCallBackMethod =  "callBack_ChangePassword";
			rmi.Parameters.Add(userId);
			rmi.Parameters.Add(newPassword);
			rmi.Parameters.Add(oldPassword);
			rmi.Invoke();
		}
		else
			alert( this.BowserErrorMessage );
	}


}
