/**
 * Title:        Container Seq Operate
 * Description:  Product: function.js
 * Package:      OperateOnject
 * Copyright:    Copyright (c) 2003
 * Company:      YICT
 */

/**
  Version History
  ===============
  Version  Date           Author       Reviewed by
           Description
  ----------------------------------------------------
  1.0    03-28-2003     YangLin
  1.0.b1 03-31-2003	Michelle
         add setFocus method
  1.0.b2 04-07-2003     YangLin
         add changePage(i) and changePage1(i) Method
 */

 function changePage(i){
      formChangePage.currentPageIndex.value=i;
      formChangePage.submit();
	event.returnValue=false;
    }
function changePage1(i){
     var s=1;
     var MaxPage=1;
     MaxPage=formChangePage.totalPageNumber.value*1
     s=(formChangePage.currentPageIndex.value)*1+i;
     if(s<1 || s>MaxPage)
     {
      return;
     }
     formChangePage.currentPageIndex.value=s;
     formChangePage.submit();
     event.returnValue=false;
    }
function AllTrim(str)
{
     if(str==null || str=="")  return ""

	  lIdx=0;rIdx=str.length;
	  if (AllTrim.arguments.length==2)
	    act=AllTrim.arguments[1].toLowerCase()
	  else
	    act="all"
     for(var i=0;i<str.length;i++){
	  	thelStr=str.substring(lIdx,lIdx+1)
		therStr=str.substring(rIdx,rIdx-1)
        if ((act=="all" || act=="left") && thelStr==" "){
			lIdx++
        }
        if ((act=="all" || act=="right") && therStr==" "){
			rIdx--
        }
      }
	  str=str.slice(lIdx,rIdx)
      return str
}

/////////////////////////////////////////////////////////////////////////////////

/////////////////////////////////////////////////////////////////////////////////
function controlKeyDown()
{
  var oCurElem=event.srcElement
  var nKeyCode=event.keyCode*1;
  var sType=oCurElem.type;
  if(nKeyCode==27)
    {
      if(document.body.ChildWin==1)
        {
          window.close();
          return;
        }
    }

  if(nKeyCode==13)
   {
    if(!(sType=="button" || sType=="reset" || sType=="submit" ))
      {
        var sPEnter=event.srcElement.getAttribute("penter");
        if(sPEnter!="1")
          { event.keyCode=9; }
        return;
      }
   }
  if(nKeyCode==46) return;
  if(nKeyCode==120) //F9 help
    {  KeyHelp();  }
 }

function controlKeyPress()
{
  var oCurElem=event.srcElement
  var nKeyCode=event.keyCode*1;
  var sType=oCurElem.type;
  KeyFilter();
}

function childWin_OnReturn(sMe,selRowData)
 {
   if ((typeof oCurObj)=="object")
     {
       oCurObj.value=selRowData[0];
       var stoId=oCurObj.toElem
       var stoJd=oCurObj.toJd
       var npCount=0
       var oParent=oCurObj.parentElement
       while(npCount<=10 && oParent.tagName!="FORM")
        { if(oParent==null) break;   oParent=oParent.parentElement;   }
       if(npCount>10 || oParent==null)
        { oCurObj.focus(); return; }
       for(var i=0; i<oParent.elements.length; i++)
        { if(oParent.elements[i].id==stoId){  oParent.elements[i].value=selRowData[1]; break; } }
       for(var i=0; i<oParent.elements.length; i++)
        { if(oParent.elements[i].id==stoJd){  oParent.elements[i].value=selRowData[2]; break; } }
       oCurObj.focus();
     }
 }

document.onkeydown=controlKeyDown;
document.onkeypress=controlKeyPress;

function KeyFilter()
  {
    var berr=false;
    var nKeyCode=event.keyCode*1;
    if(nKeyCode==35 || nKeyCode==38 || nKeyCode==39 || nKeyCode==34
      || nKeyCode==63 || nKeyCode==43 || nKeyCode==40 || nKeyCode==41)
      { event.returnValue=false;
        return;
      }
    if(nKeyCode==9 || nKeyCode==13 || nKeyCode==37 || nKeyCode==38
       || nKeyCode==39 || nKeyCode==40
       || nKeyCode==34 || nKeyCode==35 || nKeyCode==36
       || nKeyCode==8)
      {  return ; }
    var sType=event.srcElement.getAttribute("inType");
    if(sType==null || sType=="") return;
    switch(sType)
      {
         case "int":
           if(((nKeyCode<48)||(nKeyCode>57))&&(nKeyCode!=45))
             { event.returnValue=false;        }
           break;

         case "plus":
           if((nKeyCode<48)||(nKeyCode>57))
             { event.returnValue=false; }
           break;

         case "float":
           if(((nKeyCode<48)||(nKeyCode>57))&&(nKeyCode!=45))
             if(event.keyCode!=46 || event.keyCode<0)
               { event.returnValue=false; }
           break;

	 case "dt":
	   if(!(event.keyCode==45 || event.keyCode == 47 || (event.keyCode>=48 && event.keyCode<=57)))
	   berr=true;
	   break;

         case "posFloat":
           if(nKeyCode<48 && event.keyCode!=46 || nKeyCode>57)
               { event.returnValue=false; }
           break;
	 case 'cy':
	 case 'rt':
	   if (!(event.keyCode == 45 || event.keyCode == 46 || (event.keyCode>=48 && event.keyCode<=57)))
	   berr=true;
	   break;

	 case 'phase':	//input phase
	   if (event.keyCode == 34 )
	    {
	       alert(L_JSVCHEDIT_WANGING);
	       berr=true;
	    }
	   break;

	 default:
	  if (event.keyCode == 35 || event.keyCode == 37 || event.keyCode==38)
	  berr=true;
     };
 }


function round(num,scale)
{
	return Math.round(num*Math.pow(10,scale))/Math.pow(10,scale);
}

function OpRecord(sOpType,aData,aField)
 {
     m_Op_Type=sOpType.toLowerCase();
     var stFieldName="";
     var sFormHTML="<form name=form1 method=post action='"+sOpAction+"'>";
     sFormHTML+="<input type=hidden name=Op_Type value="+sOpType+">";
     var nAuBound=aData.length;
     for(var i=0; i<nAuBound; i++)
      {
        if(aField=="" || aField==null)
           stFieldName=fParent.aAttField[i];
        else
           stFieldName=aField[i];
        sFormHTML+="<input type=hidden name='"+stFieldName+"' value='"+aData[i]+"'>";
      }
     sFormHTML+="</form>";
     IFrameProc.document.body.innerHTML=sFormHTML;
     OpenCloseButton(0);
     IFrameProc.form1.submit();
 }

function OpenCloseButton(nFlag)
 {
   for(var i=0; i<document.all.length; i++)
    {
      var sFuncBtnTag=document.all[i].type;
      if(sFuncBtnTag=="button")
       {
          if(nFlag==0)
            {
              document.all[i].DEStat=document.all[i].disabled;
              document.all[i].disabled=true;
            }
          else
            {
               DEStat=document.all[i].getAttribute("DEStat")
               if(DEStat!=null)
                 document.all[i].disabled=DEStat;
            }
       }
    }
 }

function getCurRowIndex(oThis,nOption1)
 {
   var i=0;
   var oParent;
   oParent=oThis;
   while(oParent.tagName!="TR" || i>10)
     {
       if(oParent.tagName=="TABLE" || oParent.tagName=="BODY")
        {
           i=100;
           break;
        }
       oParent=oParent.parentElement;
       i=i+1;
     }
   if(i<=10)
    {
      if(arguments.length<2)
        { return oParent.rowIndex; }
      else
        { return oParent;          }
     }
   else
     return -1;
 }

function myExcel(thisForm,nFalg)
{
  if(nFalg==1)
   {
     thisForm.QueryAction.value="excel";
     var sSaveTarget=thisForm.target;
     thisForm.target="_blank";
     thisForm.submit();
     thisForm.QueryAction.value="";
     thisForm.target=sSaveTarget;
   }
 else
   {
     thisForm.QueryAction.value="excel";
     var sSaveTarget=thisForm.target;
     thisForm.target="_blank";
     thisForm.submit();
     thisForm.QueryAction.value="";
     thisForm.target=sSaveTarget;
   }
}

//格式化数字显示方式
 function uformat(expr, type)
   {
		var decplaces = 2
		switch (type)
		{
			case 0 :				//金额
				decplaces=2;
				break;
			case 1 :				//单价
				decplaces=2
				break;
			case 2 :				//数量
				decplaces=2
				break;
			case 3 :				//汇率
				decplaces=4
				break;

		}
		var str = "" + Math.round(eval(expr) * Math.pow(10,decplaces));
		while (str.length <= decplaces) {
			str = "0" + str;
		}
		var decpoint = str.length - decplaces;
		return str.substring(0,decpoint) + "." + str.substring(decpoint,str.length);
	}

function number_format(number,decimals){
	var sOutPut="";
	var nLen=0;
	var sPartAttach="";
	var sPartInt="";
	var sPartDeci="";

	var re=/(-?\d+)(\d{3})/;
	if(arguments.length==1){
		decimals=2;
	}
	sOutPut="" + Math.round(number*Math.pow(10,decimals))/Math.pow(10,decimals);

	for(var i=0;i<decimals;i++){
		sPartAttach +="0";
	}

	nLen=sOutPut.indexOf(".")!=-1?sOutPut.indexOf("."):sOutPut.length;
	sPartInt=sOutPut.substr(0,nLen);
	sPartDeci=(sOutPut.substr(nLen+1) + sPartAttach).substr(0,decimals);

	while(re.test(sPartInt)){
		sPartInt=sPartInt.replace(re,"$1,$2");
	}
	return sPartInt+"."+sPartDeci;
}
function setExcelDisplay(tblData,sMode) {
    if(sMode == "excel")
	{
		if (tblData.rows.length == 0) {
		    tblData.style.border = 0;
		}
	}
}

var stock=null;
function  openQuery(index,width,height){
    if (index==null) return;
    if (stock!=null)   stock.close();
	stock=window.showModelessDialog(index,window,"dialogHeight: "+height+"px; dialogWidth: "+width+"px; dialogTop: 100px; dialogLeft: 150px; edge: Raised; center: Yes; help: No; resizable: No; status: No;titlebar:no;");
    stock.focus();
}
var menustock=null;
function  openWin(index,width,height){
if (index.length<1) return;
    if (menustock!=null)   menustock.close();
     menustock = window.open(index,"","top=20,left=80,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,width="+width+",height="+height)
    menustock.focus();
}

function setFocus(formID,paramID) {
    eval("document."+formID+"."+paramID).focus();
  }
//////////////////////////////////////////////////
function isdig(s)
{
	var regu = "^([1-9]*[0-9]*)$"
	var re = new RegExp(regu);
	if (s.search(re) != -1){
		return true;
	}else{
		return false;
	}
}
///////////////////////////////////////////////////////
function removenull(oname)
{
var nstring=""
for (var i=0; i<oname.length ;i++)                  {
if (oname.charAt(i)!=" ")                            {
nstring=nstring+oname.charAt(i);                    }
}
return (nstring);
}
//////////////////////////////////////
function check_date(datestr)
{
var datetime_arr,date_arr,time_arr,year,mon,day;
var monthDays = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
datetime_arr=removenull(datestr).split(" ")
if(datetime_arr[0].indexOf(",")!=-1)
 {
   datetime_arr1=datetime_arr[0].split(",");
   alert(datetime_arr1.length);
  }
if((datestr.indexOf("/")+datestr.indexOf("-"))<0)
 {
    return false;

 }
if(datestr.indexOf("/")!=-1)
 {
  date_arr=datetime_arr[0].split("/");
 }
 else
 {
   if(datestr.indexOf("-")!=-1)
   {
	date_arr=datetime_arr[0].split("-");
   }
  }
if(date_arr[0]*1>9999 || date_arr[0]*1<1900)
 {
   return false;
 }
 if(date_arr[2]=="" || date_arr[2]*1>32 || date_arr[2]*1<0)
 {
   return false;
 }
    if(date_arr.length!=3) return false;
	year=date_arr[0];
	mon=date_arr[1];
	day=date_arr[2];
	if(((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0))
	   monthDays[1]=29;
	if(!isdig(year) || !isdig(mon) || !isdig(day) || mon<1 || mon>12 || day>monthDays[mon-1])
	   return false;

	//Passed all check
	return true;
}
function checkDateTime(datestr)
{var dateString=datestr;
 if (dateString.length==19){
   dateString=datestr.substring(0,11);
   if (check_date(dateString))
   {
     dateString=datestr.substring(11,datestr.length);
     if(dateString.indexOf(":")!=-1)
     {
       date_arr=dateString.split(":");
     }
     if ((date_arr[0]*1<24 && date_arr[0]*1>=0) &&(date_arr[1]*1<60 && date_arr[1]*1>=0) &&(date_arr[2]*1<60 && date_arr[2]*1>=0) )
     {
       return true;
     }
   }
 }
 return false;
}

function  showMessage(errMsg) {
  alert(errMsg);
  return false;
}

function  showMessageJsp(errMsg,pageName) {
  alert(errMsg);
  window.location.href=pageName+".jsp";
  return false;
}

function compareDate(DateString1, DateString2,Dilimeter) {
   //Dilimeter = '-';

   var tempy1='';
   var tempm1='';
   var tempd1='';
   var tempArray1;
   var tempy2='';
   var tempm2='';
   var tempd2='';
   var tempArray2;
   tempArray1 = DateString1.split(Dilimeter);
   tempArray2 = DateString2.split(Dilimeter);

   tempy1 = tempArray1[0];
   tempd1 = tempArray1[2];
   tempm1 = tempArray1[1];

   tempy2 = tempArray2[0];
   tempd2 = tempArray2[2];
   tempm2 = tempArray2[1];

   var tDateString1 = tempy1 + '/'+tempm1 + '/'+tempd1+':0';
   var tDateString2 = tempy2 + '/'+tempm2 + '/'+tempd2+':0';

   var tempDate1 = new Date(tDateString1);
   var tempDate2 = new Date(tDateString2);

  if (tempDate1 > tempDate2) {
   return 1;
  } else if (tempDate1 < tempDate2) {
   return -1;
  } else {
   return 0;
  }
}
//===============================================================remove year
 function removeYear(StrData){
  if(StrData==""){
    return "";
  }
  var strDate=null;
  var ConnectStr="-";
   if(StrData.indexOf("-")!=-1){
     strDate=StrData.split("-");
   }
   if(StrData.indexOf("/")!=-1){
     strDate=StrData.split("/");
     ConnectStr="/";
   } 
  document.write(strDate[1]+ConnectStr+strDate[2]);
 }