Changeset 5693

Show
Ignore:
Timestamp:
03/06/08 19:38:04 (9 months ago)
Author:
kinoshita
Message:

3943

Files:

Legend:

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

    r5692 r5693  
    54755475} 
    54765476if(this.options.modal){ 
    5477 Modal.unmask(UserAgent.isMac()); 
     5477Modal.unmask(); 
    54785478} 
    54795479this.options.endClose(this); 
  • spinelz/trunk/compress/javascripts/spinelz/window.js

    r5692 r5693  
    224224} 
    225225if(this.options.modal){ 
    226 Modal.unmask(UserAgent.isMac()); 
     226Modal.unmask(); 
    227227} 
    228228this.options.endClose(this); 
  • spinelz/trunk/compress/javascripts/spinelz_lib/spinelz_util.js

    r5692 r5693  
    472472return _a1; 
    473473}}; 
    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){ 
     474var 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){ 
    475475this._mask.callAfterLoading(this,_a2,_a3,_a4); 
    476476this._control_tab_key(); 
    477 },unmask:function(_a5){ 
    478 this._unmask(_a5); 
     477},unmask:function(){ 
     478this._unmask(); 
    479479this._control_tab_key(); 
    480480},unmaskAll:function(){ 
    481481var max=10; 
    482 var _a7=0; 
    483 while(this._isMasked()&&(_a7<max)){ 
     482var _a6=0; 
     483while(this._isMasked()&&(_a6<max)){ 
    484484this._unmask(); 
    485 _a7++; 
     485_a6++; 
    486486} 
    487487this._control_tab_key(); 
    488 },addMaskCallback:function(_a8){ 
     488},addMaskCallback:function(_a7){ 
    489489if(!this.maskCallbacks.any(function(c){ 
    490 return c==_a8
     490return c==_a7
    491491})){ 
    492 this.maskCallbacks.push(_a8); 
    493 } 
    494 },removeMaskCallback:function(_aa){ 
     492this.maskCallbacks.push(_a7); 
     493} 
     494},removeMaskCallback:function(_a9){ 
    495495this.maskCallbacks=this.maskCallbacks.reject(function(c){ 
    496 return c==_aa
     496return c==_a9
    497497}); 
    498498},clearMaskCallback:function(){ 
    499499this.maskCallbacks=[]; 
    500 },addUnmaskCallback:function(_ac){ 
     500},addUnmaskCallback:function(_ab){ 
    501501if(!this.unmaskCallbacks.any(function(c){ 
    502 return c==_ac
     502return c==_ab
    503503})){ 
    504 this.unmaskCallbacks.push(_ac); 
    505 } 
    506 },removeUnmaskCallback:function(_ae){ 
     504this.unmaskCallbacks.push(_ab); 
     505} 
     506},removeUnmaskCallback:function(_ad){ 
    507507this.unmaskCallbacks=this.unmaskCallbacks.reject(function(c){ 
    508 return c==_ae
     508return c==_ad
    509509}); 
    510510},clearUnmaskCallback:function(){ 
    511511this.unmaskCallbacks=[]; 
    512 },_mask:function(_b0){ 
    513 var _b1=Object.extend({cssPrefix:"custom_",zIndex:null},arguments[1]||{}); 
    514 var _b2=arguments[2]; 
     512},_mask:function(_af){ 
     513var _b0=Object.extend({cssPrefix:"custom_",zIndex:null},arguments[1]||{}); 
     514var _b1=arguments[2]; 
    515515if(Modal.element){ 
    516 Modal._snap(_b0); 
     516Modal._snap(_af); 
    517517Modal._rebuildMask(); 
    518518}else{ 
    519519Modal.snaps=[]; 
    520520Modal.excepteds=[]; 
    521 Modal._buildMask(_b1.cssPrefix); 
     521Modal._buildMask(_b0.cssPrefix); 
    522522Modal.cover=new IECover(Modal.element,{transparent:true}); 
    523523} 
    524 if(_b2){ 
    525 document.body.style.overflow="hidden"; 
     524if(_b1){ 
    526525Element.setStyle(Modal.element,{position:"absolute"}); 
    527 
    528 Modal._setZindex(_b0,_b1.zIndex); 
     526this._setModalPosition(); 
     527if(!Modal.timer){ 
     528Modal.timer=setInterval(this._setModalPosition.bind(this),100); 
     529
     530
     531Modal._setZindex(_af,_b0.zIndex); 
    529532Modal._setFullSize(); 
    530 if(!Modal.hasExcepted(_b0)){ 
    531 Modal.excepteds.push(_b0); 
     533if(!Modal.hasExcepted(_af)){ 
     534Modal.excepteds.push(_af); 
    532535} 
    533536this.count++; 
    534 this.maskCallbacks.each(function(_b3){ 
    535 _b3(_b0); 
    536 }); 
    537 },_unmask:function(_b4){ 
     537this.maskCallbacks.each(function(_b2){ 
     538_b2(_af); 
     539}); 
     540},_unmask:function(){ 
    538541if(Modal.element){ 
    539542if(Modal.snaps.length==0){ 
     
    543546Element.remove(Modal.element); 
    544547Modal.element=null; 
    545 if(_b4){ 
    546 document.body.style.overflow="visible"; 
    547 } 
    548548}else{ 
    549549Element.setStyle(Modal.element,{zIndex:Modal.snaps.pop()}); 
     
    552552} 
    553553this.count++; 
    554 this.unmaskCallbacks.each(function(_b5){ 
    555 _b5(); 
    556 }); 
     554this.unmaskCallbacks.each(function(_b3){ 
     555_b3(); 
     556}); 
     557},_setModalPosition:function(){ 
     558try{ 
     559if(Modal.element){ 
     560Element.setStyle(Modal.element,{top:(document.documentElement.scrollTop||document.body.scrollTop)+"px",left:(document.documentElement.scrollLeft||document.body.scrollLeft)+"px"}); 
     561}else{ 
     562Modal._clearTimer(); 
     563
     564
     565catch(e){ 
     566Modal._clearTimer(); 
     567
     568},_clearTimer:function(){ 
     569if(Modal.timer){ 
     570clearInterval(Modal.timer); 
     571Modal.timer=null; 
     572
    557573},_addEvent:function(){ 
    558574if(!Modal.listener){ 
     
    567583},_isMasked:function(){ 
    568584return Modal.element&&Element.visible(Modal.element); 
    569 },_snap:function(_b6){ 
    570 var _b7=Element.getStyle(Modal.element,"zIndex"); 
    571 if(_b7&&Modal._isMasked()&&!Modal.hasExcepted(_b6)){ 
    572 Modal.snaps.push(_b7); 
    573 } 
    574 },_setZindex:function(_b8,_b9){ 
    575 _b9=ZindexManager.getIndex(_b9); 
    576 Element.setStyle(Modal.element,{zIndex:_b9}); 
    577 _b8=Element.makePositioned($(_b8)); 
    578 Element.setStyle(_b8,{zIndex:++_b9}); 
     585},_snap:function(_b4){ 
     586var _b5=Element.getStyle(Modal.element,"zIndex"); 
     587if(_b5&&Modal._isMasked()&&!Modal.hasExcepted(_b4)){ 
     588Modal.snaps.push(_b5); 
     589} 
     590},_setZindex:function(_b6,_b7){ 
     591_b7=ZindexManager.getIndex(_b7); 
     592Element.setStyle(Modal.element,{zIndex:_b7}); 
     593_b6=Element.makePositioned($(_b6)); 
     594Element.setStyle(_b6,{zIndex:++_b7}); 
    579595},_setFullSize:function(){ 
    580596Modal.element.setStyle({width:Element.getWindowWidth()+"px",height:Element.getWindowHeight()+"px"}); 
     
    582598Modal.cover.resetSize(); 
    583599} 
    584 },_buildMask:function(_ba){ 
    585 var _bb=Builder.node("div",{id:Modal.maskId}); 
    586 Modal._setClassNames(_bb,_ba); 
    587 document.body.appendChild(_bb); 
    588 Modal.element=_bb
     600},_buildMask:function(_b8){ 
     601var _b9=Builder.node("div",{id:Modal.maskId}); 
     602Modal._setClassNames(_b9,_b8); 
     603document.body.appendChild(_b9); 
     604Modal.element=_b9
    589605Modal._addEvent(); 
    590 },_setClassNames:function(_bc,_bd){ 
    591 var _be=(UserAgent.isIE())?Modal.maskClassIE:Modal.maskClass; 
    592 Element.addClassName(_bc,_be); 
    593 Element.addClassName(_bc,_bd+_be); 
     606},_setClassNames:function(_ba,_bb){ 
     607var _bc=(UserAgent.isIE())?Modal.maskClassIE:Modal.maskClass; 
     608Element.addClassName(_ba,_bc); 
     609Element.addClassName(_ba,_bb+_bc); 
    594610},_rebuildMask:function(){ 
    595611document.body.appendChild(Modal.element); 
     
    602618return src.spinelzMaskResult; 
    603619} 
    604 var _c0=false; 
    605 var _c1=this.excepteds.last(); 
    606 var _c2=src; 
    607 if(_c1&&Element.descendantOf(src,_c1)){ 
    608 _c0=true; 
    609 }else{ 
    610 var _c3=Element.getStyle(Modal.element,"zIndex"); 
    611 var _c4=null; 
     620var _be=false; 
     621var _bf=this.excepteds.last(); 
     622var _c0=src; 
     623if(_bf&&Element.descendantOf(src,_bf)){ 
     624_be=true; 
     625}else{ 
     626var _c1=Element.getStyle(Modal.element,"zIndex"); 
     627var _c2=null; 
    612628while((src=src.parentNode)&&src!=document.body){ 
    613 if(src.style&&(_c4=Element.getStyle(src,"zIndex"))){ 
    614 _c0=(_c4>_c3); 
     629if(src.style&&(_c2=Element.getStyle(src,"zIndex"))){ 
     630_be=(_c2>_c1); 
    615631break; 
    616632} 
    617633} 
    618634} 
    619 _c2.spinelzMaskCount=this.count; 
    620 _c2.spinelzMaskResult=_c0
    621 return _c0
    622 },_handleEvent:function(_c5){ 
    623 var src=Event.element(_c5); 
    624 if(!(Modal._isOutOfModal(src)||(_c5.keyCode&&(_c5.keyCode==this.tabKey)))){ 
    625 Event.stop(_c5); 
    626 } 
    627 },_onResize:function(_c7){ 
     635_c0.spinelzMaskCount=this.count; 
     636_c0.spinelzMaskResult=_be
     637return _be
     638},_handleEvent:function(_c3){ 
     639var src=Event.element(_c3); 
     640if(!(Modal._isOutOfModal(src)||(_c3.keyCode&&(_c3.keyCode==this.tabKey)))){ 
     641Event.stop(_c3); 
     642} 
     643},_onResize:function(_c5){ 
    628644Modal._setFullSize(); 
    629 },hasExcepted:function(_c8){ 
    630 return (Modal.excepteds||[]).any(function(_c9){ 
    631 return _c9.id==_c8.id; 
    632 }); 
    633 },_control_tab_key:function(_ca){ 
    634 if(!_ca){ 
    635 _ca=$A(document.body.getElementsByTagName("form")); 
    636 } 
    637 _ca.each(function(_cb){ 
    638 if(!Modal._isOutOfModal(_cb)){ 
    639 Form.getElements(_cb).each(function(el){ 
     645},hasExcepted:function(_c6){ 
     646return (Modal.excepteds||[]).any(function(_c7){ 
     647return _c7.id==_c6.id; 
     648}); 
     649},_control_tab_key:function(_c8){ 
     650if(!_c8){ 
     651_c8=$A(document.body.getElementsByTagName("form")); 
     652} 
     653_c8.each(function(_c9){ 
     654if(!Modal._isOutOfModal(_c9)){ 
     655Form.getElements(_c9).each(function(el){ 
    640656el.tabIndex=-1; 
    641657}); 
    642658}else{ 
    643 Form.getElements(_cb).each(function(el){ 
     659Form.getElements(_c9).each(function(el){ 
    644660el.tabIndex=null; 
    645661}); 
     
    649665var IECover=Class.create(); 
    650666IECover.src="javascript:false;"; 
    651 IECover.prototype={idSuffix:"iecover",initialize:function(_ce){ 
     667IECover.prototype={idSuffix:"iecover",initialize:function(_cc){ 
    652668this.options=Object.extend({transparent:false,padding:0},arguments[1]||{}); 
    653669if(document.all){ 
    654 _ce=$(_ce); 
    655 this.id=_ce.id.appendSuffix(this.idSuffix); 
    656 this._build(_ce); 
     670_cc=$(_cc); 
     671this.id=_cc.id.appendSuffix(this.idSuffix); 
     672this._build(_cc); 
    657673this.resetSize(); 
    658674} 
    659675},resetSize:function(){ 
    660676if(this.element){ 
    661 var _cf=this.element.parentNode; 
    662 var _d0=this.options.padding; 
    663 this.element.width=_cf.offsetWidth-_d0+"px"; 
    664 this.element.height=Element.getHeight(_cf)-_d0+"px"; 
    665 } 
    666 },_build:function(_d1){ 
    667 var _d2=this.options.padding/2; 
    668 var _d3={position:"absolute",top:_d2+"px",left:_d2+"px"}; 
     677var _cd=this.element.parentNode; 
     678var _ce=this.options.padding; 
     679this.element.width=_cd.offsetWidth-_ce+"px"; 
     680this.element.height=Element.getHeight(_cd)-_ce+"px"; 
     681} 
     682},_build:function(_cf){ 
     683var _d0=this.options.padding/2; 
     684var _d1={position:"absolute",top:_d0+"px",left:_d0+"px"}; 
    669685if(this.options.transparent){ 
    670 _d3.filter="alpha(opacity=0)"; 
    671 } 
    672 if(_d1.buildedIECover&&$(this.id)){ 
     686_d1.filter="alpha(opacity=0)"; 
     687} 
     688if(_cf.buildedIECover&&$(this.id)){ 
    673689this.element=$(this.id); 
    674690}else{ 
    675691this.element=Builder.node("iframe",{src:IECover.src,id:this.id,frameborder:0}); 
    676692} 
    677 Element.setStyle(this.element,_d3); 
    678 var _d4=Element.down(_d1,0); 
    679 if(_d4){ 
    680 Element.makePositioned(_d4); 
    681 } 
    682 _d1.insertBefore(this.element,_d1.firstChild); 
    683 _d1.buildedIECover=true; 
     693Element.setStyle(this.element,_d1); 
     694var _d2=Element.down(_cf,0); 
     695if(_d2){ 
     696Element.makePositioned(_d2); 
     697} 
     698_cf.insertBefore(this.element,_cf.firstChild); 
     699_cf.buildedIECover=true; 
    684700}}; 
    685701var UserAgent={getUserAgent:function(){ 
     
    696712var ShortcutManager=Class.create(); 
    697713ShortcutManager.prototype={initialize:function(){ 
    698 var _d5={detectKeyup:false,initialStarted:true,preventDefault:true}; 
    699 this.options=Object.extend(_d5,arguments[0]||{}); 
     714var _d3={detectKeyup:false,initialStarted:true,preventDefault:true}; 
     715this.options=Object.extend(_d3,arguments[0]||{}); 
    700716this.keydownListener=this.eventKeydown.bindAsEventListener(this); 
    701717if(this.options.detectKeyup){ 
     
    723739Event.observe(document,"keyup",this.keyupListener); 
    724740} 
    725 },add:function(c1,c2,_d8){ 
     741},add:function(c1,c2,_d6){ 
    726742if(c1.constructor==Array){ 
    727 var _d9=this; 
    728 c1.each(function(_da){ 
    729 _d9._add_or_remove_function(_da[0],_da[1],_d8); 
    730 }); 
    731 }else{ 
    732 this._add_or_remove_function(c1,c2,_d8); 
     743var _d7=this; 
     744c1.each(function(_d8){ 
     745_d7._add_or_remove_function(_d8[0],_d8[1],_d6); 
     746}); 
     747}else{ 
     748this._add_or_remove_function(c1,c2,_d6); 
    733749} 
    734750},destroy:function(){ 
     
    737753Event.stopObserving(document,"keyup",this.keyupListener); 
    738754} 
    739 },eventKeydown:function(_db){ 
     755},eventKeydown:function(_d9){ 
    740756if(this.executable){ 
    741 var _dc
     757var _da
    742758var key=""; 
    743 _db=_db||window.event; 
    744 if(_db.keyCode){ 
    745 if(_db.altKey){ 
     759_d9=_d9||window.event; 
     760if(_d9.keyCode){ 
     761if(_d9.altKey){ 
    746762key+="a"; 
    747763} 
    748 if(_db.ctrlKey){ 
     764if(_d9.ctrlKey){ 
    749765key+="c"; 
    750766} 
    751 if(_db.shiftKey){ 
     767if(_d9.shiftKey){ 
    752768key+="s"; 
    753769} 
     
    755771key="n"; 
    756772} 
    757 _dc=this._mergeNumKey(_db.keyCode); 
    758 if(this.keydownFunc[key][_dc]){ 
    759 this.keydownFunc[key][_dc](); 
     773_da=this._mergeNumKey(_d9.keyCode); 
     774if(this.keydownFunc[key][_da]){ 
     775this.keydownFunc[key][_da](); 
    760776if(this.options.preventDefault){ 
    761 Event.stop(_db); 
    762 } 
    763 } 
    764 } 
    765 } 
    766 },eventKeyup:function(_de){ 
     777Event.stop(_d9); 
     778} 
     779} 
     780} 
     781} 
     782},eventKeyup:function(_dc){ 
    767783if(this.executable){ 
    768 var _df
    769 _de=_de||window.event; 
    770 if(_de.keyCode){ 
    771 _df=this._mergeNumKey(_de.keyCode); 
    772 if(this.keyupFunc[_df]){ 
    773 this.keyupFunc[_df](); 
     784var _dd
     785_dc=_dc||window.event; 
     786if(_dc.keyCode){ 
     787_dd=this._mergeNumKey(_dc.keyCode); 
     788if(this.keyupFunc[_dd]){ 
     789this.keyupFunc[_dd](); 
    774790if(this.options.preventDefault){ 
    775 Event.stop(_de); 
    776 } 
    777 } 
    778 } 
    779 } 
    780 },remove:function(_e0){ 
    781 this._add_or_remove_function(_e0); 
     791Event.stop(_dc); 
     792} 
     793} 
     794} 
     795} 
     796},remove:function(_de){ 
     797this._add_or_remove_function(_de); 
    782798},start:function(){ 
    783799this.executable=true; 
    784800},stop:function(){ 
    785801this.executable=false; 
    786 },_add_or_remove_function:function(_e1,_e2,_e3){ 
    787 var _e4
    788 var _e5=new Array(); 
    789 var _e6=this; 
    790 $A(_e1.toLowerCase().split("+")).each(function(key){ 
     802},_add_or_remove_function:function(_df,_e0,_e1){ 
     803var _e2
     804var _e3=new Array(); 
     805var _e4=this; 
     806$A(_df.toLowerCase().split("+")).each(function(key){ 
    791807if(key=="alt"){ 
    792 _e5.push("a"); 
     808_e3.push("a"); 
    793809}else{ 
    794810if(key=="ctrl"){ 
    795 _e5.push("c"); 
     811_e3.push("c"); 
    796812}else{ 
    797813if(key=="shift"){ 
    798 _e5.push("s"); 
    799 }else{ 
    800 _e4=_e6.keyCode[key]; 
    801 } 
    802 } 
    803 } 
    804 }); 
    805 var key=_e5.sortBy(function(_e9,_ea){ 
    806 return _e9
     814_e3.push("s"); 
     815}else{ 
     816_e2=_e4.keyCode[key]; 
     817} 
     818} 
     819} 
     820}); 
     821var key=_e3.sortBy(function(_e7,_e8){ 
     822return _e7
    807823}).join(""); 
    808824if(key==""){ 
    809825key="n"; 
    810826} 
    811 if(_e2){ 
    812 if(_e3){ 
    813 this.keyupFunc[_e4]=_e2
    814 }else{ 
    815 this.keydownFunc[key][_e4]=_e2
    816 } 
    817 }else{ 
    818 if(_e3){ 
    819 this.keyupFunc[_e4]=null; 
    820 }else{ 
    821 this.keydownFunc[key][_e4]=null; 
    822 } 
    823 } 
    824 },_mergeNumKey:function(_eb){ 
    825 return (this.numKeys[_eb])?this.numKeys[_eb]:_eb
     827if(_e0){ 
     828if(_e1){ 
     829this.keyupFunc[_e2]=_e0
     830}else{ 
     831this.keydownFunc[key][_e2]=_e0
     832} 
     833}else{ 
     834if(_e1){ 
     835this.keyupFunc[_e2]=null; 
     836}else{ 
     837this.keydownFunc[key][_e2]=null; 
     838} 
     839} 
     840},_mergeNumKey:function(_e9){ 
     841return (this.numKeys[_e9])?this.numKeys[_e9]:_e9
    826842}}; 
    827843Function.prototype.callAfterLoading=function(){ 
    828 var _ec=$A(arguments); 
    829 var _ed=this; 
    830 var _ee=_ec.shift()||this; 
     844var _ea=$A(arguments); 
     845var _eb=this; 
     846var _ec=_ea.shift()||this; 
    831847if(UserAgent.isIE()&&(document.readyState!="complete")){ 
    832848Event.observe(window,"load",function(){ 
    833 _ed.apply(_ee,_ec); 
    834 }); 
    835 }else{ 
    836 this.apply(_ee,_ec); 
     849_eb.apply(_ec,_ea); 
     850}); 
     851}else{ 
     852this.apply(_ec,_ea); 
    837853} 
    838854}; 
     
    849865document.body.focus(); 
    850866} 
    851 },concat:function(_ef,_f0){ 
    852 var _f1={}; 
    853 _f0.each(function(_f2){ 
    854 _f1[_f2]=_ef.appendSuffix(_f2); 
    855 }); 
    856 return _f1
    857 },getId:function(_f3){ 
    858 _f3=_f3||""; 
    859 return _f3.appendSuffix(++SpinelzUtil.idCount); 
    860 },toAttriteString:function(_f4,_f5){ 
    861 var _f6=_f4.map(function(_f7){ 
    862 return _f7.key+"='"+_f7.value+"'"; 
     867},concat:function(_ed,_ee){ 
     868var _ef={}; 
     869_ee.each(function(_f0){ 
     870_ef[_f0]=_ed.appendSuffix(_f0); 
     871}); 
     872return _ef
     873},getId:function(_f1){ 
     874_f1=_f1||""; 
     875return _f1.appendSuffix(++SpinelzUtil.idCount); 
     876},toAttriteString:function(_f2,_f3){ 
     877var _f4=_f2.map(function(_f5){ 
     878return _f5.key+"='"+_f5.value+"'"; 
    863879}).join(" "); 
    864 if(_f5&&(_f6.length>0)){ 
    865 _f6=" "+_f6
    866 } 
    867 return _f6
    868 },_redrawForIE:function(_f8){ 
     880if(_f3&&(_f4.length>0)){ 
     881_f4=" "+_f4
     882} 
     883return _f4
     884},_redrawForIE:function(_f6){ 
    869885if(UserAgent.isIE()){ 
    870 _f8=$(_f8); 
    871 if(_f8){ 
     886_f6=$(_f6); 
     887if(_f6){ 
    872888setTimeout(function(){ 
    873 Element.classNames(_f8).set("dummy"); 
     889Element.classNames(_f6).set("dummy"); 
    874890},200); 
    875891} 
     
    882898}); 
    883899} 
    884 var $A=Array.from=function(_f9){ 
    885 if(!_f9){ 
     900var $A=Array.from=function(_f7){ 
     901if(!_f7){ 
    886902return []; 
    887903} 
    888 if(_f9.toArray){ 
    889 return _f9.toArray(); 
    890 }else{ 
    891 var _fa=[]; 
    892 for(var i=0,len=_f9.length;i<len;i++){ 
    893 _fa.push(_f9[i]); 
    894 } 
    895 return _fa
     904if(_f7.toArray){ 
     905return _f7.toArray(); 
     906}else{ 
     907var _f8=[]; 
     908for(var i=0,len=_f7.length;i<len;i++){ 
     909_f8.push(_f7[i]); 
     910} 
     911return _f8
    896912} 
    897913}; 
    898914var Color=Class.create(); 
    899 Color.prototype={initialize:function(_fd){ 
    900 this.color=this.parse(_fd); 
    901 },toHex:function(_fe){ 
    902 _fe=_fe||this.color; 
    903 return _fe.invoke("toColorPart"); 
     915Color.prototype={initialize:function(_fb){ 
     916this.color=this.parse(_fb); 
     917},toHex:function(_fc){ 
     918_fc=_fc||this.color; 
     919return _fc.invoke("toColorPart"); 
    904920},invert:function(){ 
    905921return this.toCssStyle(this.color.map(function(c){ 
    906922return 255-c; 
    907923})); 
    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; 
     926return "#"+this.toHex(_fe).join(""); 
     927},parse:function(_ff){ 
     928_ff=_ff||this.color; 
     929if(_ff.match(/rgb\(\d+,\s*\d+,\s*\d+\)/)){ 
     930return _ff.match(/\d+/g).map(function(c){ 
    915931return parseInt(c,10); 
    916932}); 
    917933}else{ 
    918 if(_101.match(/#[a-fA-F0-9]{6}/)){ 
    919 return _101.match(/([a-fA-F0-9]){2}/g).map(function(c){ 
     934if(_ff.match(/#[a-fA-F0-9]{6}/)){ 
     935return _ff.match(/([a-fA-F0-9]){2}/g).map(function(c){ 
    920936return parseInt(c,16); 
    921937}); 
    922938} 
    923939} 
    924 throw "parse error: "+_101
     940throw "parse error: "+_ff
    925941}}; 
    926942var DebugConsole={_active:false,_basetime:null,_messages:null,activate:function(){ 
    927943this._active=true; 
    928 },dump:function(_104){ 
    929 _104=_104||{}; 
    930 switch(_104.type){ 
     944},dump:function(_102){ 
     945_102=_102||{}; 
     946switch(_102.type){ 
    931947case "alert": 
    932948this._dump_alert(); 
     
    939955break; 
    940956case "update": 
    941 this._dump_update(_104.target); 
     957this._dump_update(_102.target); 
    942958break; 
    943959default: 
     
    958974this._messages=[]; 
    959975} 
    960 },log:function(_105){ 
     976},log:function(_103){ 
    961977if(this._active){ 
    962 var _106=("00000000"+(new Date()-this._basetime)).slice(-8); 
    963 this._messages.push(_106+" : "+_105); 
     978var _104=("00000000"+(new Date()-this._basetime)).slice(-8); 
     979this._messages.push(_104+" : "+_103); 
    964980} 
    965981},_dump_alert:function(){ 
    966 this._messages.each(function(_107){ 
    967 alert(_107); 
     982this._messages.each(function(_105){ 
     983alert(_105); 
    968984}); 
    969985},_dump_clipboard:function(){ 
    970986var dump=""; 
    971 this._messages.each(function(_109){ 
    972 dump+=_109+"\n"; 
     987this._messages.each(function(_107){ 
     988dump+=_107+"\n"; 
    973989}); 
    974990clipboardData.setData("Text",dump); 
    975991},_dump_console:function(){ 
    976 this._messages.each(function(_10a){ 
    977 console.log(_10a); 
    978 }); 
    979 },_dump_update:function(_10b){ 
     992this._messages.each(function(_108){ 
     993console.log(_108); 
     994}); 
     995},_dump_update:function(_109){ 
    980996var html=""; 
    981 this._messages.each(function(_10d){ 
    982 html+="<p>"+_10d+"</p>"; 
    983 }); 
    984 Element.update(_10b,html); 
     997this._messages.each(function(_10b){ 
     998html+="<p>"+_10b+"</p>"; 
     999}); 
     1000Element.update(_109,html); 
    9851001}}; 
    9861002 
  • spinelz/trunk/compress/javascripts/spinelz_lib/spinelz_util_for_rubricks.js

    r5692 r5693  
    51385138return _a1; 
    51395139}}; 
    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){ 
     5140var 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){ 
    51415141this._mask.callAfterLoading(this,_a2,_a3,_a4); 
    51425142this._control_tab_key(); 
    5143 },unmask:function(_a5){ 
    5144 this._unmask(_a5); 
     5143},unmask:function(){ 
     5144this._unmask(); 
    51455145this._control_tab_key(); 
    51465146},unmaskAll:function(){ 
    51475147var max=10; 
    5148 var _a7=0; 
    5149 while(this._isMasked()&&(_a7<max)){ 
     5148var _a6=0; 
     5149while(this._isMasked()&&(_a6<max)){ 
    51505150this._unmask(); 
    5151 _a7++; 
     5151_a6++; 
    51525152} 
    51535153this._control_tab_key(); 
    5154 },addMaskCallback:function(_a8){ 
     5154},addMaskCallback:function(_a7){ 
    51555155if(!this.maskCallbacks.any(function(c){ 
    5156 return c==_a8
     5156return c==_a7
    51575157})){ 
    5158 this.maskCallbacks.push(_a8); 
    5159 } 
    5160 },removeMaskCallback:function(_aa){ 
     5158this.maskCallbacks.push(_a7); 
     5159} 
     5160},removeMaskCallback:function(_a9){ 
    51615161this.maskCallbacks=this.maskCallbacks.reject(function(c){ 
    5162 return c==_aa
     5162return c==_a9
    51635163}); 
    51645164},clearMaskCallback:function(){ 
    51655165this.maskCallbacks=[]; 
    5166 },addUnmaskCallback:function(_ac){ 
     5166},addUnmaskCallback:function(_ab){ 
    51675167if(!this.unmaskCallbacks.any(function(c){ 
    5168 return c==_ac
     5168return c==_ab
    51695169})){ 
    5170 this.unmaskCallbacks.push(_ac); 
    5171 } 
    5172 },removeUnmaskCallback:function(_ae){ 
     5170this.unmaskCallbacks.push(_ab); 
     5171} 
     5172},removeUnmaskCallback:function(_ad){ 
    51735173this.unmaskCallbacks=this.unmaskCallbacks.reject(function(c){ 
    5174 return c==_ae
     5174return c==_ad
    51755175}); 
    51765176},clearUnmaskCallback:function(){ 
    51775177this.unmaskCallbacks=[]; 
    5178 },_mask:function(_b0){ 
    5179 var _b1=Object.extend({cssPrefix:"custom_",zIndex:null},arguments[1]||{}); 
    5180 var _b2=arguments[2]; 
     5178},_mask:function(_af){ 
     5179var _b0=Object.extend({cssPrefix:"custom_",zIndex:null},arguments[1]||{}); 
     5180var _b1=arguments[2]; 
    51815181if(Modal.element){ 
    5182 Modal._snap(_b0); 
     5182Modal._snap(_af); 
    51835183Modal._rebuildMask(); 
    51845184}else{ 
    51855185Modal.snaps=[]; 
    51865186Modal.excepteds=[]; 
    5187 Modal._buildMask(_b1.cssPrefix); 
     5187Modal._buildMask(_b0.cssPrefix); 
    51885188Modal.cover=new IECover(Modal.element,{transparent:true}); 
    51895189} 
    5190 if(_b2){ 
    5191 document.body.style.overflow="hidden"; 
     5190if(_b1){ 
    51925191Element.setStyle(Modal.element,{position:"absolute"}); 
    5193 
    5194 Modal._setZindex(_b0,_b1.zIndex); 
     5192this._setModalPosition(); 
     5193if(!Modal.timer){ 
     5194Modal.timer=setInterval(this._setModalPosition.bind(this),100); 
     5195
     5196
     5197Modal._setZindex(_af,_b0.zIndex); 
    51955198Modal._setFullSize(); 
    5196 if(!Modal.hasExcepted(_b0)){ 
    5197 Modal.excepteds.push(_b0); 
     5199if(!Modal.hasExcepted(_af)){ 
     5200Modal.excepteds.push(_af); 
    51985201} 
    51995202this.count++; 
    5200 this.maskCallbacks.each(function(_b3){ 
    5201 _b3(_b0); 
    5202 }); 
    5203 },_unmask:function(_b4){ 
     5203this.maskCallbacks.each(function(_b2){ 
     5204_b2(_af); 
     5205}); 
     5206},_unmask:function(){ 
    52045207if(Modal.element){ 
    52055208if(Modal.snaps.length==0){ 
     
    52095212Element.remove(Modal.element); 
    52105213Modal.element=null; 
    5211 if(_b4){ 
    5212 document.body.style.overflow="visible"; 
    5213 } 
    52145214}else{ 
    52155215Element.setStyle(Modal.element,{zIndex:Modal.snaps.pop()}); 
     
    52185218} 
    52195219this.count++; 
    5220 this.unmaskCallbacks.each(function(_b5){ 
    5221 _b5(); 
    5222 }); 
     5220this.unmaskCallbacks.each(function(_b3){ 
     5221_b3(); 
     5222}); 
     5223},_setModalPosition:function(){ 
     5224try{ 
     5225if(Modal.element){ 
     5226Element.setStyle(Modal.element,{top:(document.documentElement.scrollTop||document.body.scrollTop)+"px",left:(document.documentElement.scrollLeft||document.body.scrollLeft)+"px"}); 
     5227}else{ 
     5228Modal._clearTimer(); 
     5229
     5230
     5231catch(e){ 
     5232Modal._clearTimer(); 
     5233
     5234},_clearTimer:function(){ 
     5235if(Modal.timer){ 
     5236clearInterval(Modal.timer); 
     5237Modal.timer=null; 
     5238
    52235239},_addEvent:function(){ 
    52245240if(!Modal.listener){ 
     
    52335249},_isMasked:function(){ 
    52345250return Modal.element&&Element.visible(Modal.element); 
    5235 },_snap:function(_b6){ 
    5236 var _b7=Element.getStyle(Modal.element,"zIndex"); 
    5237 if(_b7&&Modal._isMasked()&&!Modal.hasExcepted(_b6)){ 
    5238 Modal.snaps.push(_b7); 
    5239 } 
    5240 },_setZindex:function(_b8,_b9){ 
    5241 _b9=ZindexManager.getIndex(_b9); 
    5242 Element.setStyle(Modal.element,{zIndex:_b9}); 
    5243 _b8=Element.makePositioned($(_b8)); 
    5244 Element.setStyle(_b8,{zIndex:++_b9}); 
     5251},_snap:function(_b4){ 
     5252var _b5=Element.getStyle(Modal.element,"zIndex"); 
     5253if(_b5&&Modal._isMasked()&&!Modal.hasExcepted(_b4)){ 
     5254Modal.snaps.push(_b5); 
     5255} 
     5256},_setZindex:function(_b6,_b7){ 
     5257_b7=ZindexManager.getIndex(_b7); 
     5258Element.setStyle(Modal.element,{zIndex:_b7}); 
     5259_b6=Element.makePositioned($(_b6)); 
     5260Element.setStyle(_b6,{zIndex:++_b7}); 
    52455261},_setFullSize:function(){ 
    52465262Modal.element.setStyle({width:Element.getWindowWidth()+"px",height:Element.getWindowHeight()+"px"}); 
     
    52485264Modal.cover.resetSize(); 
    52495265} 
    5250 },_buildMask:function(_ba){ 
    5251 var _bb=Builder.node("div",{id:Modal.maskId}); 
    5252 Modal._setClassNames(_bb,_ba); 
    5253 document.body.appendChild(_bb); 
    5254 Modal.element=_bb
     5266},_buildMask:function(_b8){ 
     5267var _b9=Builder.node("div",{id:Modal.maskId}); 
     5268Modal._setClassNames(_b9,_b8); 
     5269document.body.appendChild(_b9); 
     5270Modal.element=_b9
    52555271Modal._addEvent(); 
    5256 },_setClassNames:function(_bc,_bd){ 
    5257 var _be=(UserAgent.isIE())?Modal.maskClassIE:Modal.maskClass; 
    5258 Element.addClassName(_bc,_be); 
    5259 Element.addClassName(_bc,_bd+_be); 
     5272},_setClassNames:function(_ba,_bb){ 
     5273var _bc=(UserAgent.isIE())?Modal.maskClassIE:Modal.maskClass; 
     5274Element.addClassName(_ba,_bc); 
     5275Element.addClassName(_ba,_bb+_bc); 
    52605276},_rebuildMask:function(){ 
    52615277document.body.appendChild(Modal.element); 
     
    52685284return src.spinelzMaskResult; 
    52695285} 
    5270 var _c0=false; 
    5271 var _c1=this.excepteds.last(); 
    5272 var _c2=src; 
    5273 if(_c1&&Element.descendantOf(src,_c1)){ 
    5274 _c0=true; 
    5275 }else{ 
    5276 var _c3=Element.getStyle(Modal.element,"zIndex"); 
    5277 var _c4=null; 
     5286var _be=false; 
     5287var _bf=this.excepteds.last(); 
     5288var _c0=src; 
     5289if(_bf&&Element.descendantOf(src,_bf)){ 
     5290_be=true; 
     5291}else{ 
     5292var _c1=Element.getStyle(Modal.element,"zIndex"); 
     5293var _c2=null; 
    52785294while((src=src.parentNode)&&src!=document.body){ 
    5279 if(src.style&&(_c4=Element.getStyle(src,"zIndex"))){ 
    5280 _c0=(_c4>_c3); 
     5295if(src.style&&(_c2=Element.getStyle(src,"zIndex"))){ 
     5296_be=(_c2>_c1); 
    52815297break; 
    52825298} 
    52835299} 
    52845300} 
    5285 _c2.spinelzMaskCount=this.count; 
    5286 _c2.spinelzMaskResult=_c0
    5287 return _c0
    5288 },_handleEvent:function(_c5){ 
    5289 var src=Event.element(_c5); 
    5290 if(!(Modal._isOutOfModal(src)||(_c5.keyCode&&(_c5.keyCode==this.tabKey)))){ 
    5291 Event.stop(_c5); 
    5292 } 
    5293 },_onResize:function(_c7){ 
     5301_c0.spinelzMaskCount=this.count; 
     5302_c0.spinelzMaskResult=_be
     5303return _be
     5304},_handleEvent:function(_c3){ 
     5305var src=Event.element(_c3); 
     5306if(!(Modal._isOutOfModal(src)||(_c3.keyCode&&(_c3.keyCode==this.tabKey)))){ 
     5307Event.stop(_c3); 
     5308} 
     5309},_onResize:function(_c5){ 
    52945310Modal._setFullSize(); 
    5295 },hasExcepted:function(_c8){ 
    5296 return (Modal.excepteds||[]).any(function(_c9){ 
    5297 return _c9.id==_c8.id; 
    5298 }); 
    5299 },_control_tab_key:function(_ca){ 
    5300 if(!_ca){ 
    5301 _ca=$A(document.body.getElementsByTagName("form")); 
    5302 } 
    5303 _ca.each(function(_cb){ 
    5304 if(!Modal._isOutOfModal(_cb)){ 
    5305 Form.getElements(_cb).each(function(el){ 
     5311},hasExcepted:function(_c6){ 
     5312return (Modal.excepteds||[]).any(function(_c7){ 
     5313return _c7.id==_c6.id; 
     5314}); 
     5315},_control_tab_key:function(_c8){ 
     5316if(!_c8){ 
     5317_c8=$A(document.body.getElementsByTagName("form")); 
     5318} 
     5319_c8.each(function(_c9){ 
     5320if(!Modal._isOutOfModal(_c9)){ 
     5321Form.getElements(_c9).each(function(el){ 
    53065322el.tabIndex=-1; 
    53075323}); 
    53085324}else{ 
    5309 Form.getElements(_cb).each(function(el){ 
     5325Form.getElements(_c9).each(function(el){ 
    53105326el.tabIndex=null; 
    53115327}); 
     
    53155331var IECover=Class.create(); 
    53165332IECover.src="javascript:false;"; 
    5317 IECover.prototype={idSuffix:"iecover",initialize:function(_ce){ 
     5333IECover.prototype={idSuffix:"iecover",initialize:function(_cc){ 
    53185334this.options=Object.extend({transparent:false,padding:0},arguments[1]||{}); 
    53195335if(document.all){ 
    5320 _ce=$(_ce); 
    5321 this.id=_ce.id.appendSuffix(this.idSuffix); 
    5322 this._build(_ce); 
     5336_cc=$(_cc); 
     5337this.id=_cc.id.appendSuffix(this.idSuffix); 
     5338this._build(_cc); 
    53235339this.resetSize(); 
    53245340} 
    53255341},resetSize:function(){ 
    53265342if(this.element){ 
    5327 var _cf=this.element.parentNode; 
    5328 var _d0=this.options.padding; 
    5329 this.element.width=_cf.offsetWidth-_d0+"px"; 
    5330 this.element.height=Element.getHeight(_cf)-_d0+"px"; 
    5331 } 
    5332 },_build:function(_d1){ 
    5333 var _d2=this.options.padding/2; 
    5334 var _d3={position:"absolute",top:_d2+"px",left:_d2+"px"}; 
     5343var _cd=this.element.parentNode; 
     5344var _ce=this.options.padding; 
     5345this.element.width=_cd.offsetWidth-_ce+"px"; 
     5346this.element.height=Element.getHeight(_cd)-_ce+"px"; 
     5347} 
     5348},_build:function(_cf){ 
     5349var _d0=this.options.padding/2; 
     5350var _d1={position:"absolute",top:_d0+"px",left:_d0+"px"}; 
    53355351if(this.options.transparent){ 
    5336 _d3.filter="alpha(opacity=0)"; 
    5337 } 
    5338 if(_d1.buildedIECover&&$(this.id)){ 
     5352_d1.filter="alpha(opacity=0)"; 
     5353} 
     5354if(_cf.buildedIECover&&$(this.id)){ 
    53395355this.element=$(this.id); 
    53405356}else{ 
    53415357this.element=Builder.node("iframe",{src:IECover.src,id:this.id,frameborder:0}); 
    53425358} 
    5343 Element.setStyle(this.element,_d3); 
    5344 var _d4=Element.down(_d1,0); 
    5345 if(_d4){ 
    5346 Element.makePositioned(_d4); 
    5347 } 
    5348 _d1.insertBefore(this.element,_d1.firstChild); 
    5349 _d1.buildedIECover=true; 
     5359Element.setStyle(this.element,_d1); 
     5360var _d2=Element.down(_cf,0); 
     5361if(_d2){ 
     5362Element.makePositioned(_d2); 
     5363} 
     5364_cf.insertBefore(this.element,_cf.firstChild); 
     5365_cf.buildedIECover=true; 
    53505366}}; 
    53515367var UserAgent={getUserAgent:function(){ 
     
    53625378var ShortcutManager=Class.create(); 
    53635379ShortcutManager.prototype={initialize:function(){ 
    5364 var _d5={detectKeyup:false,initialStarted:true,preventDefault:true}; 
    5365 this.options=Object.extend(_d5,arguments[0]||{}); 
     5380var _d3={detectKeyup:false,initialStarted:true,preventDefault:true}; 
     5381this.options=Object.extend(_d3,arguments[0]||{}); 
    53665382this.keydownListener=this.eventKeydown.bindAsEventListener(this); 
    53675383if(this.options.detectKeyup){ 
     
    53895405Event.observe(document,"keyup",this.keyupListener); 
    53905406} 
    5391 },add:function(c1,c2,_d8){ 
     5407},add:function(c1,c2,_d6){ 
    53925408if(c1.constructor==Array){ 
    5393 var _d9=this; 
    5394 c1.each(function(_da){ 
    5395 _d9._add_or_remove_function(_da[0],_da[1],_d8); 
    5396 }); 
    5397 }else{ 
    5398 this._add_or_remove_function(c1,c2,_d8); 
     5409var _d7=this; 
     5410c1.each(function(_d8){ 
     5411_d7._add_or_remove_function(_d8[0],_d8[1],_d6); 
     5412}); 
     5413}else{ 
     5414this._add_or_remove_function(c1,c2,_d6); 
    53995415} 
    54005416},destroy:function(){ 
     
    54035419Event.stopObserving(document,"keyup",this.keyupListener); 
    54045420} 
    5405 },eventKeydown:function(_db){ 
     5421},eventKeydown:function(_d9){ 
    54065422if(this.executable){ 
    5407 var _dc
     5423var _da
    54085424var key=""; 
    5409 _db=_db||window.event; 
    5410 if(_db.keyCode){ 
    5411 if(_db.altKey){ 
     5425_d9=_d9||window.event; 
     5426if(_d9.keyCode){ 
     5427if(_d9.altKey){ 
    54125428key+="a"; 
    54135429} 
    5414 if(_db.ctrlKey){ 
     5430if(_d9.ctrlKey){ 
    54155431key+="c"; 
    54165432} 
    5417 if(_db.shiftKey){ 
     5433if(_d9.shiftKey){ 
    54185434key+="s"; 
    54195435} 
     
    54215437key="n"; 
    54225438} 
    5423 _dc=this._mergeNumKey(_db.keyCode); 
    5424 if(this.keydownFunc[key][_dc]){ 
    5425 this.keydownFunc[key][_dc](); 
     5439_da=this._mergeNumKey(_d9.keyCode); 
     5440if(this.keydownFunc[key][_da]){ 
     5441this.keydownFunc[key][_da](); 
    54265442if(this.options.preventDefault){ 
    5427 Event.stop(_db); 
    5428 } 
    5429 } 
    5430 } 
    5431 } 
    5432 },eventKeyup:function(_de){ 
     5443Event.stop(_d9); 
     5444} 
     5445} 
     5446} 
     5447} 
     5448},eventKeyup:function(_dc){ 
    54335449if(this.executable){ 
    5434 var _df
    5435 _de=_de||window.event; 
    5436 if(_de.keyCode){ 
    5437 _df=this._mergeNumKey(_de.keyCode); 
    5438 if(this.keyupFunc[_df]){ 
    5439 this.keyupFunc[_df](); 
     5450var _dd
     5451_dc=_dc||window.event; 
     5452if(_dc.keyCode){ 
     5453_dd=this._mergeNumKey(_dc.keyCode); 
     5454if(this.keyupFunc[_dd]){ 
     5455this.keyupFunc[_dd](); 
    54405456if(this.options.preventDefault){ 
    5441 Event.stop(_de); 
    5442 } 
    5443 } 
    5444 } 
    5445 } 
    5446 },remove:function(_e0){ 
    5447 this._add_or_remove_function(_e0); 
     5457Event.stop(_dc); 
     5458} 
     5459} 
     5460} 
     5461} 
     5462},remove:function(_de){ 
     5463this._add_or_remove_function(_de); 
    54485464},start:function(){ 
    54495465this.executable=true; 
    54505466},stop:function(){ 
    54515467this.executable=false; 
    5452 },_add_or_remove_function:function(_e1,_e2,_e3){ 
    5453 var _e4
    5454 var _e5=new Array(); 
    5455 var _e6=this; 
    5456 $A(_e1.toLowerCase().split("+")).each(function(key){ 
     5468},_add_or_remove_function:function(_df,_e0,_e1){ 
     5469var _e2
     5470var _e3=new Array(); 
     5471var _e4=this; 
     5472$A(_df.toLowerCase().split("+")).each(function(key){ 
    54575473if(key=="alt"){ 
    5458 _e5.push("a"); 
     5474_e3.push("a"); 
    54595475}else{ 
    54605476if(key=="ctrl")