date.js
上传用户:sami52198
上传日期:2010-02-11
资源大小:5174k
文件大小:6k
源码类别:

电子政务应用

开发平台:

MultiPlatform

  1. var g_MINY=1601;var g_MAXY=4500;var g_month=0;var g_day=0;var g_year=0;var g_yLow=1990;
  2. function GetInputDate(t,f){
  3.   var l=t.length;
  4.   if(0==l)return false;
  5.   var cSp='';var sSp1="";var sSp2="";
  6.   for(var i=0;i<t.length;i++){
  7.     var c=t.charAt(i);
  8. if(c==' '||isdigit(c))continue;
  9. else if(cSp==''&&(c=='/'||c=='-'||c=='.')){ cSp=c;sSp1=t.substring(i+1,l);}
  10. else if(c==cSp)sSp2=t.substring(i+1,l);
  11. else if(c!=cSp)return false;
  12.   }
  13.   if(0==sSp1.length)return false;
  14.   var m;var d;var y;
  15.   if(g_dFmt=="mmddyy"){m=atoi(t);d=atoi(sSp1);}
  16.   else{d=atoi(t);m=atoi(sSp1);}
  17.   if(0!=sSp2.length)y=atoi(sSp2);
  18.   else y=DefYr(m,d);
  19.   if(y<100){
  20.     y=1900+y;
  21. while(y<g_yLow)y=y+100;}
  22.   if(y<g_MINY||y>g_MAXY||m<1||m>12)return false;
  23.   if(d<1||d>GetMonthCount(m,y))return false;
  24.   g_month=m;g_day=d;g_year=y;
  25.   return true;
  26. }
  27. function DefYr(m,d){
  28.   var dt=new Date();
  29.   var yCur=(dt.getYear()<1000)?1900+dt.getYear():dt.getYear();
  30.   if(m-1<dt.getMonth()||(m-1==dt.getMonth()&&d<dt.getDate()))return 1+yCur;else return yCur;
  31. }
  32. function atoi(s){
  33.   var t=0;
  34.   for(var i=0;i<s.length;i++){
  35.     var c=s.charAt(i);
  36. if(!isdigit(c))return t;
  37. else t=t*10+(c-'0');
  38.   }
  39.   return t;
  40. }
  41. function isdigit(c){
  42.   return(c>='0'&&c<='9');
  43. }
  44. function GetMonthCount(m,y){
  45.   var c=rgMC[m-1];
  46.   if((2==m)&&IsLeapYear(y))c++;
  47.   return c;
  48. }
  49. function IsLeapYear(y){
  50.   if(0==y%4&&((y%100!=0)||(y%400==0))) return true;else return false;
  51. }
  52. var rgMC=new Array(12);rgMC[0]=31;rgMC[1]=28;rgMC[2]=31;rgMC[3]=30;rgMC[4]=31;rgMC[5]=30;rgMC[6]=31;rgMC[7]=31;rgMC[8]=30;
  53.   rgMC[9]=31;rgMC[10]=30;rgMC[11]=31;
  54. var g_eC=null;var g_eCV="";var g_dFmt="yymmdd";var g_fnCB=null;
  55. function ShowCalendar(eP,eD,eDP,dmin,dmax,fnCB){
  56.   var dF=document.all.CalFrame;
  57.   var wF=window.frames.CalFrame;
  58.   if(null==wF.g_fCalLoaded||false==wF.g_fCalLoaded){
  59.     alert("Unable to load popup calendar.rnPlease reload the page.");
  60. return;
  61.   }
  62.   dtMin=new Date();
  63.   dtMin.setDate(dtMin.getDate()+dmin);
  64.   dtMax=new Date();
  65.   dtMax.setDate(dtMax.getDate()+dmax);
  66.   
  67.   wF.SetMinMax(new Date(dtMin),new Date(dtMax));
  68.   g_fnCB=fnCB;
  69.   wF.cityname(fnCB);
  70.   if(eD==g_eC&&"block"==dF.style.display){
  71.     if(g_eCV!=eD.value&&GetInputDate(eD.value,g_dFmt)){
  72.   wF.SetInputDate(g_day,g_month,g_year);
  73.   wF.SetDate(g_day,g_month,g_year);
  74.   g_eCV=eD.value;
  75.     }
  76.     else dF.style.display="none";
  77.     }
  78.   else{
  79.     if(GetInputDate(eD.value,g_dFmt)){
  80.   wF.SetInputDate(g_day,g_month,g_year);
  81.   wF.SetDate(g_day,g_month,g_year);
  82. }
  83.     else if(null!=eDP&&GetInputDate(eDP.value,g_dFmt)){
  84.     wF.SetInputDate(g_day,g_month,g_year);
  85.     wF.SetDate(g_day,g_month,g_year);
  86.   }
  87.     else{
  88.   var dt=new Date(dtMin);
  89.   wF.SetInputDate(-1,-1,-1);
  90.   wF.SetDate(dt.getDate(),dt.getMonth()+1,dt.getFullYear());
  91. }
  92.   var eL=0;var eT=0;var p=eP;
  93.   while(p&&p.tagName!="BODY"){
  94.     eT+=p.offsetTop;
  95. eL+=p.offsetLeft;
  96. p=p.offsetParent;
  97.   }
  98.   var eH=eP.offsetHeight;
  99.   var dH=dF.style.pixelHeight;
  100.   var sT=document.body.scrollTop;
  101.   dF.style.left=eL;
  102.   if(eT-dH>=sT&&eT+eH+dH>document.body.clientHeight+sT) dF.style.top=eT-dH;
  103.   else dF.style.top=eT+eH;
  104.   if("none"==dF.style.display) dF.style.display="block";g_eC=eD;g_eCV=eD.value;
  105.   }
  106. }
  107. function SetDate(d,m,y){
  108.   var ds="-";
  109.   g_eC.focus();
  110.   if(g_dFmt=="mmddyy") g_eC.value=m+ds+d+ds+y;
  111.   else if(g_dFmt=="yymmdd") g_eC.value=y+ds+m+ds+d;
  112.   else g_eC.value=s+ds+m+ds+y;
  113.   g_eCV=g_eC.value;
  114.   if(null!=g_fnCB&&""!=g_fnCB) eval(g_fnCB);
  115. }
  116. function GetDowStart(){return 0;}
  117. function GetDOW2(d,m,y){
  118.   var dt=new Date(y,m-1,d);
  119.   return(dt.getDay()+(7-GetDowStart()))%7;
  120. }
  121. function LoadMonths(n){
  122.   var dt=new Date();
  123.   var m=dt.getMonth()+1;
  124.   var y=dt.getFullYear();
  125.   var rg=new Array(n);
  126.   for(i=0;i<n;i++){
  127.     rg[i]=document.createElement("IMG");
  128.     rg[i].src="/images/elements/calendar/w"+GetDOW2(1,m,y)+"d"+GetMonthCount(m,y)+".gif";
  129.     m++;
  130. if(12<m){ m=1;y++;}
  131.   }
  132. }
  133. LoadMonths(12);
  134. function chkBrowser(){
  135.   this.ver=navigator.appVersion;
  136.   this.dom=document.getElementById?1:0;
  137.   this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0;
  138.   this.ie4=(document.all && !this.dom)?1:0;
  139.   this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0;
  140.   this.ns4=(document.layers && !this.dom)?1:0;
  141.   this.bVer=(this.ie5 || this.ie4 || this.ns4 || this.ns5);
  142.   return this;
  143. }
  144. bVer=new chkBrowser();
  145. ns4 = (document.layers)? true:false;
  146. ie4 = (document.all)? true:false;
  147. function AttB(f){if(bVer.ie4)f.style.display='block';}
  148. function AttN(f){if(bVer.ie4)f.style.display='none';}
  149. function show(idLayer,idParent){
  150.   cLayer=bVer.dom?document.getElementById(idLayer).style:bVer.ie4?document.all[idLayer].style:bVer.ns4?idParent?document[idParent].document[idLayer]:document[idLayer]:0;
  151.   cLayer.display='block';
  152.   divLinksForm=(ns4)?document.divLinks.document.divLinks:document.divLinks;
  153.   var d=document.Wiz;
  154.   if (idLayer=='car'){
  155.     AttB(d.CKind);AttB(d.Ctime1);AttB(d.Ctime2);d.srch[1].status='true';
  156.   }
  157.   else if (idLayer=='hot'){AttB(d.Hcadt);AttB(d.Hckid);d.srch[0].status='true';}
  158.   else{AttB(d.FcAdu);d.srch[2].status='true';/*if (idParent!='flt' && d.opts[1].checked) hide('dts','flt');*/}
  159. }
  160. function hide(idLayer,idParent){
  161.   cLayer=bVer.dom?document.getElementById(idLayer).style:bVer.ie4?document.all[idLayer].style:bVer.ns4?idParent?document[idParent].document[idLayer]:document[idLayer]:0;
  162.   var d=document.Wiz;
  163.   if(idLayer!='flt') AttN(d.FcAdu);
  164.   AttN(d.Hcadt);
  165.   AttN(d.Hckid);
  166.   AttN(d.CKind);
  167.   AttN(d.Ctime1);
  168.   AttN(d.Ctime2);
  169.   cLayer.display='none'
  170. }