function clGroup( key, type, name, desc, numsubgroups, pub, owner, password, bRestricted, dynamicMode, bUseLinkFields, incActivePeople )
	{
	this.key  = key ? key : 0;
	this.type = type ? type : 0;
	this.name = name ? name : "";
	this.desc = desc ? desc : "";
	this.numsubgroups = numsubgroups ? numsubgroups : 0;
	this.pub = pub ? pub : 0;
	this.owner = owner ? owner : "";
	this.password = password ? password : "";
	this.bRestricted = bRestricted ? bRestricted : false;
	this.dynamicMode = dynamicMode ? dynamicMode : 0;
	this.bUseLinkFields = bUseLinkFields ? bUseLinkFields : false;
	this.incActivePeople = incActivePeople ? incActivePeople : 0;
	this.resolutionStatus = null;
	this.resolutionDate = null;
	this.query = null;
	this.memberCount = 0;
	this.sParentName = "";
	
	return this;
	}

function clGroupCurriculum( key, name, assign, dueoverride, duedate, triggerfld, triggerdays )
	{
	this.key				= key
	this.name			= name
	this.assign			= assign
	this.dueoverride	= dueoverride
	this.duedate		= duedate
	this.triggerfld	= triggerfld
	this.triggerdays	= triggerdays
	return this
	}

function clGroupProfile( key, code, name )
	{
	this.key     = key
	this.code	 = code
	this.name    = name
	return this
	}

function clLinkField( link, linkvalue )
	{
	this.link = link
	this.linkvalue = linkvalue
	return this
	}
	
function clGroupListGroup( sKey, sName, sParentName, sDesc, nType, bHasChildren, bRestricted, bRestrictedByOwner )
	{
	this.sKey = sKey;
	this.sName = sName;
	this.sParentName = sParentName;
	this.sDesc = sDesc;
	this.nType = nType;
	this.bHasChildren = bHasChildren;
	this.bRestricted = bRestricted;
	this.bRestrictedByOwner = bRestrictedByOwner;
	return this;
	}
