var 	dsSeleURL="EventDispatch.jsp?eventID=App.organize.dept.selectwhole&NET_CONTENT=1&SINGLE_SELECT=1&TYPE=DETAIL";
var	dsSeleParams="status:no; scroll:yes; resizable:yes; help:no;dialogWidth:500px;dialogHeight:450px;";

	function getTodayYear()
	{
		var dtTodayYear = "";
		var objdate = new Date();							//Create Date object.
		dtTodayYear += objdate.getYear()  + "��";			//Get month
		return dtTodayYear;
	}

	function getTodayYearOnly()
	{
		var dtTodayYear = "";
		var objdate = new Date();							//Create Date object.
		dtTodayYear += objdate.getYear();					//Get month
		return dtTodayYear;
	}


	function getTodayMonth()
	{
		var dtTodayMonth = "";
		var objdate = new Date();							//Create Date object.
		dtTodayMonth += (objdate.getMonth() + 1) + "��";		//Get month
		return dtTodayMonth;
	}

	function getTodayMonthOnly()
	{
		var dtTodayMonth = "";
		var objdate = new Date();							//Create Date object.
		dtTodayMonth += objdate.getMonth();					//Get month
		return dtTodayMonth;
	}

	function getTodayDate()
	{
		var dtTodayDate = "";
		var objdate = new Date();							//Create Date object.
		dtTodayDate += objdate.getYear()+ "��";             //Get year.
		dtTodayDate += (objdate.getMonth() + 1) + "��";		//Get month
		dtTodayDate += objdate.getDate() + "��";             //Get day
		return dtTodayDate;
	}

	function getTodayDateOnly()
	{
		var dtTodayDate = "";
		var objdate = new Date();							//Create Date object.
		dtTodayDate += objdate.getDate();					//Get day
		return dtTodayDate;
	}


	function getTodayWeekDay()
	{
	   var d, day, x, s = "";
	   var x = new Array("������", "����һ", "���ڶ�");
	   var x = x.concat("������","������", "������");
	   var x = x.concat("������");
	   d = new Date();
	   day = d.getDay();
	   return(s += x[day]);
	}

	function getSomeWeekDay(dtYear, dtMonth, dtDate)
	{
		var objDate = new Date(dtYear, dtMonth, dtDate);
		var day, x, s = "";
		var x = new Array("������", "����һ", "���ڶ�");
		var x = x.concat("������","������", "������");
		var x = x.concat("������");
		day = objDate.getDay();
		return(s += x[day]);
	}

/************************************************************************************
��ƣ�	trim(strValue)
���ܣ�	�ú�������ȥ���ַ�ǰ��Ŀո�
����	strValue---��Σ��ַ�������ַ�
���أ�	�ַ�
���ã�	��
˵��	��Ϊȫ�ո��ַ��򷵻ؿ�
Author:	Albertzhu
LMDate:	2001-12-30
**************************************************************************************/
function trim(strValue)
{

	var iLTR, jRTL;
	var chr;

	//ȥ���ַ�ǰ��Ŀո�
	for( iLTR = 0; iLTR < strValue.length; iLTR++ )
	{
		chr = strValue.charAt(iLTR) ;
		if( chr != " " ) break;
	}

	if( iLTR == strValue.length ) return "";

	//ȥ���ַ�ǰ��Ŀո�
	for( jRTL = strValue.length - 1; jRTL >= 0; jRTL-- )
	{
		chr = strValue.charAt(jRTL);
		if( chr != " " ) break;
	}
	return strValue.substring(iLTR, jRTL + 1);
}

/************************************************************************************
��ƣ�	trimZero(strValue)
���ܣ�	�ú�������ȥ���ַ��ǰ��0
����	strValue---��Σ��ַ�������ַ�
���أ�	�ַ�
���ã�	��
˵��	��Ϊȫ0�ַ��򷵻ؿ�
Author:	Albertzhu
LMDate:	2001-12-30
**************************************************************************************/
function trimZero(strValue)
{
	var iLTR;
	var chr;

	//ȥ���ַ�ǰ��0
	for( iLTR = 0; iLTR < strValue.length; iLTR++ )
	{
		chr = strValue.charAt(iLTR) ;
		if( chr != "0" ) break;
	}

	if( iLTR == strValue.length ) return "";

	return strValue.substring(iLTR, strValue.length);
}

/************************************************************************************
��ƣ�	existChinese(strValue)
���ܣ�	�ú������ڼ���ַ��Ƿ����
����	strValue---��Σ��ַ�������ַ�
���أ�	����ֵ�� true--���֣� false--������
���ã�	��
˵��
Author:	Albertzhu
LMDate:	2001-12-30
**************************************************************************************/
function existChinese(strValue)
{
	var chrCode
	for(var iChar = 0; iChar < strValue.length; iChar++)
	{
		chrCode = strValue.charCodeAt(iChar);
		if(parseInt(chrCode) > 255)
		{
			return true;
		}
	}
	return false;
}

/************************************************************************************
��ƣ�	formatInputNumber(oElement, length, decimal)
���ܣ�	�ú������ڸ�ʽ�������INPUT����ֵ,ֻ���ڷǸ�������
����	oElement---��Σ����󣻴���������INPUT������
		length-----��Σ����֣���ֵ����(��(С���)
		decimal----��Σ����֣�С��λ��
���أ�	��ֵ��
���ã�	trim(strValue);trimZero(strValue);existChinese(strValue);
˵��	���������ݰ��֣��򷵻ؿ�ֵ
		���������ݴ��ڹ涨��λ�������Ϊ0������ʽ������Ӧ��С��λ��
		���������ݵ�С��λ�����Ҫ���λ������ȥβ����ȥ������Ҫ���С��λ������
		С���ռһλ
		һ������INPUT�����ONBLUR�¼�
Author:	Albertzhu
LMDate:	2001-12-30
**************************************************************************************/
function formatInputNumber(oElement, length, decimal)
{
	var oInput = oElement;
	var oInputValue = trim(oInput.value);
	var iLowcase = oInputValue.indexOf("e");
	var iUpcase = oInputValue.indexOf("E");

	if( oInputValue == "")							//Ϊ��ֵ
	{
		oInput.value = "";
		return true;
	}

	if (existChinese(oInputValue))					//����
	{
		oInput.value = "";
		return true;
	}

	if((iLowcase != -1)||(iUpcase != -1))			//��ѧ����
	{
		/***********************************************
				�����ѧ����
		***********************************************/
		return true;
	}

	//һ�����
	var bOverflow = false;							//�Ƿ����
	var partInteger = "";							//����ֵ�ֵ
	var countIntegerLength = 0;						//����ֳ���
	var partDecimal = "";							//С��ֵ�ֵ
	var countDecimalLength = 0;						//С��ֳ���

	var iPoint = oInputValue.indexOf(".");			//С���λ��

	var allowIntegerLength = length - decimal - 1;	//��������?��
	var allowDecimalLength = decimal;				//С������?��

	//���������ݵ�����ֺ�С���
	if(iPoint == -1)		//����������
	{
		partInteger = oInputValue;
		partInteger = trimZero(partInteger);		//ȥ��ǰ��0
		countIntegerLength = oInputValue.length;
	}
	else					//������С��
	{
		partInteger = oInputValue.substring(0,iPoint);
		partInteger = trimZero(partInteger);		//ȥ��ǰ��0
		countIntegerLength = partInteger.length;
		//ֱ����ȥβ����ȡС��λ
		partDecimal = oInputValue.substring(iPoint + 1, iPoint + 1 + allowDecimalLength);
		countDecimalLength = partDecimal.length;
	}
	if (partInteger == "")	//ȥ��ǰ��0��Ϊ��
	{
		partInteger = "0";
	}

	//�ж�����ֵ�λ���Ƿ񳬹������λ�����������Ϊ0
	if(countIntegerLength > allowIntegerLength)
	{
		partInteger = "0";
		bOverflow = true;
	}

	//������С��ֲ���
	if(countDecimalLength < allowDecimalLength)
	{
		for (var iDecimal = 0; iDecimal < (allowDecimalLength - countDecimalLength); iDecimal++)
			partDecimal = partDecimal + "0";
	}

	//������ֺ�С������
	if (partDecimal != "")
	{
		oInput.value = partInteger + "." + partDecimal;
	}
	else
	{
		oInput.value = partInteger
	}
	if (bOverflow) oInput.focus();
}

/************************************************************************************
��ƣ�	checkFloat()
���ܣ�	�ú����������������INPUT��ֻ���������ֺ�С���
����	��---Ĭ�ϵ�ǰ�����INPUT��
���أ�	����ֵ�� true--��Ч���룻 false--��Ч����
���ã�	��
˵��	һ������INPUT�����ONKEYPRESS�¼�
		*�Ժ��ֵ�����û������
Author:	Albertzhu
LMDate:	2001-12-30
**************************************************************************************/
function checkFloat()
{
	event.cancelBubble = true;
	var objSrc = event.srcElement;
	var strValue;
	if (objSrc.tagName == "INPUT")
	{
		strValue = objSrc.value
		if (strValue.indexOf(".") != -1)
		{
			if(event.keyCode >= 48 && event.keyCode <= 57)
				return true;
			else
				return false;
		}
		else
		{
			if((event.keyCode >= 48 && event.keyCode <= 57) || event.keyCode == 46)
				return true;
			else
				return false;
		}
	}
}

/**************************************************************************
��ƣ�	formatNumber(NumberValue, iDecimal)
���ܣ�	�ú������ڸ�ʽ����ֵ�����
����	NumberValue---��Σ����֣����ʽ������ֵ���
		iDecimal------��Σ����֣�С��λ��
���أ�	��ֵ��
���ã�	trim(strValue);trimZero(strValue);existChinese(strValue);
˵��	���������ݰ��֣��򷵻ؿ�ֵ
		���������ݴ��ڹ涨��λ�������Ϊ0������ʽ������Ӧ��С��λ��
		���������ݵ�С��λ�����Ҫ���λ������ȥβ����ȥ������Ҫ���С��λ������
		С���ռһλ
		һ������INPUT�����ONBLUR�¼�
Author:	Albertzhu
LMDate:	2001-12-30
**************************************************************************/
function formatNumber(NumberValue, iDecimal)
{
	var iTmp = "";
	if ( iDecimal == null )	iDecimal = 0;			//Ĭ��û��С��λ
	var strNumber = NumberValue + "";
	if (isNaN(strNumber) || (strNumber.length == 0))
	{
		for (i = 0; i < iDecimal; i++)
			iTmp += "0"
		if (iTmp != "")
			strNumber = "0." + iTmp
		else
			strNumber = "0";
		return strNumber;
	}

	var ifirst = 0;
	for(var iN = 0; iN < strNumber.length-1; iN++)
	{
		if(strNumber.indexOf(".") == 1)
			break;
		else
			if(strNumber.charAt(iN) == "0")
				ifirst += 1;
			else
				break;
	}
	strNumber = strNumber.substring(ifirst);
	if(strNumber.indexOf(".") == 0) strNumber = "0" + strNumber;
	if(strNumber.indexOf("-.") == 0) strNumber = "-0." + strNumber.substring(2);

	var iDi = strNumber.indexOf(".",0);
	if(iDi < 0)
	{
		for (i = 0; i < iDecimal; i++)
			iTmp += "0"
		if (iTmp != "")
			strNumber += "." + iTmp;
		return strNumber;
	}
	var iDiLength = strNumber.length - (iDi+1);
	if (iDiLength == iDecimal)
		return strNumber;
	if (iDiLength < iDecimal)
	{
		for (var iLoop = iDecimal; iLoop > iDiLength; iLoop--)
			strNumber += '0';
		return strNumber;
	}
	else
	{
		var iNum1 = parseFloat(strNumber);
		iNum1 = (iNum1 + (5 / Math.pow(10,(iDecimal + 1)))) * (Math.pow (10,iDecimal));
		iNum1 = Math.floor(iNum1);
		iNum1 = iNum1 / Math.pow (10,iDecimal);
		strNumber = new String(iNum1);
		var iDi = strNumber.indexOf(".",0);
		if(iDi < 0)
		{
			for (i = 0; i < iDecimal; i++)
				iTmp += "0"
			if (iTmp != "")
				strNumber  += "." + iTmp;
			return strNumber;
		}
		var iDiLength = strNumber.length - (iDi+1);
		if (iDiLength == iDecimal)
			return strNumber;
		if (iDiLength < iDecimal)
		{
			for (var iLoop = iDecimal; iLoop > iDiLength; iLoop--)
				strNumber += "0";
			return strNumber;
		}
	}
}

/**************************************************************************
��ƣ�	InputField(name, description, checkCondition)
���ܣ�	�ú������ڴ����ֶζ���
����	name------------���;���䣻�ַ��ֶζ�������
		description-----���;��ѡ���ַ��ֶζ����˵��
		checkCondition--���;��ѡ���ַ�������
���أ�	�ֶζ���
���ã�	�ޣ�
˵��	�ֶ�˵��Ĭ��Ϊ��--""
		������Ĭ��Ϊ��--""
		��������New������������ var objFld = new InputField("FieldName","FieldDescription")
Author:	Albertzhu
LMDate:	2001-12-31
**************************************************************************/
function InputField(name, description, checkCondition, setFocus)
{
	this.fieldName = name;

	if (description == null)
	{
		this.description = "";
	}
	else
	{
		this.description = description;
	}

	if (checkCondition == null)
	{
		this.checkCondition = "";
	}
	else
	{
		this.checkCondition = checkCondition;
	}

	if ((setFocus == "N")||(setFocus == "n"))
	{
		this.setFocus ="N"
	}
	else
	{
		this.setFocus = "Y";
	}
}

/**************************************************************************
��ƣ�	getHtmlElement(InputField, frmName, bAlert)
���ܣ�	�ú������ڻ��ҳ��ָ���?��ָ��Ԫ��
����	InputField------���;���䣻����ָ�����ֶζ���
		frmName----���;��ѡ���ַ�FORM�?���
		bAlert-----���;��ѡ������ֵ���Ƿ񵯳���ʾ��
���أ�	����
���ã�	InputField(name, description, checkCondition);
˵��	Ĭ�������ҳ�棨DOCUMENT������
		������ָ����FORM�?���򷵻�nullֵ
		������ָ�����ֶ�Ԫ�أ��򷵻�nullֵ
		Ĭ�ϵ�����ʾ��
		�����ڶ��ͬ��Ԫ�أ��򷵻�Ԫ�ض�������,���򷵻�Ԫ�ض���
Author:	Albertzhu
LMDate:	2001-12-31
**************************************************************************/
function getHtmlElement(InputField, frmName, bAlert)
{
	var htmlElement;
	var bNullAlert;

	if (bAlert == null)
	{
		bNullAlert = true;
	}
	else
	{
		bNullAlert = bAlert;
	}

	if (frmName != null)		//��ָ����FROM�?�в���
	{
		var objFrm = document.all(frmName);
		if (objFrm == null)
		{
			if (bNullAlert)
			{
				alert("������ָ����Form�?[" + frmName + "]��");
			}
			return null;
		}
		htmlElement = objFrm.all(InputField.fieldName);
	}
	else						//�����ҳ���в���
	{
		htmlElement = document.all(InputField.fieldName);
	}

	if (htmlElement == null)
	{
		if (bNullAlert)
		{
			var strFldDesc = InputField.description;
			if (strFldDesc != "")
			{
				strFldDesc = "--" + strFldDesc;
			}
			if (frmName != null)
			{
				alert("��ָ����Form�?[" + frmName + "]�в�����ָ����Ԫ��[" + InputField.fieldName + "]" + strFldDesc + "��");
			}
			else
			{
				alert("��ҳ���в�����ָ����Ԫ��[" + InputField.fieldName + "]" + strFldDesc + "��");
			}
		}
		return null;
	}
	return htmlElement;
}

/**************************************************************************
��ƣ�	checkMasterValidate(aFields, frmName)
���ܣ�	�ú������ڼ������ֶ�ֵ�Ƿ���Ч
����	aFields----���;���䣻������󣻴�����ֶζ�������
		frmName----���;��ѡ���ַ�FORM�?���
���أ�	������
���ã�	InputField(name, description, checkCondition);
˵��	Ĭ�������ҳ�棨DOCUMENT�����
		���ҳ���в�����ָ����FORM�?���򷵻�false
		�����ָ����FORM�?�в�����ָ�����ֶ�Ԫ�أ��򷵻�false
		�����ָ����FORM�?��ָ�����ֶ�Ԫ�ص�ֵΪ�գ��򷵻�false
		���򷵻�true
Author:	Albertzhu
LMDate:	2001-12-31
**************************************************************************/
function checkMasterValidate(aFields, frmName)
{
	var fldCount = aFields.length;
	var fldElement;

	for (var iField = 0; iField < fldCount; iField++)
	{
		fldElement = getHtmlElement(aFields[iField], frmName)
		/*************************************************************************
		if((fldElement.length != null) && (fldElement.length > 0 ))		//���ظ�Ԫ��
		{
			alert("�����ظ�Ԫ��[" + aFields[iField].fieldName + "]��" + fldElement.length);
			return false;
		}		//select ��
		**************************************************************************/
		if (fldElement != null)
		{
			if (trim(fldElement.value) == aFields[iField].checkCondition)
			{
				if (aFields[iField].description != "")
				{
					alert("������[" + aFields[iField].description + "]��");
				}
				else
				{
					alert("������[" + aFields[iField].fieldName + "]��");
				}

				if (aFields[iField].setFocus == "Y")
				{
					fldElement.focus();
				}
				return false;
			}
		}
		else
		{
			return false;
		}
	}
	return true;
}

/**************************************************************************
��ƣ�	checkDetailValidate(aFields, frmName)
���ܣ�	�ú������ڼ����ϸ���ֶ�ֵ�Ƿ���Ч
����	aFields----���;���䣻������󣻴�����ֶζ�������
		frmName----���;��ѡ���ַ�FORM�?���
���أ�	������
���ã�	InputField(name, description, checkCondition);trim(strValue);
˵��	Ĭ�������ҳ�棨DOCUMENT�����
		���ҳ���в�����ָ����FORM�?���򷵻�false
		�����ָ����FORM�?�в�����ָ�����ֶ�Ԫ�أ��򷵻�false
		�����ָ����FORM�?��ָ�����ֶ�Ԫ�ص�ֵΪ�գ��򷵻�false
		���򷵻�true
Author:	Albertzhu
LMDate:	2001-12-31
**************************************************************************/
function checkDetailValidate(aFields, frmName)
{
	var fldCount = aFields.length;
	var fldElement;
	var curElementLine;
	for (var iField = 0; iField < fldCount; iField++)
	{
		fldElement = getHtmlElement(aFields[iField], frmName, false)		//��ǰ�ֶ�
		{
			if (fldElement == null)											//û����ϸ��
			{
				alert("��������ϸ��");
				return false;
			}

			if((fldElement.length != null) && (fldElement.length > 0 ))		//��ϸ����
			{
				for (var iLine = 0; iLine < fldElement.length; iLine++)		//��ǰ�ֶε�ÿһ��
				{
					curElementLine = fldElement[iLine];
					if (trim(curElementLine.value) == aFields[iField].checkCondition)
					{
						if (aFields[iField].description != "")
						{
							alert("��������ϸ[" + aFields[iField].description + "]8��");
						}
						else
						{
							alert("��������ϸ[" + aFields[iField].fieldName + "]8��");
						}

						if (aFields[iField].setFocus == "Y")
						{
							curElementLine.focus();
						}
							return false;
					}
				}
			}
			else															//��ϸ����
			{
				if (trim(fldElement.value) == aFields[iField].checkCondition)
				{
					if (aFields[iField].description != "")
					{
						alert("��������ϸ[" + aFields[iField].description + "]8��");
					}
					else
					{
						alert("��������ϸ[" + aFields[iField].fieldName + "]8��");
					}

					if (aFields[iField].setFocus == "Y")
					{
						fldElement.focus();
					}
					return false;
				}
			}
		}
	}
	return true;
}

/**************************************************************************
��ƣ�	table_onclick(oTable)
���ܣ�	�ú������ڴ���TABLE�ĵ���¼�
����	oTable----���;���䣻TABLE���󣻴���Ӧ��TABLE����
���أ�	������
���ã�	changeRow(iRow,oTable)
˵��	����ȫ�ֱ��Ĺ�ϵ��Ŀǰֻ�ܴ���һ��ҳ���еĵ����
Author:	Albertzhu
LMDate:	2001-12-31
**************************************************************************/
	var m_iTableCurCol = -1;
	var m_iTableCurRow = -1;
	function table_onclick(oTable)
	{
		event.cancelBubble = true;
	    var src = window.event.srcElement;
		while (src.tagName != "TR")
		{
			if (src.tagName == "TD")
			{
				if (src.cellIndex != m_iTableCurCol)
					m_iTableCurCol = -1;
			}
			if (src.tagName == "TABLE" || src.tagName=="BODY")	return false;
			src = src.parentElement;
		}

		if (src.rowIndex == 0) return false;
		changeRow(src.rowIndex, oTable);
	}

/**************************************************************************
��ƣ�	changeRow(iRow,oTable)
���ܣ�	�ú������ڴ���TABLE�ĵ���¼�
����	iRow----���;���䣻��ý�����к�
		oTable--���;���䣻TABLE���󣻴���Ӧ��TABLE����
���أ�	������
���ã�	��
˵��	����ȫ�ֱ��Ĺ�ϵ��Ŀǰֻ�ܴ���һ��ҳ���еĵ����
Author:	Albertzhu
LMDate:	2001-12-31
**************************************************************************/
	function changeRow(iRow,oTable)
	{
		var bMoveRow = (m_iTableCurRow != iRow)
		var oRows = oTable.rows;
		if (m_iTableCurRow > 0 && m_iTableCurRow <= oRows.length - 1)
		{
			jo=m_iTableCurRow % 2
			if(jo!=0)
			oRows[m_iTableCurRow].className = "MouseOutWhite";
			else
			oRows[m_iTableCurRow].className = "MouseOutHui";

		}
		oRows[iRow].className = "Selected_Row";
		m_iTableCurRow = iRow;

		if (m_iTableCurCol > 0 && m_iTableCurCol <= oRows[0].cells.length)
		{
			try
			{
				oRows(m_iTableCurRow).cells(m_iTableCurCol).lastChild.focus();
			}
			catch(e)
			{}
		}
		return true;
	}

/**************************************************************************
��ƣ�	getActiveRow(tblName)
���ܣ�	�ú������ڴ���TABLE�ĵ���¼�
����	tblName----���;���䣻�����TABLE��
���أ�	������
���ã�	��
˵��	����ȫ�ֱ��Ĺ�ϵ��Ŀǰֻ�ܴ���һ��ҳ���еĵ����
Author:	Albertzhu
LMDate:	2001-12-31
**************************************************************************/
	function getActiveRow(tblName, strAlert)
	{
		if (m_iTableCurRow == -1 )
		{
			if (strAlert == null)
			{
				alert("��ѡ�������С�")
			}
			else
			{
				alert(strAlert)
			}
			return false;
		}
		else
		{
			var oTable = document.all(tblName);
			var aInputs = oTable.getElementsByTagName("input");
			var oInput;
			var oRadioBoxs = new Array();
			var j = 0;

			for(var i = 0; i < aInputs.length; i++)
			{
				oInput = aInputs[i];
				if (oInput.type == "radio")
				{
					oRadioBoxs[j++] = oInput;
				}
			}
			oRadioBoxs[m_iTableCurRow - 1].checked = true;
			return true;
		}
	}


/************************************************************************************************
function	:	isDate(strD)
purpose		:	�ж�һ���ַ��Ƿ��ǺϷ��������ַ����ַ�ĸ�ʽ�����ǡ�YYYY/MM/DD��
parameters	:	strD:	�����ַ�
return		:	true / false
*************************************************************************************************/
function isDate(strD)
{
	if (strD == "" || strD == null)
		return false;
	var strDate = now(strD.replace(/-/g,"/"))
	if (strDate == "" || strDate != strD)
		return false;
	else
		return true;
}

/**************************************************************************************************
function	:	isEmail(strEmail)
purpose		:	����ַ��Ƿ���һ��Ϸ���Email��ַ
parameter	:	strEmail	Email��ַ�ַ�
return		:	true/false
***************************************************************************************************/
function isEmail(strEmail)
{
	var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; // not valid
	var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/; // valid
	if (!reg1.test(strEmail) && reg2.test(strEmail))
		return true
	else
		return false;
}

/************************************************************************************************
function	:	formatNumber(strNumber)
purpose		:	��ʽ�����֡��������м���ǧ�ַָ����
parameters	:	strNumber	:	���ʽ��������
return		:	Format money
*************************************************************************************************/
function formatNumber(strNumber)
{
	strNumber = "" + strNumber;
	DecSeparator = "."
	ThousandsSeparator = ","

	if (strNumber.indexOf (DecSeparator, 0) != -1)
	{
		IntegerAmount = strNumber.substring(0, strNumber.indexOf (DecSeparator, 0));
		FractionAmount = strNumber.substring(strNumber.indexOf (DecSeparator, 0)+1, strNumber.indexOf (DecSeparator, 0)+3);
		if (FractionAmount.length == 0)
			FractionAmount = "00";
		if (FractionAmount.length == 1)
			FractionAmount = FractionAmount + "0";
	}
	else
	{
		IntegerAmount = strNumber;
		FractionAmount = "00";
	}
	OutString = "";
	len = IntegerAmount.length;
	if (len>=3)
	{
		while (len>0)
		{
			TempString = IntegerAmount.substring(len-3, len)
			if (TempString.length == 3)
			{
				OutString = ThousandsSeparator + TempString + OutString
				len = len-3;
			}
			else
			{
				OutString = TempString + OutString
				len = 0
			}
		}
		if (OutString.substring(0, 1) == ThousandsSeparator)
			IntegerAmount = OutString.substring (1, OutString.length)
		else
			IntegerAmount = OutString
	}
	return (IntegerAmount + DecSeparator + FractionAmount);
}

/************************************************************************************************
function	:	unFormatNumber(strNumber)
purpose		:	���ɺ��� formatNumber ��ʽ����ַ��еĸ�ʽȥ��
parameters	:	strNumber	�� formatNumber ��ʽ����ַ�
return		:
*************************************************************************************************/
function unFormatNumber(strNumber)
{
	strNumber = strNumber + "";
	var oReg=/,/g;
	strNumber = strNumber.replace(oReg,"")
	return parseFloat(strNumber)
}

/*-------------------------------------------------------------------------
function	: 	formatDigits(iNum, iDn)
purpose		: 	�����ֵĸ�ʽת��Ϊָ��С��λ�ĸ�ʽ��С������������뷨��ȡ��
parameter	:	iNum-��ת������ݡ�	iDn-С��λ��
return		:	�����ַ��͸�ʽ�������
--------------------------------------------------------------------------*/
function formatDigits(iNum, iDn)//OK.
{
	var iTmp="";
	if ( iDn == null )
		iDn = 0;
	var strNum =iNum + "";
	strNum =  trim(strNum);
	if (isNaN(strNum) || strNum.length == 0)
	{
		for (i = 0; i < iDn; i++)
			iTmp += "0"
		if (iTmp != "")
			strNum = "0." + iTmp
		else
			strNum = "0";
		return strNum;
	}

   	var ifirst=0;
	for(var iN=0;iN<strNum.length-1;iN++)
	{
		if(strNum.indexOf(".")==1)
			break;
		else
			if(strNum.charAt(iN)=="0")
				ifirst+=1;
			else
				break;
	}
	strNum=strNum.substring(ifirst);
	if(strNum.indexOf(".")==0) strNum="0"+strNum;
	if(strNum.indexOf("-.")==0) strNum="-0."+strNum.substring(2);

	var iDi = strNum.indexOf(".",0);
	if(iDi < 0)
	{
		for (i = 0; i < iDn; i++)
			iTmp += "0"
		if (iTmp != "")
			strNum  += "."+iTmp;
		return strNum;
	}
	var iDiLength = strNum.length - (iDi+1);
	if (iDiLength == iDn)
		return strNum;
	if (iDiLength < iDn)
	{
		for (var iLoop=iDn; iLoop>iDiLength; iLoop--)
			strNum += '0';
		return strNum;
	}
	else
	{
		var iNum1 = parseFloat(strNum);
		iNum1 = (iNum1+(5/Math.pow(10,(iDn+1))))*(Math.pow (10,iDn));
		iNum1 = Math.floor(iNum1);
		iNum1 = iNum1/Math.pow (10,iDn);
		strNum = new String(iNum1);
		var iDi = strNum.indexOf(".",0);
		if(iDi < 0)
		{
			for (i = 0; i < iDn; i++)
				iTmp += "0"
			if (iTmp != "")
				strNum  += "."+iTmp;
			return strNum;
		}
		var iDiLength = strNum.length - (iDi+1);
		if (iDiLength == iDn)
			return strNum;
		if (iDiLength < iDn)
		{
			for (var iLoop=iDn; iLoop>iDiLength; iLoop--)
				strNum += '0';
			return strNum;
		}
	}
}

/****************************************************************************************************
function	:	now(strD)
purpose		:	��õ�ǰ���ڣ���ָ�����ַ�ת��Ϊ��׼��YYYY/MM/DD
parameter	:	strD	����Ϸ���ʽ�������ַ�
return		:	"YYYY/MM/DD"��ʽ���ַ����������ʱ���ؿ��ַ�
****************************************************************************************************/
function  now(strD)
{
 	var dateObj
 	if (strD == "")
 		return "";
 	if(strD == null)
 		dateObj = new Date();
 	else
 	{
 		dateObj = new Date(strD);
 		if (isNaN(dateObj))
 			return "";
 	}
	var strDate = "";
	strDate += dateObj.getFullYear();
	strDate += "/";
	strDate += (dateObj.getMonth()>8)? dateObj.getMonth()+1: "0"+(dateObj.getMonth()+1);
	strDate += "/";
	strDate += (dateObj.getDate()>9)? dateObj.getDate(): "0" +dateObj.getDate();
	return strDate;
}

/****************************************************************************************************
function	:	time(strD)
purpose		:	��õ�ǰʱ�䣬��ָ�����ַ�ת��Ϊ��׼��HH��MM��SS
parameter	:	strD	����Ϸ���ʽ��ʱ���ַ�
return		:	"HH��MM��SS"��ʽ���ַ����������ʱ���ؿ��ַ�
****************************************************************************************************/
function  time(strD)
{
 	var dateObj
 	if (strD == "")
 		return "";
 	if(strD == null)
 		dateObj = new Date();
 	else
 	{
 		dateObj = new Date(strD);
 		if (isNaN(dateObj))
 			return "";
 	}
	var strDate = "";
	strDate += (dateObj.getHours()>9)? dateObj.getHours(): "0" + (dateObj.getHours());
	strDate += ":";
	strDate += (dateObj.getMinutes()>9)? dateObj.getMinutes() : "0" + dateObj.getMinutes();
	strDate += ":";
	strDate += (dateObj.getSeconds()>9)? dateObj.getSeconds() : "0" + dateObj.getSeconds();
	return strDate;
}

/********************************************************************
function	:	trim(str)
purpose		:	ȥ���ַ��е���β�ո�
parameters	:	str
return		:
********************************************************************/
function  trim(str)
{
	str = str.replace(/(^\s*)|(\s*$)/g, "");
	return str
}


/********************************************************************
function	:	clearInput()
purpose		:	������е��ı�����򡣰�(<input type=text>,<textarea>��
parameters	:
return		:
********************************************************************/
function clearInput()
{
	var txtTmp;
  	var aInputs = document.all.tags("TEXTAREA");
	for(var iIndex=0; iIndex<aInputs.length; iIndex++)
	{
		txtTmp = aInputs(iIndex);
		txtTmp.value = "";
	}
  	aInputs = document.all.tags("INPUT");
	for(var iIndex=0; iIndex<aInputs.length; iIndex++)
	{
		txtTmp = aInputs(iIndex);
		if(txtTmp.type == "text") txtTmp.value = "";
		if(txtTmp.type == "radio") txtTmp.checked = false;
		if(txtTmp.type == "checkbox") txtTmp.checked = false;
	}
	var aInputs = document.all.tags("SELECT");
	for(var iIndex=0; iIndex<aInputs.length; iIndex++)
	{
		txtTmp = aInputs(iIndex);
		txtTmp.value = "";
	}
	var aInputs = document.all.tags("OBJECT");
	for(var iIndex=0; iIndex<aInputs.length; iIndex++)
	{
		txtTmp = aInputs(iIndex);
		txtTmp.value = "";
	}
	return true;
}


/**************************************************************************
��ƣ�	dateCompare(date1,date2)
���ܣ�	�ж�����date1�Ƿ����date2,date1����date2,����true
���أ�	������
���ã�	��
Author:	zhm
LMDate:	2002-4-25
**************************************************************************/
function dateCompare(date1,date2)
{
	date1=trim(date1);
	date2=trim(date2);
	if (date1=="" || date2 == "")
		return true;

	if (date1>date2)
		return true
	else return false;
}

/**************************************************************************
��ƣ�	numCompare(num1,num2)
���ܣ�	�ж�����num1�Ƿ����num2,num1����num2,����true
���أ�	������
���ã�	��
Author:	zhm
LMDate:	2002-4-25
**************************************************************************/
function numCompare(num1,num2)
{
	num1=trim(num1);
	num2=trim(num2);
	if (num1=="" || num2 == "")
		return true;

	if ((num1-num2) > 0)
		return true
	else return false;
}

/**************************************************************************
��ƣ�	��ȡ��������ֵ(input�����)
���ܣ�	��ȡ���ڸ�������ֵ��Ĭ��Ϊ��ǰ���ڣ�
���أ�
���ã�	��
Author:	zhm
LMDate:	2002-4-25
**************************************************************************/
function dateOnclick(inputName)
{

	var m_date = window.showModalDialog("../js/calendar/calendarDlg.htm","","status:no;resizable:no;help:no;dialogHeight:250px;dialogWidth:318px;");
	document.all(inputName).value=m_date;
}

/**************************************************************************
��ƣ�	У���Ƿ�Ϊ�Ϸ�email
���ܣ�
���أ�
���ã�	��
Author:	zhm
LMDate:	2002-5-10
**************************************************************************/
function isEmailAddr(str)
{
	var m = 0 ;
	var chr ;
	str = trim( str );

	for( m=0; m<str.length; m++ )
	{
	chr = str.charAt( m ) ;
	if( chr == "@" ) break;
	}

	if( m == 0 || m == str.length - 1 || m == str.length ) return false;
	return true;
}


/**************************************************************************
��ƣ�	��ȡ�������ֵ(input����ƣ���������ƣ�������ƣ�������ƣ��ֶ���ƣ��������)
���ܣ�	��ȡ���ڸ�������ֵ��Ĭ��Ϊ��ǰ���ڣ�
���أ�
���ã�	��
Author:	zhm
LMDate:	2002-4-25
**************************************************************************/
function foreignKeyOnclick(inputName, className, methodName, tableName, fieldName, outType, rootPath)
{
    //�Ȱ�inputName��ֵ������4��
    document.all("inputnameinputname").value = inputName;
    var eventID = "ljfasoieksearch";
    var url = rootPath+"/jsp/EventDispatch.jsp?eventID="+eventID+"&tableName="+tableName+"&fieldName="+fieldName+"&outType="+outType+"&className="+className+"&methodName="+methodName;
    //window.showModalDialog(url, "","status:no;resizable:no;help:no;dialogHeight:245px;dialogWidth:319px;");
    window.open(url);
}



function detailDateOnclick()
{
    var m_date = window.showModalDialog("../js/calendar/calendarDlg.htm","","status:no;resizable:no;help:no;dialogHeight:245px;dialogWidth:319px;");
	 var oSelect;
	event.cancelBubble  = true;
	oSelect = event.srcElement;
	while(oSelect.tagName != "TD")		//����ж���
	{
		oSelect = oSelect.parentElement;
	};
	//var iCellIndex = oSelect.colIndex;
	var iCellIndex = oSelect.cellIndex;
	while(oSelect.tagName != "TR")		//����ж���
	{
		oSelect = oSelect.parentElement;
	};
	var	iRowIndex = oSelect.rowIndex; //����к�
    while(oSelect.tagName != "TABLE")		//��ñ����
	{
		oSelect = oSelect.parentElement;
	};
	oSelect.rows(iRowIndex).cells(parseInt(iCellIndex)).childNodes[0].value=m_date
}

