function doSortSelect(obj, by, num, cs)
{
	var  selectedvalue = obj.options[obj.selectedIndex].value;

	obj = (typeof obj == "string") ? document.getElementById(obj) : obj;
	by = (parseInt("0" + by) > 5) ? 0 : parseInt("0" + by);

	if (obj.tagName.toLowerCase() != "select" && obj.length < 2) return false;
	var elements = new Array();
	for (var i=1; i<obj.length; i++)
	{
		elements[elements.length] = new Array((document.body.innerHTML ? obj[i].innerHTML : obj[i].text), obj[i].value);
	}

	doSortArray(elements, by, num, cs);

	for (i=0; i<elements.length; i++)
	{
		if (document.body.innerHTML) obj[i+1].innerHTML = elements[i][0];
		else obj[i+1].text = elements[i][0];
		obj[i+1].value = elements[i][1];
	}

	var newselectedvalue = 0;

	for (i=0; i<obj.length; i++)
	{
		if (new String(selectedvalue).toString() == new String(obj.options[i].value).toString()) newselectedvalue = i;
	}

	obj.selectedIndex = newselectedvalue;
}

function doSortArray(arrayName, element, num, cs)
{
	if (num)
	{
		for (var i=0; i<(arrayName.length-1); i++)
		{
			for (var j=i+1; j<arrayName.length; j++)
			{
				if (parseInt(arrayName[j][element],10) < parseInt(arrayName[i][element],10))
				{
					var dummy = arrayName[i];
					arrayName[i] = arrayName[j];
					arrayName[j] = dummy;
				}
			}
		}
	}
	else
	{
		for (var i=0; i<(arrayName.length-1); i++)
		{
			for (var j=i+1; j<arrayName.length; j++)
			{
				if (cs)
				{
					if (arrayName[j][element].toLowerCase() < arrayName[i][element].toLowerCase())
					{
						var dummy = arrayName[i];
						arrayName[i] = arrayName[j];
						arrayName[j] = dummy;
					}
				}
				else
				{
					if (arrayName[j][element] < arrayName[i][element])
					{
						var dummy = arrayName[i];
						arrayName[i] = arrayName[j];
						arrayName[j] = dummy;
					}
				}
			}
		}
	}
}
