function compareNumbers(value1,value2)
{
	var cpRes=0;
	try
	{
	cpRes= value1-value2;
	}
	catch (ex)
	{
	
	}
	
	return cpRes;
}

function compareTitle(val1,val2)
{
	return compareString(val1,val2);
}

function compareString(val1,val2)
{

	var value1 =val1.toLowerCase();
	var value2 = val2.toLowerCase();
	
	return value1.localeCompare(value2);
//	alert ("comparing "+value1+"  and "+value2);
/*
	var len = value1.length-1;
//	alert (len);
	try
	{
	for (var xch=0; xch<len;xch++)
	{
//		alert (value1.substring(xch,xch+1));
		//compare first letter
		if (value1.substring(xch,xch+1)==value2.substring(0,1))
		{
			
			var ok=true;
			for (var ych=1; ych<value2.length;ych++)
			{
			  if (value1.substring(xch+ych,xch+ych+1)!=value2.substring(ych,ych+1))
			  {
//			  alert ("comparing "+value1.substring(xch+ych,xch+ych+1)+"  and "+value2.substring(ych,ych+1));
			   ok=false;
			   break;
			  }
			}
			if (ok)
				return 0;
		}
		else
		  continue;	
	}
	
	}
	catch (exc)
	{
	 alert (exc.description);
	}
	
	return -1;
*/
}

function compareCurrency(value1,value2)
{
	return compareNumbers(value1,value2);
}

function comparePercent(value1,value2)
{
	return compareNumbers(value1,value2);
}

function compareTerPercent(value1,value2)
{
	return compareNumbers(value1,value2);
}

function compareUiRiskRank(value1,value2)
{
	var temp1;
	var temp2;
	try
	{
	temp1=value1;
	temp2=value2;
	
	if (value1==3)
		temp1=3;
	if (value1==4)
		temp1=3;
	if (value1==5)
		temp1=3;
	if (value2==3)
		temp2=3;
	if (value2==4)
		temp2=3;
	if (value2==5)
		temp2=3;
		
	return compareNumbers(temp1,temp2);
	}
	catch (ex)
	{
	return -1;
	}
	
}

function compareDate(value1,value2)
{
	var dt1;
	var dt2;
	
	dt1= Date.parse(value1);
	dt2= Date.parse(value2);
	return compareNumbers(dt1,dt2);
	
}

function compareArt(value1,value2)
{
	return compareString(value1,value2);
	
//	alert ("comparing "+value1+" and "+value2);
	if (value1==value2)
	{
//			alert ("quick done");
			return 0;
	}
	
	var ending;
	if (getLanguage()=="De")
	{
		ending = "fonds";
	}
	if (getLanguage()=="En")
	{
		ending = " fund";
	}
	var V1;
	
	if (value1.substring(value1.length-5,value1.length).toLowerCase()!=ending)
	{
		V1=value1+ending;
	}
	else
	{
		V1=value1;
	}
	
	var V2;
//	alert (value1.substring(value1.length-5,value1.length).toLowerCase());
//	alert (value2.substring(value2.length-5,value2.length).toLowerCase());
	if (value2.substring(value2.length-5,value2.length).toLowerCase()!=ending)
	{
		V2=value2+ending;
	}
	else
	{
		V2=value2;
	}
	
	if (V1==V2)
	{
//		alert ("ending done");
		return 0;
	}
	var fart = new Array();
	fart[0]=getLabel("fart_Aktien",getLanguage());
	fart[1]=getLabel("fart_Renten",getLanguage());
	fart[2]=getLabel("fart_Geldmarkt",getLanguage());
	fart[3]=getLabel("fart_Mix",getLanguage());
	fart[4]=getLabel("fart_Dach",getLanguage());
	fart[5]=getLabel("fart_Special",getLanguage());
	
	for (var i1=0; i1<fart.length;i1++)
	{
		if (fart[i1]==V1)
			break;
	}
	
	for (var i2=0; i2<fart.length;i2++)
	{
		if (fart[i2]==V2)
			break;
	}
	
	//alert ("translated done "+ (i1-i2));
	return i1-i2;//if it cannot be compared.
	
}

function compareType(value1,value2)
{
	return compareNumbers(value1,value2);
	
}

function compareRangeA(value1,value2)
{
	//for comparing two datesranges presented as "01.01 - 31.12"
	var val1;
	var val2;

	val1= Date.parse(value1.substring(5)+".2000");//year is not important
	val2= Date.parse(value2.substring(5)+".2000");//year is not important
	return compareNumbers(val1,val2);
}

function compareDocuments(value1,value2)
{
	return value1.length-value2.length;
}

function compareMorningStar(value1,value2)
{
	return value1-value2;
/*	return value1.localeCompare(value2);*/
}

function compareRTGNote(value1,value2)
{
	return value1-value2;
/*	return value1.localeCompare(value2);*/
}

function compareSandPStar(value1,value2)
{
	return value1-value2;
/*	return value1.localeCompare(value2);*/
}

function compareSandPManager(value1,value2)
{
	return value1-value2;
	/*return value1.localeCompare(value2);*/
}

function compareRTGLipper(value1,value2)
{
	return value1-value2;
	/*return value1.localeCompare(value2);*/
}

function compareRTGFeri(value1,value2)
{
/*	return value1-value2;*/
	return value1.localeCompare(value2);
}

function compareRTGSauren(value1,value2)
{
	return value1-value2;
/*	return value1.localeCompare(value2);*/
}