/*

function trim(strInput)
function left(strString,iLength)
function right(strString,iLength)
function toMoneyFormat(iNum, iDn)
function convertToHtmlTag(strProcess)
function replaceQuotation(strInput)
function time(strD)
function getDayBetweenDates(strDate1,strDate2)
function formatDate(dtDate,strTemplate)
function onlyDate()
function isDateStr(strD)
function CheckDate()
function CheckTime()
function ValidDate(thisObj)
function isNumber(objName)
function CheckNumber()
function checkEMail(strEMail)
function checkZip(iNum)
function keyProcessFun()
*/



//====================================字符串控制=====================================

//去除前后空格的字符串
function trim(strInput)
{
    if (strInput != null)
		return strInput.replace(/(^\s*)|(\s*$)/g, "");
	else
		return "";
}

//获得字符串长度  NO
String.prototype.getLength = function()
{
	var iLength = this.length;
	var totalLength = 0;
	var chartmp;
	for (var i=0;i<iLength;i++)
	{
		chartmp = this.charCodeAt(i)

		if (parseInt(chartmp)>127)
			totalLength += 2;
		else
			totalLength += 1;
	}
	return totalLength;
}

//取字符串的左边几位
function left(strString,iLength)
{
	if (typeof strString!= "string")
	{
		return "";
	}

	if (typeof strString == "string" && strString.toUpperCase() == "NULL")
	{
		return "";
	}

	if ((strString == null)||(strString == "<NULL>"))
	{
		return "";
	}

	strString=trim(strString);
	return strString.substring(0,iLength);
}

//取字符串的右边几位
function right(strString,iLength)
{
	if (typeof strString!= "string")
	{
		return "";
	}

	if (typeof strString == "string" && strString.toUpperCase() == "NULL")
	{
		return "";
	}
	if ((strString == null)||(strString == "<NULL>"))
	{
		return "";
	}
	strString=trim(strString);
	return strString.substring(strString.length-iLength,strString.length);
}

//转换成数字格式
function toMoneyFormat(iNum, iDn)
{
	var iTmp="";
	if ( iDn == null )
		iDn = 2;
	var strNum =iNum + "";
	strNum =  trim(strNum);
	if (isNaN(strNum) || strNum.length == 0)
	{
		for (i = 0; i < iDn; i++)
			iTmp += "0"
		return "0."+iTmp;
	}

   	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"
		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"
			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;
		}
	}
}

//转换字符串中特殊符号，以防止被作为HTML语言解释。如：< >   NO
function  convertToHtmlTag(strProcess)
{
	var strResult="";
	for (var iFlag=0;iFlag<=strProcess.length;iFlag++)
	{
		switch (strProcess.charAt(iFlag))
		{
			case "<":
				strResult=strResult+"&lt;";
      	    	break;
			case ">":
	     		strResult=strResult+"&gt;";
	        	break;
	        case " ":
	        	strResult=strResult+"&nbsp;";
	        	break;
	        case "&":
	        	strResult=strResult+"&amp;";
	        	break;
	     	default:
				strResult=strResult + strProcess.charAt(iFlag);
				break;
		}
   	}
   	return strResult;
}


//将字符串中的一个单引号(’)转换为两个单引号(’’)
function replaceQuotation(strInput)
{
  	var strReturn = "";
  	strReturn = strInput.replace(/\'/g,"''")
  	return strReturn;
}


//format: "hh:mm:ss"  NO
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;
}


//NO
function s2d(strSrc)
{
	var strTemp = parseInt(strSrc)
	if( strTemp < 10 )
		return "0" + strSrc
	else
		return "" + strSrc
}

//获得二日期间的天数
function getDayBetweenDates(strDate1,strDate2)
{
	var dateObj1=new Date(strDate1);
	var dateObj2=new Date(strDate2);
	var iReturnDay;
	var iDate1=dateObj1.valueOf();
	var iDate2=dateObj2.valueOf();
	iReturnDay=parseInt((iDate1-iDate2)/86400000);	//there 86400000 ms in a day
	return iReturnDay;
}


//====================================日期控制=====================================
//根据模板格式化日期
function formatDate(dtDate,strTemplate)
{
	try
	{
		dtDate = dtDate.replace(/-/g,"/");
		var dtDate = new Date(dtDate);
	}
	catch(e)
	{
		return "";
	}

	if( isNaN(dtDate) ) return "";


	var strYear = ""+dtDate.getFullYear();
	if (strYear == "1900") return "";

	var strMonth= dtDate.getMonth()	+ 1;
	strMonth = s2d(strMonth);

	var strDay  = dtDate.getDate();
	strDay = s2d(strDay);

	var strHour = dtDate.getHours();
	strHour = s2d(strHour);

	var strMin = dtDate.getMinutes();
	strMin = s2d(strMin);

	var strSec = dtDate.getSeconds();
	strSec = s2d(strSec);

	var strDate;

	strDate = strTemplate.replace(/yyyy/ig,strYear);
	strDate = strDate.replace(/MM/g,strMonth);
	strDate = strDate.replace(/dd/ig,strDay);
	strDate = strDate.replace(/hh/ig,strHour);
	strDate = strDate.replace(/mm/g,strMin);
	strDate = strDate.replace(/ss/ig,strSec);

	return strDate;
}


function onlyDate()
{
	var src = window.event.srcElement;

	if ( 8 == window.event.keyCode ) return true;

	if (src.value.length > 4 && src.value.indexOf("-") < 1)
		src.value = "";

	if (src.value.length == 4 || src.value.length == 7 )
		src.value = src.value + "-";

	if (src.value.length == 10 && src.maxLength != 10)
		src.value = src.value + " ";

	if (src.value.length == 13)
		src.value = src.value + ":";

}


function isDateStr(strD)
{
	var strDate = trim(strD);
	if (strDate.length != 10 && strDate.length != 16)
    {
	  return false;
	}

	try
	{
		var strYear = parseInt(strDate.substr(0,4),10);
		var strMonth = parseInt(strDate.substr(5,2),10);
		var strDay = parseInt(strDate.substr(8,2),10);

		var strHour=0,strMinute=0;
		if (strDate.length>10)
		{
			strHour = parseInt(strDate.substr(11,2),10);
			strMinute = parseInt(strDate.substr(14,2),10);
		}

		if (strYear < 1900 )	return false;
		if (strHour > 23)	return false;
		if (strMinute > 59)	return false;

		var objDate = new Date(strYear,strMonth-1,strDay,strHour,strMinute);

		if (isNaN(objDate.valueOf()) == true)
		  return false;
		else
		{
			if (objDate.getFullYear() == strYear && objDate.getMonth() == strMonth-1 && objDate.getDate() == strDay)
				return true;
			else
				return false;
		}
	}
	catch(e)
	{
		return false;
	}
}


function CheckDate()
{
	var objSrc = event.srcElement;
	if (objSrc.tagName == "INPUT")
	{
		if(event.keyCode >= 48 && event.keyCode <= 57)
		{
			if(objSrc.value.length == 4 || objSrc.value.length == 7)
			{
				objSrc.value += "-";
			}
			return true;
		}
		else
		{
			return false;
		}
	}
	return false;
}

function CheckTime()
{
	var objSrc = event.srcElement;
	if (objSrc.tagName == "INPUT")
	{
		if(event.keyCode >= 48 && event.keyCode <= 57)
		{
			if(objSrc.value.length == 4 || objSrc.value.length == 7)
			{
				objSrc.value += "-";
			}
			if (objSrc.value.length == 10 && objSrc.maxLength != 10)
			{
				objSrc.value += " ";
			}
			if (objSrc.value.length == 13)
			{
				objSrc.value += ":";
			}
			return true;
		}
		else
		{
			return false;
		}
	}
	return false;
}



function ValidDate(thisObj)
{
  if (!isDateStr(thisObj.value)) {
    if (thisObj.value != ""){
       alert('日期有误');
       thisObj.focus();
    }
  }
}



/************************************************
function:		isNumber(objName)
purpose:		is number
parameters :	objName:object ID
return value :	TRUE---number
			FALSE---no number
*************************************************/
function  isNumber(objName)
{
	var strS;
	var iLoop;
	var iBool=1;
	var strTmp;
	var iD=0;
	var iK=0;

	strS=objName.value;
	for (iLoop=0;iLoop<strS.length;iLoop++)
	{
		strTmp=strS.charAt(iLoop);
		if (!((strTmp=="-")||(strTmp==".")||((strTmp>="0")&&(strTmp<="9"))))
		{
			iBool=0;
			break;
		}
		else
		{
			if(strTmp=="-")
			{
				iK++;
				if (iK>1)
				{
					iBool=0;
					break;
				}
				if(iLoop!=0)
				{
					iBool=0;
					break;
				}
			}
			if(strTmp==".")
			{
				iD++;
				if(iD>1)
				{
					iBool=0;
					break;
				}
			}

		}
	}
	if (iBool==0)
		return false;
	else
		return true;
}

/************************************
Method:		CheckNumber()
purpose:		校验文本输入框中键入的是否为数字字符
parameters :
return value :	如果输入为数字返回true; 否则返回false.
************************************/
function CheckNumber()
{
	var objSrc = event.srcElement;
	if (objSrc.tagName == "INPUT")
	{
		if(event.keyCode >= 48 && event.keyCode <= 57)
		{
			return true;
		}
		else
		{
			return false;
		}
	}
	return false;
}


/**************************************************
function:		checkEMail(strEMail)
purpose:		check email
parameter:
return:		It's Email address return true else return false;
***************************************************/
function checkEMail(strEMail)
{
	var strE="@";
	var strI=".";
	var iPos;
	var iLen;
	var iT=0;
	var strT="";

	strT=strEMail;
	do
	{
		iPos=strT.indexOf(strE);
		iLen=strT.length;
		if (iPos== -1)
		{
			if(iT==0)
			{
				return false;
			}
			else
			{
				break;
			}
		}
		else
		{
			if ((iPos==0)||(iPos==(iLen -1)))
			{
				return false;
			}
			else
			{
				strT=strT.substring(iPos+1);
			}
			iT++;
		}
	}
	while(strT !="")
	if (iT !=1)
	{
		return false;
	}

	strT=strEMail.substring(iPos+1,1);
	if (strT==".")
	{
		return false;
	}

	iT=0;
	iPos=strEMail.indexOf(strE);
	strT=strEMail.substring(iPos+1);
	do
	{
		iPos=strT.indexOf(strI);
		iLen=strT.length;
		if (iPos== -1)
		{
			break;
		}
		else
		{
			if((iPos==0)||(iPos==(iLen -1)))
			{
				return false;
			}
			else
			{
				strT=strT.substring(iPos+1);
			}
			iT++;
		}
	}
	while(strT !="")

	iPos=strEMail.indexOf(strE);
	strT=strEMail.substring(0,iPos);
	iPos=strT.indexOf(strI);
	if(iPos != -1)
	{
		return false;
	}
	return true;
}


/****************************************************
checkZip(iNum)
purpose:check zip
parameters :	iNum:input zip
return value :if is zip return true;not is zip return false
****************************************************/
function checkZip(iNum)
{
	var strZip;
	var iZip;
	var iLoop = 0;
	var iLen;

	if((iNum.length==0)||(iNum.length>6))
		return false;
	else
	{
		iLen=iNum.length;
		do
		{
			strZip=iNum.substring(iLoop,iLoop+1);
			iZip=parseInt(strZip);
			if (isNaN(iZip))
				return false;
			iLoop++;
		}
		while(iLoop<iLen)
		return true;
	}
}


/************************************
Method:			keyProcessFun()
purpose:		校验文本输入框中键入的是否为数字或小数点
parameters :
return value :	如果整数返回true
				如果非整数返回false
************************************/
function keyProcessFun()
{
	if (event.srcElement.tagName == "INPUT")
	{
		if (event.srcElement.value.indexOf(".") == -1)
		{
			if ((event.keyCode >= 48 && event.keyCode <= 57) || event.keyCode == 46)
				return true;
			else
       		{
            	return false;
       		}
    	}
    	else
		{
			if(event.keyCode >=48 && event.keyCode <=57)
				return true;
    		else
    		{
       			return false;
    		}
		}
  	}
}


//==============================数字转化为大写字母控制==================
//如  2004-02-28   - >   二○○四年○二月二八日
//把数字转化为大写字母
function NumberToBig(index){
  var numberstring="一二三四五六七八九十○";
  var result;
  if(index==0)
  {
        result="○";
        return result;
  }
  if(index < 10)
  {
    result=numberstring.substring(0+(index-1),index);
  }
  else if(index < 20 )
  {
    result="十"+numberstring.substring(0+(index-11),(index-10));
  }
  else if(index < 30 )
  {
    result="二十"+numberstring.substring(0+(index-21),(index-20));
  }
  else
  {
    result="三十"+numberstring.substring(0+(index-31),(index-30));
  }
  return result;
}

//把日期型转化为大写
function DateTimeConvBig(Dt)
{
  var result;
  var y1,y2,y3,y4,m,d;
  var year = Dt.getFullYear();
  var month = Dt.getMonth()+1;
  var date = Dt.getDate();
  y1=NumberToBig(year.toString().substr(0,1));
  y2=NumberToBig(year.toString().substr(1,1));
  y3=NumberToBig(year.toString().substr(2,1));
  y4=NumberToBig(year.toString().substr(3,1));
  m=NumberToBig(month);
  d=NumberToBig(date);
  result=y1+y2+y3+y4+"年"+m+"月"+d+"日";
  return result;
}

//把日期字符串转化为大写
function StringConvBig(DtStr)
{
  var result;
  var i,j;
  j=0;
  result="";
  for(i=0;i<DtStr.length;i++)
  {
    if(DtStr.substr(i,1)!="-")
    {
      result+=NumberToBig(DtStr.substr(i,1));
    }
    else
    {
      j++;
      if(j==1) result+="年";
      if(j==2) result+="月";
    }
  }
  result+="日";
  return result;
}


//==============================窗体控制=================================
//弹出最大新窗体
function OpenIndexPage(strURL){
  var w,h,s;
  var IndexWin = null;
  w = screen.availWidth - 4;
  h = screen.availHeight - 43;
  //s = "directories=no,left=1,top=1,location=no,menubar=no,resizable=yes,scrollbars=no,status=no,toolbar=no,width=" + w + ",height=" + h;
  s = "directories=no,left=0,top=0,location=no,menubar=no,resizable=yes,scrollbars=no,status=yes,toolbar=no,width=" + w + ",height=" + h;
  IndexWin = window.open(strURL,"",s);
  IndexWin.moveTo(-4,-4);
  IndexWin.focus();
}

function SelectTaskUserLst(Power_User_No,Power_TrueName,Is_Single){
  var SelUserWin = null;
  var strURL = "../../PublicInc/PuDeptUserShow.asp?Is_Single=" + Is_Single+"&Next_Power_No=" + document.RegForm.Next_Power_No.value + "&Power_User_No=" + Power_User_No + "&Power_TrueName=" + Power_TrueName;
  SelUserWin=window.open(strURL,"","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,width=400,height=400");
  SelUserWin.moveTo(1,1);
  SelUserWin.focus();
}


//弹出最大文档窗体
function OpenDocumentPage(strURL){
  var w,h,s
  var DocumentWin = null;
  w = screen.availWidth-4;
  h = screen.availHeight-43;
  s = "directories=no,left=0,top=0,location=no,menubar=no,resizable=yes,scrollbars=yes,status=yes,toolbar=no,width=" + w + ",height=" + h;
  DocumentWin = window.open(strURL,"DocumentPage",s);
  DocumentWin.moveTo(-4,-4);
  DocumentWin.focus();
}

//获取签名
function Do_Sign()
{
  document.RegForm.Is_Sign.value='1';
  idSign.style.display="";
  document.RegForm.btnSign.disabled=true;
}

function DoRefresh(Head_Url,Menu_Url,Body_Url)
{
  top.window.Head.location.href=Head_Url;
  top.window.Menu.location.href=Menu_Url;
  top.window.Body.location.href=Body_Url;
}

function DoMenu(MenuValue){
  location.href=MenuValue;
  return true;
}

//===============================全选控制===================================
//选择所有
function SelAll(SelectName)
{
  var mObject= document.all[SelectName];
  for (i = 0; i < mObject.options.length; i++)
  {
    mObject.options[i].selected = true;
  }
}

//清除所有
function NullAll(SelectName)
{
  var mObject= document.all[SelectName];
  for (i = 0; i < mObject.options.length; i++)
  {
    mObject.options[i].selected = false;
  }
}

//
function CheckBoxSel(blChecked,SelectName)
{
  if (blChecked){
    SelAll(SelectName);
  }else{
    NullAll(SelectName);
  }
}
