function fnSChk(w,sObjName,sCompVal,mess,bool,iCase,ifocus){ var el, vl; if(!bool) return false; el=$(window,sObjName); if(!el)return true; switch(iCase){ case 1 : el.value = getTrim(el.value); break; case 2 : el.value = NormalizeMoney(el.value,false,el.getAttribute('DAFTER')); break; } vl = el.value; if(vl == sCompVal){ fn_alert(w,mess,2,(ifocus==0)?null:el); return false; } if(iCase == 2) return fnChkSummLen(w,el); return bool; } function SubCheckEmpty(w,sOName,CmpVal,msg,bl,ifocus){return fnSChk(w,sOName,CmpVal,msg,bl,0,ifocus);} function SubCheckEmptyTrim(w,sOName,CmpVal,msg,bl,ifocus){return fnSChk(w,sOName,CmpVal,msg,bl,1,ifocus);} function SubCheckEmptyMoney(w,sOName,CmpVal,msg,bl,ifocus){return fnSChk(w,sOName,CmpVal,msg,bl,2,ifocus);} function fnChkSummLen(w,obj,bNeedNormalize,bNullNotEqEmpty){ if(bNeedNormalize) obj.value = NormalizeMoney(obj.value,bNullNotEqEmpty); if(obj.value.indexOf('.') <= 12) return (true); fn_alert(w,LRSChecks13,2,obj); obj.value = ''; return(false); } function fnChkLen(w,sOName,iL,msg,b){ if(!b)return; var el = $(w,sOName); var bl = el.value.length==iL; if(!bl)fn_alert(w,msg,2,el); return(bl); } function fnChekDate(w,n,s,b){ if(!b)return false; b=true; var ob=$(w,n);var dt=ob.value; if(dt.length==0)b=true; var re=/^(\d{1,2}).(\d{1,2}).(\d{4})$/; var a=dt.match(re); if(!a)return false; sDat=a[1];m=a[2];y=a[3]; if (m<1 || m>12)b=false; if (sDat<1 || sDat>31)b=false; if ((m==4 || m==6 || m==9 || m==11) && sDat==31)b=false; if(m==2){ var q=(y%4==0 && (y%100!=0 || y%400==0)); if (sDat>29 || (sDat==29 && !q))b=false; } if(!b)fn_alert(w,s,2,ob); return b; } function fnChekDateDif(w,n1,n2,s,bool){ if(!bool)return false; var o1=$(w,n1),o2=$(w,n2); var d1=o1.value,d2=o2.value; if (d1 == '' || d2 == '') {return true;} if (s == null) s = LRSChecks12; var re = /^(\d\d).(\d\d).(\d{4})$/; if (d1.replace(re,"$3$2$1") <= d2.replace(re,"$3$2$1")) return(true); fn_alert(w,s,2,o1); return (false); } function CheckDATA(w,inp,func,sh){ var oInp=$(w,inp); if(!oInp || oInp.value=='')return; var arParams=new Array( 'T=RT_2CHECK.CheckDATA', 'ACT='+func, 'FOR='+(sh||$(window,'SCHEMENAME').value), 'INP='+oInp.value); CreateBSSHTTPRequest(); BSSHTTPRequest.init(arParams); BSSHTTPRequest.resultMethod=fnOnCheckDATAResult; BSSHTTPRequest.sendData(); } function fnOnCheckDATAResult(xHTTP){ if(!xHTTP)return; var iC=xHTTP.errorCode; if(iC>0)fn_alert(w,xHTTP.error); } function fnGetPercent(Sum,Percent,Min,Max){ if((Sum=='')||(Percent==''))return(''); var vSum=NormalizeMoney(Sum,false,2); var fCom=parseFloat('0' + Percent)/100; var vMin=NormalizeMoney(Min,false); var vMax=NormalizeMoney(Max,false); var Res=0; Res=NormalizeMoney(fCom*vSum,false,2); Res=((vMin!='')&&(parseFloat(Res) < parseFloat(vMin)))?vMin:Res; Res=((vMax!='')&&(parseFloat(Res) > parseFloat(vMax)))?vMax:Res; return(Res); } function NormalizeMoney(Value,bNullNotEqEmpty,DAD,bABC){ var bLNull=parseFloat(Value)<0; Value=('0'+Value).replace(/-/g,'').replace(/\s/g,'').replace(/\W(.*)/g,'.$1'); if (isNaN(DAD) || DAD==undefined) DAD = 2; var s = ('0'+Value).replace(/\s/g,'').replace(/[^\.\d]/g,'.').replace(/[\.]+/g,'.'); if (DAD<0){if(isNaN(Value))return '';DAD=(s.slice(s.indexOf('.')+1)).length} var re=new RegExp("(^\\d*)(\\d{"+DAD+"}$)",""); s = (''+Math.pow(10,DAD)).substr(1,DAD) + Math.round(parseFloat(s)*Math.pow(10,DAD)); var ar = re.exec(s); if (ar == null) return ''; s = ((bLNull && !bABC)?'-':'') + parseFloat(ar[1]) + ((DAD!=0)?('.' + ar[2]):'') if(bNullNotEqEmpty)return s; return (parseFloat(s) == 0) ? '' : s; } function Clear(w,x){ var oAr=x.split('|'); for(var i=0;i