
function StandardMembersJSWidget() {

    this.width=200;
	this.height=200;
	this.scroll_direction="Down";
	this.image_width=85;
	this.image_height=85;
	this.background="FFFFFF";
	this.border="EEEEEE";
	this.font_color="000000";
	this.feed="";
	this.div_name="";
	this.vpadding=4;
	this.hpadding=4;
	this.limit_dir="Down";
	this.limit_amount=2;
	this.size_type="Adjust";
	this.scroll_width=17;

    this.draw = function () {
		var browser = navigator.appName;
		if(browser == "Microsoft Internet Explorer"){
			this.scroll_width=19;
		}
		if(this.font_color==""){
			this.font_color="000000";
		}
		document.write('<div id="' + this.div_name + '_output"></div>');
		PrepSN_Bridge_Draw(this.div_name,this.feed,this.div_name + ".checker();",this.div_name + ".sendBack([RESULT]);");
    };
	this.checker = function (){
		return true;
	}
	this.sendBack = function ( the_xml ){


		try{

			try{ //Internet Explorer
				xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
				xmlDoc.async="false";
				xmlDoc.loadXML( the_xml );
			}catch(e){
				try{ //Firefox, Mozilla, Opera, etc.
			
					parser=new DOMParser();
					xmlDoc=parser.parseFromString( the_xml ,"text/xml");
				}catch(e){
					alert(e.message);
					return;
				}
			}
			var len = xmlDoc.getElementsByTagName("member").length;

			var output="";

			var maxr=0;
			var maxc=0;
			
			if(this.size_type=="Adjust"){
				if(this.scroll_direction=="None"){
					if(this.limit_dir=="Right"){
						this.width=parseInt(this.hpadding,10) + parseInt((this.limit_amount * ( parseInt(this.image_width,10) + parseInt(this.hpadding,10) )),10);
						this.height=parseInt(this.vpadding,10) + parseInt((Math.ceil(len/this.limit_amount) * ( 15 + parseInt(this.image_height,10) + parseInt(this.vpadding,10) )),10);
						maxr=this.limit_amount;
						maxc=Math.ceil(len/this.limit_amount);
					}else{
						this.height=parseInt(this.vpadding,10) + parseInt((this.limit_amount * (15 + parseInt(this.image_height,10) + parseInt(this.vpadding,10))),10);
						this.width=parseInt(this.hpadding,10) + parseInt((Math.ceil(len/this.limit_amount) * ( parseInt(this.image_width,10) + parseInt(this.hpadding,10) )),10);
						maxc=this.limit_amount;
						maxr=Math.ceil(len/this.limit_amount);
					}
				}else if(this.scroll_direction=="Right"){
					var max_height=this.height - this.vpadding - this.scroll_width;
					var max_per_col=Math.floor( max_height / ( 15 + parseInt(this.image_height,10) + parseInt(this.vpadding,10) ));
					var per_row=Math.ceil(len/max_per_col);
					var rem=Math.floor(len % max_per_col);
					this.height=parseInt(this.vpadding,10) + this.scroll_width + parseInt(max_per_col * ( 15 + parseInt(this.image_height,10) + parseInt(this.vpadding,10) ),10);

					maxc=max_per_col;
					maxr=per_row;
				}else{
					var max_width=this.width - this.hpadding - this.scroll_width;
					var max_per_row=Math.floor( max_width / ( parseInt(this.image_width,10) + parseInt(this.hpadding,10) ));
					var per_col=Math.ceil(len/max_per_row);
					var rem=Math.floor(len % max_per_row);
					this.width=parseInt(this.hpadding,10) + this.scroll_width + parseInt(max_per_row * ( parseInt(this.image_width,10) + parseInt(this.hpadding,10) ),10);

					maxr=max_per_row;
					maxc=per_col;
				}
			}else{
				if(this.scroll_direction=="None"){
					var max_width=this.width - this.hpadding;
					maxr=Math.floor(max_width / ( parseInt(this.image_width,10) + parseInt(this.hpadding,10) ));
					maxc=Math.floor(max_height / ( 15 + parseInt(this.image_height,10) + parseInt(this.vpadding,10) ));
					
					if(maxr * maxc > len){
						len=maxr + maxc;
					}	
				}else if(this.scroll_direction=="Right"){
					var max_height=this.height - this.vpadding - this.scroll_width;
					var max_per_col=Math.floor( max_height / ( 15 + parseInt(this.image_height,10) + parseInt(this.vpadding,10) ));
					var per_row=Math.ceil(len/max_per_col);
					var rem=Math.floor(len % max_per_col);

					maxc=max_per_col;
					maxr=per_row;
				}else{
					var max_width=this.width - this.hpadding - this.scroll_width;
					var max_per_row=Math.floor( max_width / ( parseInt(this.image_width,10) + parseInt(this.hpadding,10) ));
					var per_col=Math.ceil(len/max_per_row);
					var rem=Math.floor(len % max_per_row);

					maxr=max_per_row;
					maxc=per_col;
				}
			}


			output += '<div style="width:' + this.width + 'px;height:' + this.height + 'px;';
			if(this.border!=""){
				output += 'border:1px solid #' + this.border + ';';
			}
			if(this.background!=""){
				output += 'background:#' + this.background + ';';
			}
			if(this.scroll_direction=="None"){
				output += 'overflow:hidden;';
			}else{
				output += 'overflow:auto;';
			}
			output += '" align=left><table cellspacing="0" cellpadding="0">';

			for(i=1;i<=len;i++){
				var fetch=i;
				var cur_col=0;
				var cur_row=0;
				if(this.scroll_direction=="Right"){
					if( i <= rem * maxr || rem == 0 ){
						cur_col=i % maxr;
						if(cur_col==0){ cur_col=maxr; } 
						cur_row=Math.ceil( i / maxr );
					}else{
						cur_col=(i - rem * maxr) % ( maxr - 1);
						if(cur_col==0){ cur_col = maxr - 1; }
						cur_row=rem + Math.ceil( ( i - rem * maxr ) / ( maxr - 1 ) );
					}
					fetch = ( cur_col - 1 ) * maxc + cur_row;
				}else{
					cur_col = i % maxr;
					if(cur_col==0){ cur_col = maxr; }
					cur_row = Math.ceil( i / maxr );
				}
				var media = xmlDoc.getElementsByTagName("member")[fetch-1];

				var vals = new Array();
				if(typeof(media.getElementsByTagName("image")[0].textContent)!="undefined"){
					vals["image"]=media.getElementsByTagName("image")[0].textContent;
					vals["link"]=media.getElementsByTagName("link")[0].textContent;
					vals["first_name"]=media.getElementsByTagName("first_name")[0].textContent;
				}else{
					vals["image"]=media.getElementsByTagName("image")[0].firstChild.nodeValue;
					vals["link"]=media.getElementsByTagName("link")[0].firstChild.nodeValue;
					vals["first_name"]=media.getElementsByTagName("first_name")[0].firstChild.nodeValue;
				}

				rpadding=0;
				bpadding=0;

				if(cur_col==maxr){
					rpadding=this.hpadding;
				}
				if(cur_row==maxc){
					bpadding=this.vpadding;
				}

				var add = '<td align=center style="padding:' + this.vpadding + 'px ' + rpadding + 'px ' + bpadding + 'px ' + this.hpadding + 'px"><a href="' + vals['link'] + '" style="background:none;text-decoration:none;font-family:arial;font-size:11px;font-weight:bold;color:#' + this.font_color + ';"><div><img border=0 src="' + vals['image'] + '&w=' + this.image_width + '&h=' + this.image_height + '"></div><div style="overflow:hidden;width:' + this.image_width + 'px;height:15px;">' + vals["first_name"] + '</div></a></td>';

				if(this.scroll_direction=="Right"){
					if(cur_col==1){
						if(i > 1){
							output += '</tr>';
						}
						output += '<tr>';
					}
					output += add;
				}else{
					if((i-1)%maxr==0){
						output += '<tr>';
					}
					output += add;
					if(i%maxr==0){
						output += '</tr>';
					}
				}
			}

			output += '</table></div>';


			document.getElementById(this.div_name + "_output").innerHTML=output;
		}catch(e){
			alert(e);
		}
	
	}
}
