var mGrid=null;
var oldClassName=null;
var selectedShapes= new Array();
var selectedCuts= new Array();
var selectedClarities= new Array();
var selectedColors=new Array();
var selectedColorType='WHITE';
var displayCurrency="ZAR";
var USD_ZAR_rate=0;
var minSize=0.01;
var maxSize=10.99;
var order_by=null;
var dir=true;
var prev_order_by=null;
function OrderBy(obj,odb)
{
	order_by=odb.toLowerCase();
	dir=!dir;
	if (prev_order_by)
		prev_order_by.className='thResults';
	if (dir)
		obj.className='thResults_dir_asc';
	else
		obj.className='thResults_dir_desc';
	prev_order_by=obj;
	ApplyFilters(0);
}
function filter_callback(data)
{
	var recC=data[0];
	var d=recC.split('=');
	var recCount=d[1];
	
	//First get scroll bar top pos
	var topPos=mGrid.getTopPos();

	mGrid.setDatasetCount(recCount);
	for(var i=1; i<data.length; i++)
	{
		var temp=data[i].split(',');
		var rec = new record(temp[1],temp[2],temp[3],temp[4],temp[5],temp[6],temp[7],temp[8],temp[9],false);
		mGrid.getRecords().Add(rec,temp[0]);
		
	}
	mGrid.UpdateGridview();
	var msg="<font class=t1>RESULTS:</font> <font class=t2>"+recCount+"</font> <font class=t3>Diamonds found</font>";
	if (recCount==1)
		msg="<font class=t1>RESULTS:</font> <font class=t2>"+recCount+"</font> <font class=t3>Diamond found</font>";
	document.getElementById("recCount").innerHTML=msg;
	//document.getElementById("recCount").innerHTML="Last top record="+mGrid.LastTopRecordIndex()+"    Records="+mGrid.getRecords().Count()+" and Toppos="+mGrid.getTopPos();
}


function array2csv(arr)
{
	var value="";
	for(var i=0; i<arr.length; i++)
	{
		if (value.length) value=value+",";
		value=value+arr[i];
	}	
	return value
}
function DoScroll(value)
{


	mGrid.setTopPos(mGrid.getTopPos()+value);
	//new scroll y pos
	var thumb = document.getElementById("thumb");

	var y=Math.round(mGrid.getTopPos()*thumb.maxY/mGrid.LastTopRecordIndex());

	thumb.style.top=y+"px";
//alert(thumb.style.top);

	if (mGrid.DoIncrementalLoad())
	{
		if (value<0)
			ApplyFilters(mGrid.getTopPos()-mGrid.maxRecordsReturned+1);	
		else
			ApplyFilters(mGrid.getTopPos());	

	}
	mGrid.UpdateGridview();
	//document.getElementById("recCount").innerHTML="LastTopRecord="+mGrid.LastTopRecordIndex()+"    Records="+mGrid.getRecords().Count()+" and Toppos="+mGrid.getTopPos()+"  Y="+thumb.style.top;	
	
}
function ElementIsSelected(arr,element)
{
	for(var i=0; i<arr.length; i++)
	{
		if (arr[i]==element)
			return true;
	}
	return false;
}

function GetIndex(arr,value)
{
	for(var i=0; i<arr.length; i++)
	{
		if (arr[i]==value)
			return i;
	}
	return -1;

}

function AddElement(arr,element)
{
	arr[arr.length]=element;
}
function RemoveElement(arr,element)
{
	arr.splice(GetIndex(arr,element),1);	
}
function AltSelectShapes(obj,shape)
{
	if (ElementIsSelected(selectedShapes,shape))
	{

		obj.className='divShapeSpeedButtonUp';
		RemoveElement(selectedShapes,shape);
	}
	else
	{


		obj.className='divShapeSpeedButtonDown';
		AddElement(selectedShapes,shape);
		
	}


	if (oldClassName)
		oldClassName=obj.className;

	ApplyFilters(0);			

}

function AltSelectCuts(obj,cut)
{
	if (ElementIsSelected(selectedCuts,cut))
	{
		obj.className='divCutSpeedButtonUp';
		RemoveElement(selectedCuts,cut);
	}
	else
	{
		obj.className='divCutSpeedButtonDown';
		AddElement(selectedCuts,cut);
		
	}
	if (oldClassName)
		oldClassName=obj.className;
	ApplyFilters(0);			
}

function AltSelectClarity(obj,clarity)
{
	if (ElementIsSelected(selectedClarities,clarity))
	{
		obj.className='divClaritySpeedButtonUp';
		RemoveElement(selectedClarities,clarity);
	}
	else
	{
		obj.className='divClaritySpeedButtonDown';
		AddElement(selectedClarities,clarity);
		
	}
	if (oldClassName)
		oldClassName=obj.className;
	ApplyFilters(0);			
}
function AltSelectColor(obj,color)
{
	if (ElementIsSelected(selectedColors,color))
	{
		obj.className='divColorSpeedButtonUp';
		RemoveElement(selectedColors,color);
	}
	else
	{
		obj.className='divColorSpeedButtonDown';
		AddElement(selectedColors,color);
		
	}
	if (oldClassName)
		oldClassName=obj.className;
	ApplyFilters(0);			
}

function ExpandSelection(obj,cname)
{
	obj.className=cname;
}
function CollapseSelection(obj,cname)
{
	obj.className=cname;
}

function HighlightFilter_shapes(obj)
{
	
	if (oldClassName==null)
	{
		var img=obj.style.backgroundImage;
		var pos=obj.style.backgroundPosition;
		var rep=obj.style.backgroundRepeat;
		oldClassName=obj.className;
		obj.className="divHighlightFilter_shapes";
		obj.style.backgroundImage=img;
		obj.style.backgroundPosition=pos;
		obj.style.backgroundRepeat=rep;
		
		
	}
}

function HighlightFilter_clarity(obj)
{

	if (oldClassName==null)
	{
		oldClassName=obj.className;
		obj.className='divHighlightFilter_clarity';
		
	}

}


function HighlightFilter_color(obj)
{

	if (oldClassName==null)
	{
		oldClassName=obj.className;
		obj.className='divHighlightFilter_color';
		
	}
}
function HighlightFilter_cut(obj)
{
	if (oldClassName==null)
	{
		oldClassName=obj.className;
		obj.className='divHighlightFilter_cut';
		
	}
}

function UnhighlightFilter(obj)
{
	if (oldClassName!=null)
	{
		obj.className=oldClassName
		oldClassName=null;

	}
}
