function DBselect(table, searchCriteria, column)
{
	searchCriteria = searchCriteria.toLowerCase();

	//Hitta första index för sökkriteriet.
	var firstIndex = table.toLowerCase().indexOf(searchCriteria);	

	//Avsluta och returnera en tom array om det inte blev någon träff.
	if(firstIndex==-1)return new Array();

	//Ta reda på index för första tecknet i denna rad.
	firstIndex = table.toLowerCase().lastIndexOf(",",firstIndex)+1;

	//Hitta sista index för sökkriteriet.
	var lastIndex = table.toLowerCase().lastIndexOf(searchCriteria);

	//Ta reda på index för sista tecknet i denna rad.
	lastIndex = table.toLowerCase().indexOf(",",lastIndex);

	//Om det är sista raden
	if(lastIndex==-1)lastIndex = table.length-1;

	//Ta ut en substräng inklusive tecknen på första och sista index.
	table = table.substring(firstIndex, lastIndex+1);	
	
	//Gör om till en array.
	tableArray = table.split(",");
	
	//Gå igenom arrayen och rensa bort poster som inte har sökkriteriet.
	for(i=0;i<tableArray.length;i++)
	{
		//Om ingen specifik kolumn är angiven sker sökningen på hela raden.
		if(column == -1)
		{
			//Ta bort raden om den inte innehåller sökkriteriet.
			if(tableArray[i].toLowerCase().indexOf(searchCriteria)==-1)
			{
				tableArray.splice(i,1);
				i--;
			}
		}
		else
		{
			//Kontrollera så att aktuell rad har kolumner. Annars tas den bort.
			if(tableArray[i].indexOf("|") > -1)
			{
				//Dela upp aktuell rad i en array (kolumner)
				rowArray = tableArray[i].split("|");
			
		
				//Ta bort raden om angiven kolumn inte innehåller sökkriteriet.
				if(rowArray[column].toLowerCase().indexOf(searchCriteria)==-1)
				{
					tableArray.splice(i,1);
					i--;
				}
			}
			else
			{
				tableArray.splice(i,1);
				i--;
			}
		}
	}

	//Returnera resultatet av sökningen.
	return tableArray;
}

function DBselectDistinct(table, searchCriteria, searchColumn, distinctColumn)
{
	selectArray = DBselect(table, searchCriteria, searchColumn);
	return MakeResultDistinct(selectArray);
}

function DBselectCount(table, searchCriteria, column)
{
	return DBselect(table, searchCriteria, column).length;
}

function MakeResultDistinct(selectArray, distinctColumn)
{
	var compareArray = new Array();
	var resultArray = new Array();

	// Om arrayen som skickas in är tom så returneras en tom array.
	if(selectArray.length == 0)
		return resultArray;
	
	if(distinctColumn == -1)
	{
		compareArray[0] = selectArray[0];
	}
	else
	{
		compareArray[0] = selectArray[0].split("|")[distinctColumn];
	}

	resultArray[0] = selectArray[0];

	//Gå igenom arrayen och rensa bort poster som inte har sökkriteriet.
	for(i=1;i<selectArray.length;i++)
	{
		//Om ingen specifik kolumn är angiven sker jämförelse på hela raden.
		if(distinctColumn == -1)
		{
			if(compareArray.join("-").indexOf(selectArray[i])==-1)
			{
				resultArray.push(selectArray[i]);
				compareArray.push(selectArray[i]);
			}
		}
		else
		{
			if(compareArray.join("-").indexOf(selectArray[i].split("|")[distinctColumn]) == -1)
			{
				resultArray.push(selectArray[i]);
				compareArray.push(selectArray[i].split("|")[distinctColumn]);
			}
		}
	}

	return resultArray;
}