﻿var isYuanHuoTianShu = true;
var yuanHuoKind = "putong";
if(typeof(isAutoCollect) != "undefined")
{
   var inputs = document.getElementsByTagName("input");
   for( var i = 0 ; i < inputs.length ;i++)
   {
      var obj = inputs[i];
      if(obj.id && obj.id.length > 3 &&obj.id.substring(0,4) == "AUTO")
      { 
           obj.disabled= (isAutoCollect == "1");
           if(isAutoCollect)
           {
                obj.style.backgroundColor = "#f5f5f5";
           }
      }
      
   }
}
var strNumber = "0123456789";
function getCurrentDate() //得到当前日期，带分隔符号-
{
   var strRet = "";
   var date = new Date();
   strRet = date.getFullYear();
   strRet +="-";
   var curMonth = date.getMonth() + 1;
   if(curMonth < 10)
   {
      strRet +="0";
   }
   strRet += curMonth;
   strRet += "-";
   var curDay = date.getDate();
   if(curDay < 10)
   {
     strRet +="0";
   }
   strRet += curDay;
   return strRet ;
}
function getLastMonths(monthDiff)
{
    var date = new Date();
    var fullYear  = date.getFullYear();
    var curMonth = date.getMonth() + 1;
    curMonth = curMonth - monthDiff;
    if(curMonth < 1)
    {
        curMonth = curMonth + 12;
        fullYear = fullYear - 1;
    }
    var strRet = fullYear ;
    strRet +="-";
    if(curMonth < 10)
    {
        strRet +="0";
    }
    strRet += curMonth;
    strRet += "-";
    var curDay = date.getDate();
    if(curDay < 10)
    {
        strRet +="0";
    }
    strRet += curDay;
    return strRet ;
}

function GetRelativeDays(srcStrDate)
{
   var srcYear = srcStrDate.substring(0,4);
    
    srcYear =parseInt(srcYear,10); 
    
    var srcMonth =  srcStrDate.substring(5,7);
    srcMonth = parseInt(srcMonth,10); 
    
    var srcDay =  srcStrDate.substring(8,10);
	srcDay =  parseInt(srcDay,10); 
    var templateYear = 2008;
    var srcDiffYears = srcYear - templateYear ;
    var srcDiffDays = srcDiffYears * 365 + Math.floor( (srcDiffYears-1)/4); 
    var numDays = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
    for(var i = 1 ; i < srcMonth ;i++)
    {
        srcDiffDays += numDays[i-1];
        if((srcYear %4 ==0 ) && ( i==2))
        {
            srcDiffDays += 1;
        }
    }
    srcDiffDays += srcDay;
  
    return srcDiffDays;
}
function GetDiffDaysFromTwoDays(srcStrDate,objStrDate)
{
  if(!objStrDate|| !srcStrDate)
  {
     return "";
  }
   return GetRelativeDays(objStrDate) - GetRelativeDays(srcStrDate);
      
}

function getBZNumberArr(bZstr)
{
    var pos = 0 ;
    for(var i = 0 ;i < bZstr.length ; i++)
    {
       if(strNumber.indexOf(bZstr.charAt(i)) >  -1)
       {
           pos = i ;
           break;
       }
    }
    var strTemp = bZstr.substring(pos,bZstr.length);
    return strTemp.split("-");
}
//从日期字符串得到整数
function getIntegerFromDateStr(strDate)
{
    if(strDate.length != 10)
    {
       
       return getIntegerFromCurDay() ;
    }
    var strTemp = strDate.substring(0,4) + strDate.substring(5,7) + strDate.substring(8,10);
    var intTemp = parseInt(strTemp);
    return intTemp;
}
// 得到当前日期的整数


function getIntegerFromCurDay()

{
   var strRet = "";
   var date = new Date();
   strRet = date.getFullYear();
  
   var curMonth = date.getMonth() + 1;
   if(curMonth < 10)
   {
      strRet +="0";
   }
   strRet += curMonth;
 
   var curDay = date.getDate();
   if(curDay < 10)
   {
     strRet +="0";
   }
   strRet += curDay;
   var intRet = parseInt(strRet);
   return intRet ;
}

function getXmlFieldsNoPageNoroot(objArr)
{
   var xmlFields = "";
   for(var i = 0 ; i < objArr.length ; i++)
   {
      xmlFields += "<" + objArr[i] + ">";
      var strValue = document.getElementById(objArr[i]).value ; 
      if(isDateType(strValue))
      {
         strValue = getIntegerFromDateStr(strValue);
      }
       else if(document.getElementById(objArr[i]).type == "checkbox" ||document.getElementById(objArr[i]).type == "radio" )
      {
    
         if(document.getElementById(objArr[i]).checked)
         {
            strValue = "1";
         }
         else
         {
           strValue = "0";
         }
      }
      xmlFields += "<![CDATA[" + strValue + "]]>";
      xmlFields += "</" + objArr[i] + ">";
   }
  
   return xmlFields;
   
}

function getXmlFieldsNoPage(objArr)
{
   var xmlFields = "<root>";
   for(var i = 0 ; i < objArr.length ; i++)
   {
      xmlFields += "<" + objArr[i] + ">";
      var strValue = document.getElementById(objArr[i]).value;
      if(isDateType(strValue))
      {
         strValue = getIntegerFromDateStr(strValue);
      }
       else if(document.getElementById(objArr[i]).type == "checkbox" ||document.getElementById(objArr[i]).type == "radio" )
      {
    
         if(document.getElementById(objArr[i]).checked)
         {
            strValue = "1";
         }
         else
         {
           strValue = "0";
         }
      }
      xmlFields += "<![CDATA[" + strValue + "]]>";
      xmlFields += "</" + objArr[i] + ">";
   }
   xmlFields +="</root>";
   
   return xmlFields;
   
}
function getXmlFieldsNoPageDate(objArr)
{
   var xmlFields = "<root>";
   for(var i = 0 ; i < objArr.length ; i++)
   {
      xmlFields += "<" + objArr[i] + ">";
      xmlFields +=  "<![CDATA[" + document.getElementById(objArr[i]).value + "]]>"; 
      xmlFields += "</" + objArr[i] + ">";
   }
   xmlFields +="</root>";
   return xmlFields;
   
}

function getXmlFields(objArr,pageIndex,pageSize)
{
   var xmlFields = "<root>";
   for(var i = 0 ; i < objArr.length ; i++)
   {
      xmlFields += "<" + objArr[i] + ">";
      var strValue = document.getElementById(objArr[i]).value;
      if(isDateType(strValue))
      {
         strValue = getIntegerFromDateStr(strValue);
      }
       else if(document.getElementById(objArr[i]).type == "checkbox" ||document.getElementById(objArr[i]).type == "radio" )
      {
    
         if(document.getElementById(objArr[i]).checked)
         {
            strValue = "1";
         }
         else
         {
           strValue = "0";
         }
      }
      xmlFields += "<![CDATA[" + strValue + "]]>";
      xmlFields += "</" + objArr[i] + ">";
   }
    xmlFields += "<PageIndex>";
    xmlFields += pageIndex;
    xmlFields += "</PageIndex>";
    xmlFields += "<PageSize>";
    xmlFields += pageSize;
    xmlFields += "</PageSize>";
    xmlFields +="</root>";
   return xmlFields;
   
}
//从整数得到日期字符串
function getDateStrFromDateInteger(strDate) 
{
   
    if(!strDate)
    {
      return strDate;
    }
    strDate = strDate.toString();

    if(strDate.length != 8)
    {
       
       return getCurrentDate() ;
    }
    var strTemp = strDate.substring(0,4) +"-" +  strDate.substring(4,6) + "-" +  strDate.substring(6,8);
    //var intTemp = parseInt(strTemp);
    return strTemp;
}


 function fillRecordSetDiv(curPage)
  {
       //curPage = 1;
       var totalPageCount = Math.ceil(totalRecordCount/eachPageRecordCount);
       var strContent = "<table style='width:100%'>";
       strContent += "<tr>";
       strContent +="<td style = 'width:20%'>共" + totalRecordCount + "条记录满足条件</td>";
       strContent +="<td style = 'width:40%'><input type='button' id='btnFirstPage' value='首页' onclick='moveToFirstPage();'/>";
       strContent +="<input type='button' id='btnPrePage' value='上页' onclick='moveToPrePage();'/>";
       strContent +="<input type='button' id='btnNextPage' value='下页' onclick='moveToNextPage();'/>";
       strContent +="<input type='button' id='btnLastPage' value='末页' onclick='moveToLastPage();'/>";
        strContent += "&nbsp;&nbsp;跳至<input id = 'movetoPage' type='text' onblur = 'moveToPage(this.value);' style='width:30px'>";
       strContent +="页 <input type = 'button' id = 'btnGo' value = ' GO ' onclick= 'moveToPage(document.getElementById(\"movetoPage\").value);'/></td>";
       strContent +="<td style = 'width:10%'><div id = 'curTotalPageDiv'>第" + curPage +"/" +  totalPageCount +"页</div>";
       strContent +="<td style = 'width:15%'>每页" + eachPageRecordCount +"条记录";
       strContent += "</td>";
       strContent += "</tr>";
       strContent +="</table>";
       
       document.getElementById("recordSetDiv").innerHTML = strContent ;
       document.getElementById("movetoPage").value = curPage;
  }
  
  
  function formSelectOptions(optionsCount)
  {
      var str = "";
      for(var i = 1 ; i < optionsCount + 1 ; i++)
      {
          str += "<option value ='" + i + "'>";
          str += i;
          str += "</option>";
      }
      return str;
  }
  function   setButtonEnabledOrNot(curPage,totalPage)
  {
 
        if(totalPage < 2)
        {
             document.getElementById("btnFirstPage").disabled = true;
             document.getElementById("btnPrePage").disabled = true;
             document.getElementById("btnNextPage").disabled = true;
             document.getElementById("btnLastPage").disabled = true;
             return ;
        }
        if(curPage == 1)
        {
            document.getElementById("btnFirstPage").disabled = true;
            document.getElementById("btnPrePage").disabled = true;
             document.getElementById("btnNextPage").disabled = false;
             document.getElementById("btnLastPage").disabled = false;
            
            return ;
        }
        if(curPage == totalPage)
        {
            document.getElementById("btnFirstPage").disabled = false;
            document.getElementById("btnPrePage").disabled = false;
            document.getElementById("btnNextPage").disabled = true;
            document.getElementById("btnLastPage").disabled = true;
            return ;
          
        }
         document.getElementById("btnFirstPage").disabled = false;
         document.getElementById("btnPrePage").disabled = false;
         document.getElementById("btnNextPage").disabled = false;
         document.getElementById("btnLastPage").disabled = false;
        
        
  }
  
  
 function moveToPage(pageIndex)
 {
     curPage = pageIndex;
     onQueryClick(false);
    
 }
  function moveToFirstPage()
  {
     curPage = 1;
     onQueryClick(false);
    
  }
  function moveToPrePage()
  {
     -- curPage ;
     if(curPage < 1)
     {
        curPage = 1;
     }
     onQueryClick(false);
     
    
  }
  function moveToNextPage()
  {
     ++curPage ;
    var totalPageCount = getTotalPageCount();
    if(curPage > totalPageCount)
    {
        curPage = totalPageCount;
    }
    onQueryClick(false);
    
     
  }
  function moveToLastPage()
  {
      curPage = getTotalPageCount();
      onQueryClick(false);
  }
  
 function getTotalPageCount()
  {
    
     return Math.ceil(totalRecordCount/eachPageRecordCount);
  }
  //得到传入的数组的平均数


 function getAverage(objArr)

 {
     try
     {
         var result = 0;
         for(var i = 0 ; i < objArr.length ; i++)
         {
            result += parseFloat(objArr[i]);
         }
         result = result/objArr.length ;
        // var strRet = result.toString();
        // var dotPos = strRet.indexOf(".");
         //if(dotPos > 
         
         return result ;
     }
     catch(e)
     {
        alert(e);
        return -1;
     }
 }
 //得到三个数的中间值
function getMidNum(num1,num2,num3)//三个值中，较小的两值相等时，其任一值可视为中间值
{
   var tempNum1 = parseFloat(num1);
   var tempNum2 = parseFloat(num2);
   var tempNum3 = parseFloat(num3);
   var min= tempNum1;
   var max = tempNum1;
   if(tempNum2 > max)
   {
       max = tempNum2;
   }
   if(tempNum3 > max)
   {
       max = tempNum3;
   }
    if(tempNum2 < min)
   {
       min = tempNum2;
   }
   if(tempNum3 < min)
   {
       min = tempNum3;
   }
   return tempNum1 + tempNum2 + tempNum3 - min - max;
   
}
//0.2修约
function txRoundTwo(objValue,precision) 
{
    if(objValue == 0)
    {
       return objValue;
    }
    if(!objValue)
    {
      return "";
    }
    try
    {
        precision = parseInt(precision);
    }
    catch(e)
    {
        alert("小数位数必须是整数!");
        return 0 ;
    }
    if(precision == 0 )
    {
        alert("数值精度不能为0!");
        return 0;
    }
   var originPrecision = precision;

   if(precision == 1)
   {
      precision = -1;
      
   }
   else
   {
       precision = precision - 1;
   } 
   var strRet = getFourSixFive(objValue*5,precision);
   return getFourSixFive(strRet/5.0,originPrecision);
  
   
}

//0.5修约
function txRoundFive(objValue,precision) 
{
   
    if(objValue == 0)
    {
       return objValue;
    }
    if(!objValue)
    {
      return "";
    }
    try
    {
        precision = parseInt(precision);
    }
    catch(e)
    {
        alert("小数位数必须是整数!");
        return 0 ;
    }
    if(precision == 0 )
    {
        alert("数值精度不能为0!");
        return 0;
    }
   var originPrecision = precision;

   if(precision == 1)
   {
      precision = -1;
      
   }
   else
   {
       precision = precision - 1;
   }
   var strRet = getFourSixFive(objValue*2,precision);
   return getFourSixFive(strRet/2.0,originPrecision);
  
   
   
}

function getFourFive(objValue,precision)//四舍五入
{
    var strTemp = objValue.toString();
   
    if(strTemp.indexOf("-") == 0)
    {
         strTemp = strTemp.substring(1,strTemp.length );
         return "-" + getFourSixFiveAbs(strTemp,precision,false);
    }
    return getFourSixFiveAbs(objValue,precision,false);
}

function getFourSixFive(objValue,precision)
{
    var strTemp = objValue.toString();
   
    if(strTemp.indexOf("-") == 0)
    {
         strTemp = strTemp.substring(1,strTemp.length );
         return "-" + getFourSixFiveAbs(strTemp,precision,true);
    }
    return getFourSixFiveAbs(objValue,precision,true);
}
 
 //小数位数, 四舍六入五单双,当单时,进1,双时不进
 function getFourSixFiveAbs(objValue,precision,isFourSixFive)
 {
     try
     {
        precision = parseInt(precision);
     }
     catch(e)
     {
        alert("小数位数必须是整数!");
        return 0 ;
     }
     if(objValue == 0)
     {
       if(precision < 0 )
       {
         return objValue;
       }
       //补零
       return "0." + getNZero(precision);
       
     }
     if(!objValue)
     {
        return "";
     }
   
     if(precision == 0 )
     {
          alert("数值精度不能为0!");
          return 0;
     }
   
   
     objValue = parseFloat(objValue) + 0.0000000001;
     objValue = objValue.toFixed(10);
     objValue = objValue.toString();
     var firstDotPos = objValue.indexOf(".");
     objValue = objValue.substring(0,firstDotPos) + "." + objValue.substring(firstDotPos + 1 ,firstDotPos + 10);
     var strIntegerPart = objValue ;//整数部分的值

     var strDecimalPart = "";//小数部分的值

     var dotPos = objValue.indexOf(".");
     if(dotPos  > - 1) //如果含有小数点

     {
          strIntegerPart = objValue.substring(0,dotPos);
          strDecimalPart = objValue.substring(dotPos + 1);
     }
     if(precision >= strDecimalPart.length)//如果精度大于等于当前小数位数，则直接在后面加n个0,
     {
         return objValue + getNZero(precision - strDecimalPart.length);
     } 
     if( strIntegerPart.length < -precision)//表示修约到整数，而整数位数不够，则提示精度不够.
     {
          alert("数值精度不够!");
          return 0;
     }
     //后面就是精度够，而且需要修约

     var strIntValue = "";//存放转换小数点后一位的整数的值,如果precision==-1，即个位，则表示不需要转换小数部分和整数部分。

     if(precision > 0 )
     {
         //小数部分而且精度小于当前小数位数,需要对小数位数进行移位.重新算小数部分和整数部分
         
         strIntegerPart = strIntegerPart + strDecimalPart.substring(0,precision);//小数点向后移precision位

         strDecimalPart = strDecimalPart.substring(precision);//剩下的strDecimalPart.length - precision 位作为小数

         
     }
     else //if(precision < 0)  对于精度小数0的情况,就是向前取到整数的个，十，百，千位

     {
        //对于精确到整数的情况,如果是-1,则表示精确到个位,从而原来的数保持不动,这时-precision-1=0
        //如果是-2,表示精确到十位,从而将小数点向左移-precision-1位

        //所以可以统一表示成小数点向左移左移-precision-1位

          var strOriginIntegerPart = strIntegerPart ;
          strIntegerPart = strOriginIntegerPart.substring(0,strOriginIntegerPart.length +  precision + 1 ) ;
          strDecimalPart = strOriginIntegerPart.substring(strOriginIntegerPart.length +  precision + 1) + strDecimalPart;
     }
     //这样得到新的整数部分和小数部分了
     var firstCharInDecimal = strDecimalPart.substring(0,1);//小数点后的第一位

     var lastCharInInInteger = strIntegerPart.substring(strIntegerPart.length -1 );//整数部分的最后一位

     var tempIntergerLen = strIntegerPart.length ;//原来的整数长度

     //对于小于5的不进位
     //对于大于5的进位

     //对于等于5的，如果其后全为0，则不进位，不全为零，则进位
     
     if(firstCharInDecimal > '5' && isFourSixFive)
     {
        ++strIntegerPart;
     }
     else if(firstCharInDecimal == '5' && isFourSixFive)
     {    
          var isNeedOddEven = true ;//是否需要判断整数前面一位

          if(strDecimalPart.length > 1)//5的后面要有至少1位，即至少两位,而且后面不全为零
          {
          
             var remainStr = strDecimalPart.substring(1);
             var nZeroStr = getNZero(remainStr.length);
             if(remainStr != nZeroStr) //不全为零
             {
                isNeedOddEven = false;
                ++strIntegerPart;
             }
          }
          if(isNeedOddEven && (lastCharInInInteger % 2 == 1)) //如果5后全为零，则整数位最后是否奇，则进一位          {
              ++strIntegerPart;
          }
     }
      
     else if(!isFourSixFive && firstCharInDecimal >= '5')//四舍五入
     {
        ++strIntegerPart;
     }
     //最终有用的就是移位的整数部分

     if(precision < 0)
     {
     //对于精度为负数的整数，就表示只需要在末位补充-precision-1个0,例如当precision=-1时，-precision-1=0,不需要补充零
     //当precision=-2时，-precision-1=1,表示到十位，在其后面的个数补充一个0.
        var resultValue  = strIntegerPart + getNZero(-precision-1);
        return parseInt(resultValue);
     }
     strIntegerPart = strIntegerPart.toString();
     strIntegerPart =  getNZero(tempIntergerLen - strIntegerPart.length) + strIntegerPart ;//如果长度变短，则在前面补0.
     //剩下的就是大于0的，也就是要保留小数位数的

  
     var tempValue = strIntegerPart.substring(0,strIntegerPart.length - precision) + "." + strIntegerPart.substring(strIntegerPart.length - precision);
     
     return tempValue;
     
     
 }
 
 
 function getNZero(strlength)
 {
     var str = "";
     for(var i = 0 ; i < strlength ;i++)
     {
        str += "0";
     }
     return str ;
 }
 //从传入的三个参数，得到水泥抗折的平均数


 function getShuiNiKangZhe(first,second,third)
 {
     try
     {
         var obj = new Array();
         obj.push(first);
         obj.push(second);
         obj.push(third);
         var count = getMoreLessThanCount(obj,0.1);
         if(count < 0 )
         {
            return -1;
         }
         if(count == 0)
         {
            return getAverage(obj);
         }
         if(count > 1)
         {
             var averageValue = getAverage(obj);
             var result = 0;
             for(var i = 0 ; i < obj.length ;i++)
             {
                 var relativeValue = obj[i]/averageValue ;
                 if((relativeValue >= 0.9) &&(relativeValue <= 1.1))
                 {
                    result += parseFloat(obj[i]);
                 }
             }
             return result;
         }

         if(count = 1)
         {
             var averageValue = getAverage(obj);
             var result = 0;
             for(var i = 0 ; i < obj.length ;i++)
             {
                 var relativeValue = obj[i]/averageValue ;
                 if((relativeValue >= 0.9) &&(relativeValue <= 1.1))
                 {
                    result += parseFloat(obj[i]);
                 }
             }
             return result/2;
         }
     }
     catch(e)
     {
         return -1;
     }
 }
 
 //从传入的三个参数，得到水泥抗压的平均数


 function getShuiNiTuKangYa(first,second,third)
 {
     try
     {
         var obj = new Array();
         obj.push(first);
         obj.push(second);
         obj.push(third);
         var count = getMoreLessThanCount(obj,0.1);
         if(count < 0 )
         {
            return -1;
         }
         if(count == 0)
         {
            return getAverage(obj);
         }
         if(count > 1)
         {
             var averageValue = getAverage(obj);
             var result = 0;
             for(var i = 0 ; i < obj.length ;i++)
             {
                 var relativeValue = obj[i]/averageValue ;
                 if((relativeValue >= 0.9) &&(relativeValue <= 1.1))
                 {
                    result += parseFloat(obj[i]);
                 }
             }
             return result;
         }
         if(count = 1)
         {
             var averageValue = getAverage(obj);
             var result = 0;
             for(var i = 0 ; i < obj.length ;i++)
             {
                 var relativeValue = obj[i]/averageValue ;
                 if((relativeValue >= 0.9) &&(relativeValue <= 1.1))
                 {
                    result += parseFloat(obj[i]);
                 }
             }
             return result/2;
         }
     }
     catch(e)
     {
         return -1;
     }
     
     
     
  
 }
  
  //从传入的六个参数，得到水泥抗压的平均数
  function getShuiNiKangYa(first,second,third,fourth,fifth,sixth)
  {
 
       try
       {
            var obj = new Array();
            obj.push(first);
            obj.push(second);
            obj.push(third);
            obj.push(fourth);
            obj.push(fifth);
            obj.push(sixth);
            
            var count = getMoreLessThanCount(obj,0.1);
            if(count > 1)
            {
                return -1;
            }
            if(count == 0 )
            {
               return getAverage(obj);
            }
            if(count == 1)
            {
                var result = 0 ;
                var averageValue = getAverage(obj);
                for(var i = 0 ; i < obj.length ; i++)
                {
                   // var averageValue = getAverage(obj);
                    var relativeValue = obj[i]/averageValue ;

                    var result = 0;
                    for(var i = 0 ; i < obj.length ;i++)
                    {
                        var relativeValue = obj[i]/averageValue ;
                        if((relativeValue >= 0.9) &&(relativeValue <= 1.1))
                        {
                            result += parseFloat(obj[i]);
                        }
                    }
                    return result/5;
                }
            }
        }
        catch(e)
        {
           return -1;
        }
  }
 
 function getMoreLessThanCount(obj,offset)
 {
     try
     {
         var averageValue = getAverage(obj);
         var count = 0 ;
         for(var i = 0 ; i < obj.length ;i++)
         {
             var relativeValue = obj[i]/averageValue ;
             if((relativeValue <( 1 - offset)) ||(relativeValue > (1 + offset)))
             {
                ++ count;
             }
         }
         return count;
     }
     catch(e)
     {
        return -1;
     }
 }
 


 //从传入的六个参数，得到沙浆抗压的平均数


  function getShaJiangKangYa(first,second,third,fourth,fifth,sixth) 

  {
       try
       {
            var obj = new Array();
            obj.push(first);
            obj.push(second);
            obj.push(third);
            obj.push(fourth);
            obj.push(fifth);
            obj.push(sixth);
            
            var count = getMoreLessThanCount(obj,0.2);
            if(count < 0)
            {
               return -1;
            }
            if(count == 0 )
            {
               return getAverage(obj);
            }
            var maxValue = getMaxValue(obj);
            var minValue =  getMinValue(obj);
            if(maxValue < 0 || minValue < 0)
            {
               return -1;
            }
            var result =  getSum(obj);
            result = result - maxValue ;
            result = result - minValue ;
            return result /4 ;
            
           
        }
        catch(e)
        {
           return -1;
        }
  }
  
  //得到最大值


  function getMaxValue(obj)

  {
      try
      {
          if(obj.length == 1)
          {
             return parseFloat(obj[0]);
          }
          var maxValue = parseFloat(obj[0]);
          for(var i = 1; i < obj.length ; i++)
          {
               if(parseFloat(obj[i]) > maxValue )
               {
                   maxValue = parseFloat(obj[i]);
               }
          }
          return maxValue ;
      }
      catch(e)
      {
         return -1;
      }
  }
  
  // 得到最小值


  function getMinValue(obj) 

  {
      try
      {
          if(obj.length == 1)
          {
             return parseFloat(obj[0]);
          }
          var minValue = parseFloat(obj[0]);
          for(var i = 1; i < obj.length ; i++)
          {
               if(parseFloat(obj[i]) < minValue )
               {
                   minValue = parseFloat(obj[i]);
               }
          }
          return minValue ;
      }
      catch(e)
      {
         return -1;
      }
  }
  //求和
  function getSum(obj) 
  {
     try
     {
        var result = 0 ;
        for(var i = 0 ; i < obj.length ; i++)
        {
            result += parseFloat(obj[i]);
        }
        return result;
     }
     catch(e)
     {
        return -1;
     }
  }
  
  // 从n个数中,去掉maxCount个最大数,minCount个最小数，后求平均值
  function getAverageExcludenMaxMin(obj,maxCount,minCount)
  {
      try
      {
          if(maxCount < 0 || minCount < 0 || obj.length < 0)
          {
             return -1;
          }
          if(maxCount + minCount >= obj.length)
          {
             return -1;
          }
         
          var sortArr = sortArrayFromOriginalArr(obj);
          if(sortArr == null)
          {
             return -1;
          }
          var result = 0;
          for(var i = minCount ; i < sortArr.length - maxCount ;i++)
          {
             result += sortArr[i];
          }
          return result/(sortArr.length - maxCount - minCount);
      }
      catch(e)
      {
         return -1;
      }
      
  }
  
function sortArrayFromOriginalArr(obj)
{
   try
   {
   
       var newArr = new Array();
       newArr[0] = parseFloat(obj[0]);
       
       for(var i = 1 ; i < obj.length ; i++)
       {
          var tempValue = parseFloat(obj[i]);
          var  j = 0 ;
          for(j = 0 ; j < newArr.length ;j++)
          {
             if(tempValue < newArr[j])
             {
                 
                 for(var k = newArr.length ; k > j; k--)
                 {
                    newArr[k] = newArr[k -1];
                 }
                 newArr[j] = tempValue ;
                 break;
             }
          }
          if( j == newArr.length )
          {
             newArr[j] = tempValue;
          }
       }
       return newArr;
   }
   catch(e)
   {
       return null;
   }
}
function isDateType(str)
{
   try
   {   if(str.length != 10)
       {
          return false;
       }
        if(str.indexOf(".") > - 1)
       {
         return false;
       }
       if(isNumberOnly(str))
       {
          return false;
       }
       
       if(!isNumberOnly(str.substring(0,4)))
       {
          return false;
       }
       if(!isNumberOnly(str.substring(5,7)))
       {
          return false ;
       }
       if(!isNumberOnly(str.substring(8,10)))
       {
          return false;
       }
     // var strTemp = str.substring(0,4) +    +  str.substring(8,10);
      
     
       return true;

   }
   catch(e)
   {
     return false;
   }
}

//得到标准差


function getAverageDifference(obj)
{
   if(obj == null || obj.length == 0)
   {
      return -1;
   }
   try
   {
     
      var average =  getAverage(obj);
      var res = 0 ;
      for(var j = 0 ; j < obj.length ; j++)
      {
         res += (obj[j] - average) * (obj[j] - average);
      }
      return Math.sqrt(res /(obj.length -1 ));
   }
   catch(e)
   {
     
     return -1;
   }
}

//得到与平均值的差小于或等于标准差的所有数的平均值


function getAverageLessDifference(obj) 

{
   if(obj == null || obj.length == 0)
   {
      return -1;
   }
   try
   {
       var averageDiff = getAverageDifference(obj);
       var average = getAverage(obj);
       var result = 0 ;
       var count = 0 ;
       for(var i = 0 ; i < obj.length ; i++)
       {
          if(Math.abs(average - parseFloat(obj[i])) <(0.000001 + averageDiff))
          {
             result += parseFloat(obj[i]) ;
             ++count ;
          }
       }
       return result/count;
   }
   catch(e)
   {
      return -1;
   }
   
}
//对传入的10个数
function GetTenAverage(objArr) 
{
   var avg = getAverage(objArr) ;
   var minAvg =  avg * 0.8;
   var maxAvg = avg * 1.2 ;
   var count = 0 ;
   var strRet = 0;
   for(var i = 0 ; i < objArr.length ; i++)
   {
      if((objArr[i] > maxAvg) || (objArr[i] <  minAvg))
      {
         count ++;
      }
      else
      {
         strRet += parseFloat(objArr[i]) ;
      }
   }
   if( count > 5)
   {
      return "试验无效";
   }
   return (strRet /(objArr.length -count));
}
// x1 ,x2,x3,x4
function GetFourAvg(objArr) 
{
      var newFloatArr = new Array();
      for(var i = 0 ; i < objArr.length ; i++)
      {
         newFloatArr.push(parseFloat(objArr[i]));
      }
      newFloatArr.sort(sortFunction);
      var isDeleteFirst = false ;
      var count = 4;
      var strRet = objArr[1] + objArr[2];
      if((objArr[1] - objArr[0])/(objArr[3] - objArr[0]) >=0.765)
      {
          isDeleteFirst = true ;
          --count;
      }
      else
      {
          strRet +=  objArr[0];
      }
       var isDeleteSecond = false ;
      if((objArr[3] - objArr[2])/(objArr[3] - objArr[0]) >=0.765)
      {
          isDeleteSecond = true ;
          --count;
      }
      else
      {
        strRet +=  objArr[3];
      }
      return strRet /count;
       
   
}
//本函数排序num1、num2、num3三个值，|numP|是表范围值的小数)
 //  numP=0：直接返回中间值。



//   numP>0：若1个极值与中间值的差超过中间值乘numP，则返回中间值；若2个超过则返回-1(无效)；否则返回3个数的算术平均值。



//   numP<0：若1个极值与平均
function getAverage31(num1, num2, num3,  numP) 
{ 
	
	var arr = new Array();
	arr.push(num1);
	arr.push(num2); 
	arr.push(num3);
	if(numP == 0 )
	{ 
		return getMiddleNum(arr);
	}
	
	var middleValue = getMiddleNum(arr)  ;
	if(parseFloat(numP) > 0)
	{
		    var count = 0 ;
			for(var i = 0 ; i < arr.length ; i++)
			{ 
				var diff = parseFloat(arr[i])  - middleValue  ;
				diff = Math.abs(diff);
				if(diff > middleValue *  numP)
				{ 
					 count++;
				}
			}
			if(count == 1)
			{ 
				return middleValue;
			}
			if(count == 0)
			{
			    return getAverage(arr);
			}
			return -1;
	}
	
	if(parseFloat(numP) < 0)
	{
	        var count = 0 ;
	        var result = 0 ;
			for(var i = 0 ; i < arr.length ; i++)
			{ 
				var diff = parseFloat(arr[i])  - getAverage(arr)  ;
				diff = Math.abs(diff);
				if(diff > Math.abs(middleValue *  numP))
				{ 
					 count++;
				}
				else
				{
				    result +=  parseFloat(arr[i]);
				}
			}
			if(count == 1)
			{ 
				return result/2;
			}
			if(count == 0)
			{
			    return getAverage(arr);
			}
			return -1;
	}
	
}
function getMiddleNum(arr)
{ 
	 
	 var sum = getSum(arr);
	 var minValue = getMinValue(arr); 
	 var maxValue = getMaxValue(arr);
	 var res = sum - minValue - maxValue ;
	 return res;
}
//功能：



//  根据ADigit指定的有效位数确定AValue值，按特定写法表示。



//txRoundLen(123456, 4) 123500  txRoundLen(123.456, 4) 123.5
function getRoundLen( AValue,  ADigit)
{ 
	  if(AValue < 0 )
	  { 
	   	return -1;
	  }
	  var strAValue = AValue.toString();
	  var pos = strAValue.indexOf(".");
	  
	  if(pos < 0)
	  {
	      var precision = ADigit - strAValue.length   ;
	      return getFourSixFive(AValue,precision);
	  }
	  var precision = ADigit - pos ;
	  return getFourSixFive(AValue,precision);
}
///根据硬度标准求出是否合格
function getIsValidByHardness(hardness,firstNum,secondNum,thirdNum)
{ 
		if(!hardness ||hardness == "0" )
		{ 
			return "不合格";
		} 
		if(!firstNum  ||firstNum == "0" )
		{ 
			return "不合格";
		}
		if(!secondNum  ||secondNum == "0" )
		{ 
			return "不合格";
		} 
		if(!thirdNum  ||thirdNum == "0" )
		{ 
			return "不合格";
		}
		var pos = hardness.indexOf("-");
	
		var minValue = "";
		var matchPattern = "123456789.";
		for(var i = 0 ; i < pos  ;i++)
		{ 
			if(matchPattern.indexOf(hardness [i]) >= 0)
			{
				minValue = minValue + hardness [i].toString();
			}
			
		}
		var maxValue = hardness.substring(pos + 1,hardness.length);
		
		if(parseFloat(firstNum) > parseFloat(maxValue) || parseFloat(firstNum) < parseFloat(minValue))
		{ 
			 return "不合格";
		}
		if(parseFloat(secondNum) > parseFloat(maxValue) || parseFloat(secondNum) < parseFloat(minValue))
		{ 
			 return "不合格";
		} 
		if(parseFloat(thirdNum) > parseFloat(maxValue) || parseFloat(thirdNum) < parseFloat(minValue))
		{ 
			 return "不合格";
		} 
		return "合格";
}

//oldStr原字符串，bits位数，从右边截位
function GetRightStr(oldStr,bits) 
{ 
	if(!oldStr)
	{ 
		return "";
	}
	try
	{ 
		return oldStr.substring(oldStr.length - bits ,oldStr.length);
	} 
	catch(e)
	{ 
		return "";
	}
}

 //oldStr原字符串，bits位数，从左边截位
function GetLeftStr(oldStr,bits)
{ 
	if(!oldStr)
	{ 
		return "";
	}
	try
	{ 
		return oldStr.substring(0,bits);
	} 
	catch(e)
	{ 
		return "";
	}
}

//oldStr原字符串，bits位数，从第startPos位截位


function GetMidStr(oldStr,startPos,bits) 
{ 
	if(!oldStr)
	{ 
		return "";
	}
	try
	{ 
		return oldStr.substring(startPos,bits + startPos);
	} 
	catch(e)
	{ 
		return "";
	}
}

function ClickTableFirstRow(objTable)
{

    if(objTable !=null &&objTable.rows && objTable.rows.length > 1)
    {
       objTable.rows[1].click();
    }
}

function ClickTableCertainRow(objTable,rowID)
{
    
    if(objTable !=null &&objTable.rows.length > 0)
    {
       
        for(var i = 0 ; i < objTable.rows.length ; i++)
        {
           if(objTable.rows[i].id == rowID)
           {
                objTable.rows[i].click();
                return ;
           }
        }
        objTable.rows[1].click();
       
    }
}

function isNumberOnly(str)
{
   if(!str)
   {
      return false;
   }
   for(var i = 0 ; i < str.length ; i++)
   {
      if(strNumber.indexOf(str.charAt(i)) < 0 )
      {
          return false;
      }
   }
   return true;
}

function isLQNumber(obj)
{

   if(obj.value.length > 2)
   {
      return false;
   }
    if ( !((window.event.keyCode >= 48) && (window.event.keyCode <= 57)))
    {
       window.event.keyCode = 0 ;
    }
    var obj11 = window.event.srcElement == null ? window.event.target : window.event.srcElement;
    return parseInt( obj11.getAttribute("keyCode"), 10);

    
}
function IsLeapYear(year)
{
    if(year % 4 == 0 )
    {
        if(year % 100 == 0 )
        {
            if(year % 400 == 0  )
            {
               return true ;
            }
            return false;
        }
        return true ;
    }
    return false;
}

function DayAddDiff(year, month, day, diffDays)
{
        year = parseInt(year,10);
       
        month = parseInt(month,10);
        
        day = parseInt(day,10);
       
        diffDays = parseInt(diffDays,10);
        var numDays = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
        if(IsLeapYear(year))
        {
           numDays = new Array(31,29,31,30,31,30,31,31,30,31,30,31);
        }
        day = day + diffDays ;
        if(day > 0)
        {
            while(day > numDays[month - 1])
            {
                day = day - numDays[month -1 ] ;
                month = month + 1;
                if(month > 12 )
                {
                   month = 1 ;
                   ++ year;
                }   
            }
        }
        else
        {
             while(day <= 0)
             {
                 if(month == 1)
                 {
                     month  = 12 ;
                     --year ;
                     day = day + 31;
                 }
                 else
                 {
                     --month ;
                     day = day + numDays[month];
                 }
             }
        }
        
        var daystring = year ;
        if (month < 10)
        {
            daystring += "-0" + month;
        }
        else
        {
            daystring += "-" + month;
        }
        if (day < 10)
        {
            daystring += "-0" + day;
        }
        else
        {
            daystring += "-" + day;
        }
        return daystring;
 }
 
 
function sortMe(oSel)
{
    var ln = oSel.options.length;
    var arrOptions = new Array();
    var arrText = new Array();
    for (var i = 0; i < ln; i++)
    {

      arrText[i] =  oSel.options[i].text; 
      arrOptions[i] = new Option(oSel.options[i].text,oSel.options[i].value);

    }

    arrText.sort(); 

    while (ln--)
    {
       oSel.options[ln] = null;
    }

    

    for (i = 0; i < arrText.length; i++)
    {
       var option = GetCorrectOption(arrOptions,arrText[i]);
       oSel.add (new Option(option.text, option.value));
    }
}

function GetCorrectOption(arrOptions,optionText)
{
   for(var i = 0 ; i < arrOptions.length ; i++)
   {
       if(arrOptions[i].text == optionText)
       {
          return arrOptions[i];
       }
   }
   return null;
}
//格式化时间12/30
function FormatTime(obj)
{
	 
    if ( !((window.event.keyCode >= 48) && (window.event.keyCode <= 57)) && (window.event.keyCode != 58))
    {
        window.event.keyCode = 0 ;
    }
    var obj = window.event.srcElement == null ? window.event.target : window.event.srcElement;
    return parseInt( obj.getAttribute("keyCode"), 10);
	
}
//只能输入整型数字
 function JHshNumberIntText(obj)
{
    if ( !((window.event.keyCode >= 48) && (window.event.keyCode <= 57)))
    {
        window.event.keyCode = 0 ;
    }
    var obj11 = window.event.srcElement == null ? window.event.target : window.event.srcElement;

    return parseInt( obj11.getAttribute("keyCode"), 10);
}

//只能输入数字
 function JHshNumberText(obj)
{
    if ( !((window.event.keyCode >= 48) && (window.event.keyCode <= 57)) && (window.event.keyCode != 46) && (window.event.keyCode != 45))
    {
        window.event.keyCode = 0 ;
    }
    var obj11 = window.event.srcElement == null ? window.event.target : window.event.srcElement;

    return parseInt( obj11.getAttribute("keyCode"), 10);
}

function txOddEvenAvg(objArr)
{
   var count = objArr.length;
   if(count  == 0)
   {
      return -1;
   }
   try
   {
      var newFloatArr = new Array();
      for(var i = 0 ; i < count ; i++)
      {
         newFloatArr.push(parseFloat(objArr[i]));
      }
      newFloatArr.sort(sortFunction);
      if( count % 2 == 1)
      {
         return newFloatArr[Math.floor(count/2)];
      }
      return (newFloatArr[Math.floor(count/2)] +  newFloatArr[Math.floor(count/2) - 1])/2;   
   }
   catch(e)
   {
      return -1;
   }
}
function sortFunction(x,y)
{
    return x-y;
}



function NextControl(left,up,right,down)
{
    var keyCode = window.event.keyCode ; //9 tab ,13 enter, 37 left ,38 up ,39 right ,40 down
    if( keyCode == 40)
    {
       if(down && document.getElementById(down))
       {
     
           document.getElementById(down).focus();
       }
      
    }
    else if(keyCode == 37)
    {
       if( left && document.getElementById(left))
       {
           document.getElementById(left).focus();
       }
    }
    else if(keyCode == 38)
    {
        if( up && document.getElementById(up))
       {
           document.getElementById(up).focus();
       }
    }
    else if(keyCode == 39  )
    {
        if(right && document.getElementById(right))
       {
           document.getElementById(right).focus();
       }
    }
    else if(keyCode == 13 ||  keyCode == 9 )
    {
       if(right && document.getElementById(right))
       {
           document.getElementById(right).focus();
       }
       else if(down && document.getElementById(down))
       {
     
           document.getElementById(down).focus();
       }
    }
//   {
//      document.getElementById(cor).focus();
//   }
}

function GetAverageWithEmptyFields(obj,allowEmptyCount)//处理带有空值的平均数计算,其中obj为值数组,allowEmptyCount为最多允许的空值数,最后对结果作getFourSixFive处理
{
  var count = 0 ;
  var strRet = 0;
  for(var i = 0 ; i < obj.length ; i++)
  {
       if(obj[i])
       {
          ++count ;
          strRet += parseFloat(obj[i]);
       }
  }
  if( allowEmptyCount < (obj.length - count) )
  {
     return "";
  }
  return strRet/count;
}

function getNCF(F1,F2,F3,F4,F5) //内插法计算


{
    var result;
    
    var a = F3-F1;
    var b = F5-F2;
    var c = a*b/(F4 - F1)  + F2;
    
    return c;
}
//   string YPDBH = Request.QueryString["YPDBH"];
 //               string TableName = Request.QueryString["TableName"];
function printImage(YPDBH,TableName)
{
   window.open("../ImagePage/ImageIframe.aspx?YPDBH=" + YPDBH +"&x=" + Math.random() +"&TableName=" + TableName  ) ;
}


function commonChooseXMDM(obj)
{
    var ret = window.showModalDialog("../Common/ChooseXMDM.aspx",null,"dialogWidth=600px;dialogHeight=500px;status=0;help=0;location=no;status=no");
    if(ret)
    {
      obj.value = ret;
    }
    return ret;

}
function commonChooseJZDW(obj,GCGRPID,curUserID)
{
    var ret = window.showModalDialog("../Common/ChooseJZDW.aspx?YGBH=" + curUserID +"&GCGRPID=" + GCGRPID ,null,"dialogWidth=800px;dialogHeight=600px;status=0;help=0;location=no;status=no");
    if(ret)
    {
      obj.value = ret;
    }

}
function commonChooseJZDWMC(obj,objMC,GCGRPID,curUserID)
{
  
    var ret = window.showModalDialog("../Common/ChooseJZDW.aspx?YGBH=" + curUserID +"&GCGRPID=" + GCGRPID ,"JZDWMC","dialogWidth=800px;dialogHeight=600px;status=0;help=0;location=no;status=no");
    if(ret)
    {
      var tempArr = ret.split("*****");
      obj.value = tempArr[0];
      objMC.value = tempArr[1];
    }

}

function commonChooseGCGRP(obj,JZDWBH,curUserID)
{
    var ret = window.showModalDialog("../Common/ChooseProject.aspx?YGBH="+curUserID+"&JZDWBH=" + JZDWBH,null,"dialogWidth=950px;dialogHeight=600px;status=0;help=0;location=no;toolbar=no ");
    if(ret)
    {
      obj.value = ret;
    }
    return ret;

}
 

function commonChooseZJZ(obj)
{
    var ret = window.showModalDialog("../Common/ChooseZJZ.aspx",null,"dialogWidth=800px;dialogHeight=600px;status=0;help=0;location=no;toolbar=no");
    if(ret)
    {
      obj.value = ret;
    }
    

}



function getJCSFYuHuoTianShu(curWTRQ,kyStr,curSYRQ)
{
    
       if(yuanHuoKind == "suzhou")
       {
            var diffDays = GetDiffDaysFromTwoDays(getDateStrFromDateInteger(curWTRQ),curSYRQ);
            if(diffDays >=25) //20090115 价格是在标准价格(30.00元)基础上再加养护价格 陈桂霞
            {
                return  60;
            }
            if(diffDays >=20)
            {
                return  50;
            }
            if(diffDays >=10)
            {
                return  40;
            }
            return 30;
       }
       else if(yuanHuoKind == "putong")
       {
           if(kyStr == "混凝土抗压")
           {
               return 70;
           }
           else if(kyStr == "砂浆抗压")
           {
              return 60;
           }
       }
       
       return 30;
   
}

function importYSJL(tableName,RWDBH,CSBH,curUserID)
{
    window.showModalDialog("../Common/ImportYSJL.aspx?x="+ Math.random()+"&tableName=" + tableName + "&RWDBH=" + RWDBH +"&CSBH=" + CSBH + "&UserID=" + curUserID);
    onQueryClick(true);
}


if(typeof(curCanshuTableName) !="undefined")
{
  document.write("<script language=\"javascript\" src=\"../Script/canshu.js\"></script>");

}
function $(str)
{

    return document.getElementById(str);
}
function setValue(str,value)
{

      document.getElementById(str).value = value;
}
function getValue(str)
{
   return document.getElementById(str).value;
}
function getInnerText(str)
{
     return document.getElementById(str).innerText;

}
function getInnerHTML(str)
{
     return document.getElementById(str).innerHTML;

}

function NewChangeRowColor(objRow)
{
   
	var objTable = objRow.parentElement.parentElement;
	var i = 0;
	if((objTable != null) && (objTable != "undefined"))
	{
		for(i = 1; i < objTable.rows.length; i++)
		{		
		
		     if( i % 2 == 1)
		     {
		        objTable.rows[i].className = "tab_td_white";
		     }
		     else
		     {
                 objTable.rows[i].className= "tab_td_blue";
		     }
			
			//if(objTable.rows[i].style.background.toLowerCase() == colorNormal.toLowerCase() || objTable.rows[i].style.background.toLowerCase() == colorSelected.toLowerCase())
			//{
			//	objTable.rows[i].style.background = colorNormal;
			//}
		}
	}
	
	if((objRow != null) && (objRow != "undefined"))
	{
		objRow.className= "tab_td_orchid";
	}
	
}

function isValidSFZFunc(num)
{
    var factorArr = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2);
    var error;
    var varArray = new Array();
    var intValue;
    var lngProduct = 0;
    var intCheckDigit;
    var intStrLen = num.length;
    var idNumber = num;    
    if (intStrLen != 18)
    {
       return false;
    }    
    for(i=0;i<intStrLen;i++)
    {
       varArray[i] = idNumber.charAt(i);
       if ((varArray[i] < '0' || varArray[i] > '9') && (i != 17)) 
       {
     
         return false;
       } 
       else if (i < 17) 
       {
          varArray[i] = varArray[i]*factorArr[i];
       }
    }
   var date8 = idNumber.substring(6,14);
   if (checkDate(date8) == false) 
   {
     return false;
   }     
 
    for(i=0;i<17;i++)
    {
       lngProduct = lngProduct + varArray[i];
    }        
     
    intCheckDigit = 12 - lngProduct % 11;
    switch (intCheckDigit)
    {
        case 10:
        intCheckDigit = 'X';
        break;
        case 11:
        intCheckDigit = 0;
        break;
        case 12:
        intCheckDigit = 1;
        break;
    }        
    if (varArray[17].toUpperCase() != intCheckDigit) 
    {

        return false;
    }
     
        
     
    

    return true;
 
}

function isLeapYear(year)
{

  if(year % 400 == 0)
  {
     return true;
  }
  if( year %100 == 0)
  {
    return false;
  }
  if(year %4==0 ) 
  {
     return true;
  }
  return false;
}  

function checkDate(date)
{
  if(date.length !=8)
  {
     return false;
  }
  var year = date.substring(0,4);
  if(isNaN(parseInt(year,10)))
  {
     return false;
  }
  var month = date.substring(4,6);
   if(isNaN(parseInt(month,10)))
  {
     return false;
  }
  var day = date.substring(6,8);
  if(isNaN(parseInt(day)))
  {
     return false;
  }
  month = parseInt(month,10);
  if(month < 1 || month > 12)
  {
     return false;
  }
  day = parseInt(day,10);
  var dayArr = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
  
  if(isLeapYear(year))
  {
     dayArr[1] = 29;
  }
  if(day < 1 || day > dayArr[month])
  {
    return false;
  }
  return true;
}
