Changeset 5693
- Timestamp:
- 03/06/08 19:38:04 (9 months ago)
- Files:
-
- spinelz/trunk/compress/javascripts/spinelz/spinelz_for_rubricks.js (modified) (1 diff)
- spinelz/trunk/compress/javascripts/spinelz/window.js (modified) (1 diff)
- spinelz/trunk/compress/javascripts/spinelz_lib/spinelz_util.js (modified) (15 diffs)
- spinelz/trunk/compress/javascripts/spinelz_lib/spinelz_util_for_rubricks.js (modified) (15 diffs)
- spinelz/trunk/src/javascripts/spinelz/window.js (modified) (1 diff)
- spinelz/trunk/src/javascripts/spinelz_lib/spinelz_util.js (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
spinelz/trunk/compress/javascripts/spinelz/spinelz_for_rubricks.js
r5692 r5693 5475 5475 } 5476 5476 if(this.options.modal){ 5477 Modal.unmask( UserAgent.isMac());5477 Modal.unmask(); 5478 5478 } 5479 5479 this.options.endClose(this); spinelz/trunk/compress/javascripts/spinelz/window.js
r5692 r5693 224 224 } 225 225 if(this.options.modal){ 226 Modal.unmask( UserAgent.isMac());226 Modal.unmask(); 227 227 } 228 228 this.options.endClose(this); spinelz/trunk/compress/javascripts/spinelz_lib/spinelz_util.js
r5692 r5693 472 472 return _a1; 473 473 }}; 474 var Modal={maskId:"modalMask",maskClass:"modal_mask",maskClassIE:"modal_mask_ie",element:null,snaps:null,listener:null,resizeListener:null,cover:null,excepteds:null,maskCallbacks:[],unmaskCallbacks:[],count:0,tabKey:9, mask:function(_a2,_a3,_a4){474 var Modal={maskId:"modalMask",maskClass:"modal_mask",maskClassIE:"modal_mask_ie",element:null,snaps:null,listener:null,resizeListener:null,cover:null,excepteds:null,maskCallbacks:[],unmaskCallbacks:[],count:0,tabKey:9,timer:null,mask:function(_a2,_a3,_a4){ 475 475 this._mask.callAfterLoading(this,_a2,_a3,_a4); 476 476 this._control_tab_key(); 477 },unmask:function( _a5){478 this._unmask( _a5);477 },unmask:function(){ 478 this._unmask(); 479 479 this._control_tab_key(); 480 480 },unmaskAll:function(){ 481 481 var max=10; 482 var _a 7=0;483 while(this._isMasked()&&(_a 7<max)){482 var _a6=0; 483 while(this._isMasked()&&(_a6<max)){ 484 484 this._unmask(); 485 _a 7++;485 _a6++; 486 486 } 487 487 this._control_tab_key(); 488 },addMaskCallback:function(_a 8){488 },addMaskCallback:function(_a7){ 489 489 if(!this.maskCallbacks.any(function(c){ 490 return c==_a 8;490 return c==_a7; 491 491 })){ 492 this.maskCallbacks.push(_a 8);493 } 494 },removeMaskCallback:function(_a a){492 this.maskCallbacks.push(_a7); 493 } 494 },removeMaskCallback:function(_a9){ 495 495 this.maskCallbacks=this.maskCallbacks.reject(function(c){ 496 return c==_a a;496 return c==_a9; 497 497 }); 498 498 },clearMaskCallback:function(){ 499 499 this.maskCallbacks=[]; 500 },addUnmaskCallback:function(_a c){500 },addUnmaskCallback:function(_ab){ 501 501 if(!this.unmaskCallbacks.any(function(c){ 502 return c==_a c;502 return c==_ab; 503 503 })){ 504 this.unmaskCallbacks.push(_a c);505 } 506 },removeUnmaskCallback:function(_a e){504 this.unmaskCallbacks.push(_ab); 505 } 506 },removeUnmaskCallback:function(_ad){ 507 507 this.unmaskCallbacks=this.unmaskCallbacks.reject(function(c){ 508 return c==_a e;508 return c==_ad; 509 509 }); 510 510 },clearUnmaskCallback:function(){ 511 511 this.unmaskCallbacks=[]; 512 },_mask:function(_ b0){513 var _b 1=Object.extend({cssPrefix:"custom_",zIndex:null},arguments[1]||{});514 var _b 2=arguments[2];512 },_mask:function(_af){ 513 var _b0=Object.extend({cssPrefix:"custom_",zIndex:null},arguments[1]||{}); 514 var _b1=arguments[2]; 515 515 if(Modal.element){ 516 Modal._snap(_ b0);516 Modal._snap(_af); 517 517 Modal._rebuildMask(); 518 518 }else{ 519 519 Modal.snaps=[]; 520 520 Modal.excepteds=[]; 521 Modal._buildMask(_b 1.cssPrefix);521 Modal._buildMask(_b0.cssPrefix); 522 522 Modal.cover=new IECover(Modal.element,{transparent:true}); 523 523 } 524 if(_b2){ 525 document.body.style.overflow="hidden"; 524 if(_b1){ 526 525 Element.setStyle(Modal.element,{position:"absolute"}); 527 } 528 Modal._setZindex(_b0,_b1.zIndex); 526 this._setModalPosition(); 527 if(!Modal.timer){ 528 Modal.timer=setInterval(this._setModalPosition.bind(this),100); 529 } 530 } 531 Modal._setZindex(_af,_b0.zIndex); 529 532 Modal._setFullSize(); 530 if(!Modal.hasExcepted(_ b0)){531 Modal.excepteds.push(_ b0);533 if(!Modal.hasExcepted(_af)){ 534 Modal.excepteds.push(_af); 532 535 } 533 536 this.count++; 534 this.maskCallbacks.each(function(_b 3){535 _b 3(_b0);536 }); 537 },_unmask:function( _b4){537 this.maskCallbacks.each(function(_b2){ 538 _b2(_af); 539 }); 540 },_unmask:function(){ 538 541 if(Modal.element){ 539 542 if(Modal.snaps.length==0){ … … 543 546 Element.remove(Modal.element); 544 547 Modal.element=null; 545 if(_b4){546 document.body.style.overflow="visible";547 }548 548 }else{ 549 549 Element.setStyle(Modal.element,{zIndex:Modal.snaps.pop()}); … … 552 552 } 553 553 this.count++; 554 this.unmaskCallbacks.each(function(_b5){ 555 _b5(); 556 }); 554 this.unmaskCallbacks.each(function(_b3){ 555 _b3(); 556 }); 557 },_setModalPosition:function(){ 558 try{ 559 if(Modal.element){ 560 Element.setStyle(Modal.element,{top:(document.documentElement.scrollTop||document.body.scrollTop)+"px",left:(document.documentElement.scrollLeft||document.body.scrollLeft)+"px"}); 561 }else{ 562 Modal._clearTimer(); 563 } 564 } 565 catch(e){ 566 Modal._clearTimer(); 567 } 568 },_clearTimer:function(){ 569 if(Modal.timer){ 570 clearInterval(Modal.timer); 571 Modal.timer=null; 572 } 557 573 },_addEvent:function(){ 558 574 if(!Modal.listener){ … … 567 583 },_isMasked:function(){ 568 584 return Modal.element&&Element.visible(Modal.element); 569 },_snap:function(_b 6){570 var _b 7=Element.getStyle(Modal.element,"zIndex");571 if(_b 7&&Modal._isMasked()&&!Modal.hasExcepted(_b6)){572 Modal.snaps.push(_b 7);573 } 574 },_setZindex:function(_b 8,_b9){575 _b 9=ZindexManager.getIndex(_b9);576 Element.setStyle(Modal.element,{zIndex:_b 9});577 _b 8=Element.makePositioned($(_b8));578 Element.setStyle(_b 8,{zIndex:++_b9});585 },_snap:function(_b4){ 586 var _b5=Element.getStyle(Modal.element,"zIndex"); 587 if(_b5&&Modal._isMasked()&&!Modal.hasExcepted(_b4)){ 588 Modal.snaps.push(_b5); 589 } 590 },_setZindex:function(_b6,_b7){ 591 _b7=ZindexManager.getIndex(_b7); 592 Element.setStyle(Modal.element,{zIndex:_b7}); 593 _b6=Element.makePositioned($(_b6)); 594 Element.setStyle(_b6,{zIndex:++_b7}); 579 595 },_setFullSize:function(){ 580 596 Modal.element.setStyle({width:Element.getWindowWidth()+"px",height:Element.getWindowHeight()+"px"}); … … 582 598 Modal.cover.resetSize(); 583 599 } 584 },_buildMask:function(_b a){585 var _b b=Builder.node("div",{id:Modal.maskId});586 Modal._setClassNames(_b b,_ba);587 document.body.appendChild(_b b);588 Modal.element=_b b;600 },_buildMask:function(_b8){ 601 var _b9=Builder.node("div",{id:Modal.maskId}); 602 Modal._setClassNames(_b9,_b8); 603 document.body.appendChild(_b9); 604 Modal.element=_b9; 589 605 Modal._addEvent(); 590 },_setClassNames:function(_b c,_bd){591 var _b e=(UserAgent.isIE())?Modal.maskClassIE:Modal.maskClass;592 Element.addClassName(_b c,_be);593 Element.addClassName(_b c,_bd+_be);606 },_setClassNames:function(_ba,_bb){ 607 var _bc=(UserAgent.isIE())?Modal.maskClassIE:Modal.maskClass; 608 Element.addClassName(_ba,_bc); 609 Element.addClassName(_ba,_bb+_bc); 594 610 },_rebuildMask:function(){ 595 611 document.body.appendChild(Modal.element); … … 602 618 return src.spinelzMaskResult; 603 619 } 604 var _ c0=false;605 var _ c1=this.excepteds.last();606 var _c 2=src;607 if(_ c1&&Element.descendantOf(src,_c1)){608 _ c0=true;609 }else{ 610 var _c 3=Element.getStyle(Modal.element,"zIndex");611 var _c 4=null;620 var _be=false; 621 var _bf=this.excepteds.last(); 622 var _c0=src; 623 if(_bf&&Element.descendantOf(src,_bf)){ 624 _be=true; 625 }else{ 626 var _c1=Element.getStyle(Modal.element,"zIndex"); 627 var _c2=null; 612 628 while((src=src.parentNode)&&src!=document.body){ 613 if(src.style&&(_c 4=Element.getStyle(src,"zIndex"))){614 _ c0=(_c4>_c3);629 if(src.style&&(_c2=Element.getStyle(src,"zIndex"))){ 630 _be=(_c2>_c1); 615 631 break; 616 632 } 617 633 } 618 634 } 619 _c 2.spinelzMaskCount=this.count;620 _c 2.spinelzMaskResult=_c0;621 return _ c0;622 },_handleEvent:function(_c 5){623 var src=Event.element(_c 5);624 if(!(Modal._isOutOfModal(src)||(_c 5.keyCode&&(_c5.keyCode==this.tabKey)))){625 Event.stop(_c 5);626 } 627 },_onResize:function(_c 7){635 _c0.spinelzMaskCount=this.count; 636 _c0.spinelzMaskResult=_be; 637 return _be; 638 },_handleEvent:function(_c3){ 639 var src=Event.element(_c3); 640 if(!(Modal._isOutOfModal(src)||(_c3.keyCode&&(_c3.keyCode==this.tabKey)))){ 641 Event.stop(_c3); 642 } 643 },_onResize:function(_c5){ 628 644 Modal._setFullSize(); 629 },hasExcepted:function(_c 8){630 return (Modal.excepteds||[]).any(function(_c 9){631 return _c 9.id==_c8.id;632 }); 633 },_control_tab_key:function(_c a){634 if(!_c a){635 _c a=$A(document.body.getElementsByTagName("form"));636 } 637 _c a.each(function(_cb){638 if(!Modal._isOutOfModal(_c b)){639 Form.getElements(_c b).each(function(el){645 },hasExcepted:function(_c6){ 646 return (Modal.excepteds||[]).any(function(_c7){ 647 return _c7.id==_c6.id; 648 }); 649 },_control_tab_key:function(_c8){ 650 if(!_c8){ 651 _c8=$A(document.body.getElementsByTagName("form")); 652 } 653 _c8.each(function(_c9){ 654 if(!Modal._isOutOfModal(_c9)){ 655 Form.getElements(_c9).each(function(el){ 640 656 el.tabIndex=-1; 641 657 }); 642 658 }else{ 643 Form.getElements(_c b).each(function(el){659 Form.getElements(_c9).each(function(el){ 644 660 el.tabIndex=null; 645 661 }); … … 649 665 var IECover=Class.create(); 650 666 IECover.src="javascript:false;"; 651 IECover.prototype={idSuffix:"iecover",initialize:function(_c e){667 IECover.prototype={idSuffix:"iecover",initialize:function(_cc){ 652 668 this.options=Object.extend({transparent:false,padding:0},arguments[1]||{}); 653 669 if(document.all){ 654 _c e=$(_ce);655 this.id=_c e.id.appendSuffix(this.idSuffix);656 this._build(_c e);670 _cc=$(_cc); 671 this.id=_cc.id.appendSuffix(this.idSuffix); 672 this._build(_cc); 657 673 this.resetSize(); 658 674 } 659 675 },resetSize:function(){ 660 676 if(this.element){ 661 var _c f=this.element.parentNode;662 var _ d0=this.options.padding;663 this.element.width=_c f.offsetWidth-_d0+"px";664 this.element.height=Element.getHeight(_c f)-_d0+"px";665 } 666 },_build:function(_ d1){667 var _d 2=this.options.padding/2;668 var _d 3={position:"absolute",top:_d2+"px",left:_d2+"px"};677 var _cd=this.element.parentNode; 678 var _ce=this.options.padding; 679 this.element.width=_cd.offsetWidth-_ce+"px"; 680 this.element.height=Element.getHeight(_cd)-_ce+"px"; 681 } 682 },_build:function(_cf){ 683 var _d0=this.options.padding/2; 684 var _d1={position:"absolute",top:_d0+"px",left:_d0+"px"}; 669 685 if(this.options.transparent){ 670 _d 3.filter="alpha(opacity=0)";671 } 672 if(_ d1.buildedIECover&&$(this.id)){686 _d1.filter="alpha(opacity=0)"; 687 } 688 if(_cf.buildedIECover&&$(this.id)){ 673 689 this.element=$(this.id); 674 690 }else{ 675 691 this.element=Builder.node("iframe",{src:IECover.src,id:this.id,frameborder:0}); 676 692 } 677 Element.setStyle(this.element,_d 3);678 var _d 4=Element.down(_d1,0);679 if(_d 4){680 Element.makePositioned(_d 4);681 } 682 _ d1.insertBefore(this.element,_d1.firstChild);683 _ d1.buildedIECover=true;693 Element.setStyle(this.element,_d1); 694 var _d2=Element.down(_cf,0); 695 if(_d2){ 696 Element.makePositioned(_d2); 697 } 698 _cf.insertBefore(this.element,_cf.firstChild); 699 _cf.buildedIECover=true; 684 700 }}; 685 701 var UserAgent={getUserAgent:function(){ … … 696 712 var ShortcutManager=Class.create(); 697 713 ShortcutManager.prototype={initialize:function(){ 698 var _d 5={detectKeyup:false,initialStarted:true,preventDefault:true};699 this.options=Object.extend(_d 5,arguments[0]||{});714 var _d3={detectKeyup:false,initialStarted:true,preventDefault:true}; 715 this.options=Object.extend(_d3,arguments[0]||{}); 700 716 this.keydownListener=this.eventKeydown.bindAsEventListener(this); 701 717 if(this.options.detectKeyup){ … … 723 739 Event.observe(document,"keyup",this.keyupListener); 724 740 } 725 },add:function(c1,c2,_d 8){741 },add:function(c1,c2,_d6){ 726 742 if(c1.constructor==Array){ 727 var _d 9=this;728 c1.each(function(_d a){729 _d 9._add_or_remove_function(_da[0],_da[1],_d8);730 }); 731 }else{ 732 this._add_or_remove_function(c1,c2,_d 8);743 var _d7=this; 744 c1.each(function(_d8){ 745 _d7._add_or_remove_function(_d8[0],_d8[1],_d6); 746 }); 747 }else{ 748 this._add_or_remove_function(c1,c2,_d6); 733 749 } 734 750 },destroy:function(){ … … 737 753 Event.stopObserving(document,"keyup",this.keyupListener); 738 754 } 739 },eventKeydown:function(_d b){755 },eventKeydown:function(_d9){ 740 756 if(this.executable){ 741 var _d c;757 var _da; 742 758 var key=""; 743 _d b=_db||window.event;744 if(_d b.keyCode){745 if(_d b.altKey){759 _d9=_d9||window.event; 760 if(_d9.keyCode){ 761 if(_d9.altKey){ 746 762 key+="a"; 747 763 } 748 if(_d b.ctrlKey){764 if(_d9.ctrlKey){ 749 765 key+="c"; 750 766 } 751 if(_d b.shiftKey){767 if(_d9.shiftKey){ 752 768 key+="s"; 753 769 } … … 755 771 key="n"; 756 772 } 757 _d c=this._mergeNumKey(_db.keyCode);758 if(this.keydownFunc[key][_d c]){759 this.keydownFunc[key][_d c]();773 _da=this._mergeNumKey(_d9.keyCode); 774 if(this.keydownFunc[key][_da]){ 775 this.keydownFunc[key][_da](); 760 776 if(this.options.preventDefault){ 761 Event.stop(_d b);762 } 763 } 764 } 765 } 766 },eventKeyup:function(_d e){777 Event.stop(_d9); 778 } 779 } 780 } 781 } 782 },eventKeyup:function(_dc){ 767 783 if(this.executable){ 768 var _d f;769 _d e=_de||window.event;770 if(_d e.keyCode){771 _d f=this._mergeNumKey(_de.keyCode);772 if(this.keyupFunc[_d f]){773 this.keyupFunc[_d f]();784 var _dd; 785 _dc=_dc||window.event; 786 if(_dc.keyCode){ 787 _dd=this._mergeNumKey(_dc.keyCode); 788 if(this.keyupFunc[_dd]){ 789 this.keyupFunc[_dd](); 774 790 if(this.options.preventDefault){ 775 Event.stop(_d e);776 } 777 } 778 } 779 } 780 },remove:function(_ e0){781 this._add_or_remove_function(_ e0);791 Event.stop(_dc); 792 } 793 } 794 } 795 } 796 },remove:function(_de){ 797 this._add_or_remove_function(_de); 782 798 },start:function(){ 783 799 this.executable=true; 784 800 },stop:function(){ 785 801 this.executable=false; 786 },_add_or_remove_function:function(_ e1,_e2,_e3){787 var _e 4;788 var _e 5=new Array();789 var _e 6=this;790 $A(_ e1.toLowerCase().split("+")).each(function(key){802 },_add_or_remove_function:function(_df,_e0,_e1){ 803 var _e2; 804 var _e3=new Array(); 805 var _e4=this; 806 $A(_df.toLowerCase().split("+")).each(function(key){ 791 807 if(key=="alt"){ 792 _e 5.push("a");808 _e3.push("a"); 793 809 }else{ 794 810 if(key=="ctrl"){ 795 _e 5.push("c");811 _e3.push("c"); 796 812 }else{ 797 813 if(key=="shift"){ 798 _e 5.push("s");799 }else{ 800 _e 4=_e6.keyCode[key];801 } 802 } 803 } 804 }); 805 var key=_e 5.sortBy(function(_e9,_ea){806 return _e 9;814 _e3.push("s"); 815 }else{ 816 _e2=_e4.keyCode[key]; 817 } 818 } 819 } 820 }); 821 var key=_e3.sortBy(function(_e7,_e8){ 822 return _e7; 807 823 }).join(""); 808 824 if(key==""){ 809 825 key="n"; 810 826 } 811 if(_e 2){812 if(_e 3){813 this.keyupFunc[_e 4]=_e2;814 }else{ 815 this.keydownFunc[key][_e 4]=_e2;816 } 817 }else{ 818 if(_e 3){819 this.keyupFunc[_e 4]=null;820 }else{ 821 this.keydownFunc[key][_e 4]=null;822 } 823 } 824 },_mergeNumKey:function(_e b){825 return (this.numKeys[_e b])?this.numKeys[_eb]:_eb;827 if(_e0){ 828 if(_e1){ 829 this.keyupFunc[_e2]=_e0; 830 }else{ 831 this.keydownFunc[key][_e2]=_e0; 832 } 833 }else{ 834 if(_e1){ 835 this.keyupFunc[_e2]=null; 836 }else{ 837 this.keydownFunc[key][_e2]=null; 838 } 839 } 840 },_mergeNumKey:function(_e9){ 841 return (this.numKeys[_e9])?this.numKeys[_e9]:_e9; 826 842 }}; 827 843 Function.prototype.callAfterLoading=function(){ 828 var _e c=$A(arguments);829 var _e d=this;830 var _e e=_ec.shift()||this;844 var _ea=$A(arguments); 845 var _eb=this; 846 var _ec=_ea.shift()||this; 831 847 if(UserAgent.isIE()&&(document.readyState!="complete")){ 832 848 Event.observe(window,"load",function(){ 833 _e d.apply(_ee,_ec);834 }); 835 }else{ 836 this.apply(_e e,_ec);849 _eb.apply(_ec,_ea); 850 }); 851 }else{ 852 this.apply(_ec,_ea); 837 853 } 838 854 }; … … 849 865 document.body.focus(); 850 866 } 851 },concat:function(_e f,_f0){852 var _ f1={};853 _ f0.each(function(_f2){854 _ f1[_f2]=_ef.appendSuffix(_f2);855 }); 856 return _ f1;857 },getId:function(_f 3){858 _f 3=_f3||"";859 return _f 3.appendSuffix(++SpinelzUtil.idCount);860 },toAttriteString:function(_f 4,_f5){861 var _f 6=_f4.map(function(_f7){862 return _f 7.key+"='"+_f7.value+"'";867 },concat:function(_ed,_ee){ 868 var _ef={}; 869 _ee.each(function(_f0){ 870 _ef[_f0]=_ed.appendSuffix(_f0); 871 }); 872 return _ef; 873 },getId:function(_f1){ 874 _f1=_f1||""; 875 return _f1.appendSuffix(++SpinelzUtil.idCount); 876 },toAttriteString:function(_f2,_f3){ 877 var _f4=_f2.map(function(_f5){ 878 return _f5.key+"='"+_f5.value+"'"; 863 879 }).join(" "); 864 if(_f 5&&(_f6.length>0)){865 _f 6=" "+_f6;866 } 867 return _f 6;868 },_redrawForIE:function(_f 8){880 if(_f3&&(_f4.length>0)){ 881 _f4=" "+_f4; 882 } 883 return _f4; 884 },_redrawForIE:function(_f6){ 869 885 if(UserAgent.isIE()){ 870 _f 8=$(_f8);871 if(_f 8){886 _f6=$(_f6); 887 if(_f6){ 872 888 setTimeout(function(){ 873 Element.classNames(_f 8).set("dummy");889 Element.classNames(_f6).set("dummy"); 874 890 },200); 875 891 } … … 882 898 }); 883 899 } 884 var $A=Array.from=function(_f 9){885 if(!_f 9){900 var $A=Array.from=function(_f7){ 901 if(!_f7){ 886 902 return []; 887 903 } 888 if(_f 9.toArray){889 return _f 9.toArray();890 }else{ 891 var _f a=[];892 for(var i=0,len=_f 9.length;i<len;i++){893 _f a.push(_f9[i]);894 } 895 return _f a;904 if(_f7.toArray){ 905 return _f7.toArray(); 906 }else{ 907 var _f8=[]; 908 for(var i=0,len=_f7.length;i<len;i++){ 909 _f8.push(_f7[i]); 910 } 911 return _f8; 896 912 } 897 913 }; 898 914 var Color=Class.create(); 899 Color.prototype={initialize:function(_f d){900 this.color=this.parse(_f d);901 },toHex:function(_f e){902 _f e=_fe||this.color;903 return _f e.invoke("toColorPart");915 Color.prototype={initialize:function(_fb){ 916 this.color=this.parse(_fb); 917 },toHex:function(_fc){ 918 _fc=_fc||this.color; 919 return _fc.invoke("toColorPart"); 904 920 },invert:function(){ 905 921 return this.toCssStyle(this.color.map(function(c){ 906 922 return 255-c; 907 923 })); 908 },toCssStyle:function(_ 100){909 _ 100=_100||this.color;910 return "#"+this.toHex(_ 100).join("");911 },parse:function(_ 101){912 _ 101=_101||this.color;913 if(_ 101.match(/rgb\(\d+,\s*\d+,\s*\d+\)/)){914 return _ 101.match(/\d+/g).map(function(c){924 },toCssStyle:function(_fe){ 925 _fe=_fe||this.color; 926 return "#"+this.toHex(_fe).join(""); 927 },parse:function(_ff){ 928 _ff=_ff||this.color; 929 if(_ff.match(/rgb\(\d+,\s*\d+,\s*\d+\)/)){ 930 return _ff.match(/\d+/g).map(function(c){ 915 931 return parseInt(c,10); 916 932 }); 917 933 }else{ 918 if(_ 101.match(/#[a-fA-F0-9]{6}/)){919 return _ 101.match(/([a-fA-F0-9]){2}/g).map(function(c){934 if(_ff.match(/#[a-fA-F0-9]{6}/)){ 935 return _ff.match(/([a-fA-F0-9]){2}/g).map(function(c){ 920 936 return parseInt(c,16); 921 937 }); 922 938 } 923 939 } 924 throw "parse error: "+_ 101;940 throw "parse error: "+_ff; 925 941 }}; 926 942 var DebugConsole={_active:false,_basetime:null,_messages:null,activate:function(){ 927 943 this._active=true; 928 },dump:function(_10 4){929 _10 4=_104||{};930 switch(_10 4.type){944 },dump:function(_102){ 945 _102=_102||{}; 946 switch(_102.type){ 931 947 case "alert": 932 948 this._dump_alert(); … … 939 955 break; 940 956 case "update": 941 this._dump_update(_10 4.target);957 this._dump_update(_102.target); 942 958 break; 943 959 default: … … 958 974 this._messages=[]; 959 975 } 960 },log:function(_10 5){976 },log:function(_103){ 961 977 if(this._active){ 962 var _10 6=("00000000"+(new Date()-this._basetime)).slice(-8);963 this._messages.push(_10 6+" : "+_105);978 var _104=("00000000"+(new Date()-this._basetime)).slice(-8); 979 this._messages.push(_104+" : "+_103); 964 980 } 965 981 },_dump_alert:function(){ 966 this._messages.each(function(_10 7){967 alert(_10 7);982 this._messages.each(function(_105){ 983 alert(_105); 968 984 }); 969 985 },_dump_clipboard:function(){ 970 986 var dump=""; 971 this._messages.each(function(_10 9){972 dump+=_10 9+"\n";987 this._messages.each(function(_107){ 988 dump+=_107+"\n"; 973 989 }); 974 990 clipboardData.setData("Text",dump); 975 991 },_dump_console:function(){ 976 this._messages.each(function(_10 a){977 console.log(_10 a);978 }); 979 },_dump_update:function(_10 b){992 this._messages.each(function(_108){ 993 console.log(_108); 994 }); 995 },_dump_update:function(_109){ 980 996 var html=""; 981 this._messages.each(function(_10 d){982 html+="<p>"+_10 d+"</p>";983 }); 984 Element.update(_10 b,html);997 this._messages.each(function(_10b){ 998 html+="<p>"+_10b+"</p>"; 999 }); 1000 Element.update(_109,html); 985 1001 }}; 986 1002 spinelz/trunk/compress/javascripts/spinelz_lib/spinelz_util_for_rubricks.js
r5692 r5693 5138 5138 return _a1; 5139 5139 }}; 5140 var Modal={maskId:"modalMask",maskClass:"modal_mask",maskClassIE:"modal_mask_ie",element:null,snaps:null,listener:null,resizeListener:null,cover:null,excepteds:null,maskCallbacks:[],unmaskCallbacks:[],count:0,tabKey:9, mask:function(_a2,_a3,_a4){5140 var Modal={maskId:"modalMask",maskClass:"modal_mask",maskClassIE:"modal_mask_ie",element:null,snaps:null,listener:null,resizeListener:null,cover:null,excepteds:null,maskCallbacks:[],unmaskCallbacks:[],count:0,tabKey:9,timer:null,mask:function(_a2,_a3,_a4){ 5141 5141 this._mask.callAfterLoading(this,_a2,_a3,_a4); 5142 5142 this._control_tab_key(); 5143 },unmask:function( _a5){5144 this._unmask( _a5);5143 },unmask:function(){ 5144 this._unmask(); 5145 5145 this._control_tab_key(); 5146 5146 },unmaskAll:function(){ 5147 5147 var max=10; 5148 var _a 7=0;5149 while(this._isMasked()&&(_a 7<max)){5148 var _a6=0; 5149 while(this._isMasked()&&(_a6<max)){ 5150 5150 this._unmask(); 5151 _a 7++;5151 _a6++; 5152 5152 } 5153 5153 this._control_tab_key(); 5154 },addMaskCallback:function(_a 8){5154 },addMaskCallback:function(_a7){ 5155 5155 if(!this.maskCallbacks.any(function(c){ 5156 return c==_a 8;5156 return c==_a7; 5157 5157 })){ 5158 this.maskCallbacks.push(_a 8);5159 } 5160 },removeMaskCallback:function(_a a){5158 this.maskCallbacks.push(_a7); 5159 } 5160 },removeMaskCallback:function(_a9){ 5161 5161 this.maskCallbacks=this.maskCallbacks.reject(function(c){ 5162 return c==_a a;5162 return c==_a9; 5163 5163 }); 5164 5164 },clearMaskCallback:function(){ 5165 5165 this.maskCallbacks=[]; 5166 },addUnmaskCallback:function(_a c){5166 },addUnmaskCallback:function(_ab){ 5167 5167 if(!this.unmaskCallbacks.any(function(c){ 5168 return c==_a c;5168 return c==_ab; 5169 5169 })){ 5170 this.unmaskCallbacks.push(_a c);5171 } 5172 },removeUnmaskCallback:function(_a e){5170 this.unmaskCallbacks.push(_ab); 5171 } 5172 },removeUnmaskCallback:function(_ad){ 5173 5173 this.unmaskCallbacks=this.unmaskCallbacks.reject(function(c){ 5174 return c==_a e;5174 return c==_ad; 5175 5175 }); 5176 5176 },clearUnmaskCallback:function(){ 5177 5177 this.unmaskCallbacks=[]; 5178 },_mask:function(_ b0){5179 var _b 1=Object.extend({cssPrefix:"custom_",zIndex:null},arguments[1]||{});5180 var _b 2=arguments[2];5178 },_mask:function(_af){ 5179 var _b0=Object.extend({cssPrefix:"custom_",zIndex:null},arguments[1]||{}); 5180 var _b1=arguments[2]; 5181 5181 if(Modal.element){ 5182 Modal._snap(_ b0);5182 Modal._snap(_af); 5183 5183 Modal._rebuildMask(); 5184 5184 }else{ 5185 5185 Modal.snaps=[]; 5186 5186 Modal.excepteds=[]; 5187 Modal._buildMask(_b 1.cssPrefix);5187 Modal._buildMask(_b0.cssPrefix); 5188 5188 Modal.cover=new IECover(Modal.element,{transparent:true}); 5189 5189 } 5190 if(_b2){ 5191 document.body.style.overflow="hidden"; 5190 if(_b1){ 5192 5191 Element.setStyle(Modal.element,{position:"absolute"}); 5193 } 5194 Modal._setZindex(_b0,_b1.zIndex); 5192 this._setModalPosition(); 5193 if(!Modal.timer){ 5194 Modal.timer=setInterval(this._setModalPosition.bind(this),100); 5195 } 5196 } 5197 Modal._setZindex(_af,_b0.zIndex); 5195 5198 Modal._setFullSize(); 5196 if(!Modal.hasExcepted(_ b0)){5197 Modal.excepteds.push(_ b0);5199 if(!Modal.hasExcepted(_af)){ 5200 Modal.excepteds.push(_af); 5198 5201 } 5199 5202 this.count++; 5200 this.maskCallbacks.each(function(_b 3){5201 _b 3(_b0);5202 }); 5203 },_unmask:function( _b4){5203 this.maskCallbacks.each(function(_b2){ 5204 _b2(_af); 5205 }); 5206 },_unmask:function(){ 5204 5207 if(Modal.element){ 5205 5208 if(Modal.snaps.length==0){ … … 5209 5212 Element.remove(Modal.element); 5210 5213 Modal.element=null; 5211 if(_b4){5212 document.body.style.overflow="visible";5213 }5214 5214 }else{ 5215 5215 Element.setStyle(Modal.element,{zIndex:Modal.snaps.pop()}); … … 5218 5218 } 5219 5219 this.count++; 5220 this.unmaskCallbacks.each(function(_b5){ 5221 _b5(); 5222 }); 5220 this.unmaskCallbacks.each(function(_b3){ 5221 _b3(); 5222 }); 5223 },_setModalPosition:function(){ 5224 try{ 5225 if(Modal.element){ 5226 Element.setStyle(Modal.element,{top:(document.documentElement.scrollTop||document.body.scrollTop)+"px",left:(document.documentElement.scrollLeft||document.body.scrollLeft)+"px"}); 5227 }else{ 5228 Modal._clearTimer(); 5229 } 5230 } 5231 catch(e){ 5232 Modal._clearTimer(); 5233 } 5234 },_clearTimer:function(){ 5235 if(Modal.timer){ 5236 clearInterval(Modal.timer); 5237 Modal.timer=null; 5238 } 5223 5239 },_addEvent:function(){ 5224 5240 if(!Modal.listener){ … … 5233 5249 },_isMasked:function(){ 5234 5250 return Modal.element&&Element.visible(Modal.element); 5235 },_snap:function(_b 6){5236 var _b 7=Element.getStyle(Modal.element,"zIndex");5237 if(_b 7&&Modal._isMasked()&&!Modal.hasExcepted(_b6)){5238 Modal.snaps.push(_b 7);5239 } 5240 },_setZindex:function(_b 8,_b9){5241 _b 9=ZindexManager.getIndex(_b9);5242 Element.setStyle(Modal.element,{zIndex:_b 9});5243 _b 8=Element.makePositioned($(_b8));5244 Element.setStyle(_b 8,{zIndex:++_b9});5251 },_snap:function(_b4){ 5252 var _b5=Element.getStyle(Modal.element,"zIndex"); 5253 if(_b5&&Modal._isMasked()&&!Modal.hasExcepted(_b4)){ 5254 Modal.snaps.push(_b5); 5255 } 5256 },_setZindex:function(_b6,_b7){ 5257 _b7=ZindexManager.getIndex(_b7); 5258 Element.setStyle(Modal.element,{zIndex:_b7}); 5259 _b6=Element.makePositioned($(_b6)); 5260 Element.setStyle(_b6,{zIndex:++_b7}); 5245 5261 },_setFullSize:function(){ 5246 5262 Modal.element.setStyle({width:Element.getWindowWidth()+"px",height:Element.getWindowHeight()+"px"}); … … 5248 5264 Modal.cover.resetSize(); 5249 5265 } 5250 },_buildMask:function(_b a){5251 var _b b=Builder.node("div",{id:Modal.maskId});5252 Modal._setClassNames(_b b,_ba);5253 document.body.appendChild(_b b);5254 Modal.element=_b b;5266 },_buildMask:function(_b8){ 5267 var _b9=Builder.node("div",{id:Modal.maskId}); 5268 Modal._setClassNames(_b9,_b8); 5269 document.body.appendChild(_b9); 5270 Modal.element=_b9; 5255 5271 Modal._addEvent(); 5256 },_setClassNames:function(_b c,_bd){5257 var _b e=(UserAgent.isIE())?Modal.maskClassIE:Modal.maskClass;5258 Element.addClassName(_b c,_be);5259 Element.addClassName(_b c,_bd+_be);5272 },_setClassNames:function(_ba,_bb){ 5273 var _bc=(UserAgent.isIE())?Modal.maskClassIE:Modal.maskClass; 5274 Element.addClassName(_ba,_bc); 5275 Element.addClassName(_ba,_bb+_bc); 5260 5276 },_rebuildMask:function(){ 5261 5277 document.body.appendChild(Modal.element); … … 5268 5284 return src.spinelzMaskResult; 5269 5285 } 5270 var _ c0=false;5271 var _ c1=this.excepteds.last();5272 var _c 2=src;5273 if(_ c1&&Element.descendantOf(src,_c1)){5274 _ c0=true;5275 }else{ 5276 var _c 3=Element.getStyle(Modal.element,"zIndex");5277 var _c 4=null;5286 var _be=false; 5287 var _bf=this.excepteds.last(); 5288 var _c0=src; 5289 if(_bf&&Element.descendantOf(src,_bf)){ 5290 _be=true; 5291 }else{ 5292 var _c1=Element.getStyle(Modal.element,"zIndex"); 5293 var _c2=null; 5278 5294 while((src=src.parentNode)&&src!=document.body){ 5279 if(src.style&&(_c 4=Element.getStyle(src,"zIndex"))){5280 _ c0=(_c4>_c3);5295 if(src.style&&(_c2=Element.getStyle(src,"zIndex"))){ 5296 _be=(_c2>_c1); 5281 5297 break; 5282 5298 } 5283 5299 } 5284 5300 } 5285 _c 2.spinelzMaskCount=this.count;5286 _c 2.spinelzMaskResult=_c0;5287 return _ c0;5288 },_handleEvent:function(_c 5){5289 var src=Event.element(_c 5);5290 if(!(Modal._isOutOfModal(src)||(_c 5.keyCode&&(_c5.keyCode==this.tabKey)))){5291 Event.stop(_c 5);5292 } 5293 },_onResize:function(_c 7){5301 _c0.spinelzMaskCount=this.count; 5302 _c0.spinelzMaskResult=_be; 5303 return _be; 5304 },_handleEvent:function(_c3){ 5305 var src=Event.element(_c3); 5306 if(!(Modal._isOutOfModal(src)||(_c3.keyCode&&(_c3.keyCode==this.tabKey)))){ 5307 Event.stop(_c3); 5308 } 5309 },_onResize:function(_c5){ 5294 5310 Modal._setFullSize(); 5295 },hasExcepted:function(_c 8){5296 return (Modal.excepteds||[]).any(function(_c 9){5297 return _c 9.id==_c8.id;5298 }); 5299 },_control_tab_key:function(_c a){5300 if(!_c a){5301 _c a=$A(document.body.getElementsByTagName("form"));5302 } 5303 _c a.each(function(_cb){5304 if(!Modal._isOutOfModal(_c b)){5305 Form.getElements(_c b).each(function(el){5311 },hasExcepted:function(_c6){ 5312 return (Modal.excepteds||[]).any(function(_c7){ 5313 return _c7.id==_c6.id; 5314 }); 5315 },_control_tab_key:function(_c8){ 5316 if(!_c8){ 5317 _c8=$A(document.body.getElementsByTagName("form")); 5318 } 5319 _c8.each(function(_c9){ 5320 if(!Modal._isOutOfModal(_c9)){ 5321 Form.getElements(_c9).each(function(el){ 5306 5322 el.tabIndex=-1; 5307 5323 }); 5308 5324 }else{ 5309 Form.getElements(_c b).each(function(el){5325 Form.getElements(_c9).each(function(el){ 5310 5326 el.tabIndex=null; 5311 5327 }); … … 5315 5331 var IECover=Class.create(); 5316 5332 IECover.src="javascript:false;"; 5317 IECover.prototype={idSuffix:"iecover",initialize:function(_c e){5333 IECover.prototype={idSuffix:"iecover",initialize:function(_cc){ 5318 5334 this.options=Object.extend({transparent:false,padding:0},arguments[1]||{}); 5319 5335 if(document.all){ 5320 _c e=$(_ce);5321 this.id=_c e.id.appendSuffix(this.idSuffix);5322 this._build(_c e);5336 _cc=$(_cc); 5337 this.id=_cc.id.appendSuffix(this.idSuffix); 5338 this._build(_cc); 5323 5339 this.resetSize(); 5324 5340 } 5325 5341 },resetSize:function(){ 5326 5342 if(this.element){ 5327 var _c f=this.element.parentNode;5328 var _ d0=this.options.padding;5329 this.element.width=_c f.offsetWidth-_d0+"px";5330 this.element.height=Element.getHeight(_c f)-_d0+"px";5331 } 5332 },_build:function(_ d1){5333 var _d 2=this.options.padding/2;5334 var _d 3={position:"absolute",top:_d2+"px",left:_d2+"px"};5343 var _cd=this.element.parentNode; 5344 var _ce=this.options.padding; 5345 this.element.width=_cd.offsetWidth-_ce+"px"; 5346 this.element.height=Element.getHeight(_cd)-_ce+"px"; 5347 } 5348 },_build:function(_cf){ 5349 var _d0=this.options.padding/2; 5350 var _d1={position:"absolute",top:_d0+"px",left:_d0+"px"}; 5335 5351 if(this.options.transparent){ 5336 _d 3.filter="alpha(opacity=0)";5337 } 5338 if(_ d1.buildedIECover&&$(this.id)){5352 _d1.filter="alpha(opacity=0)"; 5353 } 5354 if(_cf.buildedIECover&&$(this.id)){ 5339 5355 this.element=$(this.id); 5340 5356 }else{ 5341 5357 this.element=Builder.node("iframe",{src:IECover.src,id:this.id,frameborder:0}); 5342 5358 } 5343 Element.setStyle(this.element,_d 3);5344 var _d 4=Element.down(_d1,0);5345 if(_d 4){5346 Element.makePositioned(_d 4);5347 } 5348 _ d1.insertBefore(this.element,_d1.firstChild);5349 _ d1.buildedIECover=true;5359 Element.setStyle(this.element,_d1); 5360 var _d2=Element.down(_cf,0); 5361 if(_d2){ 5362 Element.makePositioned(_d2); 5363 } 5364 _cf.insertBefore(this.element,_cf.firstChild); 5365 _cf.buildedIECover=true; 5350 5366 }}; 5351 5367 var UserAgent={getUserAgent:function(){ … … 5362 5378 var ShortcutManager=Class.create(); 5363 5379 ShortcutManager.prototype={initialize:function(){ 5364 var _d 5={detectKeyup:false,initialStarted:true,preventDefault:true};5365 this.options=Object.extend(_d 5,arguments[0]||{});5380 var _d3={detectKeyup:false,initialStarted:true,preventDefault:true}; 5381 this.options=Object.extend(_d3,arguments[0]||{}); 5366 5382 this.keydownListener=this.eventKeydown.bindAsEventListener(this); 5367 5383 if(this.options.detectKeyup){ … … 5389 5405 Event.observe(document,"keyup",this.keyupListener); 5390 5406 } 5391 },add:function(c1,c2,_d 8){5407 },add:function(c1,c2,_d6){ 5392 5408 if(c1.constructor==Array){ 5393 var _d 9=this;5394 c1.each(function(_d a){5395 _d 9._add_or_remove_function(_da[0],_da[1],_d8);5396 }); 5397 }else{ 5398 this._add_or_remove_function(c1,c2,_d 8);5409 var _d7=this; 5410 c1.each(function(_d8){ 5411 _d7._add_or_remove_function(_d8[0],_d8[1],_d6); 5412 }); 5413 }else{ 5414 this._add_or_remove_function(c1,c2,_d6); 5399 5415 } 5400 5416 },destroy:function(){ … … 5403 5419 Event.stopObserving(document,"keyup",this.keyupListener); 5404 5420 } 5405 },eventKeydown:function(_d b){5421 },eventKeydown:function(_d9){ 5406 5422 if(this.executable){ 5407 var _d c;5423 var _da; 5408 5424 var key=""; 5409 _d b=_db||window.event;5410 if(_d b.keyCode){5411 if(_d b.altKey){5425 _d9=_d9||window.event; 5426 if(_d9.keyCode){ 5427 if(_d9.altKey){ 5412 5428 key+="a"; 5413 5429 } 5414 if(_d b.ctrlKey){5430 if(_d9.ctrlKey){ 5415 5431 key+="c"; 5416 5432 } 5417 if(_d b.shiftKey){5433 if(_d9.shiftKey){ 5418 5434 key+="s"; 5419 5435 } … … 5421 5437 key="n"; 5422 5438 } 5423 _d c=this._mergeNumKey(_db.keyCode);5424 if(this.keydownFunc[key][_d c]){5425 this.keydownFunc[key][_d c]();5439 _da=this._mergeNumKey(_d9.keyCode); 5440 if(this.keydownFunc[key][_da]){ 5441 this.keydownFunc[key][_da](); 5426 5442 if(this.options.preventDefault){ 5427 Event.stop(_d b);5428 } 5429 } 5430 } 5431 } 5432 },eventKeyup:function(_d e){5443 Event.stop(_d9); 5444 } 5445 } 5446 } 5447 } 5448 },eventKeyup:function(_dc){ 5433 5449 if(this.executable){ 5434 var _d f;5435 _d e=_de||window.event;5436 if(_d e.keyCode){5437 _d f=this._mergeNumKey(_de.keyCode);5438 if(this.keyupFunc[_d f]){5439 this.keyupFunc[_d f]();5450 var _dd; 5451 _dc=_dc||window.event; 5452 if(_dc.keyCode){ 5453 _dd=this._mergeNumKey(_dc.keyCode); 5454 if(this.keyupFunc[_dd]){ 5455 this.keyupFunc[_dd](); 5440 5456 if(this.options.preventDefault){ 5441 Event.stop(_d e);5442 } 5443 } 5444 } 5445 } 5446 },remove:function(_ e0){5447 this._add_or_remove_function(_ e0);5457 Event.stop(_dc); 5458 } 5459 } 5460 } 5461 } 5462 },remove:function(_de){ 5463 this._add_or_remove_function(_de); 5448 5464 },start:function(){ 5449 5465 this.executable=true; 5450 5466 },stop:function(){ 5451 5467 this.executable=false; 5452 },_add_or_remove_function:function(_ e1,_e2,_e3){5453 var _e 4;5454 var _e 5=new Array();5455 var _e 6=this;5456 $A(_ e1.toLowerCase().split("+")).each(function(key){5468 },_add_or_remove_function:function(_df,_e0,_e1){ 5469 var _e2; 5470 var _e3=new Array(); 5471 var _e4=this; 5472 $A(_df.toLowerCase().split("+")).each(function(key){ 5457 5473 if(key=="alt"){ 5458 _e 5.push("a");5474 _e3.push("a"); 5459 5475 }else{ 5460 5476 if(key=="ctrl")
