﻿
/*******************************************************************************************************
                                       OA JavaScript函数库
说  明：通过对整个OA系统的编写，将所有页面中有共性的JavaScript函数进行总结提升后所编写的一个小JavaScript
        库，以使程序更加规范，更易于维护。

编写者：刘其武            所属公司：甘肃紫光                   日期：2006年09月05日    
*******************************************************************************************************/
//删除字符串空格
String.prototype.Trim = function()
{
    return this.replace(/(^\s*)|(\s*$)/g, '');
}
//删除字符串左边空格
String.prototype.LTrim = function()
{
    return this.replace(/(^\s*)/g, '');
}
//删除字符串右边空格
String.prototype.Rtrim = function()
{
    return this.replace(/(\s*$)/g, '');
}
//检查日期是否合法
function IsDate(strDate){ 
   var strSeparator = '-'; //日期分隔符 
   var strDateArray; 
   var intYear; 
   var intMonth; 
   var intDay; 
   var boolLeapYear; 
    
   strDateArray = strDate.split(strSeparator); 
    
   if(strDateArray.length!=3) return false; 
    
   intYear = parseInt(strDateArray[0],10); 
   intMonth = parseInt(strDateArray[1],10); 
   intDay = parseInt(strDateArray[2],10); 
    
   if(isNaN(intYear)||isNaN(intMonth)||isNaN(intDay)) return false; 
    
   if(intMonth >12||intMonth <1) return false; 
    
   if((intMonth==1||intMonth==3||intMonth==5||intMonth==7||intMonth==8||intMonth==10||intMonth==12)&&(intDay >31||intDay< 1)) return false; 
    
   if((intMonth==4||intMonth==6||intMonth==9||intMonth==11)&&(intDay >30||intDay <1)) return false; 
    
   if(intMonth==2){ 
      if(intDay <1) return false; 
       
      boolLeapYear = false; 
      if((intYear%100)==0){ 
         if((intYear%400)==0) boolLeapYear = true; 
      } 
      else{ 
         if((intYear%4)==0) boolLeapYear = true; 
      } 
       
      if(boolLeapYear){ 
         if(intDay >29) return false; 
      } 
      else{ 
         if(intDay >28) return false; 
      } 
   } 
    
   return true; 
}
//比较日期的大小，参数strStart代表起始日期；参数strEnd代表终止日期
//如果起始日期早于等于终止日期返回值为True，否则为False
function CheckDateEarlier(strStart,strEnd)
{
    if(IsDate(strStart) == false || IsDate(strEnd) == false)
        return false;
    var arr1 = strStart.split("-");
    var arr2 = strEnd.split("-");
    var date1 = new Date(arr1[0],parseInt(arr1[1].replace(/^0/,""),10) - 1,arr1[2]);
    var date2 = new Date(arr2[0],parseInt(arr2[1].replace(/^0/,""),10) - 1,arr2[2]);
    if(arr1[1].length == 1)
        arr1[1] = "0" + arr1[1];
    if(arr1[2].length == 1)
        arr1[2] = "0" + arr1[2];
    if(arr2[1].length == 1)
        arr2[1] = "0" + arr2[1];
    if(arr2[2].length == 1)
        arr2[2]="0" + arr2[2];
    var d1 = arr1[0] + arr1[1] + arr1[2];
    var d2 = arr2[0] + arr2[1] + arr2[2];
    if(parseInt(d1,10) > parseInt(d2,10))
       return false;
    else
       return true;
}
//通过文本框客户端ID来检查标题合法性
function CheckClientIDTitle(clientID,txtLen)
{
    var tempText=' ';
    var tempLen=0;
    tempText=document.getElementById(clientID).value;
    tempLen=txtLen;
    if (tempText.Trim().length==0)
    {
        alert('标题不能为空！');
        return false;
    }
    if (tempText.Trim().length>=tempLen)
    {
        alert('标题太长！');
        return false;
    }
    return true;
}
//通过文本框内容来检查标题合法性
function CheckTextTitle(txtValue,txtLen)
{
    if (txtValue.Trim().length==0)
    {
        alert('标题不能为空！');
        return false;
    }
    if (txtValue.Trim().length>=txtLen)
    {
        alert('标题太长！');
        return false;
    }
    return true;
}
//通过文本框内容来检查主要内容合法性
function CheckTextView(txtValue,txtLen)
{
    if (txtValue.Trim().length==0)
    {
        alert('内容不能为空！');
        return false;
    }
    if (txtValue.Trim().length>=txtLen)
    {
        alert('内容太长！');
        return false;
    }
    return true;
}
//通过文本框客户端ID来检查主要内容合法性
function CheckClientIDView(clientID,txtLen)
{
    var tempText=' ';
    var tempLen=0;
    tempText=document.getElementById(clientID).value;
    tempLen=txtLen;
    if (tempText.Trim().length==0)
    {
        alert('内容不能为空！');
        return false;
    }
    if (tempText.Trim().length>=tempLen)
    {
        alert('内容太长！');
        return false;
    }
    return true;
}
//显示日期提示框
function ShowClientIDDateDialog(clientID)
{
    var strValue=showModalDialog('../DateForm.aspx',parent,'dialogWidth:260px;dialogHeight:280px;center:yes;help:no;resizable:no;status:no');
    if (strValue!=null && strValue!="cancle")  document.getElementById(clientID).value=strValue;
    return false;
}
//删除提示
function DelSelectedItem(dialogText)
{
    return confirm(dialogText);
}