///////////////////////////////////////
// sortSelect (select, compareFunction)
// Sorts the items in a select
///////////////////////////////////////
function compareText (option1, option2) {
  return option1.text < option2.text ? -1 :
    option1.text > option2.text ? 1 : 0;
}
function compareValue (option1, option2) {
  return option1.value < option2.value ? -1 :
    option1.value > option2.value ? 1 : 0;
}
function compareTextAsFloat (option1, option2) {
  var value1 = parseFloat(option1.text);
  var value2 = parseFloat(option2.text);
  return value1 < value2 ? -1 :
    value1 > value2 ? 1 : 0;
}
function compareValueAsFloat (option1, option2) {
  var value1 = parseFloat(option1.value);
  var value2 = parseFloat(option2.value);
  return value1 < value2 ? -1 :
    value1 > value2 ? 1 : 0;
}
function sortSelect (select, compareFunction) {
  if (!compareFunction)
    compareFunction = compareText;
  var options = new Array (select.options.length);
  for (var i = 0; i < options.length; i++)
    options[i] = 
      new Option (
        select.options[i].text,
        select.options[i].value,
        select.options[i].defaultSelected,
        select.options[i].selected
      );
  options.sort(compareFunction);
  select.options.length = 0;
  for (var i = 0; i < options.length; i++)
    select.options[i] = options[i];
}

/////////////////////
//Set browser version
/////////////////////
if ( navigator.userAgent.indexOf ( 'Mozilla' ) == -1 )
{
	browser='XX';
}
else
{
	if ( navigator.userAgent.indexOf ( 'MSIE' ) == -1 )
		browser = 'NN';
	else
		browser = 'IE';
}

/////////////////////////////////
// Return the user's screen width
/////////////////////////////////
function ScreenWidth ( )
{
	if (self.screen) //for NN4 and IE4
		var x = screen.width;
	else
		{
			if (self.java) //NN3
				{
					var jkit = java.awt.Toolkit.getDefaultToolkit();
					var screensize = jkit.getScreenSize();
					var x = screensize.width;
				}
			else
				{
					var x = 640;
				}
		}
	return x;
}

//////////////////////////////////
// Return the user's screen height
//////////////////////////////////
function ScreenHeight ( )
{
	if (self.screen) //for NN4 and IE4
		{
			var y = screen.height;
		}
	else
		{
			if (self.java) //NN3
				{
					var jkit = java.awt.Toolkit.getDefaultToolkit();
					var screensize = jkit.getScreenSize();
					var y = screensize.height;
				}
			else
				{
					var y = 480;
				}
		}
	return y;
}

/********************************************************/
/* Replace ( asData, asOld, asNew )                     */
/* Replaces any occurence of asOld with asNew in asData */
/********************************************************/
function Replace ( asData, asOld, asNew )
{
	len = asOld.length;
	temp = asData;
	pos = temp.indexOf ( asOld );
	while (  pos != -1 )
	{
		temp = temp.substr ( 0, pos ) + asNew + temp.substr ( pos + len );
		pos = temp.indexOf ( asOld );
	}
	return temp;
}

/**************************************************************/
/* Trim ( asValue )                                           */
/* Returns asValue trimmed of any leading and trailing spaces */
/**************************************************************/
function Trim ( asValue )
{
	//Convert null to empty string
	if ( asValue == null ) asValue = '';

	//Trim leading spaces
	while ( asValue.substr ( 0, 1 ) == ' ' )
	{
		asValue = asValue.substr ( 1 ); 
	}

	//Trim trailing spaces
	while ( asValue.substr ( asValue.length - 1, 1 ) == ' ' )
	{
		asValue = asValue.substr ( 0, asValue.length - 1 ); 
	}

	//Return the modified string
	return asValue;
}

