// define PSUser definition and other functions
var PSUSER_VIP = 0;
var PSUSER_REFERRER = 1;
var PSUSER_RECENT = 2;

var PSUSER_VISITLINK = 0;
var PSUSER_ADDLINK = 1;

function PSUser_GetAddFriendLink(addlink)
{
  //if (this.type == PSUSER_VIP)
  if (addlink == PSUSER_ADDLINK)
  {
    return 'http:\/\/collect.myspace.com\/index.cfm?fuseaction=invite.addfriend_verify&friendID='+this.msid;
  }
  else
  {
    return 'http:\/\/www.myspace.com\/'+this.msid;
  }
}

function PSUser_GetShortName(maxlength)
{
	if (this.msname.length > maxlength)
	{
		return this.msname.substr(0,maxlength - 3) + "...";
	}
	else
	{
		return this.msname;
	}
}

// When type is:
//  PSUSER_REFERRER, the data is the number of points
//  PSUSER_VIP, enhanced or not
//  PSUSER_RECENT, position

function PSUser(userid, msname, msid, mspic, type, data)
{
  this.userid = userid;
  this.msname = msname;
  this.msid = msid;
  this.mspic = mspic;
  this.GetAddFriendLink = PSUser_GetAddFriendLink;
  this.GetShortName = PSUser_GetShortName;
  this.type = type;
  this.data = data;
}

function getRandomNumber(max)
{
    var ranNum= Math.floor(Math.random()*max);
    return ranNum;
}

function returnObjById( id )
{
    if (document.getElementById)
        var returnVar = document.getElementById(id);
    else if (document.all)
        var returnVar = document.all[id];
    else if (document.layers)
        var returnVar = document.layers[id];
    return returnVar;
}

// generates an array of indices with the 
function getRandomArray(sample,total)
{ 
  var retArray = new Array();

  for (var i = 0; i < sample; i++)
  {
  
    var iRand = -1; 
    
    while (iRand == -1)
    {
      iRand = getRandomNumber(total);
    
      // check to see that we haven't used this already
      for (var y = 0; y < retArray.length;y++)
      {
        if (retArray[y] == iRand)
        {
          iRand = -1;
          break;
        }
      }
    }
    retArray[i] = iRand
    
  }
  return retArray;
}

function showThumbnailedUsers(divname, arraysource,maxthumbnails, rows, thumbwidth, maxnamelength /*, morearray, blankcode*/ )
{

  var displayvips;
  var psObj = returnObjById(divname);
  
  if (arraysource.length <= maxthumbnails)
  {
  	  	  
	  /*if (morearray != null)
	  {
    	var diff = maxthumbnails - arraysource.length ;
  		var morearrayrand = getRandomArray(diff, morearray.length);
  		
  		for (var y = 0; y< morearrayrand.length; y++)
  		{
  			arraysource[arraysource.length] = morearray[morearrayrand[y]];
  		
  		}
	  }*/
	  
	  //displayvips = new Array(arraysource.length);
	  displayvips = new Array(maxthumbnails);
    for (var x = 0; x < arraysource.length; x++)
	  {
			displayvips[x] = x;  
	  }
	  
	  // stuff the rest with nulls
	  for (var y = arraysource.length; y < maxthumbnails; y++)
	  {
      displayvips[y] = null;
    }

  }
  else
  {
   
  	displayvips = getRandomArray(maxthumbnails, arraysource.length);
  }
  
  
  
   
  
  if (psObj)
  {  
    var code = new String();
    code = '<table cellpadding="5" class="viptable"><tr class="viptablerow">';
    
    var cols = (displayvips.length / rows);
    var curcol = 0;
	  
	  for (var iDisplay = 0; iDisplay < displayvips.length; iDisplay++)
    {
      if (curcol == cols)
      {
        code += '<\/tr><tr class="viptablerow">';
		    curcol=0;
      }
      
    	if (displayvips[iDisplay] != null)
    	{
      
      
      
        var curuser = arraysource[displayvips[iDisplay]];
        
        
        code += '<td valign="top"><table height="100%" width="100%" class="vipitemtable"><tr class="vipitemtablerow"><td valign="top" align="right" class="vipitemtablecell">';
        code += '<a href="'+ curuser.GetAddFriendLink(PSUSER_VISITLINK) +'" target="_blank"><img src="'+ curuser.mspic + '" border="0" width="'+ thumbwidth + '" alt="'+ curuser.msname +'"><\/a>';
        code += '<br><a href="'+ curuser.GetAddFriendLink(PSUSER_ADDLINK) +'" target="_blank"><img src="images\/addme.gif" border="0" style="margin-top:3px"><\/a><\/td><\/tr><tr><td class="ps_featuredusers_detail" align="center">';
        code += '<a href="'+ curuser.GetAddFriendLink(PSUSER_VISITLINK) +'" target="_blank" class="ps_featuredusers_detail">' + curuser.GetShortName(maxnamelength) + '<\/a>';
        code += '<\/td><\/tr><\/table><\/td>';
      }
      else
      {
        code += '<td valign="top"><a href="allfeatured.php"><img src="images\/YourImageHere.jpg"><\/a></td>';
      }
      
      curcol++;
    }
  
    code+= "<\/tr><\/table>";
    psObj.innerHTML = code;
  }
}

