Changeset 5811
- Timestamp:
- 06/25/08 15:11:14 (2 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
spinelz/trunk/compress/javascripts/spinelz_lib/spinelz_util.js
r5810 r5811 556 556 },clearUnmaskCallback:function(){ 557 557 this.unmaskCallbacks=[]; 558 },_mask:function(_cb){ 559 var _cc=Object.extend({cssPrefix:"custom_",zIndex:null},arguments[1]||{}); 560 var _cd=arguments[2]; 558 },existTarget:function(){ 559 if(this.target){ 560 var _cb=(this.target.id)?$(this.target.id):$(this.target); 561 return (_cb)?Element.visible(_cb):false; 562 } 563 return false; 564 },isMasked:function(){ 565 return Modal.element&&Element.visible(Modal.element); 566 },_mask:function(_cc){ 567 var _cd=Object.extend({cssPrefix:"custom_",zIndex:null},arguments[1]||{}); 568 var _ce=arguments[2]; 561 569 if(Modal.element){ 562 Modal._snap(_c b);570 Modal._snap(_cc); 563 571 Modal._rebuildMask(); 564 572 }else{ 565 573 Modal.snaps=[]; 566 574 Modal.excepteds=[]; 567 Modal._buildMask(_c c.cssPrefix);575 Modal._buildMask(_cd.cssPrefix); 568 576 Modal.cover=new IECover(Modal.element,{transparent:true}); 569 577 } 570 if(_c d){578 if(_ce){ 571 579 Element.setStyle(Modal.element,{position:"absolute"}); 572 580 this._setModalPosition(); … … 575 583 } 576 584 } 577 Modal._setZindex(_c b,_cc.zIndex);585 Modal._setZindex(_cc,_cd.zIndex); 578 586 Modal._setFullSize(); 579 if(!Modal.hasExcepted(_c b)){580 Modal.excepteds.push(_c b);587 if(!Modal.hasExcepted(_cc)){ 588 Modal.excepteds.push(_cc); 581 589 } 582 590 this.count++; 583 this.maskCallbacks.each(function(_ce){ 584 _ce(_cb); 585 }); 591 this.maskCallbacks.each(function(_cf){ 592 _cf(_cc); 593 }); 594 this.target=_cc; 586 595 },_unmask:function(){ 596 var _d0=null; 587 597 if(Modal.element){ 588 598 if(Modal.snaps.length==0){ … … 593 603 Modal.element=null; 594 604 }else{ 595 Element.setStyle(Modal.element,{zIndex:Modal.snaps.pop()}); 605 _d0=Modal.snaps.pop(); 606 Element.setStyle(Modal.element,{zIndex:_d0}); 596 607 Modal.excepteds.pop(); 597 608 } 598 609 } 599 610 this.count++; 600 this.unmaskCallbacks.each(function(_cf){ 601 _cf(); 602 }); 611 this.unmaskCallbacks.each(function(_d1){ 612 _d1(); 613 }); 614 this.target=_d0; 603 615 },_setModalPosition:function(){ 604 616 try{ … … 629 641 },_isMasked:function(){ 630 642 return Modal.element&&Element.visible(Modal.element); 631 },_snap:function(_d 0){632 var _d 1=Element.getStyle(Modal.element,"zIndex");633 if(_d 1&&Modal._isMasked()&&!Modal.hasExcepted(_d0)){634 Modal.snaps.push(_d 1);635 } 636 },_setZindex:function(_d 2,_d3){637 _d 3=ZindexManager.getIndex(_d3);638 Element.setStyle(Modal.element,{zIndex:_d 3});639 _d 2=Element.makePositioned($(_d2));640 Element.setStyle(_d 2,{zIndex:++_d3});643 },_snap:function(_d2){ 644 var _d3=Element.getStyle(Modal.element,"zIndex"); 645 if(_d3&&Modal._isMasked()&&!Modal.hasExcepted(_d2)){ 646 Modal.snaps.push(_d3); 647 } 648 },_setZindex:function(_d4,_d5){ 649 _d5=ZindexManager.getIndex(_d5); 650 Element.setStyle(Modal.element,{zIndex:_d5}); 651 _d4=Element.makePositioned($(_d4)); 652 Element.setStyle(_d4,{zIndex:++_d5}); 641 653 },_setFullSize:function(){ 642 654 Modal.element.setStyle({width:Element.getWindowWidth()+"px",height:Element.getWindowHeight()+"px"}); … … 644 656 Modal.cover.resetSize(); 645 657 } 646 },_buildMask:function(_d 4){647 var _d 5=Builder.node("div",{id:Modal.maskId});648 Modal._setClassNames(_d 5,_d4);649 document.body.appendChild(_d 5);650 Modal.element=_d 5;658 },_buildMask:function(_d6){ 659 var _d7=Builder.node("div",{id:Modal.maskId}); 660 Modal._setClassNames(_d7,_d6); 661 document.body.appendChild(_d7); 662 Modal.element=_d7; 651 663 Modal._addEvent(); 652 },_setClassNames:function(_d 6,_d7){653 var _d 8=(UserAgent.isIE())?Modal.maskClassIE:Modal.maskClass;654 Element.addClassName(_d 6,_d8);655 Element.addClassName(_d 6,_d7+_d8);664 },_setClassNames:function(_d8,_d9){ 665 var _da=(UserAgent.isIE())?Modal.maskClassIE:Modal.maskClass; 666 Element.addClassName(_d8,_da); 667 Element.addClassName(_d8,_d9+_da); 656 668 },_rebuildMask:function(){ 657 669 document.body.appendChild(Modal.element); … … 664 676 return src.spinelzMaskResult; 665 677 } 666 var _d a=false;667 var _d b=this.excepteds.last();668 var _d c=src;669 if(_d b&&Element.descendantOf(src,_db)){670 _d a=true;671 }else{ 672 var _d d=Element.getStyle(Modal.element,"zIndex");673 var _ de=null;678 var _dc=false; 679 var _dd=this.excepteds.last(); 680 var _de=src; 681 if(_dd&&Element.descendantOf(src,_dd)){ 682 _dc=true; 683 }else{ 684 var _df=Element.getStyle(Modal.element,"zIndex"); 685 var _e0=null; 674 686 while((src=src.parentNode)&&src!=document.body){ 675 if(src.style&&(_ de=Element.getStyle(src,"zIndex"))){676 _d a=(_de>_dd);687 if(src.style&&(_e0=Element.getStyle(src,"zIndex"))){ 688 _dc=(_e0>_df); 677 689 break; 678 690 } 679 691 } 680 692 } 681 _d c.spinelzMaskCount=this.count;682 _d c.spinelzMaskResult=_da;683 return _d a;684 },_handleEvent:function(_ df){685 var src=Event.element(_ df);686 if(!(Modal._isOutOfModal(src)||(_ df.keyCode&&(_df.keyCode==this.tabKey)))){687 Event.stop(_ df);688 } 689 },_onResize:function(_e 1){693 _de.spinelzMaskCount=this.count; 694 _de.spinelzMaskResult=_dc; 695 return _dc; 696 },_handleEvent:function(_e1){ 697 var src=Event.element(_e1); 698 if(!(Modal._isOutOfModal(src)||(_e1.keyCode&&(_e1.keyCode==this.tabKey)))){ 699 Event.stop(_e1); 700 } 701 },_onResize:function(_e3){ 690 702 Modal._setFullSize(); 691 },hasExcepted:function(_e 2){692 return (Modal.excepteds||[]).any(function(_e 3){693 return _e 3.id==_e2.id;694 }); 695 },_control_tab_key:function(_e 4){696 if(!_e 4){697 _e 4=$A(document.body.getElementsByTagName("form"));698 } 699 _e 4.each(function(_e5){700 if(!Modal._isOutOfModal(_e 5)){701 Form.getElements(_e 5).each(function(el){703 },hasExcepted:function(_e4){ 704 return (Modal.excepteds||[]).any(function(_e5){ 705 return _e5.id==_e4.id; 706 }); 707 },_control_tab_key:function(_e6){ 708 if(!_e6){ 709 _e6=$A(document.body.getElementsByTagName("form")); 710 } 711 _e6.each(function(_e7){ 712 if(!Modal._isOutOfModal(_e7)){ 713 Form.getElements(_e7).each(function(el){ 702 714 el.tabIndex=-1; 703 715 }); 704 716 }else{ 705 Form.getElements(_e 5).each(function(el){717 Form.getElements(_e7).each(function(el){ 706 718 el.tabIndex=null; 707 719 }); … … 711 723 var IECover=Class.create(); 712 724 IECover.src="javascript:false;"; 713 IECover.prototype={idSuffix:"iecover",initialize:function(_e 8){725 IECover.prototype={idSuffix:"iecover",initialize:function(_ea){ 714 726 this.options=Object.extend({transparent:false,padding:0},arguments[1]||{}); 715 727 if(document.all){ 716 _e 8=$(_e8);717 this.id=_e 8.id.appendSuffix(this.idSuffix);718 this._build(_e 8);728 _ea=$(_ea); 729 this.id=_ea.id.appendSuffix(this.idSuffix); 730 this._build(_ea); 719 731 this.resetSize(); 720 732 } 721 733 },resetSize:function(){ 722 734 if(this.element){ 723 var _e 9=this.element.parentNode;724 var _e a=this.options.padding;725 this.element.width=_e 9.offsetWidth-_ea+"px";726 this.element.height=Element.getHeight(_e 9)-_ea+"px";727 } 728 },_build:function(_e b){729 var _e c=this.options.padding/2;730 var _e d={position:"absolute",top:_ec+"px",left:_ec+"px"};735 var _eb=this.element.parentNode; 736 var _ec=this.options.padding; 737 this.element.width=_eb.offsetWidth-_ec+"px"; 738 this.element.height=Element.getHeight(_eb)-_ec+"px"; 739 } 740 },_build:function(_ed){ 741 var _ee=this.options.padding/2; 742 var _ef={position:"absolute",top:_ee+"px",left:_ee+"px"}; 731 743 if(this.options.transparent){ 732 _e d.filter="alpha(opacity=0)";733 } 734 if(_e b.buildedIECover&&$(this.id)){744 _ef.filter="alpha(opacity=0)"; 745 } 746 if(_ed.buildedIECover&&$(this.id)){ 735 747 this.element=$(this.id); 736 748 }else{ 737 749 this.element=Builder.node("iframe",{src:IECover.src,id:this.id,frameborder:0}); 738 750 } 739 Element.setStyle(this.element,_e d);740 var _ ee=Element.down(_eb,0);741 if(_ ee){742 Element.makePositioned(_ ee);743 } 744 _e b.insertBefore(this.element,_eb.firstChild);745 _e b.buildedIECover=true;751 Element.setStyle(this.element,_ef); 752 var _f0=Element.down(_ed,0); 753 if(_f0){ 754 Element.makePositioned(_f0); 755 } 756 _ed.insertBefore(this.element,_ed.firstChild); 757 _ed.buildedIECover=true; 746 758 }}; 747 759 var UserAgent={getUserAgent:function(){ … … 762 774 var ShortcutManager=Class.create(); 763 775 ShortcutManager.prototype={initialize:function(){ 764 var _ ef={detectKeyup:false,initialStarted:true,preventDefault:true};765 this.options=Object.extend(_ ef,arguments[0]||{});776 var _f1={detectKeyup:false,initialStarted:true,preventDefault:true}; 777 this.options=Object.extend(_f1,arguments[0]||{}); 766 778 this.keydownListener=this.eventKeydown.bindAsEventListener(this); 767 779 if(this.options.detectKeyup){ … … 789 801 Event.observe(document,"keyup",this.keyupListener); 790 802 } 791 },add:function(c1,c2,_f 2){803 },add:function(c1,c2,_f4){ 792 804 if(c1.constructor==Array){ 793 var _f 3=this;794 c1.each(function(_f 4){795 _f 3._add_or_remove_function(_f4[0],_f4[1],_f2);796 }); 797 }else{ 798 this._add_or_remove_function(c1,c2,_f 2);805 var _f5=this; 806 c1.each(function(_f6){ 807 _f5._add_or_remove_function(_f6[0],_f6[1],_f4); 808 }); 809 }else{ 810 this._add_or_remove_function(c1,c2,_f4); 799 811 } 800 812 },destroy:function(){ … … 803 815 Event.stopObserving(document,"keyup",this.keyupListener); 804 816 } 805 },eventKeydown:function(_f 5){817 },eventKeydown:function(_f7){ 806 818 if(this.executable){ 807 var _f 6;819 var _f8; 808 820 var key=""; 809 _f 5=_f5||window.event;810 if(_f 5.keyCode){811 if(_f 5.altKey){821 _f7=_f7||window.event; 822 if(_f7.keyCode){ 823 if(_f7.altKey){ 812 824 key+="a"; 813 825 } 814 if(_f 5.ctrlKey){826 if(_f7.ctrlKey){ 815 827 key+="c"; 816 828 } 817 if(_f 5.shiftKey){829 if(_f7.shiftKey){ 818 830 key+="s"; 819 831 } … … 821 833 key="n"; 822 834 } 823 _f 6=this._mergeNumKey(_f5.keyCode);824 if(this.keydownFunc[key][_f 6]){825 this.keydownFunc[key][_f 6]();835 _f8=this._mergeNumKey(_f7.keyCode); 836 if(this.keydownFunc[key][_f8]){ 837 this.keydownFunc[key][_f8](); 826 838 if(this.options.preventDefault){ 827 Event.stop(_f 5);828 } 829 } 830 } 831 } 832 },eventKeyup:function(_f 8){839 Event.stop(_f7); 840 } 841 } 842 } 843 } 844 },eventKeyup:function(_fa){ 833 845 if(this.executable){ 834 var _f 9;835 _f 8=_f8||window.event;836 if(_f 8.keyCode){837 _f 9=this._mergeNumKey(_f8.keyCode);838 if(this.keyupFunc[_f 9]){839 this.keyupFunc[_f 9]();846 var _fb; 847 _fa=_fa||window.event; 848 if(_fa.keyCode){ 849 _fb=this._mergeNumKey(_fa.keyCode); 850 if(this.keyupFunc[_fb]){ 851 this.keyupFunc[_fb](); 840 852 if(this.options.preventDefault){ 841 Event.stop(_f 8);842 } 843 } 844 } 845 } 846 },remove:function(_f a){847 this._add_or_remove_function(_f a);853 Event.stop(_fa); 854 } 855 } 856 } 857 } 858 },remove:function(_fc){ 859 this._add_or_remove_function(_fc); 848 860 },start:function(){ 849 861 this.executable=true; 850 862 },stop:function(){ 851 863 this.executable=false; 852 },_add_or_remove_function:function(_f b,_fc,_fd){853 var _ fe;854 var _ ff=new Array();864 },_add_or_remove_function:function(_fd,_fe,_ff){ 865 var _100; 866 var _101=new Array(); 855 867 var self=this; 856 $A(_f b.toLowerCase().split("+")).each(function(key){868 $A(_fd.toLowerCase().split("+")).each(function(key){ 857 869 if(key=="alt"){ 858 _ ff.push("a");870 _101.push("a"); 859 871 }else{ 860 872 if(key=="ctrl"){ 861 _ ff.push("c");873 _101.push("c"); 862 874 }else{ 863 875 if(key=="shift"){ 864 _ ff.push("s");865 }else{ 866 _ fe=self.keyCode[key];867 } 868 } 869 } 870 }); 871 var key=_ ff.sortBy(function(_103,_104){872 return _10 3;876 _101.push("s"); 877 }else{ 878 _100=self.keyCode[key]; 879 } 880 } 881 } 882 }); 883 var key=_101.sortBy(function(_105,_106){ 884 return _105; 873 885 }).join(""); 874 886 if(key==""){ 875 887 key="n"; 876 888 } 877 if(_f c){878 if(_f d){879 this.keyupFunc[_ fe]=_fc;880 }else{ 881 this.keydownFunc[key][_ fe]=_fc;882 } 883 }else{ 884 if(_f d){885 this.keyupFunc[_ fe]=null;886 }else{ 887 this.keydownFunc[key][_ fe]=null;889 if(_fe){ 890 if(_ff){ 891 this.keyupFunc[_100]=_fe; 892 }else{ 893 this.keydownFunc[key][_100]=_fe; 894 } 895 }else{ 896 if(_ff){ 897 this.keyupFunc[_100]=null; 898 }else{ 899 this.keydownFunc[key][_100]=null; 888 900 } 889 901 } … … 894 906 var args=$A(arguments); 895 907 var self=this; 896 var _10 8=args.shift()||this;908 var _10a=args.shift()||this; 897 909 if(UserAgent.isIE()&&(document.readyState!="complete")){ 898 910 Event.observe(window,"load",function(){ 899 self.apply(_10 8,args);900 }); 901 }else{ 902 this.apply(_10 8,args);911 self.apply(_10a,args); 912 }); 913 }else{ 914 this.apply(_10a,args); 903 915 } 904 916 }; … … 919 931 document.body.focus(); 920 932 } 921 },concat:function(base,_10 a){933 },concat:function(base,_10c){ 922 934 var hash={}; 923 _10 a.each(function(_10c){924 hash[_10 c]=base.appendSuffix(_10c);935 _10c.each(function(_10e){ 936 hash[_10e]=base.appendSuffix(_10e); 925 937 }); 926 938 return hash; 927 },getId:function(_10 d){928 _10 d=_10d||"";929 return _10 d.appendSuffix(++SpinelzUtil.idCount);930 },toAttriteString:function(_1 0e,_10f){931 var html=_1 0e.map(function(pair){939 },getId:function(_10f){ 940 _10f=_10f||""; 941 return _10f.appendSuffix(++SpinelzUtil.idCount); 942 },toAttriteString:function(_110,_111){ 943 var html=_110.map(function(pair){ 932 944 return pair.key+"='"+pair.value+"'"; 933 945 }).join(" "); 934 if(_1 0f&&(html.length>0)){946 if(_111&&(html.length>0)){ 935 947 html=" "+html; 936 948 } 937 949 return html; 938 },_redrawForIE:function(_11 2){950 },_redrawForIE:function(_114){ 939 951 if(UserAgent.isIE()){ 940 _11 2=$(_112);941 if(_11 2){952 _114=$(_114); 953 if(_114){ 942 954 setTimeout(function(){ 943 Element.classNames(_11 2).set("dummy");955 Element.classNames(_114).set("dummy"); 944 956 },200); 945 957 } … … 952 964 }); 953 965 } 954 var $A=Array.from=function(_11 3){955 if(!_11 3){966 var $A=Array.from=function(_115){ 967 if(!_115){ 956 968 return []; 957 969 } 958 if(_11 3.toArray){959 return _11 3.toArray();960 }else{ 961 var _11 4=[];962 for(var i=0,len=_11 3.length;i<len;i++){963 _11 4.push(_113[i]);964 } 965 return _11 4;970 if(_115.toArray){ 971 return _115.toArray(); 972 }else{ 973 var _116=[]; 974 for(var i=0,len=_115.length;i<len;i++){ 975 _116.push(_115[i]); 976 } 977 return _116; 966 978 } 967 979 }; 968 980 var Color=Class.create(); 969 Color.prototype={initialize:function(_11 7){970 this.color=this.parse(_11 7);971 },toHex:function(_11 8){972 _11 8=_118||this.color;973 return _11 8.invoke("toColorPart");981 Color.prototype={initialize:function(_119){ 982 this.color=this.parse(_119); 983 },toHex:function(_11a){ 984 _11a=_11a||this.color; 985 return _11a.invoke("toColorPart"); 974 986 },invert:function(){ 975 987 return this.toCssStyle(this.color.map(function(c){ 976 988 return 255-c; 977 989 })); 978 },toCssStyle:function(_11 a){979 _11 a=_11a||this.color;980 return "#"+this.toHex(_11 a).join("");981 },parse:function(_11 b){982 _11 b=_11b||this.color;983 if(_11 b.match(/rgb\(\d+,\s*\d+,\s*\d+\)/)){984 return _11 b.match(/\d+/g).map(function(c){990 },toCssStyle:function(_11c){ 991 _11c=_11c||this.color; 992 return "#"+this.toHex(_11c).join(""); 993 },parse:function(_11d){ 994 _11d=_11d||this.color; 995 if(_11d.match(/rgb\(\d+,\s*\d+,\s*\d+\)/)){ 996 return _11d.match(/\d+/g).map(function(c){ 985 997 return parseInt(c,10); 986 998 }); 987 999 }else{ 988 if(_11 b.match(/#[a-fA-F0-9]{6}/)){989 return _11 b.match(/([a-fA-F0-9]){2}/g).map(function(c){1000 if(_11d.match(/#[a-fA-F0-9]{6}/)){ 1001 return _11d.match(/([a-fA-F0-9]){2}/g).map(function(c){ 990 1002 return parseInt(c,16); 991 1003 }); 992 1004 } 993 1005 } 994 throw "parse error: "+_11 b;1006 throw "parse error: "+_11d; 995 1007 }}; 996 1008 var DebugConsole={_active:false,_basetime:null,_messages:null,activate:function(){ 997 1009 this._active=true; 998 },dump:function(_1 1e){999 _1 1e=_11e||{};1000 switch(_1 1e.type){1010 },dump:function(_120){ 1011 _120=_120||{}; 1012 switch(_120.type){ 1001 1013 case "alert": 1002 1014 this._dump_alert(); … … 1009 1021 break; 1010 1022 case "update": 1011 this._dump_update(_1 1e.target);1023 this._dump_update(_120.target); 1012 1024 break; 1013 1025 default: … … 1024 1036 this._messages=[]; 1025 1037 } 1026 },log:function(_1 1f){1038 },log:function(_121){ 1027 1039 if(this._active){ 1028 var _12 0=("00000000"+(new Date()-this._basetime)).slice(-8);1029 this._messages.push(_12 0+" : "+_11f);1040 var _122=("00000000"+(new Date()-this._basetime)).slice(-8); 1041 this._messages.push(_122+" : "+_121); 1030 1042 } 1031 1043 },_dump_alert:function(){ 1032 this._messages.each(function(_12 1){1033 alert(_12 1);1044 this._messages.each(function(_123){ 1045 alert(_123); 1034 1046 }); 1035 1047 },_dump_clipboard:function(){ 1036 1048 var dump=""; 1037 this._messages.each(function(_12 3){1038 dump+=_12 3+"\n";1049 this._messages.each(function(_125){ 1050 dump+=_125+"\n"; 1039 1051 }); 1040 1052 clipboardData.setData("Text",dump); 1041 1053 },_dump_console:function(){ 1042 this._messages.each(function(_12 4){1043 console.log(_12 4);1044 }); 1045 },_dump_update:function(_12 5){1054 this._messages.each(function(_126){ 1055 console.log(_126); 1056 }); 1057 },_dump_update:function(_127){ 1046 1058 var html=""; 1047 this._messages.each(function(_12 7){1048 html+="<p>"+_12 7+"</p>";1049 }); 1050 Element.update(_12 5,html);1059 this._messages.each(function(_129){ 1060 html+="<p>"+_129+"</p>"; 1061 }); 1062 Element.update(_127,html); 1051 1063 }}; 1052 1064 if(UserAgent.isFF3()){ 1053 function __$(_12 8){1065 function __$(_12a){ 1054 1066 if(arguments.length>1){ 1055 for(var i=0,_12 a=[],_12b=arguments.length;i<_12b;i++){1056 _12 a.push($(arguments[i]));1057 } 1058 return _12 a;1059 } 1060 if(typeof _12 8=="string"){1061 _12 8=document.getElementById(_128);1062 } 1063 if(_12 8&&_128.nodeType==1&&!_128._extendedBySpinelz&&_128.tagName&&_128!=window){1064 _12 8.__getElementsByClassName=_128.getElementsByClassName;1065 _12 8.getElementsByClassName=function(_12c){1066 return $A(_12 8.__getElementsByClassName(_12c));1067 for(var i=0,_12c=[],_12d=arguments.length;i<_12d;i++){ 1068 _12c.push($(arguments[i])); 1069 } 1070 return _12c; 1071 } 1072 if(typeof _12a=="string"){ 1073 _12a=document.getElementById(_12a); 1074 } 1075 if(_12a&&_12a.nodeType==1&&!_12a._extendedBySpinelz&&_12a.tagName&&_12a!=window){ 1076 _12a.__getElementsByClassName=_12a.getElementsByClassName; 1077 _12a.getElementsByClassName=function(_12e){ 1078 return $A(_12a.__getElementsByClassName(_12e)); 1067 1079 }; 1068 _12 8._extendedBySpinelz=true;1069 } 1070 return Element.extend(_12 8);1080 _12a._extendedBySpinelz=true; 1081 } 1082 return Element.extend(_12a); 1071 1083 } 1072 1084 $=__$; spinelz/trunk/compress/javascripts/spinelz_lib/spinelz_util_for_rubricks.js
r5810 r5811 5222 5222 },clearUnmaskCallback:function(){ 5223 5223 this.unmaskCallbacks=[]; 5224 },_mask:function(_cb){ 5225 var _cc=Object.extend({cssPrefix:"custom_",zIndex:null},arguments[1]||{}); 5226 var _cd=arguments[2]; 5224 },existTarget:function(){ 5225 if(this.target){ 5226 var _cb=(this.target.id)?$(this.target.id):$(this.target); 5227 return (_cb)?Element.visible(_cb):false; 5228 } 5229 return false; 5230 },isMasked:function(){ 5231 return Modal.element&&Element.visible(Modal.element); 5232 },_mask:function(_cc){ 5233 var _cd=Object.extend({cssPrefix:"custom_",zIndex:null},arguments[1]||{}); 5234 var _ce=arguments[2]; 5227 5235 if(Modal.element){ 5228 Modal._snap(_c b);5236 Modal._snap(_cc); 5229 5237 Modal._rebuildMask(); 5230 5238 }else{ 5231 5239 Modal.snaps=[]; 5232 5240 Modal.excepteds=[]; 5233 Modal._buildMask(_c c.cssPrefix);5241 Modal._buildMask(_cd.cssPrefix); 5234 5242 Modal.cover=new IECover(Modal.element,{transparent:true}); 5235 5243 } 5236 if(_c d){5244 if(_ce){ 5237 5245 Element.setStyle(Modal.element,{position:"absolute"}); 5238 5246 this._setModalPosition(); … … 5241 5249 } 5242 5250 } 5243 Modal._setZindex(_c b,_cc.zIndex);5251 Modal._setZindex(_cc,_cd.zIndex); 5244 5252 Modal._setFullSize(); 5245 if(!Modal.hasExcepted(_c b)){5246 Modal.excepteds.push(_c b);5253 if(!Modal.hasExcepted(_cc)){ 5254 Modal.excepteds.push(_cc); 5247 5255 } 5248 5256 this.count++; 5249 this.maskCallbacks.each(function(_ce){ 5250 _ce(_cb); 5251 }); 5257 this.maskCallbacks.each(function(_cf){ 5258 _cf(_cc); 5259 }); 5260 this.target=_cc; 5252 5261 },_unmask:function(){ 5262 var _d0=null; 5253 5263 if(Modal.element){ 5254 5264 if(Modal.snaps.length==0){ … … 5259 5269 Modal.element=null; 5260 5270 }else{ 5261 Element.setStyle(Modal.element,{zIndex:Modal.snaps.pop()}); 5271 _d0=Modal.snaps.pop(); 5272 Element.setStyle(Modal.element,{zIndex:_d0}); 5262 5273 Modal.excepteds.pop(); 5263 5274 } 5264 5275 } 5265 5276 this.count++; 5266 this.unmaskCallbacks.each(function(_cf){ 5267 _cf(); 5268 }); 5277 this.unmaskCallbacks.each(function(_d1){ 5278 _d1(); 5279 }); 5280 this.target=_d0; 5269 5281 },_setModalPosition:function(){ 5270 5282 try{ … … 5295 5307 },_isMasked:function(){ 5296 5308 return Modal.element&&Element.visible(Modal.element); 5297 },_snap:function(_d 0){5298 var _d 1=Element.getStyle(Modal.element,"zIndex");5299 if(_d 1&&Modal._isMasked()&&!Modal.hasExcepted(_d0)){5300 Modal.snaps.push(_d 1);5301 } 5302 },_setZindex:function(_d 2,_d3){5303 _d 3=ZindexManager.getIndex(_d3);5304 Element.setStyle(Modal.element,{zIndex:_d 3});5305 _d 2=Element.makePositioned($(_d2));5306 Element.setStyle(_d 2,{zIndex:++_d3});5309 },_snap:function(_d2){ 5310 var _d3=Element.getStyle(Modal.element,"zIndex"); 5311 if(_d3&&Modal._isMasked()&&!Modal.hasExcepted(_d2)){ 5312 Modal.snaps.push(_d3); 5313 } 5314 },_setZindex:function(_d4,_d5){ 5315 _d5=ZindexManager.getIndex(_d5); 5316 Element.setStyle(Modal.element,{zIndex:_d5}); 5317 _d4=Element.makePositioned($(_d4)); 5318 Element.setStyle(_d4,{zIndex:++_d5}); 5307 5319 },_setFullSize:function(){ 5308 5320 Modal.element.setStyle({width:Element.getWindowWidth()+"px",height:Element.getWindowHeight()+"px"}); … … 5310 5322 Modal.cover.resetSize(); 5311 5323 } 5312 },_buildMask:function(_d 4){5313 var _d 5=Builder.node("div",{id:Modal.maskId});5314 Modal._setClassNames(_d 5,_d4);5315 document.body.appendChild(_d 5);5316 Modal.element=_d 5;5324 },_buildMask:function(_d6){ 5325 var _d7=Builder.node("div",{id:Modal.maskId}); 5326 Modal._setClassNames(_d7,_d6); 5327 document.body.appendChild(_d7); 5328 Modal.element=_d7; 5317 5329 Modal._addEvent(); 5318 },_setClassNames:function(_d 6,_d7){5319 var _d 8=(UserAgent.isIE())?Modal.maskClassIE:Modal.maskClass;5320 Element.addClassName(_d 6,_d8);5321 Element.addClassName(_d 6,_d7+_d8);5330 },_setClassNames:function(_d8,_d9){ 5331 var _da=(UserAgent.isIE())?Modal.maskClassIE:Modal.maskClass; 5332 Element.addClassName(_d8,_da); 5333 Element.addClassName(_d8,_d9+_da); 5322 5334 },_rebuildMask:function(){ 5323 5335 document.body.appendChild(Modal.element); … … 5330 5342 return src.spinelzMaskResult; 5331 5343 } 5332 var _d a=false;5333 var _d b=this.excepteds.last();5334 var _d c=src;5335 if(_d b&&Element.descendantOf(src,_db)){5336 _d a=true;5337 }else{ 5338 var _d d=Element.getStyle(Modal.element,"zIndex");5339 var _ de=null;5344 var _dc=false; 5345 var _dd=this.excepteds.last(); 5346 var _de=src; 5347 if(_dd&&Element.descendantOf(src,_dd)){ 5348 _dc=true; 5349 }else{ 5350 var _df=Element.getStyle(Modal.element,"zIndex"); 5351 var _e0=null; 5340 5352 while((src=src.parentNode)&&src!=document.body){ 5341 if(src.style&&(_ de=Element.getStyle(src,"zIndex"))){5342 _d a=(_de>_dd);5353 if(src.style&&(_e0=Element.getStyle(src,"zIndex"))){ 5354 _dc=(_e0>_df); 5343 5355 break; 5344 5356 } 5345 5357 } 5346 5358 } 5347 _d c.spinelzMaskCount=this.count;5348 _d c.spinelzMaskResult=_da;5349 return _d a;5350 },_handleEvent:function(_ df){5351 var src=Event.element(_ df);5352 if(!(Modal._isOutOfModal(src)||(_ df.keyCode&&(_df.keyCode==this.tabKey)))){5353 Event.stop(_ df);5354 } 5355 },_onResize:function(_e 1){5359 _de.spinelzMaskCount=this.count; 5360 _de.spinelzMaskResult=_dc; 5361 return _dc; 5362 },_handleEvent:function(_e1){ 5363 var src=Event.element(_e1); 5364 if(!(Modal._isOutOfModal(src)||(_e1.keyCode&&(_e1.keyCode==this.tabKey)))){ 5365 Event.stop(_e1); 5366 } 5367 },_onResize:function(_e3){ 5356 5368 Modal._setFullSize(); 5357 },hasExcepted:function(_e 2){5358 return (Modal.excepteds||[]).any(function(_e 3){5359 return _e 3.id==_e2.id;5360 }); 5361 },_control_tab_key:function(_e 4){5362 if(!_e 4){5363 _e 4=$A(document.body.getElementsByTagName("form"));5364 } 5365 _e 4.each(function(_e5){5366 if(!Modal._isOutOfModal(_e 5)){5367 Form.getElements(_e 5).each(function(el){5369 },hasExcepted:function(_e4){ 5370 return (Modal.excepteds||[]).any(function(_e5){ 5371 return _e5.id==_e4.id; 5372 }); 5373 },_control_tab_key:function(_e6){ 5374 if(!_e6){ 5375 _e6=$A(document.body.getElementsByTagName("form")); 5376 } 5377 _e6.each(function(_e7){ 5378 if(!Modal._isOutOfModal(_e7)){ 5379 Form.getElements(_e7).each(function(el){ 5368 5380 el.tabIndex=-1; 5369 5381 }); 5370 5382 }else{ 5371 Form.getElements(_e 5).each(function(el){5383 Form.getElements(_e7).each(function(el){ 5372 5384 el.tabIndex=null; 5373 5385 }); … … 5377 5389 var IECover=Class.create(); 5378 5390 IECover.src="javascript:false;"; 5379 IECover.prototype={idSuffix:"iecover",initialize:function(_e 8){5391 IECover.prototype={idSuffix:"iecover",initialize:function(_ea){ 5380 5392 this.options=Object.extend({transparent:false,padding:0},arguments[1]||{}); 5381 5393 if(document.all){ 5382 _e 8=$(_e8);5383 this.id=_e 8.id.appendSuffix(this.idSuffix);5384 this._build(_e 8);5394 _ea=$(_ea); 5395 this.id=_ea.id.appendSuffix(this.idSuffix); 5396 this._build(_ea); 5385 5397 this.resetSize(); 5386 5398 } 5387 5399 },resetSize:function(){ 5388 5400 if(this.element){ 5389 var _e 9=this.element.parentNode;5390 var _e a=this.options.padding;5391 this.element.width=_e 9.offsetWidth-_ea+"px";5392 this.element.height=Element.getHeight(_e 9)-_ea+"px";5393 } 5394 },_build:function(_e b){5395 var _e c=this.options.padding/2;5396 var _e d={position:"absolute",top:_ec+"px",left:_ec+"px"};5401 var _eb=this.element.parentNode; 5402 var _ec=this.options.padding; 5403 this.element.width=_eb.offsetWidth-_ec+"px"; 5404 this.element.height=Element.getHeight(_eb)-_ec+"px"; 5405 } 5406 },_build:function(_ed){ 5407 var _ee=this.options.padding/2; 5408 var _ef={position:"absolute",top:_ee+"px",left:_ee+"px"}; 5397 5409 if(this.options.transparent){ 5398 _e d.filter="alpha(opacity=0)";5399 } 5400 if(_e b.buildedIECover&&$(this.id)){5410 _ef.filter="alpha(opacity=0)"; 5411 } 5412 if(_ed.buildedIECover&&$(this.id)){ 5401 5413 this.element=$(this.id); 5402 5414 }else{ 5403 5415 this.element=Builder.node("iframe",{src:IECover.src,id:this.id,frameborder:0}); 5404 5416 } 5405 Element.setStyle(this.element,_e d);5406 var _ ee=Element.down(_eb,0);5407 if(_ ee){5408 Element.makePositioned(_ ee);5409 } 5410 _e b.insertBefore(this.element,_eb.firstChild);5411 _e b.buildedIECover=true;5417 Element.setStyle(this.element,_ef); 5418 var _f0=Element.down(_ed,0); 5419 if(_f0){ 5420 Element.makePositioned(_f0); 5421 } 5422 _ed.insertBefore(this.element,_ed.firstChild); 5423 _ed.buildedIECover=true; 5412 5424 }}; 5413 5425 var UserAgent={getUserAgent:function(){ … … 5428 5440 var ShortcutManager=Class.create(); 5429 5441 ShortcutManager.prototype={initialize:function(){ 5430 var _ ef={detectKeyup:false,initialStarted:true,preventDefault:true};5431 this.options=Object.extend(_ ef,arguments[0]||{});5442 var _f1={detectKeyup:false,initialStarted:true,preventDefault:true}; 5443 this.options=Object.extend(_f1,arguments[0]||{}); 5432 5444 this.keydownListener=this.eventKeydown.bindAsEventListener(this); 5433 5445 if(this.options.detectKeyup){ … … 5455 5467 Event.observe(document,"keyup",this.keyupListener); 5456 5468 } 5457 },add:function(c1,c2,_f 2){5469 },add:function(c1,c2,_f4){ 5458 5470 if(c1.constructor==Array){ 5459 var _f 3=this;5460 c1.each(function(_f 4){5461 _f 3._add_or_remove_function(_f4[0],_f4[1],_f2);5462 }); 5463 }else{ 5464 this._add_or_remove_function(c1,c2,_f 2);5471 var _f5=this; 5472 c1.each(function(_f6){ 5473 _f5._add_or_remove_function(_f6[0],_f6[1],_f4); 5474 }); 5475 }else{ 5476 this._add_or_remove_function(c1,c2,_f4); 5465 5477 } 5466 5478 },destroy:function(){ … … 5469 5481 Event.stopObserving(document,"keyup",this.keyupListener); 5470 5482 } 5471 },eventKeydown:function(_f 5){5483 },eventKeydown:function(_f7){ 5472 5484 if(this.executable){ 5473 var _f 6;5485 var _f8; 5474 5486 var key=""; 5475 _f 5=_f5||window.event;5476 if(_f 5.keyCode){5477 if(_f 5.altKey){5487 _f7=_f7||window.event; 5488 if(_f7.keyCode){ 5489 if(_f7.altKey){ 5478 5490 key+="a"; 5479 5491 } 5480 if(_f 5.ctrlKey){5492 if(_f7.ctrlKey){ 5481 5493 key+="c"; 5482 5494 } 5483 if(_f 5.shiftKey){5495 if(_f7.shiftKey){ 5484 5496 key+="s"; 5485 5497 } … … 5487 5499 key="n"; 5488 5500 } 5489 _f 6=this._mergeNumKey(_f5.keyCode);5490 if(this.keydownFunc[key][_f 6]){5491 this.keydownFunc[key][_f 6]();5501 _f8=this._mergeNumKey(_f7.keyCode); 5502 if(this.keydownFunc[key][_f8]){ 5503 this.keydownFunc[key][_f8](); 5492 5504 if(this.options.preventDefault){ 5493 Event.stop(_f 5);5494 } 5495 } 5496 } 5497 } 5498 },eventKeyup:function(_f 8){5505 Event.stop(_f7); 5506 } 5507 } 5508 } 5509 } 5510 },eventKeyup:function(_fa){ 5499 5511 if(this.executable){ 5500 var _f 9;5501 _f 8=_f8||window.event;5502 if(_f 8.keyCode){5503 _f 9=this._mergeNumKey(_f8.keyCode);5504 if(this.keyupFunc[_f 9]){5505 this.keyupFunc[_f 9]();5512 var _fb; 5513 _fa=_fa||window.event; 5514 if(_fa.keyCode){ 5515 _fb=this._mergeNumKey(_fa.keyCode); 5516 if(this.keyupFunc[_fb]){ 5517 this.keyupFunc[_fb](); 5506 5518 if(this.options.preventDefault){ 5507 Event.stop(_f 8);5508 } 5509 } 5510 } 5511 } 5512 },remove:function(_f a){5513 this._add_or_remove_function(_f a);5519 Event.stop(_fa); 5520 } 5521 } 5522 } 5523 } 5524 },remove:function(_fc){ 5525 this._add_or_remove_function(_fc); 5514 5526 },start:function(){ 5515 5527 this.executable=true; 5516 5528 },stop:function(){ 5517 5529 this.executable=false; 5518 },_add_or_remove_function:function(_f b,_fc,_fd){5519 var _ fe;5520 var _ ff=new Array();5530 },_add_or_remove_function:function(_fd,_fe,_ff){ 5531 var _100; 5532 var _101=new Array(); 5521 5533 var self=this; 5522 $A(_f b.toLowerCase().split("+")).each(function(key){5534 $A(_fd.toLowerCase().split("+")).each(function(key){ 5523 5535 if(key=="alt"){ 5524 _ ff.push("a");5536 _101.push("a"); 5525 5537 }else{ 5526 5538 if(key=="ctrl"){ 5527 _ ff.push("c");5539 _101.push("c"); 5528 5540 }else{ 5529 5541 if(key=="shift"){ 5530 _ ff.push("s");5531 }else{ 5532 _ fe=self.keyCode[key];5533 } 5534 } 5535 } 5536 }); 5537 var key=_ ff.sortBy(function(_103,_104){5538 return _10 3;5542 _101.push("s"); 5543 }else{ 5544 _100=self.keyCode[key]; 5545 } 5546 } 5547 } 5548 }); 5549 var key=_101.sortBy(function(_105,_106){ 5550 return _105; 5539 5551 }).join(""); 5540 5552 if(key==""){ 5541 5553 key="n"; 5542 5554 } 5543 if(_f c){5544 if(_f d){5545 this.keyupFunc[_ fe]=_fc;5546 }else{ 5547 this.keydownFunc[key][_ fe]=_fc;5548 } 5549 }else{ 5550 if(_f d){5551 this.keyupFunc[_ fe]=null;5552 }else{ 5553 this.keydownFunc[key][_ fe]=null;5555 if(_fe){ 5556 if(_ff){ 5557 this.keyupFunc[_100]=_fe; 5558 }else{ 5559 this.keydownFunc[key][_100]=_fe; 5560 } 5561 }else{ 5562 if(_ff){ 5563 this.keyupFunc[_100]=null; 5564 }else{ 5565 this.keydownFunc[key][_100]=null; 5554 5566 } 5555 5567 } … … 5560 5572 var args=$A(arguments); 5561 5573 var self=this; 5562 var _10 8=args.shift()||this;5574 var _10a=args.shift()||this; 5563 5575 if(UserAgent.isIE()&&(document.readyState!="complete")){ 5564 5576 Event.observe(window,"load",function(){ 5565 self.apply(_10 8,args);5566 }); 5567 }else{ 5568 this.apply(_10 8,args);5577 self.apply(_10a,args); 5578 }); 5579 }else{ 5580 this.apply(_10a,args); 5569 5581 } 5570 5582 }; … … 5585 5597 document.body.focus(); 5586 5598 } 5587 },concat:function(base,_10 a){5599 },concat:function(base,_10c){ 5588 5600 var hash={}; 5589 _10 a.each(function(_10c){5590 hash[_10 c]=base.appendSuffix(_10c);5601 _10c.each(function(_10e){ 5602 hash[_10e]=base.appendSuffix(_10e); 5591 5603 }); 5592 5604 return hash; 5593 },getId:function(_10 d){5594 _10 d=_10d||"";5595 return _10 d.appendSuffix(++SpinelzUtil.idCount);5596 },toAttriteString:function(_1 0e,_10f){5597 var html=_1 0e.map(function(pair){5605 },getId:function(_10f){ 5606 _10f=_10f||""; 5607 return _10f.appendSuffix(++SpinelzUtil.idCount); 5608 },toAttriteString:function(_110,_111){ 5609 var html=_110.map(function(pair){ 5598 5610 return pair.key+"='"+pair.value+"'"; 5599 5611 }).join(" "); 5600 if(_1 0f&&(html.length>0)){5612 if(_111&&(html.length>0)){ 5601 5613 html=" "+html; 5602 5614 } 5603 5615 return html; 5604 },_redrawForIE:function(_11 2){5616 },_redrawForIE:function(_114){ 5605 5617 if(UserAgent.isIE()){ 5606 _11 2=$(_112);5607 if(_11 2){5618 _114=$(_114); 5619 if(_114){ 5608 5620 setTimeout(function(){ 5609 Element.classNames(_11 2).set("dummy");5621 Element.classNames(_114).set("dummy"); 5610 5622 },200); 5611 5623 } … … 5618 5630 }); 5619 5631 } 5620 var $A=Array.from=function(_11 3){5621 if(!_11 3){5632 var $A=Array.from=function(_115){ 5633 if(!_115){ 5622 5634 return []; 5623 5635 } 5624 if(_11 3.toArray){5625 return _11 3.toArray();5626 }else{ 5627 var _11 4=[];5628 for(var i=0,len=_11 3.length;i<len;i++){5629 _11 4.push(_113[i]);5630 } 5631 return _11 4;5636 if(_115.toArray){ 5637 return _115.toArray(); 5638 }else{ 5639 var _116=[]; 5640 for(var i=0,len=_115.length;i<len;i++){ 5641 _116.push(_115[i]); 5642 } 5643 return _116; 5632 5644 } 5633 5645 }; 5634 5646 var Color=Class.create(); 5635 Color.prototype={initialize:function(_11 7){5636 this.color=this.parse(_11 7);5637 },toHex:function(_11 8){5638 _11 8=_118||this.color;5639 return _11 8.invoke("toColorPart");5647 Color.prototype={initialize:function(_119){ 5648 this.color=this.parse(_119); 5649 },toHex:function(_11a){ 5650 _11a=_11a||this.color; 5651 return _11a.invoke("toColorPart"); 5640 5652 },invert:function(){ 5641 5653 return this.toCssStyle(this.color.map(function(c){ 5642 5654 return 255-c; 5643 5655 })); 5644 },toCssStyle:function(_11 a){5645 _11 a=_11a||this.color;5646 return "#"+this.toHex(_11 a).join("");5647 },parse:function(_11 b){5648 _11 b=_11b||this.color;5649 if(_11 b.match(/rgb\(\d+,\s*\d+,\s*\d+\)/)){5650 return _11 b.match(/\d+/g).map(function(c){5656 },toCssStyle:function(_11c){ 5657 _11c=_11c||this.color; 5658 return "#"+this.toHex(_11c).join(""); 5659 },parse:function(_11d){ 5660 _11d=_11d||this.color; 566
