Changeset 5811

Show
Ignore:
Timestamp:
06/25/08 15:11:14 (2 months ago)
Author:
kinoshita
Message:

4999

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • spinelz/trunk/compress/javascripts/spinelz_lib/spinelz_util.js

    r5810 r5811  
    556556},clearUnmaskCallback:function(){ 
    557557this.unmaskCallbacks=[]; 
    558 },_mask:function(_cb){ 
    559 var _cc=Object.extend({cssPrefix:"custom_",zIndex:null},arguments[1]||{}); 
    560 var _cd=arguments[2]; 
     558},existTarget:function(){ 
     559if(this.target){ 
     560var _cb=(this.target.id)?$(this.target.id):$(this.target); 
     561return (_cb)?Element.visible(_cb):false; 
     562
     563return false; 
     564},isMasked:function(){ 
     565return Modal.element&&Element.visible(Modal.element); 
     566},_mask:function(_cc){ 
     567var _cd=Object.extend({cssPrefix:"custom_",zIndex:null},arguments[1]||{}); 
     568var _ce=arguments[2]; 
    561569if(Modal.element){ 
    562 Modal._snap(_cb); 
     570Modal._snap(_cc); 
    563571Modal._rebuildMask(); 
    564572}else{ 
    565573Modal.snaps=[]; 
    566574Modal.excepteds=[]; 
    567 Modal._buildMask(_cc.cssPrefix); 
     575Modal._buildMask(_cd.cssPrefix); 
    568576Modal.cover=new IECover(Modal.element,{transparent:true}); 
    569577} 
    570 if(_cd){ 
     578if(_ce){ 
    571579Element.setStyle(Modal.element,{position:"absolute"}); 
    572580this._setModalPosition(); 
     
    575583} 
    576584} 
    577 Modal._setZindex(_cb,_cc.zIndex); 
     585Modal._setZindex(_cc,_cd.zIndex); 
    578586Modal._setFullSize(); 
    579 if(!Modal.hasExcepted(_cb)){ 
    580 Modal.excepteds.push(_cb); 
     587if(!Modal.hasExcepted(_cc)){ 
     588Modal.excepteds.push(_cc); 
    581589} 
    582590this.count++; 
    583 this.maskCallbacks.each(function(_ce){ 
    584 _ce(_cb); 
    585 }); 
     591this.maskCallbacks.each(function(_cf){ 
     592_cf(_cc); 
     593}); 
     594this.target=_cc; 
    586595},_unmask:function(){ 
     596var _d0=null; 
    587597if(Modal.element){ 
    588598if(Modal.snaps.length==0){ 
     
    593603Modal.element=null; 
    594604}else{ 
    595 Element.setStyle(Modal.element,{zIndex:Modal.snaps.pop()}); 
     605_d0=Modal.snaps.pop(); 
     606Element.setStyle(Modal.element,{zIndex:_d0}); 
    596607Modal.excepteds.pop(); 
    597608} 
    598609} 
    599610this.count++; 
    600 this.unmaskCallbacks.each(function(_cf){ 
    601 _cf(); 
    602 }); 
     611this.unmaskCallbacks.each(function(_d1){ 
     612_d1(); 
     613}); 
     614this.target=_d0; 
    603615},_setModalPosition:function(){ 
    604616try{ 
     
    629641},_isMasked:function(){ 
    630642return Modal.element&&Element.visible(Modal.element); 
    631 },_snap:function(_d0){ 
    632 var _d1=Element.getStyle(Modal.element,"zIndex"); 
    633 if(_d1&&Modal._isMasked()&&!Modal.hasExcepted(_d0)){ 
    634 Modal.snaps.push(_d1); 
    635 } 
    636 },_setZindex:function(_d2,_d3){ 
    637 _d3=ZindexManager.getIndex(_d3); 
    638 Element.setStyle(Modal.element,{zIndex:_d3}); 
    639 _d2=Element.makePositioned($(_d2)); 
    640 Element.setStyle(_d2,{zIndex:++_d3}); 
     643},_snap:function(_d2){ 
     644var _d3=Element.getStyle(Modal.element,"zIndex"); 
     645if(_d3&&Modal._isMasked()&&!Modal.hasExcepted(_d2)){ 
     646Modal.snaps.push(_d3); 
     647} 
     648},_setZindex:function(_d4,_d5){ 
     649_d5=ZindexManager.getIndex(_d5); 
     650Element.setStyle(Modal.element,{zIndex:_d5}); 
     651_d4=Element.makePositioned($(_d4)); 
     652Element.setStyle(_d4,{zIndex:++_d5}); 
    641653},_setFullSize:function(){ 
    642654Modal.element.setStyle({width:Element.getWindowWidth()+"px",height:Element.getWindowHeight()+"px"}); 
     
    644656Modal.cover.resetSize(); 
    645657} 
    646 },_buildMask:function(_d4){ 
    647 var _d5=Builder.node("div",{id:Modal.maskId}); 
    648 Modal._setClassNames(_d5,_d4); 
    649 document.body.appendChild(_d5); 
    650 Modal.element=_d5
     658},_buildMask:function(_d6){ 
     659var _d7=Builder.node("div",{id:Modal.maskId}); 
     660Modal._setClassNames(_d7,_d6); 
     661document.body.appendChild(_d7); 
     662Modal.element=_d7
    651663Modal._addEvent(); 
    652 },_setClassNames:function(_d6,_d7){ 
    653 var _d8=(UserAgent.isIE())?Modal.maskClassIE:Modal.maskClass; 
    654 Element.addClassName(_d6,_d8); 
    655 Element.addClassName(_d6,_d7+_d8); 
     664},_setClassNames:function(_d8,_d9){ 
     665var _da=(UserAgent.isIE())?Modal.maskClassIE:Modal.maskClass; 
     666Element.addClassName(_d8,_da); 
     667Element.addClassName(_d8,_d9+_da); 
    656668},_rebuildMask:function(){ 
    657669document.body.appendChild(Modal.element); 
     
    664676return src.spinelzMaskResult; 
    665677} 
    666 var _da=false; 
    667 var _db=this.excepteds.last(); 
    668 var _dc=src; 
    669 if(_db&&Element.descendantOf(src,_db)){ 
    670 _da=true; 
    671 }else{ 
    672 var _dd=Element.getStyle(Modal.element,"zIndex"); 
    673 var _de=null; 
     678var _dc=false; 
     679var _dd=this.excepteds.last(); 
     680var _de=src; 
     681if(_dd&&Element.descendantOf(src,_dd)){ 
     682_dc=true; 
     683}else{ 
     684var _df=Element.getStyle(Modal.element,"zIndex"); 
     685var _e0=null; 
    674686while((src=src.parentNode)&&src!=document.body){ 
    675 if(src.style&&(_de=Element.getStyle(src,"zIndex"))){ 
    676 _da=(_de>_dd); 
     687if(src.style&&(_e0=Element.getStyle(src,"zIndex"))){ 
     688_dc=(_e0>_df); 
    677689break; 
    678690} 
    679691} 
    680692} 
    681 _dc.spinelzMaskCount=this.count; 
    682 _dc.spinelzMaskResult=_da
    683 return _da
    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(_e1){ 
     693_de.spinelzMaskCount=this.count; 
     694_de.spinelzMaskResult=_dc
     695return _dc
     696},_handleEvent:function(_e1){ 
     697var src=Event.element(_e1); 
     698if(!(Modal._isOutOfModal(src)||(_e1.keyCode&&(_e1.keyCode==this.tabKey)))){ 
     699Event.stop(_e1); 
     700} 
     701},_onResize:function(_e3){ 
    690702Modal._setFullSize(); 
    691 },hasExcepted:function(_e2){ 
    692 return (Modal.excepteds||[]).any(function(_e3){ 
    693 return _e3.id==_e2.id; 
    694 }); 
    695 },_control_tab_key:function(_e4){ 
    696 if(!_e4){ 
    697 _e4=$A(document.body.getElementsByTagName("form")); 
    698 } 
    699 _e4.each(function(_e5){ 
    700 if(!Modal._isOutOfModal(_e5)){ 
    701 Form.getElements(_e5).each(function(el){ 
     703},hasExcepted:function(_e4){ 
     704return (Modal.excepteds||[]).any(function(_e5){ 
     705return _e5.id==_e4.id; 
     706}); 
     707},_control_tab_key:function(_e6){ 
     708if(!_e6){ 
     709_e6=$A(document.body.getElementsByTagName("form")); 
     710} 
     711_e6.each(function(_e7){ 
     712if(!Modal._isOutOfModal(_e7)){ 
     713Form.getElements(_e7).each(function(el){ 
    702714el.tabIndex=-1; 
    703715}); 
    704716}else{ 
    705 Form.getElements(_e5).each(function(el){ 
     717Form.getElements(_e7).each(function(el){ 
    706718el.tabIndex=null; 
    707719}); 
     
    711723var IECover=Class.create(); 
    712724IECover.src="javascript:false;"; 
    713 IECover.prototype={idSuffix:"iecover",initialize:function(_e8){ 
     725IECover.prototype={idSuffix:"iecover",initialize:function(_ea){ 
    714726this.options=Object.extend({transparent:false,padding:0},arguments[1]||{}); 
    715727if(document.all){ 
    716 _e8=$(_e8); 
    717 this.id=_e8.id.appendSuffix(this.idSuffix); 
    718 this._build(_e8); 
     728_ea=$(_ea); 
     729this.id=_ea.id.appendSuffix(this.idSuffix); 
     730this._build(_ea); 
    719731this.resetSize(); 
    720732} 
    721733},resetSize:function(){ 
    722734if(this.element){ 
    723 var _e9=this.element.parentNode; 
    724 var _ea=this.options.padding; 
    725 this.element.width=_e9.offsetWidth-_ea+"px"; 
    726 this.element.height=Element.getHeight(_e9)-_ea+"px"; 
    727 } 
    728 },_build:function(_eb){ 
    729 var _ec=this.options.padding/2; 
    730 var _ed={position:"absolute",top:_ec+"px",left:_ec+"px"}; 
     735var _eb=this.element.parentNode; 
     736var _ec=this.options.padding; 
     737this.element.width=_eb.offsetWidth-_ec+"px"; 
     738this.element.height=Element.getHeight(_eb)-_ec+"px"; 
     739} 
     740},_build:function(_ed){ 
     741var _ee=this.options.padding/2; 
     742var _ef={position:"absolute",top:_ee+"px",left:_ee+"px"}; 
    731743if(this.options.transparent){ 
    732 _ed.filter="alpha(opacity=0)"; 
    733 } 
    734 if(_eb.buildedIECover&&$(this.id)){ 
     744_ef.filter="alpha(opacity=0)"; 
     745} 
     746if(_ed.buildedIECover&&$(this.id)){ 
    735747this.element=$(this.id); 
    736748}else{ 
    737749this.element=Builder.node("iframe",{src:IECover.src,id:this.id,frameborder:0}); 
    738750} 
    739 Element.setStyle(this.element,_ed); 
    740 var _ee=Element.down(_eb,0); 
    741 if(_ee){ 
    742 Element.makePositioned(_ee); 
    743 } 
    744 _eb.insertBefore(this.element,_eb.firstChild); 
    745 _eb.buildedIECover=true; 
     751Element.setStyle(this.element,_ef); 
     752var _f0=Element.down(_ed,0); 
     753if(_f0){ 
     754Element.makePositioned(_f0); 
     755} 
     756_ed.insertBefore(this.element,_ed.firstChild); 
     757_ed.buildedIECover=true; 
    746758}}; 
    747759var UserAgent={getUserAgent:function(){ 
     
    762774var ShortcutManager=Class.create(); 
    763775ShortcutManager.prototype={initialize:function(){ 
    764 var _ef={detectKeyup:false,initialStarted:true,preventDefault:true}; 
    765 this.options=Object.extend(_ef,arguments[0]||{}); 
     776var _f1={detectKeyup:false,initialStarted:true,preventDefault:true}; 
     777this.options=Object.extend(_f1,arguments[0]||{}); 
    766778this.keydownListener=this.eventKeydown.bindAsEventListener(this); 
    767779if(this.options.detectKeyup){ 
     
    789801Event.observe(document,"keyup",this.keyupListener); 
    790802} 
    791 },add:function(c1,c2,_f2){ 
     803},add:function(c1,c2,_f4){ 
    792804if(c1.constructor==Array){ 
    793 var _f3=this; 
    794 c1.each(function(_f4){ 
    795 _f3._add_or_remove_function(_f4[0],_f4[1],_f2); 
    796 }); 
    797 }else{ 
    798 this._add_or_remove_function(c1,c2,_f2); 
     805var _f5=this; 
     806c1.each(function(_f6){ 
     807_f5._add_or_remove_function(_f6[0],_f6[1],_f4); 
     808}); 
     809}else{ 
     810this._add_or_remove_function(c1,c2,_f4); 
    799811} 
    800812},destroy:function(){ 
     
    803815Event.stopObserving(document,"keyup",this.keyupListener); 
    804816} 
    805 },eventKeydown:function(_f5){ 
     817},eventKeydown:function(_f7){ 
    806818if(this.executable){ 
    807 var _f6
     819var _f8
    808820var key=""; 
    809 _f5=_f5||window.event; 
    810 if(_f5.keyCode){ 
    811 if(_f5.altKey){ 
     821_f7=_f7||window.event; 
     822if(_f7.keyCode){ 
     823if(_f7.altKey){ 
    812824key+="a"; 
    813825} 
    814 if(_f5.ctrlKey){ 
     826if(_f7.ctrlKey){ 
    815827key+="c"; 
    816828} 
    817 if(_f5.shiftKey){ 
     829if(_f7.shiftKey){ 
    818830key+="s"; 
    819831} 
     
    821833key="n"; 
    822834} 
    823 _f6=this._mergeNumKey(_f5.keyCode); 
    824 if(this.keydownFunc[key][_f6]){ 
    825 this.keydownFunc[key][_f6](); 
     835_f8=this._mergeNumKey(_f7.keyCode); 
     836if(this.keydownFunc[key][_f8]){ 
     837this.keydownFunc[key][_f8](); 
    826838if(this.options.preventDefault){ 
    827 Event.stop(_f5); 
    828 } 
    829 } 
    830 } 
    831 } 
    832 },eventKeyup:function(_f8){ 
     839Event.stop(_f7); 
     840} 
     841} 
     842} 
     843} 
     844},eventKeyup:function(_fa){ 
    833845if(this.executable){ 
    834 var _f9
    835 _f8=_f8||window.event; 
    836 if(_f8.keyCode){ 
    837 _f9=this._mergeNumKey(_f8.keyCode); 
    838 if(this.keyupFunc[_f9]){ 
    839 this.keyupFunc[_f9](); 
     846var _fb
     847_fa=_fa||window.event; 
     848if(_fa.keyCode){ 
     849_fb=this._mergeNumKey(_fa.keyCode); 
     850if(this.keyupFunc[_fb]){ 
     851this.keyupFunc[_fb](); 
    840852if(this.options.preventDefault){ 
    841 Event.stop(_f8); 
    842 } 
    843 } 
    844 } 
    845 } 
    846 },remove:function(_fa){ 
    847 this._add_or_remove_function(_fa); 
     853Event.stop(_fa); 
     854} 
     855} 
     856} 
     857} 
     858},remove:function(_fc){ 
     859this._add_or_remove_function(_fc); 
    848860},start:function(){ 
    849861this.executable=true; 
    850862},stop:function(){ 
    851863this.executable=false; 
    852 },_add_or_remove_function:function(_fb,_fc,_fd){ 
    853 var _fe
    854 var _ff=new Array(); 
     864},_add_or_remove_function:function(_fd,_fe,_ff){ 
     865var _100
     866var _101=new Array(); 
    855867var self=this; 
    856 $A(_fb.toLowerCase().split("+")).each(function(key){ 
     868$A(_fd.toLowerCase().split("+")).each(function(key){ 
    857869if(key=="alt"){ 
    858 _ff.push("a"); 
     870_101.push("a"); 
    859871}else{ 
    860872if(key=="ctrl"){ 
    861 _ff.push("c"); 
     873_101.push("c"); 
    862874}else{ 
    863875if(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 _103
     876_101.push("s"); 
     877}else{ 
     878_100=self.keyCode[key]; 
     879} 
     880} 
     881} 
     882}); 
     883var key=_101.sortBy(function(_105,_106){ 
     884return _105
    873885}).join(""); 
    874886if(key==""){ 
    875887key="n"; 
    876888} 
    877 if(_fc){ 
    878 if(_fd){ 
    879 this.keyupFunc[_fe]=_fc
    880 }else{ 
    881 this.keydownFunc[key][_fe]=_fc
    882 } 
    883 }else{ 
    884 if(_fd){ 
    885 this.keyupFunc[_fe]=null; 
    886 }else{ 
    887 this.keydownFunc[key][_fe]=null; 
     889if(_fe){ 
     890if(_ff){ 
     891this.keyupFunc[_100]=_fe
     892}else{ 
     893this.keydownFunc[key][_100]=_fe
     894} 
     895}else{ 
     896if(_ff){ 
     897this.keyupFunc[_100]=null; 
     898}else{ 
     899this.keydownFunc[key][_100]=null; 
    888900} 
    889901} 
     
    894906var args=$A(arguments); 
    895907var self=this; 
    896 var _108=args.shift()||this; 
     908var _10a=args.shift()||this; 
    897909if(UserAgent.isIE()&&(document.readyState!="complete")){ 
    898910Event.observe(window,"load",function(){ 
    899 self.apply(_108,args); 
    900 }); 
    901 }else{ 
    902 this.apply(_108,args); 
     911self.apply(_10a,args); 
     912}); 
     913}else{ 
     914this.apply(_10a,args); 
    903915} 
    904916}; 
     
    919931document.body.focus(); 
    920932} 
    921 },concat:function(base,_10a){ 
     933},concat:function(base,_10c){ 
    922934var hash={}; 
    923 _10a.each(function(_10c){ 
    924 hash[_10c]=base.appendSuffix(_10c); 
     935_10c.each(function(_10e){ 
     936hash[_10e]=base.appendSuffix(_10e); 
    925937}); 
    926938return hash; 
    927 },getId:function(_10d){ 
    928 _10d=_10d||""; 
    929 return _10d.appendSuffix(++SpinelzUtil.idCount); 
    930 },toAttriteString:function(_10e,_10f){ 
    931 var html=_10e.map(function(pair){ 
     939},getId:function(_10f){ 
     940_10f=_10f||""; 
     941return _10f.appendSuffix(++SpinelzUtil.idCount); 
     942},toAttriteString:function(_110,_111){ 
     943var html=_110.map(function(pair){ 
    932944return pair.key+"='"+pair.value+"'"; 
    933945}).join(" "); 
    934 if(_10f&&(html.length>0)){ 
     946if(_111&&(html.length>0)){ 
    935947html=" "+html; 
    936948} 
    937949return html; 
    938 },_redrawForIE:function(_112){ 
     950},_redrawForIE:function(_114){ 
    939951if(UserAgent.isIE()){ 
    940 _112=$(_112); 
    941 if(_112){ 
     952_114=$(_114); 
     953if(_114){ 
    942954setTimeout(function(){ 
    943 Element.classNames(_112).set("dummy"); 
     955Element.classNames(_114).set("dummy"); 
    944956},200); 
    945957} 
     
    952964}); 
    953965} 
    954 var $A=Array.from=function(_113){ 
    955 if(!_113){ 
     966var $A=Array.from=function(_115){ 
     967if(!_115){ 
    956968return []; 
    957969} 
    958 if(_113.toArray){ 
    959 return _113.toArray(); 
    960 }else{ 
    961 var _114=[]; 
    962 for(var i=0,len=_113.length;i<len;i++){ 
    963 _114.push(_113[i]); 
    964 } 
    965 return _114
     970if(_115.toArray){ 
     971return _115.toArray(); 
     972}else{ 
     973var _116=[]; 
     974for(var i=0,len=_115.length;i<len;i++){ 
     975_116.push(_115[i]); 
     976} 
     977return _116
    966978} 
    967979}; 
    968980var Color=Class.create(); 
    969 Color.prototype={initialize:function(_117){ 
    970 this.color=this.parse(_117); 
    971 },toHex:function(_118){ 
    972 _118=_118||this.color; 
    973 return _118.invoke("toColorPart"); 
     981Color.prototype={initialize:function(_119){ 
     982this.color=this.parse(_119); 
     983},toHex:function(_11a){ 
     984_11a=_11a||this.color; 
     985return _11a.invoke("toColorPart"); 
    974986},invert:function(){ 
    975987return this.toCssStyle(this.color.map(function(c){ 
    976988return 255-c; 
    977989})); 
    978 },toCssStyle:function(_11a){ 
    979 _11a=_11a||this.color; 
    980 return "#"+this.toHex(_11a).join(""); 
    981 },parse:function(_11b){ 
    982 _11b=_11b||this.color; 
    983 if(_11b.match(/rgb\(\d+,\s*\d+,\s*\d+\)/)){ 
    984 return _11b.match(/\d+/g).map(function(c){ 
     990},toCssStyle:function(_11c){ 
     991_11c=_11c||this.color; 
     992return "#"+this.toHex(_11c).join(""); 
     993},parse:function(_11d){ 
     994_11d=_11d||this.color; 
     995if(_11d.match(/rgb\(\d+,\s*\d+,\s*\d+\)/)){ 
     996return _11d.match(/\d+/g).map(function(c){ 
    985997return parseInt(c,10); 
    986998}); 
    987999}else{ 
    988 if(_11b.match(/#[a-fA-F0-9]{6}/)){ 
    989 return _11b.match(/([a-fA-F0-9]){2}/g).map(function(c){ 
     1000if(_11d.match(/#[a-fA-F0-9]{6}/)){ 
     1001return _11d.match(/([a-fA-F0-9]){2}/g).map(function(c){ 
    9901002return parseInt(c,16); 
    9911003}); 
    9921004} 
    9931005} 
    994 throw "parse error: "+_11b
     1006throw "parse error: "+_11d
    9951007}}; 
    9961008var DebugConsole={_active:false,_basetime:null,_messages:null,activate:function(){ 
    9971009this._active=true; 
    998 },dump:function(_11e){ 
    999 _11e=_11e||{}; 
    1000 switch(_11e.type){ 
     1010},dump:function(_120){ 
     1011_120=_120||{}; 
     1012switch(_120.type){ 
    10011013case "alert": 
    10021014this._dump_alert(); 
     
    10091021break; 
    10101022case "update": 
    1011 this._dump_update(_11e.target); 
     1023this._dump_update(_120.target); 
    10121024break; 
    10131025default: 
     
    10241036this._messages=[]; 
    10251037} 
    1026 },log:function(_11f){ 
     1038},log:function(_121){ 
    10271039if(this._active){ 
    1028 var _120=("00000000"+(new Date()-this._basetime)).slice(-8); 
    1029 this._messages.push(_120+" : "+_11f); 
     1040var _122=("00000000"+(new Date()-this._basetime)).slice(-8); 
     1041this._messages.push(_122+" : "+_121); 
    10301042} 
    10311043},_dump_alert:function(){ 
    1032 this._messages.each(function(_121){ 
    1033 alert(_121); 
     1044this._messages.each(function(_123){ 
     1045alert(_123); 
    10341046}); 
    10351047},_dump_clipboard:function(){ 
    10361048var dump=""; 
    1037 this._messages.each(function(_123){ 
    1038 dump+=_123+"\n"; 
     1049this._messages.each(function(_125){ 
     1050dump+=_125+"\n"; 
    10391051}); 
    10401052clipboardData.setData("Text",dump); 
    10411053},_dump_console:function(){ 
    1042 this._messages.each(function(_124){ 
    1043 console.log(_124); 
    1044 }); 
    1045 },_dump_update:function(_125){ 
     1054this._messages.each(function(_126){ 
     1055console.log(_126); 
     1056}); 
     1057},_dump_update:function(_127){ 
    10461058var html=""; 
    1047 this._messages.each(function(_127){ 
    1048 html+="<p>"+_127+"</p>"; 
    1049 }); 
    1050 Element.update(_125,html); 
     1059this._messages.each(function(_129){ 
     1060html+="<p>"+_129+"</p>"; 
     1061}); 
     1062Element.update(_127,html); 
    10511063}}; 
    10521064if(UserAgent.isFF3()){ 
    1053 function __$(_128){ 
     1065function __$(_12a){ 
    10541066if(arguments.length>1){ 
    1055 for(var i=0,_12a=[],_12b=arguments.length;i<_12b;i++){ 
    1056 _12a.push($(arguments[i])); 
    1057 } 
    1058 return _12a
    1059 } 
    1060 if(typeof _128=="string"){ 
    1061 _128=document.getElementById(_128); 
    1062 } 
    1063 if(_128&&_128.nodeType==1&&!_128._extendedBySpinelz&&_128.tagName&&_128!=window){ 
    1064 _128.__getElementsByClassName=_128.getElementsByClassName; 
    1065 _128.getElementsByClassName=function(_12c){ 
    1066 return $A(_128.__getElementsByClassName(_12c)); 
     1067for(var i=0,_12c=[],_12d=arguments.length;i<_12d;i++){ 
     1068_12c.push($(arguments[i])); 
     1069} 
     1070return _12c
     1071} 
     1072if(typeof _12a=="string"){ 
     1073_12a=document.getElementById(_12a); 
     1074} 
     1075if(_12a&&_12a.nodeType==1&&!_12a._extendedBySpinelz&&_12a.tagName&&_12a!=window){ 
     1076_12a.__getElementsByClassName=_12a.getElementsByClassName; 
     1077_12a.getElementsByClassName=function(_12e){ 
     1078return $A(_12a.__getElementsByClassName(_12e)); 
    10671079}; 
    1068 _128._extendedBySpinelz=true; 
    1069 } 
    1070 return Element.extend(_128); 
     1080_12a._extendedBySpinelz=true; 
     1081} 
     1082return Element.extend(_12a); 
    10711083} 
    10721084$=__$; 
  • spinelz/trunk/compress/javascripts/spinelz_lib/spinelz_util_for_rubricks.js

    r5810 r5811  
    52225222},clearUnmaskCallback:function(){ 
    52235223this.unmaskCallbacks=[]; 
    5224 },_mask:function(_cb){ 
    5225 var _cc=Object.extend({cssPrefix:"custom_",zIndex:null},arguments[1]||{}); 
    5226 var _cd=arguments[2]; 
     5224},existTarget:function(){ 
     5225if(this.target){ 
     5226var _cb=(this.target.id)?$(this.target.id):$(this.target); 
     5227return (_cb)?Element.visible(_cb):false; 
     5228
     5229return false; 
     5230},isMasked:function(){ 
     5231return Modal.element&&Element.visible(Modal.element); 
     5232},_mask:function(_cc){ 
     5233var _cd=Object.extend({cssPrefix:"custom_",zIndex:null},arguments[1]||{}); 
     5234var _ce=arguments[2]; 
    52275235if(Modal.element){ 
    5228 Modal._snap(_cb); 
     5236Modal._snap(_cc); 
    52295237Modal._rebuildMask(); 
    52305238}else{ 
    52315239Modal.snaps=[]; 
    52325240Modal.excepteds=[]; 
    5233 Modal._buildMask(_cc.cssPrefix); 
     5241Modal._buildMask(_cd.cssPrefix); 
    52345242Modal.cover=new IECover(Modal.element,{transparent:true}); 
    52355243} 
    5236 if(_cd){ 
     5244if(_ce){ 
    52375245Element.setStyle(Modal.element,{position:"absolute"}); 
    52385246this._setModalPosition(); 
     
    52415249} 
    52425250} 
    5243 Modal._setZindex(_cb,_cc.zIndex); 
     5251Modal._setZindex(_cc,_cd.zIndex); 
    52445252Modal._setFullSize(); 
    5245 if(!Modal.hasExcepted(_cb)){ 
    5246 Modal.excepteds.push(_cb); 
     5253if(!Modal.hasExcepted(_cc)){ 
     5254Modal.excepteds.push(_cc); 
    52475255} 
    52485256this.count++; 
    5249 this.maskCallbacks.each(function(_ce){ 
    5250 _ce(_cb); 
    5251 }); 
     5257this.maskCallbacks.each(function(_cf){ 
     5258_cf(_cc); 
     5259}); 
     5260this.target=_cc; 
    52525261},_unmask:function(){ 
     5262var _d0=null; 
    52535263if(Modal.element){ 
    52545264if(Modal.snaps.length==0){ 
     
    52595269Modal.element=null; 
    52605270}else{ 
    5261 Element.setStyle(Modal.element,{zIndex:Modal.snaps.pop()}); 
     5271_d0=Modal.snaps.pop(); 
     5272Element.setStyle(Modal.element,{zIndex:_d0}); 
    52625273Modal.excepteds.pop(); 
    52635274} 
    52645275} 
    52655276this.count++; 
    5266 this.unmaskCallbacks.each(function(_cf){ 
    5267 _cf(); 
    5268 }); 
     5277this.unmaskCallbacks.each(function(_d1){ 
     5278_d1(); 
     5279}); 
     5280this.target=_d0; 
    52695281},_setModalPosition:function(){ 
    52705282try{ 
     
    52955307},_isMasked:function(){ 
    52965308return Modal.element&&Element.visible(Modal.element); 
    5297 },_snap:function(_d0){ 
    5298 var _d1=Element.getStyle(Modal.element,"zIndex"); 
    5299 if(_d1&&Modal._isMasked()&&!Modal.hasExcepted(_d0)){ 
    5300 Modal.snaps.push(_d1); 
    5301 } 
    5302 },_setZindex:function(_d2,_d3){ 
    5303 _d3=ZindexManager.getIndex(_d3); 
    5304 Element.setStyle(Modal.element,{zIndex:_d3}); 
    5305 _d2=Element.makePositioned($(_d2)); 
    5306 Element.setStyle(_d2,{zIndex:++_d3}); 
     5309},_snap:function(_d2){ 
     5310var _d3=Element.getStyle(Modal.element,"zIndex"); 
     5311if(_d3&&Modal._isMasked()&&!Modal.hasExcepted(_d2)){ 
     5312Modal.snaps.push(_d3); 
     5313} 
     5314},_setZindex:function(_d4,_d5){ 
     5315_d5=ZindexManager.getIndex(_d5); 
     5316Element.setStyle(Modal.element,{zIndex:_d5}); 
     5317_d4=Element.makePositioned($(_d4)); 
     5318Element.setStyle(_d4,{zIndex:++_d5}); 
    53075319},_setFullSize:function(){ 
    53085320Modal.element.setStyle({width:Element.getWindowWidth()+"px",height:Element.getWindowHeight()+"px"}); 
     
    53105322Modal.cover.resetSize(); 
    53115323} 
    5312 },_buildMask:function(_d4){ 
    5313 var _d5=Builder.node("div",{id:Modal.maskId}); 
    5314 Modal._setClassNames(_d5,_d4); 
    5315 document.body.appendChild(_d5); 
    5316 Modal.element=_d5
     5324},_buildMask:function(_d6){ 
     5325var _d7=Builder.node("div",{id:Modal.maskId}); 
     5326Modal._setClassNames(_d7,_d6); 
     5327document.body.appendChild(_d7); 
     5328Modal.element=_d7
    53175329Modal._addEvent(); 
    5318 },_setClassNames:function(_d6,_d7){ 
    5319 var _d8=(UserAgent.isIE())?Modal.maskClassIE:Modal.maskClass; 
    5320 Element.addClassName(_d6,_d8); 
    5321 Element.addClassName(_d6,_d7+_d8); 
     5330},_setClassNames:function(_d8,_d9){ 
     5331var _da=(UserAgent.isIE())?Modal.maskClassIE:Modal.maskClass; 
     5332Element.addClassName(_d8,_da); 
     5333Element.addClassName(_d8,_d9+_da); 
    53225334},_rebuildMask:function(){ 
    53235335document.body.appendChild(Modal.element); 
     
    53305342return src.spinelzMaskResult; 
    53315343} 
    5332 var _da=false; 
    5333 var _db=this.excepteds.last(); 
    5334 var _dc=src; 
    5335 if(_db&&Element.descendantOf(src,_db)){ 
    5336 _da=true; 
    5337 }else{ 
    5338 var _dd=Element.getStyle(Modal.element,"zIndex"); 
    5339 var _de=null; 
     5344var _dc=false; 
     5345var _dd=this.excepteds.last(); 
     5346var _de=src; 
     5347if(_dd&&Element.descendantOf(src,_dd)){ 
     5348_dc=true; 
     5349}else{ 
     5350var _df=Element.getStyle(Modal.element,"zIndex"); 
     5351var _e0=null; 
    53405352while((src=src.parentNode)&&src!=document.body){ 
    5341 if(src.style&&(_de=Element.getStyle(src,"zIndex"))){ 
    5342 _da=(_de>_dd); 
     5353if(src.style&&(_e0=Element.getStyle(src,"zIndex"))){ 
     5354_dc=(_e0>_df); 
    53435355break; 
    53445356} 
    53455357} 
    53465358} 
    5347 _dc.spinelzMaskCount=this.count; 
    5348 _dc.spinelzMaskResult=_da
    5349 return _da
    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(_e1){ 
     5359_de.spinelzMaskCount=this.count; 
     5360_de.spinelzMaskResult=_dc
     5361return _dc
     5362},_handleEvent:function(_e1){ 
     5363var src=Event.element(_e1); 
     5364if(!(Modal._isOutOfModal(src)||(_e1.keyCode&&(_e1.keyCode==this.tabKey)))){ 
     5365Event.stop(_e1); 
     5366} 
     5367},_onResize:function(_e3){ 
    53565368Modal._setFullSize(); 
    5357 },hasExcepted:function(_e2){ 
    5358 return (Modal.excepteds||[]).any(function(_e3){ 
    5359 return _e3.id==_e2.id; 
    5360 }); 
    5361 },_control_tab_key:function(_e4){ 
    5362 if(!_e4){ 
    5363 _e4=$A(document.body.getElementsByTagName("form")); 
    5364 } 
    5365 _e4.each(function(_e5){ 
    5366 if(!Modal._isOutOfModal(_e5)){ 
    5367 Form.getElements(_e5).each(function(el){ 
     5369},hasExcepted:function(_e4){ 
     5370return (Modal.excepteds||[]).any(function(_e5){ 
     5371return _e5.id==_e4.id; 
     5372}); 
     5373},_control_tab_key:function(_e6){ 
     5374if(!_e6){ 
     5375_e6=$A(document.body.getElementsByTagName("form")); 
     5376} 
     5377_e6.each(function(_e7){ 
     5378if(!Modal._isOutOfModal(_e7)){ 
     5379Form.getElements(_e7).each(function(el){ 
    53685380el.tabIndex=-1; 
    53695381}); 
    53705382}else{ 
    5371 Form.getElements(_e5).each(function(el){ 
     5383Form.getElements(_e7).each(function(el){ 
    53725384el.tabIndex=null; 
    53735385}); 
     
    53775389var IECover=Class.create(); 
    53785390IECover.src="javascript:false;"; 
    5379 IECover.prototype={idSuffix:"iecover",initialize:function(_e8){ 
     5391IECover.prototype={idSuffix:"iecover",initialize:function(_ea){ 
    53805392this.options=Object.extend({transparent:false,padding:0},arguments[1]||{}); 
    53815393if(document.all){ 
    5382 _e8=$(_e8); 
    5383 this.id=_e8.id.appendSuffix(this.idSuffix); 
    5384 this._build(_e8); 
     5394_ea=$(_ea); 
     5395this.id=_ea.id.appendSuffix(this.idSuffix); 
     5396this._build(_ea); 
    53855397this.resetSize(); 
    53865398} 
    53875399},resetSize:function(){ 
    53885400if(this.element){ 
    5389 var _e9=this.element.parentNode; 
    5390 var _ea=this.options.padding; 
    5391 this.element.width=_e9.offsetWidth-_ea+"px"; 
    5392 this.element.height=Element.getHeight(_e9)-_ea+"px"; 
    5393 } 
    5394 },_build:function(_eb){ 
    5395 var _ec=this.options.padding/2; 
    5396 var _ed={position:"absolute",top:_ec+"px",left:_ec+"px"}; 
     5401var _eb=this.element.parentNode; 
     5402var _ec=this.options.padding; 
     5403this.element.width=_eb.offsetWidth-_ec+"px"; 
     5404this.element.height=Element.getHeight(_eb)-_ec+"px"; 
     5405} 
     5406},_build:function(_ed){ 
     5407var _ee=this.options.padding/2; 
     5408var _ef={position:"absolute",top:_ee+"px",left:_ee+"px"}; 
    53975409if(this.options.transparent){ 
    5398 _ed.filter="alpha(opacity=0)"; 
    5399 } 
    5400 if(_eb.buildedIECover&&$(this.id)){ 
     5410_ef.filter="alpha(opacity=0)"; 
     5411} 
     5412if(_ed.buildedIECover&&$(this.id)){ 
    54015413this.element=$(this.id); 
    54025414}else{ 
    54035415this.element=Builder.node("iframe",{src:IECover.src,id:this.id,frameborder:0}); 
    54045416} 
    5405 Element.setStyle(this.element,_ed); 
    5406 var _ee=Element.down(_eb,0); 
    5407 if(_ee){ 
    5408 Element.makePositioned(_ee); 
    5409 } 
    5410 _eb.insertBefore(this.element,_eb.firstChild); 
    5411 _eb.buildedIECover=true; 
     5417Element.setStyle(this.element,_ef); 
     5418var _f0=Element.down(_ed,0); 
     5419if(_f0){ 
     5420Element.makePositioned(_f0); 
     5421} 
     5422_ed.insertBefore(this.element,_ed.firstChild); 
     5423_ed.buildedIECover=true; 
    54125424}}; 
    54135425var UserAgent={getUserAgent:function(){ 
     
    54285440var ShortcutManager=Class.create(); 
    54295441ShortcutManager.prototype={initialize:function(){ 
    5430 var _ef={detectKeyup:false,initialStarted:true,preventDefault:true}; 
    5431 this.options=Object.extend(_ef,arguments[0]||{}); 
     5442var _f1={detectKeyup:false,initialStarted:true,preventDefault:true}; 
     5443this.options=Object.extend(_f1,arguments[0]||{}); 
    54325444this.keydownListener=this.eventKeydown.bindAsEventListener(this); 
    54335445if(this.options.detectKeyup){ 
     
    54555467Event.observe(document,"keyup",this.keyupListener); 
    54565468} 
    5457 },add:function(c1,c2,_f2){ 
     5469},add:function(c1,c2,_f4){ 
    54585470if(c1.constructor==Array){ 
    5459 var _f3=this; 
    5460 c1.each(function(_f4){ 
    5461 _f3._add_or_remove_function(_f4[0],_f4[1],_f2); 
    5462 }); 
    5463 }else{ 
    5464 this._add_or_remove_function(c1,c2,_f2); 
     5471var _f5=this; 
     5472c1.each(function(_f6){ 
     5473_f5._add_or_remove_function(_f6[0],_f6[1],_f4); 
     5474}); 
     5475}else{ 
     5476this._add_or_remove_function(c1,c2,_f4); 
    54655477} 
    54665478},destroy:function(){ 
     
    54695481Event.stopObserving(document,"keyup",this.keyupListener); 
    54705482} 
    5471 },eventKeydown:function(_f5){ 
     5483},eventKeydown:function(_f7){ 
    54725484if(this.executable){ 
    5473 var _f6
     5485var _f8
    54745486var key=""; 
    5475 _f5=_f5||window.event; 
    5476 if(_f5.keyCode){ 
    5477 if(_f5.altKey){ 
     5487_f7=_f7||window.event; 
     5488if(_f7.keyCode){ 
     5489if(_f7.altKey){ 
    54785490key+="a"; 
    54795491} 
    5480 if(_f5.ctrlKey){ 
     5492if(_f7.ctrlKey){ 
    54815493key+="c"; 
    54825494} 
    5483 if(_f5.shiftKey){ 
     5495if(_f7.shiftKey){ 
    54845496key+="s"; 
    54855497} 
     
    54875499key="n"; 
    54885500} 
    5489 _f6=this._mergeNumKey(_f5.keyCode); 
    5490 if(this.keydownFunc[key][_f6]){ 
    5491 this.keydownFunc[key][_f6](); 
     5501_f8=this._mergeNumKey(_f7.keyCode); 
     5502if(this.keydownFunc[key][_f8]){ 
     5503this.keydownFunc[key][_f8](); 
    54925504if(this.options.preventDefault){ 
    5493 Event.stop(_f5); 
    5494 } 
    5495 } 
    5496 } 
    5497 } 
    5498 },eventKeyup:function(_f8){ 
     5505Event.stop(_f7); 
     5506} 
     5507} 
     5508} 
     5509} 
     5510},eventKeyup:function(_fa){ 
    54995511if(this.executable){ 
    5500 var _f9
    5501 _f8=_f8||window.event; 
    5502 if(_f8.keyCode){ 
    5503 _f9=this._mergeNumKey(_f8.keyCode); 
    5504 if(this.keyupFunc[_f9]){ 
    5505 this.keyupFunc[_f9](); 
     5512var _fb
     5513_fa=_fa||window.event; 
     5514if(_fa.keyCode){ 
     5515_fb=this._mergeNumKey(_fa.keyCode); 
     5516if(this.keyupFunc[_fb]){ 
     5517this.keyupFunc[_fb](); 
    55065518if(this.options.preventDefault){ 
    5507 Event.stop(_f8); 
    5508 } 
    5509 } 
    5510 } 
    5511 } 
    5512 },remove:function(_fa){ 
    5513 this._add_or_remove_function(_fa); 
     5519Event.stop(_fa); 
     5520} 
     5521} 
     5522} 
     5523} 
     5524},remove:function(_fc){ 
     5525this._add_or_remove_function(_fc); 
    55145526},start:function(){ 
    55155527this.executable=true; 
    55165528},stop:function(){ 
    55175529this.executable=false; 
    5518 },_add_or_remove_function:function(_fb,_fc,_fd){ 
    5519 var _fe
    5520 var _ff=new Array(); 
     5530},_add_or_remove_function:function(_fd,_fe,_ff){ 
     5531var _100
     5532var _101=new Array(); 
    55215533var self=this; 
    5522 $A(_fb.toLowerCase().split("+")).each(function(key){ 
     5534$A(_fd.toLowerCase().split("+")).each(function(key){ 
    55235535if(key=="alt"){ 
    5524 _ff.push("a"); 
     5536_101.push("a"); 
    55255537}else{ 
    55265538if(key=="ctrl"){ 
    5527 _ff.push("c"); 
     5539_101.push("c"); 
    55285540}else{ 
    55295541if(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 _103
     5542_101.push("s"); 
     5543}else{ 
     5544_100=self.keyCode[key]; 
     5545} 
     5546} 
     5547} 
     5548}); 
     5549var key=_101.sortBy(function(_105,_106){ 
     5550return _105
    55395551}).join(""); 
    55405552if(key==""){ 
    55415553key="n"; 
    55425554} 
    5543 if(_fc){ 
    5544 if(_fd){ 
    5545 this.keyupFunc[_fe]=_fc
    5546 }else{ 
    5547 this.keydownFunc[key][_fe]=_fc
    5548 } 
    5549 }else{ 
    5550 if(_fd){ 
    5551 this.keyupFunc[_fe]=null; 
    5552 }else{ 
    5553 this.keydownFunc[key][_fe]=null; 
     5555if(_fe){ 
     5556if(_ff){ 
     5557this.keyupFunc[_100]=_fe
     5558}else{ 
     5559this.keydownFunc[key][_100]=_fe
     5560} 
     5561}else{ 
     5562if(_ff){ 
     5563this.keyupFunc[_100]=null; 
     5564}else{ 
     5565this.keydownFunc[key][_100]=null; 
    55545566} 
    55555567} 
     
    55605572var args=$A(arguments); 
    55615573var self=this; 
    5562 var _108=args.shift()||this; 
     5574var _10a=args.shift()||this; 
    55635575if(UserAgent.isIE()&&(document.readyState!="complete")){ 
    55645576Event.observe(window,"load",function(){ 
    5565 self.apply(_108,args); 
    5566 }); 
    5567 }else{ 
    5568 this.apply(_108,args); 
     5577self.apply(_10a,args); 
     5578}); 
     5579}else{ 
     5580this.apply(_10a,args); 
    55695581} 
    55705582}; 
     
    55855597document.body.focus(); 
    55865598} 
    5587 },concat:function(base,_10a){ 
     5599},concat:function(base,_10c){ 
    55885600var hash={}; 
    5589 _10a.each(function(_10c){ 
    5590 hash[_10c]=base.appendSuffix(_10c); 
     5601_10c.each(function(_10e){ 
     5602hash[_10e]=base.appendSuffix(_10e); 
    55915603}); 
    55925604return hash; 
    5593 },getId:function(_10d){ 
    5594 _10d=_10d||""; 
    5595 return _10d.appendSuffix(++SpinelzUtil.idCount); 
    5596 },toAttriteString:function(_10e,_10f){ 
    5597 var html=_10e.map(function(pair){ 
     5605},getId:function(_10f){ 
     5606_10f=_10f||""; 
     5607return _10f.appendSuffix(++SpinelzUtil.idCount); 
     5608},toAttriteString:function(_110,_111){ 
     5609var html=_110.map(function(pair){ 
    55985610return pair.key+"='"+pair.value+"'"; 
    55995611}).join(" "); 
    5600 if(_10f&&(html.length>0)){ 
     5612if(_111&&(html.length>0)){ 
    56015613html=" "+html; 
    56025614} 
    56035615return html; 
    5604 },_redrawForIE:function(_112){ 
     5616},_redrawForIE:function(_114){ 
    56055617if(UserAgent.isIE()){ 
    5606 _112=$(_112); 
    5607 if(_112){ 
     5618_114=$(_114); 
     5619if(_114){ 
    56085620setTimeout(function(){ 
    5609 Element.classNames(_112).set("dummy"); 
     5621Element.classNames(_114).set("dummy"); 
    56105622},200); 
    56115623} 
     
    56185630}); 
    56195631} 
    5620 var $A=Array.from=function(_113){ 
    5621 if(!_113){ 
     5632var $A=Array.from=function(_115){ 
     5633if(!_115){ 
    56225634return []; 
    56235635} 
    5624 if(_113.toArray){ 
    5625 return _113.toArray(); 
    5626 }else{ 
    5627 var _114=[]; 
    5628 for(var i=0,len=_113.length;i<len;i++){ 
    5629 _114.push(_113[i]); 
    5630 } 
    5631 return _114
     5636if(_115.toArray){ 
     5637return _115.toArray(); 
     5638}else{ 
     5639var _116=[]; 
     5640for(var i=0,len=_115.length;i<len;i++){ 
     5641_116.push(_115[i]); 
     5642} 
     5643return _116
    56325644} 
    56335645}; 
    56345646var Color=Class.create(); 
    5635 Color.prototype={initialize:function(_117){ 
    5636 this.color=this.parse(_117); 
    5637 },toHex:function(_118){ 
    5638 _118=_118||this.color; 
    5639 return _118.invoke("toColorPart"); 
     5647Color.prototype={initialize:function(_119){ 
     5648this.color=this.parse(_119); 
     5649},toHex:function(_11a){ 
     5650_11a=_11a||this.color; 
     5651return _11a.invoke("toColorPart"); 
    56405652},invert:function(){ 
    56415653return this.toCssStyle(this.color.map(function(c){ 
    56425654return 255-c; 
    56435655})); 
    5644 },toCssStyle:function(_11a){ 
    5645 _11a=_11a||this.color; 
    5646 return "#"+this.toHex(_11a).join(""); 
    5647 },parse:function(_11b){ 
    5648 _11b=_11b||this.color; 
    5649 if(_11b.match(/rgb\(\d+,\s*\d+,\s*\d+\)/)){ 
    5650 return _11b.match(/\d+/g).map(function(c){ 
     5656},toCssStyle:function(_11c){ 
     5657_11c=_11c||this.color; 
     5658return "#"+this.toHex(_11c).join(""); 
     5659},parse:function(_11d){ 
     5660_11d=_11d||this.color; 
     566