//<script language="JavaScript" >

function rightTrim(_text)
{
	var _last;

	_last = _text.length;
	while (_text.charAt(_last - 1) == " ") _last --;

	return _text.substring(0, _last);
}

function leftTrim(_text)
{
	var _first = 0;

	while (_text.charAt(_first) == " ") _first ++;

	return _text.substring(_first);
}

function trim(_text)
{
	if (_text == null) return null;
	_text = leftTrim(_text);
	_text = rightTrim(_text);
	return _text;
}

function replaceAll(_text, _src, _trg)
{
	var _pos;

	_text += '';
	_src += '';
	_trg += '';
	if (_src == _trg || _src == "") {return _text;}

	_pos = _text.indexOf(_src);
	while (_pos >= 0)
	{
		if (_text.length <= _pos + _src.length)
			_text = _text.substring(0, _pos) + _trg;
		else
			_text = _text.substring(0, _pos) + _trg + _text.substring(_pos + _src.length);

		_pos = _text.indexOf(_src, _pos + _trg.length);
	}
	return _text;
}

function getFill(_text, _trg, _repcnt, _forword)
{
	var _textlen, _trglen, _i;

	if (_repcnt == null || isNaN(_repcnt) ) return _text;

	_text += '';
	_textlen = _text.length;
	_trg += '';
	_trglen = _trg.length;
	if (_textlen > _trglen * (_repcnt - 1) ) return _text;

	_textlen = _repcnt - Math.floor(_textlen / _trglen);
	if (_forword == false)
	{
		for (_i = 1; _i <= _textlen; _i ++) _text += _trg;
	}
	else
	{
		for (_i = 1; _i <= _textlen; _i ++) _text = _trg + _text;
	}
	return _text;
}

function isEmpty(_text)
{
	var _i = 0;

	if (_text.length==0) return true;

	while (_i < _text.length)
	{
		if (_text.substring(_i, _i + 1) != ' ') return false;
		_i++;
	}
	return true;
}

function getDays(ayear, amonth)
{
	var _year, _month, _leapyear, _days

	if (ayear < 1900) return 0;
	if (amonth < 1 || amonth > 12) return 0;

	if (_month == 2)
	{
		if (_year % 100 == 0)
			_leapyear = (_year % 400 == 0);
		else
			_leapyear = (_year % 4 == 0);

		_days = (_leapyear ? 29 : 28);
		return _days;
	}

	if (',4,6,9,11,'.indexOf(',' + _month + ',') >= 0)
		_days = 30;
	else
		_days = 31;

	return _days;
}

function isDate(_date)
{
	var _year, _month, _day;
	var _fmt, _fmtca;

	if (_date.length == 8)
	{
		_fmt = new Array(0,4,4,6,6,8);
		_fmtca = "";
	}
	else if (_date.length == 10)
	{
		_fmt = new Array(0,4,5,7,8,10);
		_fmtca = ".-/";
	}
	else return false;

	_year = _date.substring(_fmt[0], _fmt[1]);
	if (isNaN(_year)) return false;
	_year = parseInt(_year, 10);
	if (_year < 1900) return false;
	if (_fmtca.length > 0 && _fmtca.indexOf(_date.substring(_fmt[1], _fmt[2])) < 0) return false;

	_month = _date.substring(_fmt[2], _fmt[3]);
	if (isNaN(_month)) return false;
	_month = parseInt(_month, 10);
	if (_month < 1 || _month > 12) return false;
	if (_fmtca.length > 0 && _fmtca.indexOf(_date.substring(_fmt[3], _fmt[4])) < 0) return false;

	_day = _date.substring(_fmt[4], _fmt[5]);
	if (isNaN(_day)) return false;
	_day = parseInt(_day, 10);
	if (_day < 1 || _day > getDays(_year, _month)) return false;

	return true;
}

function isInvalid(_msginfo, _object, _type, _minlen, _maxlen)
{
	var	i, _invalid = false, _objects = new Array();

	if (_type == null) _type = 'string';

	if (_type == 'date')
	{
		if (_minlen != 8) _minlen = 10;
		_maxlen = _minlen;
	}
	else
	{
		if (_minlen == null) _minlen = 1;
		if (_maxlen == null && _minlen >= 0) _maxlen = 255;
	}

	if (_object.form)
	{
		_objects.length = 1;
		_objects[0] = _object;
	}
	else
	{
		_objects = _object;
	}
	for (i = 0; i < _objects.length; i++)
	{
		_objects[i].value = trim(_objects[i].value);
		if ( (_maxlen > 0 && _objects[i].value.length > _maxlen) ||
			(_minlen > 0 && _objects[i].value.length < _minlen) ||
			(_minlen < 0 && _objects[i].value.length != Math.abs(_minlen) && _objects[i].value.length != Math.abs(_maxlen)) ||
			(_minlen == 0 && _maxlen < 0 && _objects[i].value.length > 0 && _objects[i].value.length != Math.abs(_maxlen)) )
		{
			_invalid = true;
		}

		if (!_invalid)
		{
			if (_type == 'number')
				_invalid = isNaN(_objects[i].value);
			else if (_type == 'date')
				_invalid = !isDate(_objects[i].value);
		}

		if (_invalid && (_msginfo != null) && (_msginfo.length > 0))
		{
			alert((_objects.length>1?'µÚ'+(i+1)+'ÐÐ£¬':'')+_msginfo);
			_objects[i].focus();
			return _invalid;
		}
	}
	return _invalid;
}

function notColor(_cv, _rad)
{
	_cv = 255 - parseInt(_cv, _rad);
	_cv = int2hex(Math.floor(_cv / 16)) + int2hex(_cv % 16);
	return _cv;
}

function int2hex(_num)
{
	return ("0123456789ABCDEF".charAt(_num));
}

function round(_num, _rnd, _force)
{
	var _rnds;

	_rnds = Math.pow(10, _rnd);
	_num = Math.round(_num * _rnds) / _rnds;
	if (_force != true || _rnd <= 0) return _num;
	_num += '';
	_rnds = _num.lastIndexOf('.');
	if (_rnds >= 0)
	{
		_rnd -= _num.length - 1 - _rnds;
		if (_rnd <= 0) return _num;
	}
	else
	{
		_num += '.';
	}
	for (_rnds = 1; _rnds <= _rnd; _rnds++) { _num += '0';}
	return _num;
}

function keyFocus(_fm, _pos, _step)
{
	var _i;

	if (event.keyCode != 13) return false;
	if (_fm == null) return false;
	if (isNaN(_pos)) return false;

	if (_step == null || _step <= 0) _step = 1;
	if (_pos < 0)
	{
		if (document.activeElement == null) return false;
		for (_i = 0; _i < _fm.elements.length; _i++)
		{
			if (document.activeElement == _fm.elements[_i])
			{
				_pos = _i + _step;
				break;
			}
		}
		if (_pos < 0) return false;
	}
	for (_i = _pos; _i < _fm.elements.length; _i += _step)
	{
		if (!(_fm.elements[_i].disabled || _fm.elements[_i].readOnly || "hidden,image".indexOf(_fm.elements[_i].type) >= 0 ))
		{
			_fm.elements[_i].focus();
			if (_fm.elements[_i].type == 'text')
			{
				_fm.elements[_i].select();
			}
			return true;
		}
	}
	for (_i = (_pos % _step); _i < _pos; _i += _step)
	{
		if (!(_fm.elements[_i].disabled || _fm.elements[_i].readOnly || "hidden,image".indexOf(_fm.elements[_i].type) >= 0 ))
		{
			_fm.elements[_i].focus();
			if (_fm.elements[_i].type == 'text')
			{
				_fm.elements[_i].select();
			}
			return true;
		}
	}
	return false;
}

function isNumberString (InString,RefString)
{
    if(InString.length==0) return (false);
    for (Count=0; Count < InString.length; Count++) {
        TempChar= InString.substring (Count, Count+1);
        if (RefString.indexOf (TempChar, 0)==-1)  
        return (false);
    }
    return (true);
}
