温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:热线球队财务管理系统源码
当前文件:
SmallFinance/script/datepicker.js[22K,2009-6-12 11:54:23],打开代码结构图
SmallFinance/script/datepicker.js[22K,2009-6-12 11:54:23],打开代码结构图1//该源码下载自www.51aspx.com(51aspx.com) 2
3
<!-- 4
var m_iDatePickerCount=0; 5
var cl_dpMaxYear=9999; 6
var cl_dpMaxMonth=11; 7
var cl_dpMaxDay=31; 8
var cl_dpMinYear=1600; 9
var cl_dpMinMonth=0; 10
var cl_dpMinDay=1; 11
12
function createDatePicker(txtName,lYear,lMonth,lDay) 13
{ 14
var dpID="dp_"+(m_iDatePickerCount++); 15
var dt=dp_getValidDate(lYear,lMonth,lDay); 16
var dpName = "dpN_" + txtName; 17
if(dt==null) 18
dt=new Date(); 19
document.write("<span class=DPFrame id="+dpID+" name="+dpName+">"); 20
document.write("<input class=DPYear type=text value="+dt.getFullYear()+" size=4 maxlength=4 onfocus=\"return dp_focus('year');\" onblur=\"return dp_blur('year');\" onkeypress=\"return KeyFilter('number');\" onkeydown=\"return dp_keyDown('year');\">"); 21
document.write("<font class=DPYearDes>年</font>"); 22
document.write("<input class=DPMonth type=text value="+(dt.getMonth()+1)+" size=2 maxlength=2 onfocus=\"return dp_focus('month');\" onblur=\"return dp_blur('month');\" onkeypress=\"return KeyFilter('number');\" onkeydown=\"return dp_keyDown('month');\">"); 23
document.write("<font class=DPMonthDes>月</font>"); 24
document.write("<input class=DPDay type=text value="+dt.getDate()+" size=2 maxlength=2 onfocus=\"return dp_focus('day');\" onblur=\"return dp_blur('day');\" onkeypress=\"return KeyFilter('number');\" onkeydown=\"return dp_keyDown('day');\">"); 25
document.write("<font class=DPDayDes>日</font>"); 26
document.write("<span class=DPSep></span>"); 27
document.write("<img onclick=\"dp_DropClick();return false;\" style=\"cursor: pointer;\" src=\"images/arrow_drapDown.gif\" alt=\"选择日期\">"); 28
if(typeof(txtName)=="string" && txtName.length>0) 29
{ 30
document.write("<input type=hidden value='"+dt.format("yyyy/mm/dd")+"' name="+txtName+">"); 31
} 32
document.write("</span>"); 33
34
var dp=document.all(dpID); 35
dp_initDatePicker(dp,dt); 36
return dp; 37
} 38
39
function dp_getValidDate(lYear,lMonth,lDay) 40
{ 41
var dt=new Date(); 42
if(lYear==null || isNaN(parseInt(lYear,10))) 43
lYear=dt.getFullYear(); 44
else 45
lYear=parseInt(lYear,10); 46
47
if(lMonth==null || isNaN(parseInt(lMonth,10))) 48
lMonth=dt.getMonth(); 49
else 50
lMonth=parseInt(lMonth,10)-1; 51
52
if(lDay==null || isNaN(parseInt(lDay,10))) 53
lDay=dt.getDate(); 54
else 55
lDay=parseInt(lDay,10); 56
57
dt=new Date(lYear,lMonth,lDay); 58
var cdMax=new Date(cl_dpMaxYear,cl_dpMaxMonth,cl_dpMaxDay); 59
var cdMin=new Date(cl_dpMinYear,cl_dpMinMonth,cl_dpMinDay); 60
if(dt.compare(cdMax)>0 || dt.compare(cdMin)<0) 61
dt=null; 62
return dt; 63
} 64
65
function dp_initDatePicker(dp,dt) 66
{ 67
if(dp) 68
{ 69
//Private Property 70
dp.curDate=dt; 71
dp.dpEnabled=true; 72
dp.maxDay=cl_dpMaxDay; 73
dp.maxMonth=cl_dpMaxMonth; 74
dp.maxYear=cl_dpMaxYear; 75
dp.minDay=cl_dpMinDay; 76
dp.minMonth=cl_dpMinMonth; 77
dp.minYear=cl_dpMinYear; 78
dp.oldDate=dt.clone(); 79
80
//Private Method 81
dp.getDropDownTable=dp_getDropDownTable; 82
dp.getMonthName=dp_getMonthName; 83
dp.hideDropDown=dp_hideDropDown; 84
dp.initDropDown=dp_initDropDown; 85
dp.onDateChange=dp_onDateChange; 86
dp.refreshPostText=dp_refreshPostText; 87
dp.showDropDown=dp_showDropDown; 88
89
//Public Property 90
//All Span Properties can be used; 91
dp.offsetHor=0; 92
93
//Public Method 94
dp.setFocus=dp_setFocus; 95
dp.format=dp_format; 96
dp.getDateContent=dp_getDateContent; 97
dp.getDay=dp_getDay; 98
dp.getEnabled=dp_getEnabled; 99
dp.getMonth=dp_getMonth; 100
dp.getYear=dp_getYear; 101
dp.refreshView=dp_refreshView; 102
dp.setAccessKey=dp_setAccessKey; 103
dp.setCurDate=dp_setCurDate; 104
dp.setDateDes=dp_setDateDes; 105
dp.setEnabled=dp_setEnabled; 106
dp.setFormat=dp_setFormat; 107
dp.setMaxDate=dp_setMaxDate; 108
dp.setMinDate=dp_setMinDate; 109
dp.setTabIndex=dp_setTabIndex; 110
dp.setWeekName=dp_setWeekName; 111
112
//Event 113
dp.dateChanged=null; 114
115
//Init View 116
dp.refreshView(); 117
} 118
} 119
120
function dp_createDropDown() 121
{ 122
var ddt=getDropDownTable(); 123
if(ddt) 124
return ddt; 125
document.body.insertAdjacentHTML("BeforeEnd", 126
"<TABLE id=dpDropDownTable "+ 127
"onclick=\"dp_ddt_click();\" "+ 128
"ondblclick=\"dp_ddt_dblclick();\">"+ 129
"<TR class=DPTitle>"+ 130
"<TD><span class=DPBtn onclick=\"dp_monthChange(-1);\" title=\"上月\">9</span></TD>"+ 131
"<TD align=center colspan=5></TD>"+ 132
"<TD><span class=DPBtn onclick=\"dp_monthChange(1);\" title=\"下月\">:</span></TD>"+ 133
"</TR>"+ 134
"<TR>"+ 135
"<TD class=DPWeekName>星期日</TD>"+ 136
"<TD class=DPWeekName>星期一</TD>"+ 137
"<TD class=DPWeekName>星期二</TD>"+ 138
"<TD class=DPWeekName>星期三</TD>"+ 139
"<TD class=DPWeekName>星期四</TD>"+ 140
"<TD class=DPWeekName>星期五</TD>"+ 141
"<TD class=DPWeekName>星期六</TD>"+ 142
"</TR>"+ 143
"</TABLE>"); 144
ddt=getDropDownTable(); 145
if(ddt) 146
{ 147
var row=null; 148
var cell=null; 149
for(var i=2; i<8; i++) 150
{ 151
row=ddt.insertRow(i); 152
if(row) 153
{ 154
for(var j=0; j<7; j++) 155
{ 156
cell=row.insertCell(j); 157
// if(cell) 158
// { 159
// } 160
} 161
} 162
} 163
} 164
if(ddt.rows.length!=8) 165
ddt=null; 166
return ddt; 167
} 168
169
function dp_getYear() 170
{ 171
var dp=this; 172
return dp.curDate.getFullYear(); 173
} 174
175
function dp_getMonth() 176
{ 177
var dp=this; 178
return dp.curDate.getMonth()+1; 179
} 180
181
function dp_getDay() 182
{ 183
var dp=this; 184
return dp.curDate.getDate(); 185
} 186
187
function dp_format(sFormat) 188
{ 189
var dp=this; 190
return dp.curDate.format(sFormat); 191
} 192
193
function dp_setAccessKey(sKey) 194
{ 195
var dp=this; 196
var src=dp.children[0]; 197
if(src && src.tagName=="INPUT") 198
{ 199
src.accessKey=sKey; 200
} 201
} 202
203
function dp_getEnabled() 204
{ 205
var dp=this; 206
var val=false; 207
208
if(dp.dpEnabled) 209
val=true; 210
else 211
val=false; 212
return val; 213
} 214
215
function dp_setEnabled(val) 216
{ 217
var dp=this; 218
var hr=false; 219
220
var src=dp.children[0]; 221
if(src && src.tagName=="INPUT") 222
{ 223
src.disabled=!val; 224
src=dp.children[2]; 225
if(src && src.tagName=="INPUT") 226
{ 227
src.disabled=!val; 228
src=dp.children[4]; 229
if(src && src.tagName=="INPUT") 230
{ 231
src.disabled=!val; 232
dp.dpEnabled=val; 233
hr=true; 234
} 235
} 236
} 237
return hr; 238
} 239
240
function dp_setFocus() 241
{ 242
var dp=this; 243
var src=dp.children[0]; 244
if(src && src.tagName=="INPUT" && !src.disabled) 245
{ 246
src.focus(); 247
} 248
} 249
250
function dp_getDateContent() 251
{ 252
var dp=this; 253
var con=""; 254
var sYearDes=""; 255
var sMonthDes=""; 256
var sDayDes=""; 257
var src=dp.children[1]; 258
259
if(src && src.tagName=="FONT") 260
{ 261
sYearDes=src.innerText; 262
src=dp.children[3]; 263
if(src && src.tagName=="FONT") 264
{ 265
sMonthDes=src.innerText; 266
src=dp.children[5]; 267
if(src && src.tagName=="FONT") 268
{ 269
sDayDes=src.innerText; 270
var dt=dp.curDate; 271
con=dt.getFullYear()+sYearDes+(dt.getMonth()+1)+sMonthDes+dt.getDate()+sDayDes; 272
} 273
} 274
} 275
return con; 276
} 277
278
function dp_setFormat(sFormat) 279
{ 280
this.formatString=sFormat; 281
this.refreshPostText(); 282
} 283
284
function dp_refreshPostText() 285
{ 286
var dp=this; 287
var sFormat="yyyy/mm/dd"; 288
289
if(typeof(dp.formatString)=="string") 290
sFormat=dp.formatString; 291
var txt=dp.children[8]; 292
if(txt && txt.tagName=="INPUT") 293
txt.value=dp.format(sFormat); 294
} 295
296
function dp_initDropDown() 297
{ 298
var dp=this; 299
var ddt=dp.getDropDownTable(); 300
if(ddt) 301
{ 302
ddt.curCell=null; 303
var cell=null; 304
var dt=new Date(dp.curDate.getFullYear(),dp.curDate.getMonth(),1); 305
cell=ddt.rows[0].cells[1]; 306
if(cell) 307
{ 308
cell.innerText=dp.getMonthName(dt.getMonth())+" "+dt.getFullYear(); 309
} 310
311
var wd=dt.getDay(); 312
dt=new Date(dt.getFullYear(),dt.getMonth(),1-wd); 313
var day=dt.getDate(); 314
315
316
for(var i=2; i<8; i++) 317
{ 318
for(var j=0; j<7; j++) 319
{ 320
cell=ddt.rows[i].cells[j]; 321
if(cell) 322
{ 323
if(dp.curDate.getMonth()!=dt.getMonth()) 324
cell.className="DPCellOther"; 325
else if(dp.curDate.getDate()!=dt.getDate()) 326
cell.className="DPCell"; 327
else 328
{ 329
cell.className="DPCell"; 330
dp_onCell(cell); 331
} 332
cell.innerText=day; 333
cell.year=dt.getFullYear(); 334
cell.month=dt.getMonth(); 335
dt.setDate(day+1); 336
day=dt.getDate(); 337
} 338
} 339
} 340
} 341
} 342
343
function dp_getMonthName(lMonth) 344
{ 345
var mnArr=new Array("一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"); 346
return mnArr[lMonth]; 347
} 348
349
function dp_setWeekName() 350
{ 351
var dp=this; 352
var ddt=dp.getDropDownTable(); 353
if(ddt) 354
{ 355
var cell=null; 356
357
for(var j=0; j<7; j++) 358
{ 359
cell=ddt.rows[1].cells[j]; 360
if(cell) 361
{ 362
cell.innerText=arguments[j]; 363
} 364
} 365
} 366
} 367
368
function dp_showDropDown() 369
{ 370
var dp=this; 371
var ddt=dp.getDropDownTable(); 372
// alert(ddt.innerHTML); 373
374
if(ddt) 375
{ 376
if(ddt.style.display=="block") 377
{ 378
dp.hideDropDown(); 379
} 380
else 381
{ 382
dp.initDropDown(); 383
if(ddt.clientWidth==0) 384
{ 385
ddt.style.pixelLeft=-500; 386
ddt.style.pixelTop=-500; 387
ddt.style.display="block"; 388
} 389
390
var ddtWidth=ddt.clientWidth==0?266:ddt.clientWidth; 391
var ddtHeight=ddt.clientHeight==0?133:ddt.clientHeight; 392
393
var lLeft=getOffsetLeft(dp); 394
var lTop=getOffsetTop(dp)+dp.offsetHeight; 395
396
if((lTop+ddtHeight)>(document.body.clientHeight+document.body.scrollTop)) 397
{ 398
lTop-=(ddtHeight+dp.offsetHeight+2); 399
} 400
401
if((lLeft+ddtWidth)>(document.body.clientWidth+document.body.scrollLeft)) 402
{ 403
lLeft=document.body.clientWidth+document.body.scrollLeft-ddtWidth-2; 404
} 405
406
var off=parseInt(dp.offsetHor,10); 407
if(isNaN(off)) 408
off=0; 409
ddt.style.pixelLeft=lLeft+off; 410
ddt.style.pixelTop=lTop; 411
ddt.dpOldDocClick=document.onclick; 412
ddt.dpOldDocKeyDown=document.onkeydown; 413
414
event.cancelBubble=true; 415
event.returnValue=false; 416
document.onclick=dp_sub_docClick; 417
document.onkeydown=dp_sub_dockeydown; 418
419
ddt.style.display="block"; 420
} 421
} 422
} 423
424
function getDropDownTable() 425
{ 426
var ddt=document.all("dpDropDownTable"); 427
if(!(ddt && ddt.tagName=="TABLE")) 428
ddt=null; 429
return ddt; 430
} 431
432
function dp_hideDropDown() 433
{ 434
var ddt=getDropDownTable(); 435
if(ddt) 436
{ 437
ddt.style.display="none"; 438
document.onclick=ddt.dpOldDocClick; 439
document.onkeydown=ddt.dpOldDocKeyDown; 440
} 441
} 442
443
function dp_getDropDownTable() 444
{ 445
var dp=this; 446
dp.dropDownTable=dp_createDropDown(); 447
448
if(dp.dropDownTable && dp.dropDownTable.tagName=="TABLE") 449
{ 450
dp.dropDownTable.dp=dp; 451
return dp.dropDownTable; 452
} 453
else 454
return null; 455
} 456
457
function dp_onDateChange() 458
{ 459
var dp=this; 460
if(dp.curDate.compare(dp.oldDate)!=0) 461
{ 462
dp.oldDate=dp.curDate.clone(); 463
dp.refreshView(); 464
dp.refreshPostText(); 465
if(typeof(dp.dateChanged)=="function") 466
dp.dateChanged(dp.curDate.getFullYear(),dp.curDate.getMonth()+1,dp.curDate.getDate()); 467
} 468
} 469
470
function dp_refreshView() 471
{ 472
var dp=this; 473
var hr=false; 474
475
if(dp && dp.curDate) 476
{ 477
var src=dp.children[0]; 478
if(src && src.tagName=="INPUT") 479
{ 480
src.value=dp.curDate.getFullYear(); 481
src=dp.children[2]; 482
if(src && src.tagName=="INPUT") 483
{ 484
src.value=dp.curDate.getMonth()+1; 485
src=dp.children[4]; 486
if(src && src.tagName=="INPUT") 487
{ 488
src.value=dp.curDate.getDate(); 489
hr=true; 490
} 491
} 492
} 493
} 494
return hr; 495
} 496
497
function dp_setTabIndex(lTabIndex) 498
{ 499
var dp=this; 500
var hr=false; 501
502
if(dp) 503
{ 504
var src=dp.children[0]; 505
if(src && src.tagName=="INPUT") 506
{ 507
src.tabIndex=lTabIndex; 508
src=dp.children[2]; 509
if(src && src.tagName=="INPUT") 510
{ 511
src.tabIndex=lTabIndex; 512
src=dp.children[4]; 513
if(src && src.tagName=="INPUT") 514
{ 515
src.tabIndex=lTabIndex; 516
src=dp.children[7]; 517
if(src && src.tagName=="A") 518
{ 519
src.tabIndex=lTabIndex; 520
hr=true; 521
} 522
} 523
} 524
} 525
} 526
return hr; 527
} 528
529
function dp_setDateDes(sYearDes,sMonthDes,sDayDes) 530
{ 531
if(sYearDes==null) 532
sYearDes="-"; 533
if(sMonthDes==null) 534
sMonthDes="-"; 535
if(sDayDes==null) 536
sDayDes=""; 537
538
var dp=this; 539
var hr=false; 540
541
var src=dp.children[1]; 542
if(src && src.tagName=="FONT") 543
{ 544
src.innerText=sYearDes; 545
src=dp.children[3]; 546
if(src && src.tagName=="FONT") 547
{ 548
src.innerText=sMonthDes; 549
src=dp.children[5]; 550
if(src && src.tagName=="FONT") 551
{ 552
src.innerText=sDayDes; 553
hr=true; 554
} 555
} 556
} 557
return hr; 558
} 559
560
function dp_setMaxDate(lYear,lMonth,lDay) 561
{ 562
var dp=this; 563
var hr=false; 564
565
if(dp) 566
{ 567
lYear=parseInt(lYear,10); 568
lMonth=parseInt(lMonth,10); 569
lDay=parseInt(lDay,10); 570
571
if(!(isNaN(lYear) || isNaN(lMonth) || isNaN(lDay))) 572
{ 573
lMonth--; 574
var dt=new Date(lYear,lMonth,lDay); 575
var dMin=new Date(dp.minYear,dp.minMonth,dp.minDay); 576
var cdMax=new Date(cl_dpMaxYear,cl_dpMaxMonth,cl_dpMaxDay); 577
578
if(dt.compare(cdMax)<=0 && dt.compare(dMin)>=0) 579
{ 580
dp.maxYear=dt.getFullYear(); 581
dp.maxMonth=dt.getMonth(); 582
dp.maxDay=dt.getDate(); 583
hr=true; 584
} 585
} 586
} 587
return hr; 588
} 589
590
function dp_setMinDate(lYear,lMonth,lDay) 591
{ 592
var dp=this; 593
var hr=false; 594
595
if(dp) 596
{ 597
lYear=parseInt(lYear,10); 598
lMonth=parseInt(lMonth,10); 599
lDay=parseInt(lDay,10); 600
601
if(!(isNaN(lYear) || isNaN(lMonth) || isNaN(lDay))) 602
{ 603
lMonth--; 604
var dt=new Date(lYear,lMonth,lDay); 605
var dMax=new Date(dp.maxYear,dp.maxMonth,dp.maxDay); 606
var cdMin=new Date(cl_dpMinYear,cl_dpMinMonth,cl_dpMinDay); 607
608
if(dt.compare(dMax)<=0 && dt.compare(cdMin)>=0) 609
{ 610
dp.minYear=dt.getFullYear(); 611
dp.minMonth=dt.getMonth(); 612
dp.minDay=dt.getDate(); 613
hr=true; 614
} 615
} 616
} 617
return hr; 618
} 619
620
function dp_setCurDate(lYear,lMonth,lDay) 621
{ 622
var dp=this; 623
var hr=false; 624
625
lYear=parseInt(lYear,10); 626
lMonth=parseInt(lMonth,10); 627
lDay=parseInt(lDay,10); 628
629
if(!(isNaN(lYear) || isNaN(lMonth) || isNaN(lDay))) 630
{ 631
var dt=new Date(lYear,lMonth-1,lDay); 632
var dMax=new Date(dp.maxYear,dp.maxMonth,dp.maxDay); 633
var dMin=new Date(dp.minYear,dp.minMonth,dp.minDay); 634
if(dt.compare(dMax)<=0 && dt.compare(dMin)>=0) 635
{ 636
dp.curDate=dt; 637
dp.onDateChange(); 638
hr=true; 639
} 640
} 641
642
if(!hr) 643
dp.refreshView(); 644
return hr; 645
} 646
647
function dp_DropClick() 648
{ 649
var src=event.srcElement; 650
var dp=getParentFromSrc(src,"SPAN"); 651
if(dp && dp.className=="DPFrame" && dp.dpEnabled) 652
{ 653
dp.showDropDown(); 654
} 655
} 656
657
function dp_focus(srcType) 658
{ 659
var src=event.srcElement; 660
if(src && src.tagName=="INPUT") 661
{ 662
switch(srcType) 663
{ 664
case 'year': 665
break; 666
case 'month': 667
break; 668
case 'day': 669
break; 670
default:; 671
} 672
src.select(); 673
} 674
return true; 675
} 676
677
function dp_blur(srcType) 678
{ 679
var src=event.srcElement; 680
var dp=getParentFromSrc(src,"SPAN") 681
if(src && src.tagName=="INPUT" && dp && dp.className=="DPFrame") 682
{ 683
var lYear=dp.curDate.getFullYear(); 684
var lMonth=dp.curDate.getMonth()+1; 685
var lDay=dp.curDate.getDate(); 686
687
var val=parseInt(src.value,10); 688
if(isNaN(val)) 689
val=-1; 690
switch(srcType) 691
{ 692
case 'year': 693
lYear=val==-1?lYear:val; 694
break; 695
case 'month': 696
lMonth=val==-1?lMonth:val; 697
break; 698
case 'day': 699
lDay=val==-1?lDay:val; 700
break; 701
default:; 702
} 703
dp.setCurDate(lYear,lMonth,lDay); 704
if(val==-1) 705
dp.refreshView(); 706
} 707
return true; 708
} 709
710
function dp_keyDown(srcType) 711
{ 712
var src=event.srcElement; 713
var dp=getParentFromSrc(src,"SPAN") 714
var bRefresh=true; 715
716
if(dp && dp.className=="DPFrame") 717
{ 718
var lYear=dp.curDate.getFullYear(); 719
var lMonth=dp.curDate.getMonth(); 720
var lDay=dp.curDate.getDate(); 721
var lStep=0; 722
723
switch(event.keyCode) 724
{ 725
case 38: 726
lStep=1; 727
break; 728
case 40: 729
lStep=-1; 730
break; 731
case 13: 732
event.keyCode=9; 733
break; 734
default: 735
bRefresh=false; 736
} 737
738
switch(srcType) 739
{ 740
case 'year': 741
lYear+=lStep; 742
break; 743
case 'month': 744
lMonth+=lStep; 745
break; 746
case 'day': 747
lDay+=lStep; 748
break; 749
default:; 750
} 751
if(bRefresh) 752
dp.setCurDate(lYear,lMonth+1,lDay); 753
} 754
return true; 755
} 756
757
function dp_monthChange(lStep) 758
{ 759
var src=event.srcElement; 760
if(src) 761
{ 762
var ddt=getDropDownTable(); 763
if(ddt && ddt.dp) 764
{ 765
var dt=ddt.dp.curDate.clone(); 766
var lOldMonth=dt.getMonth(); 767
var lOldDay=dt.getDate(); 768
769
dt.setDate(1); 770
dt.setMonth(lOldMonth+lStep+1); 771
dt.setDate(0); 772
if(dt.getDate()>lOldDay) 773
dt.setDate(lOldDay); 774
if(ddt.dp.setCurDate(dt.getFullYear(),dt.getMonth()+1,dt.getDate())) 775
ddt.dp.initDropDown(); 776
} 777
} 778
} 779
780
function dp_ddt_click() 781
{ 782
var src=event.srcElement; 783
if(src && src.tagName=="TD") 784
{ 785
var ddt=getDropDownTable(); 786
if(ddt && ddt.dp) 787
{ 788
var lOldMonth=ddt.dp.curDate.getMonth(); 789
if(ddt.dp.setCurDate(src.year,parseInt(src.month,10)+1,parseInt(src.innerText,10))) 790
{ 791
if(src.month!=lOldMonth) 792
ddt.dp.initDropDown(); 793
else 794
dp_onCell(src); 795
} 796
} 797
} 798
} 799
800
function dp_onCell(src) 801
{ 802
var row=src.parentElement; 803
if(row && row.tagName=="TR" && row.rowIndex>1) 804
{ 805
var ddt=getDropDownTable(); 806
if(ddt) 807
{ 808
if(ddt.curCell) 809
ddt.curCell.className=ddt.curCellOldClass; 810
ddt.curCellOldClass=src.className; 811
src.className="DPCellSelect"; 812
ddt.curCell=src; 813
} 814
} 815
} 816
817
function dp_ddt_dblclick() 818
{ 819
var src=event.srcElement; 820
if(src && src.tagName=="TD") 821
{ 822
var ddt=getDropDownTable(); 823
if(ddt && ddt.dp) 824
{ 825
var lOldMonth=ddt.dp.curDate.getMonth(); 826
if(ddt.dp.setCurDate(src.year,parseInt(src.month,10)+1,parseInt(src.innerText,10))) 827
{ 828
ddt.dp.hideDropDown(); 829
} 830
} 831
} 832
} 833
834
function dp_sub_docClick() 835
{ 836
var src=event.srcElement; 837
var ddt=getParentFromSrc(src,"TABLE"); 838
if(!ddt || ddt.id!="dpDropDownTable") 839
{ 840
dp_hideDropDown(); 841
} 842
event.cancelBubble=true; 843
event.returnValue=false; 844
845
return false; 846
} 847
848
function dp_sub_dockeydown() 849
{ 850
dp_hideDropDown(); 851
return true; 852
} 853
854
function KeyFilter(type) 855
{ 856
var berr=false; 857
858
switch(type) 859
{ 860
case 'date': 861
if (!(event.keyCode == 45 || event.keyCode == 47 || (event.keyCode>=48 && event.keyCode<=57))) 862
berr=true; 863
break; 864
case 'number': 865
if (!(event.keyCode>=48 && event.keyCode<=57)) 866
berr=true; 867
break; 868
case 'cy': 869
if (!(event.keyCode == 46 || (event.keyCode>=48 && event.keyCode<=57))) 870
berr=true; 871
break; 872
case 'long': 873
if (!(event.keyCode == 45 || (event.keyCode>=48 && event.keyCode<=57))) 874
berr=true; 875
break; 876
case 'double': 877
if (!(event.keyCode == 45 || event.keyCode == 46 || (event.keyCode>=48 && event.keyCode<=57))) 878
berr=true; 879
break; 880
default: 881
if (event.keyCode == 35 || event.keyCode == 37 || event.keyCode==38) 882
berr=true; 883
} 884
return !berr; 885
} 886
887
function getParentFromSrc(src,parTag) 888
{ 889
if(src && src.tagName!=parTag) 890
src=getParentFromSrc(src.parentElement,parTag); 891
return src; 892
} 893
894
function switchToOption(sel,newOption,byWhat) 895
{ 896
newOption=newOption.toString(); 897
if(newOption && sel && sel.tagName=="SELECT") 898
{ 899
newOption=trim(newOption); 900
var opts=sel.options; 901
for(var i=0;i<opts.length;i++) 902
{ 903
if(trim(opts[i][byWhat].toString())==newOption) 904
{ 905
sel.selectedIndex=i; 906
break; 907
} 908
} 909
} 910
} 911
912
// Is a element visible? 913
function isElementVisible(src) 914
{ 915
if(src) 916
{ 917
var x=getOffsetLeft(src)+2-document.body.scrollLeft; 918
var y=getOffsetTop(src)+2-document.body.scrollTop; 919
if(ptIsInRect(x,y,0,0,document.body.offsetWidth,document.body.offsetHeight)) 920
{ 921
var e=document.elementFromPoint(x,y); 922
return src==e; 923
} 924
} 925
926
return false; 927
} 928
929
function ptIsInRect(x,y,left,top,right,bottom) 930
{ 931
return (x>=left && x<right) && (y>=top && y<bottom); 932
} 933
934
function getOffsetLeft(src){ 935
var set=0; 936
if(src) 937
{ 938
if (src.offsetParent) 939
set+=src.offsetLeft+getOffsetLeft(src.offsetParent); 940
941
if(src.tagName!="BODY") 942
{ 943
var x=parseInt(src.scrollLeft,10); 944
if(!isNaN(x)) 945
set-=x; 946
} 947
} 948
return set; 949
} 950
function getOffsetTop(src){ 951
var set=0; 952
if(src) 953
{ 954
if (src.offsetParent) 955
set+=src.offsetTop+getOffsetTop(src.offsetParent); 956
957
if(src.tagName!="BODY") 958
{ 959
var y=parseInt(src.scrollTop,10); 960
if(!isNaN(y)) 961
set-=y; 962
} 963
} 964
return set; 965
} 966
967
function isAnyLevelParent(src,par) 968
{ 969
var hr=false; 970
if(src==par) 971
hr=true; 972
else if(src!=null) 973
hr=isAnyLevelParent(src.parentElement,par); 974
975
return hr; 976
} 977
978
function isIE(version) 979
{ 980
var i0=navigator.appVersion.indexOf("MSIE") 981
var i1=-1; 982
var ver=0; 983
if(i0>=0) 984
{ 985
i1=navigator.appVersion.indexOf(" ",i0+1); 986
if(i1>=0) 987
{ 988
i0=i1; 989
i1=navigator.appVersion.indexOf(";",i0+1); 990
if(i1>=0) 991
{ 992
ver=parseFloat(navigator.appVersion.substring(i0+1,i1)); 993
if(isNaN(ver)) 994
ver=0; 995
} 996
} 997
} 998
999
return (navigator.userAgent.indexOf("MSIE")!= -1 1000
&& navigator.userAgent.indexOf("Windows")!=-1 1001
&& ((ver<(version+1) && ver>=version) || version==0)); 1002
} 1003
1004
function getValidDate(str) 1005
{ 1006
var sDate=str.replace(/\//g,"-"); 1007
var vArr=sDate.split("-"); 1008
var sRet=""; 1009
1010
if(vArr.length>=3) 1011
{ 1012
var year=parseInt(vArr[0],10); 1013
var month=parseInt(vArr[1],10); 1014
var day=parseInt(vArr[2],10); 1015
if(!(isNaN(year) || isNaN(month) || isNaN(day))) 1016
if(year>=1900 && year<9999 && month>=1 && month<=12) 1017
{ 1018
var dt=new Date(year,month-1,day); 1019
year=dt.getFullYear(); 1020
month=dt.getMonth()+1; 1021
day=dt.getDate(); 1022
sRet=year+"-"+(month<10?"0":"")+month+"-"+(day<10?"0":"")+day; 1023
} 1024
} 1025
1026
return sRet; 1027
} 1028
1029
function getSafeValue(val,def) 1030
{ 1031
if(typeof(val)=='undefined' || val==null) 1032
return def; 1033
else 1034
return val; 1035
} 1036
1037
function initDateObject() 1038
{ 1039
Date.prototype.compare=date_compare; 1040
Date.prototype.clone=date_clone; 1041
Date.prototype.format=date_format; 1042
} 1043
1044
function date_format(sFormat) 1045
{ 1046
var dt=this; 1047
if(sFormat==null || typeof(sFormat)!="string") 1048
sFormat=""; 1049
sFormat=sFormat.replace(/yyyy/ig,dt.getFullYear()); 1050
var y=""+dt.getYear(); 1051
if(y.length>2) 1052
{ 1053
y=y.substring(y.length-2,y.length); 1054
} 1055
sFormat=sFormat.replace(/yy/ig,y); 1056
sFormat=sFormat.replace(/mm/ig,dt.getMonth()+1); 1057
sFormat=sFormat.replace(/dd/ig,dt.getDate()); 1058
return sFormat; 1059
} 1060
1061
function date_clone() 1062
{ 1063
return new Date(this.getFullYear(),this.getMonth(),this.getDate()); 1064
} 1065
1066
function date_compare(dtCompare) 1067
{ 1068
var dt=this; 1069
var hr=0; 1070
1071
if(dt && dtCompare) 1072
{ 1073
if(dt.getFullYear()>dtCompare.getFullYear()) 1074
hr=1; 1075
else if(dt.getFullYear()<dtCompare.getFullYear()) 1076
hr=-1; 1077
else if(dt.getMonth()>dtCompare.getMonth()) 1078
hr=1; 1079
else if(dt.getMonth()<dtCompare.getMonth()) 1080
hr=-1; 1081
else if(dt.getDate()>dtCompare.getDate()) 1082
hr=1; 1083
else if(dt.getDate()<dtCompare.getDate()) 1084
hr=-1; 1085
} 1086
return hr; 1087
} 1088
1089
function date_getDateFromVT_DATE(dt) 1090
{ 1091
dt=dt.replace(/-/g,"/"); 1092
dt=Date.parse(dt); 1093
if(isNaN(dt)) 1094
dt=null; 1095
else 1096
dt=new Date(dt); 1097
return dt; 1098
} 1099
1100
//Call the initialize function 1101
initDateObject(); 1102
//-->






}
}