var sortedFieldName;
var columns;
var nameSortOrder;
var selector;
var possibleFields;


function SelectorTab(name, headerLbl, filedsArray, selector)
{
	
  this.possibleFields=filedsArray;
  //alert (this.possibleFields.length);
  this.header=headerLbl;
  this.name=name;
  this.sortedFieldName;
  this.selector=selector;
    
}

SelectorTab.prototype.getTabsHTML=getTabsHTML;
SelectorTab.prototype.getColumnHeaderHTML=getColumnHeaderHTML;
SelectorTab.prototype.getCellHTML=getCellHTML;
SelectorTab.prototype.selectable=Selectable;


function getTabsHTML(isSelected)
{

	var result;
	var label;
	
	label = getLabel(this.header,getLanguage());
	
	if (isSelected)
		result="<td style='vertical-align:top;' class='Current'><a><img style='margin-bottom:-6px; margin-right:4px' src='../images/arrow_right.gif'>"+label+"</a></td>";
	else	
		result="<td style='vertical-align:top;'><a style='cursor:pointer; height:30px' onclick='refresh(\""+ this.name +"\")'><img style='margin-bottom:-6px; margin-right:4px' src='../images/arrow_right.gif'> "+label+"</a></td>";

	return result;
	
}

function getColumnHeaderHTML(sortedCol,sortOrder)
{
	
//loop thru columns
//	alert ("get headers. Sorted col:"+ this.sortedFieldName);
	var result="<tr class='HeaderColor2 NoTopBorder'>";
	result+= "<th width='180px' rowspan='2' class='Color1 BottomLine HeaderCol'>"+this.columns[0].getHeaderHTML(sortedCol,sortOrder)+"</th>";
	//alert(this.selector.ExpertMode);
	if (this.selector.ExpertMode)
		result+= "<td colspan='"+this.columns.length+"' class='Color2' style='height:10px;'></td></tr><tr class='HeaderColor2 NoTopBorder' style='height:30px;'>";
	else
		result+= "<th colspan='"+this.columns.length+"' class='Color2'></th></tr><tr class='HeaderColor1' style='height:30px;'>";
	
	var wdth;
	try
	{
	//alert (this.columns.length);
	wdth=Math.round((600/(this.columns.length-1)));
	
	}
	catch (ex)
	{
	alert (ex.description);
	}
	//alert(result);	
	for (i=1;i<this.columns.length;i++)
	{		
			
			var cText;
			
			if (this.selector.ExpertMode)
				cText="<th class='Color2'<b>";
//				cText="<th class='Color2' width='"+ wdth +"px'><b>";

			else
//				cText="<th width='"+ wdth +"px'><b>";
				cText="<th><b>";
				
			cText+=this.columns[i].getHeaderHTML(sortedCol,sortOrder)+"</b></th>";
			result+=cText;
			
	}
			
	result +="</tr>";
	return result;


}

function getCellHTML(fund, detailsLink)
{
	//loop thru columns
	var result;
	//result="<th class='HeaderCol' width='180px' ><a class='FundName' href='"+fund.getDetailsLink() +"' >"+this.columns[0].getCellHTML(fund)+"</a></th>";
	result = "<th class='HeaderCol' width='180px' ><a class='FundName' href='" + detailsLink + fund.getQueryString() + "' >" + this.columns[0].getCellHTML(fund) + "</a></th>";
	
	for (iL=1;iL<this.columns.length;iL++)
	{		
//			alert (iL);
			var cText= "<td style='vertical-align:middle; BORDER-LEFT:#CCCCCC 0.5pt solid; ";
				
			if (this.columns[iL].currentField.type=="Percent" 
			 || this.columns[iL].currentField.type=="Currency"
		     || this.columns[iL].currentField.type=="TerPercent")
			{
			  cText += " text-align:right; padding-right:15px;";
			}
			else
			{
			  cText += " text-align:center;";
			}

			if (this.columns[iL].currentField.type!="String")
				cText+=" white-space:nowrap;";
			
				
			cText+= "'>"+this.columns[iL].getCellHTML(fund)+"</td>";
//			alert (cText);
			result+=cText;
//			alert (iL);
			
	}
//	alert (result);
	
	return result;	
}

function Selectable()
{
  var isSelectable;
  isSelectable = (this.possibleFields >= this.columns);
//  alert (this.possibleFields.length);
//  alert (this.columns.length);
  return isSelectable;
  
}