
function Members(inst,membersDIV,recipDIV,pc,pp,pg) {
	this.inst=inst;
	this.membersDIV=membersDIV;
	this.recipDIV=recipDIV;
	this.iPC=(1*pc);
	this.iPP=(1*pp);
	this.iPg=(1*pg);
	this.PG=null;
	this.iMyID=-1;
	this.iGroup=-1;
	this.iVenue=-1;
	
	this.hideMe=false;
	this.memberlink=false;
	this.passive=false;
	this.showRole=false;
	this.roleAction=null;
	this.chooseAction=null;
	
	this.asCtrl=null;
	
	this.setMyID=function(mid) { this.iMyID=mid; }
	this.setHideMe=function(hideme) { this.hideMe=hideme; }
	this.setMemberLink=function(memberlink) { this.memberlink=memberlink; }
	this.setPassive=function(passive) { this.passive=passive; }
	this.setGroupID=function(grpid) { this.iGroup=grpid; }
	this.setVenueID=function(venid) { this.iVenue=venid; }
	this.setShowRole=function(show) { this.showRole=show; }
	this.setRoleAction=function(action) { this.roleAction=action; }
	this.setChooseAction=function(action) { this.chooseAction=action; }
	
	this.addCtrl=function(ctrl) {
		if (this.asCtrl==null) this.asCtrl=new Array();
		var idx=this.asCtrl.length;
		this.asCtrl[idx]=new Object();
		this.asCtrl[idx].ctrl=ctrl;
	}

	this.drawMembers=function() {
		if (this.PG==null) {
			var fetch=new Fetcher(true);
			var sResp=fetch.now('jsp/feed/members.jsp?cnt='+(this.PG==null ? 1 : 0)+'&grpid='+this.iGroup+'&venid='+this.iVenue);

			if (this.PG==null) this.PG=new PG(this.iPP,this.iPg,extractXML(sResp,"cnt"));
		}

		var oDiv=getElement(this.membersDIV);
		if (oDiv) {
			var sPgHTML=this.getPaging();
			var sMembersHTML=this.getMembers();

			oDiv.innerHTML='<div class="memberstop">'
							+sPgHTML
							+'<br clear="all" \/>'
							+'<\/div>'
							+sMembersHTML;
		}
	}
	this.getPaging=function() {
		return '<p class="pgflick" style="float:right"><a href="javascript:'+this.inst+'.pg(-1)"><img src="img/btn/prev.gif" width="18" height="15" alt="<" \/><\/a>'
				+'<span>'+this.PG.from()+' to '+this.PG.to()+' of '+this.PG.max()+'<\/span>'
				+'<a href="javascript:'+this.inst+'.pg(1)"><img src="img/btn/next.gif" width="18" height="15" alt=">" \/><\/a><\/p>';
	}
	this.getMembers=function() {
		var fetch=new Fetcher(true);
		var sResp=fetch.now("jsp/feed/members.jsp?mmbrs=1&pg="+this.PG.current()+"&pp="+this.PG.perpage()+'&grpid='+this.iGroup+'&venid='+this.iVenue);

		var asAll=extractXML(sResp,"mmbrs").split("\|");

		var sHTML='';

		var as=null;
		var iCol=this.iPC;
		var sClass="";
		var sRole="";
		for (var i=0 ; i<asAll.length-1 ; i++) {
			as=asAll[i].split("~");

			if (!this.hideMe || as[0]!=this.iMyID) {
				if (iCol--==0) {
					iCol=this.iPC-1;
					sHTML+='<\/tr><tr valign="bottom">';
				}
			
				sClass=(iCol==0 ? 'r' : '');
				switch (as[4]) {
					case 'm': sRole="Manager"; break;
					case 'j': sRole="Admin"; break;
					default: sRole="&nbsp;";
				}

				sHTML+='<td'+(sClass.length>0 ? ' class="'+sClass+'"' : '')+' id="t'+as[0]+'">'
						+(this.memberlink ? '<a href="people/'+as[2]+'">'+'<img src="'+getThumbPicPath(as[0])+'" align="top" \/>'+'<\/a>' : '<img src="'+getThumbPicPath(as[0])+'" align="top" \/>')
						+'<p>'+(this.memberlink ? '<a href="people/'+as[2]+'">'+as[1]+'<\/a>' : as[1])+'<\/p>'
						+(this.showRole ? '<p>'+sRole+'<\/p>' : '');
						
						if (this.roleAction!=null) {
							if (as[4]=='a')	sHTML+='<p><a href="javascript:'+this.roleAction+'('+as[0]+',\'j\')"><img src="img/btn_s/make-admin.gif" width="100" height="18" alt="Make Admin" align="top" \/><\/a></p>';
							else if (as[4]=='j') sHTML+='<p><a href="javascript:'+this.roleAction+'('+as[0]+',\'a\')"><img src="img/btn_s/cancel-admin.gif" width="100" height="18" alt="Cancel Admin" align="top" \/><\/a></p>';
							else sHTML+='<p>&nbsp;<\/p>';
						}
						
						if (this.chooseAction!=null) {
							sHTML+='<p><a href="javascript:'+this.chooseAction+'('+as[0]+',\''+as[1]+'\')"><img src="img/btn_s/choose.gif" width="51" height="14" alt="Choose" align="top" \/><\/a></p>';
						}
						
						if (this.asCtrl!=null) {
							if (this.iMyID!=as[0] && as[4]!='m') {
								for (var j=0 ; j<this.asCtrl.length ; j++)
									sHTML+='<p>'+this.asCtrl[j].ctrl.replace(/#MID/g,as[0])+'</p>';
							}
						}

				sHTML+='<div class="hr"><\/div><\/td>';
			}
		}
		return '<table class="recip"><tr valign="bottom">'+sHTML+'<\/table>';
	}
	this.pg=function(iDelta) {
		this.PG.move(iDelta);
		this.drawMembers();
	}
}
