function selectClear(oSelect)
	{
		while (oSelect.length > 0)
			oSelect.remove(0);
	}

function selectSelectAll(oSelect)
	{
		var i = 0;
		while (i < oSelect.length)
			oSelect.options[i++].selected = true;
	}


function selectAddOption( oSelect, sText, uValue )
	{
		var oOption = document.createElement( 'option' );

		oOption.text 	= sText;
		oOption.value 	= uValue;

		try
		{
			oSelect.add( oOption, null );
		}
		catch(ex)
		{
			oSelect.add( oOption ); // IE only
		}

	}


function dword2hex(d)
	{
		return d.toString(16);
	}

function hex2dword(h)
	{
		return parseInt(h,16);
	} 

function onlyNumbers(e)
{
	var keynum;
	var keychar;
	var numcheck;
	var lOK;

	if(window.event) // IE
	{
		keynum = e.keyCode;
	}
	else if(e.which) // Netscape/Firefox/Opera
	{
		keynum = e.which;
	}

	if (keynum == 8 ||
		keynum == 9 ||
		keynum == 46 ||
		keynum == 39 ||
		keynum == 37 ||
		(keynum > 95 && keynum < 106))
	{
		lOK = true;
	}
	else
	{
		keychar = String.fromCharCode(keynum);
		numcheck = /\d/;
		lOK = numcheck.test( keychar );
	}
	return lOK;
}


function onlyDateChars(e)
{
	var keynum;
	var keychar;
	var numcheck;
	var lOK;

	if(window.event) // IE
	{
		keynum = e.keyCode;
	}
	else if(e.which) // Netscape/Firefox/Opera
	{
		keynum = e.which;
	}

	if (keynum == 8 ||
		keynum == 9 ||
		keynum == 39 ||
		keynum == 37 ||
		keynum == 46 ||
		keynum == 190 ||
		(keynum > 95 && keynum < 106))
	{
		lOK = true;
	}
	else
	{
		keychar = String.fromCharCode(keynum);
		numcheck = /\d/;
		lOK = numcheck.test( keychar );
	}
	return lOK;
}

function hideElement( id )
	{

	if (document.getElementById)
    { // DOM3 = IE5, NS6
		document.getElementById(id).style.display = 'none';
	}
	else
	{
		if (document.layers)
		{ // Netscape 4
			document.id.display = 'none';
		}
		else
		{ // IE 4
			document.all.id.style.display = 'none';
		}
	}
}

function showElement( id )
{
	if (document.getElementById)
    { // DOM3 = IE5, NS6
		document.getElementById(id).style.display = 'block';
	}
	else
	{
		if (document.layers) 
		{ // Netscape 4
			document.id.display = 'block';
		}
		else 
		{ // IE 4
			document.all.id.style.display = 'block';
		}
	}
}



function setClass( sElementID, sClassname )
	{
		var oElement;
		oElement = document.getElementById( sElementID );
        oElement.className = sClassname;
	}


function setElementClass( sElementID, sClassname )
{
	var oElement;
	oElement = document.getElementById( sElementID );
	oElement.className = sClassname;
}

function isIE()
{
	return (navigator.appName == "Microsoft Internet Explorer");
}


function daysInFebruary (year)
{
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return ((( year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0)) ) ? 29 : 28 );
}

function DaysArray(n)
{
	var i;

	for (var i = 1; i <= n; i++)
	{
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11)
			{this[i] = 30}
		if (i==2)
		 	{this[i] = 29}
	} 
   	return this
}

function isShortDate(dtStr)
{
	var daysInMonth;
	var strDay;
	var strMonth;
	var strYear;
	var day;
	var month;
	var year;


	if (dtStr.length < 6)
	{
		return false;
	}

	strDay		= dtStr.substring(0,2);
	strMonth	= dtStr.substring(2,4);
	strYear		= dtStr.substring(4,6);

	month	= parseInt(strMonth,10);
	day		= parseInt(strDay,10);
	year	= parseInt(strYear,10);

	if (month == NaN || month < 1 || month > 12)
	{
		return false;
	}

	daysInMonth = DaysArray(12);

	if (day == NaN || day < 1 || day > 31 || (month == 2 && day > daysInFebruary(year) ) || day > daysInMonth[month] )
	{
		return false;
	}

	if (year == NaN)
	{
		return false;
	}

	return true;
}



