Changeset 5777
- Timestamp:
- 06/02/08 14:27:53 (6 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
spinelz/trunk/compress/javascripts/spinelz_lib/spinelz_util.js
r5753 r5777 223 223 } 224 224 }); 225 },positionedByCursor:function(_49,_4a,_4b){ 226 _4b=Object.extend({top:0,left:0},_4b||{}); 227 var _4c=Element.getDimensions(_49); 228 var x=Event.pointerX(_4a); 229 var _4e=x+_4c.width+_4b.left; 230 var _4f=Element.getWindowWidth()+Element.scrollLeft(); 231 if(_4e>_4f){ 232 x-=(_4e-_4f); 233 } 234 Element.setStyle(_49,{position:"absolute",left:x+"px",top:Event.pointerY(_4a)+_4b.top+"px"}); 235 },alignTop:function(_50,_51,_52){ 236 if(!_52){ 237 _52=0; 238 } 239 var _53=Position.cumulativeOffset(Position.offsetParent($(_50))); 240 var _54=Position.cumulativeOffset($(_51)); 241 Element.setStyle(_50,{top:_54[1]-_53[1]+"px"}); 242 },alignRight:function(_55,_56,_57){ 243 if(!_57){ 244 _57=0; 245 } 246 var _58=Position.cumulativeOffset(Position.offsetParent($(_55))); 247 var _59=Position.cumulativeOffset($(_56)); 248 var _5a=Element.getDimensions(_56); 249 var _5b=Element.getDimensions(_55); 250 var _5c=Element.getWindowWidth()+Element.scrollLeft(); 251 var x=_59[0]+_5a.width-_58[0]+_57; 252 var _5e=x+_5b.width; 253 if(_5e>_5c){ 254 x-=(_5a.width+_5b.width); 255 } 256 Element.setStyle(_55,{left:x+"px"}); 225 257 }}); 226 Object.extend(Array.prototype,{insert:function(_ 49,_4a){227 this.splice(_ 49,0,_4a);228 },remove:function(_ 4b){229 this.splice(_ 4b,1);258 Object.extend(Array.prototype,{insert:function(_5f,_60){ 259 this.splice(_5f,0,_60); 260 },remove:function(_61){ 261 this.splice(_61,1); 230 262 }}); 231 Object.extend(String.prototype,{_mb_space:decodeURIComponent("%E3%80%80"),_rb:new RegExp(decodeURIComponent("[%E3%80%80]+$"),"gmi"),_rf:new RegExp(decodeURIComponent("^[%E3%80%80]+"),"gmi"),appendPrefix:function(_ 4c,_4d){232 if(!_ 4d){233 _ 4d="_";234 } 235 return this+_ 4d+_4c;236 },appendSuffix:function(_ 4e,_4f){237 if(!_ 4f){238 _ 4f="_";239 } 240 return this+_ 4f+_4e;263 Object.extend(String.prototype,{_mb_space:decodeURIComponent("%E3%80%80"),_rb:new RegExp(decodeURIComponent("[%E3%80%80]+$"),"gmi"),_rf:new RegExp(decodeURIComponent("^[%E3%80%80]+"),"gmi"),appendPrefix:function(_62,_63){ 264 if(!_63){ 265 _63="_"; 266 } 267 return this+_63+_62; 268 },appendSuffix:function(_64,_65){ 269 if(!_65){ 270 _65="_"; 271 } 272 return this+_65+_64; 241 273 },compressSpaces:function(){ 242 274 return this.normalizeSpaces().gsub(/\s+/," "); … … 250 282 } 251 283 return r; 252 },getPrefix:function(_ 53){253 if(!_ 53){254 _ 53="_";255 } 256 return this.split(_ 53)[0];257 },getSuffix:function(_ 54){258 if(!_ 54){259 _ 54="_";260 } 261 return this.split(_ 54).pop();284 },getPrefix:function(_69){ 285 if(!_69){ 286 _69="_"; 287 } 288 return this.split(_69)[0]; 289 },getSuffix:function(_6a){ 290 if(!_6a){ 291 _6a="_"; 292 } 293 return this.split(_6a).pop(); 262 294 },normalizeSpaces:function(){ 263 295 return this.gsub(this._mb_space," "); … … 265 297 return this.strip().gsub(this._rf,"").gsub(this._rb,""); 266 298 },toElement:function(){ 267 var _ 55=document.createElement("div");268 _ 55.innerHTML=this;269 return _ 55.firstChild;299 var _6b=document.createElement("div"); 300 _6b.innerHTML=this; 301 return _6b.firstChild; 270 302 }}); 271 303 var CssUtil=Class.create(); 272 CssUtil.getInstance=function(_ 56,_57){273 var _ 58=CssUtil.appendPrefix(_56,_57);274 return new CssUtil([_ 57,_58]);304 CssUtil.getInstance=function(_6c,_6d){ 305 var _6e=CssUtil.appendPrefix(_6c,_6d); 306 return new CssUtil([_6d,_6e]); 275 307 }; 276 CssUtil.appendPrefix=function(_ 59,_5a){277 var _ 5b={};278 $H(_ 5a).each(function(_5c){279 _ 5b[_5c[0]]=_59+_5a[_5c[0]];280 }); 281 return _ 5b;308 CssUtil.appendPrefix=function(_6f,_70){ 309 var _71={}; 310 $H(_70).each(function(_72){ 311 _71[_72[0]]=_6f+_70[_72[0]]; 312 }); 313 return _71; 282 314 }; 283 CssUtil.getCssRules=function(_ 5d){284 return _ 5d.rules||_5d.cssRules;315 CssUtil.getCssRules=function(_73){ 316 return _73.rules||_73.cssRules; 285 317 }; 286 CssUtil.getCssRuleBySelectorText=function(_ 5e){287 var _ 5f=null;318 CssUtil.getCssRuleBySelectorText=function(_74){ 319 var _75=null; 288 320 $A(document.styleSheets).each(function(s){ 289 var _ 61=CssUtil.getCssRules(s);290 _ 5f=$A(_61).detect(function(r){321 var _77=CssUtil.getCssRules(s); 322 _75=$A(_77).detect(function(r){ 291 323 if(!r.selectorText){ 292 324 return false; 293 325 } 294 return r.selectorText.toLowerCase()==_ 5e.toLowerCase();295 }); 296 if(_ 5f){326 return r.selectorText.toLowerCase()==_74.toLowerCase(); 327 }); 328 if(_75){ 297 329 throw $break; 298 330 } 299 331 }); 300 return _ 5f;332 return _75; 301 333 }; 302 CssUtil.prototype={initialize:function(_ 63){303 if(!((typeof (_ 63)=="object")&&(_63.constructor==Array))){334 CssUtil.prototype={initialize:function(_79){ 335 if(!((typeof (_79)=="object")&&(_79.constructor==Array))){ 304 336 throw "CssUtil#initialize: argument must be a Array object!"; 305 337 } 306 this.styles=_ 63;338 this.styles=_79; 307 339 },getClasses:function(key){ 308 340 return this.styles.collect(function(s){ … … 312 344 return this.getClasses(key).join(" "); 313 345 },allJoinClassNames:function(){ 314 var _ 67={};315 $H(this.styles.first()).each(function(_ 68){316 _ 67[_68.key]=this.joinClassNames(_68.key);346 var _7d={}; 347 $H(this.styles.first()).each(function(_7e){ 348 _7d[_7e.key]=this.joinClassNames(_7e.key); 317 349 }.bind(this)); 318 return _ 67;319 },addClassNames:function(_ 69,key){350 return _7d; 351 },addClassNames:function(_7f,key){ 320 352 this.styles.each(function(s){ 321 Element.addClassName(_ 69,s[key]);322 }); 323 },removeClassNames:function(_ 6c,key){353 Element.addClassName(_7f,s[key]); 354 }); 355 },removeClassNames:function(_82,key){ 324 356 this.styles.each(function(s){ 325 Element.removeClassName(_ 6c,s[key]);326 }); 327 },refreshClassNames:function(_ 6f,key){328 _ 6f.className="";329 this.addClassNames(_ 6f,key);330 },hasClassName:function(_ 71,key){357 Element.removeClassName(_82,s[key]); 358 }); 359 },refreshClassNames:function(_85,key){ 360 _85.className=""; 361 this.addClassNames(_85,key); 362 },hasClassName:function(_87,key){ 331 363 return this.styles.any(function(s){ 332 return Element.hasClassName(_ 71,s[key]);364 return Element.hasClassName(_87,s[key]); 333 365 }); 334 366 }}; 335 367 var Hover=Class.create(); 336 Hover.prototype={initialize:function(_ 74){368 Hover.prototype={initialize:function(_8a){ 337 369 this.options=Object.extend({defaultClass:"",hoverClass:"",cssUtil:"",list:false,beforeToggle:function(){ 338 370 return true; 339 371 }},arguments[1]||{}); 340 var _ 74=$(_74);372 var _8a=$(_8a); 341 373 if(this.options.list){ 342 var _ 75=_74.childNodes;343 for(var i=0;i<_ 75.length;i++){344 if(Element.isElementNode(_ 75[i])){345 this.build(_ 75[i]);346 } 347 } 348 }else{ 349 this.build(_ 74);350 } 351 this.element=_ 74;352 },build:function(_ 77){353 this.normal=this.getNormalClass(_ 77);374 var _8b=_8a.childNodes; 375 for(var i=0;i<_8b.length;i++){ 376 if(Element.isElementNode(_8b[i])){ 377 this.build(_8b[i]); 378 } 379 } 380 }else{ 381 this.build(_8a); 382 } 383 this.element=_8a; 384 },build:function(_8d){ 385 this.normal=this.getNormalClass(_8d); 354 386 this.hover=this.getHoverClass(this.normal); 355 387 if(this.options.cssUtil){ … … 357 389 this.hover=this.options.cssUtil.joinClassNames(hover); 358 390 } 359 this.setHoverEvent(_ 77);360 },setHoverEvent:function(_ 78){361 this.mouseout=this.toggle.bindAsEventListener(this,_ 78,this.normal);362 this.mouseover=this.toggle.bindAsEventListener(this,_ 78,this.hover);363 Event.observe(_ 78,"mouseout",this.mouseout);364 Event.observe(_ 78,"mouseover",this.mouseover);365 },toggle:function(_ 79,_7a,_7b){366 Event.stop(_ 79);391 this.setHoverEvent(_8d); 392 },setHoverEvent:function(_8e){ 393 this.mouseout=this.toggle.bindAsEventListener(this,_8e,this.normal); 394 this.mouseover=this.toggle.bindAsEventListener(this,_8e,this.hover); 395 Event.observe(_8e,"mouseout",this.mouseout); 396 Event.observe(_8e,"mouseover",this.mouseover); 397 },toggle:function(_8f,_90,_91){ 398 Event.stop(_8f); 367 399 if(this.options.beforeToggle()){ 368 _ 7a.className=_7b;369 } 370 },getNormalClass:function(_ 7c){371 var _ 7d=(this.options.defaultClass||_7c.className);372 return (_ 7d||"");373 },getHoverClass:function(_ 7e){374 var _ 7f=this.options.hoverClass;375 if(!_ 7f){376 _ 7f=_7e.split(" ").collect(function(c){400 _90.className=_91; 401 } 402 },getNormalClass:function(_92){ 403 var _93=(this.options.defaultClass||_92.className); 404 return (_93||""); 405 },getHoverClass:function(_94){ 406 var _95=this.options.hoverClass; 407 if(!_95){ 408 _95=_94.split(" ").collect(function(c){ 377 409 return c+"Hover"; 378 410 }).join(" "); 379 411 } 380 return _ 7f;412 return _95; 381 413 },destroy:function(){ 382 414 Event.stopObserving(this.element,"mouseout",this.mouseout); … … 390 422 Object.extend(Date.prototype,{msPerDay:function(){ 391 423 return 24*60*60*1000; 392 },advance:function(_ 81){393 return new Date(this.getTime()+this.msPerDay()*_ 81.days);424 },advance:function(_97){ 425 return new Date(this.getTime()+this.msPerDay()*_97.days); 394 426 },days:function(){ 395 var _ 82=new Date(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0);396 return Math.round(_ 82.getTime()/this.msPerDay());427 var _98=new Date(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0); 428 return Math.round(_98.getTime()/this.msPerDay()); 397 429 },toHash:function(){ 398 430 return {year:this.getFullYear(),month:this.getMonth(),day:this.getDate(),hour:this.getHours(),min:this.getMinutes(),sec:this.getSeconds()}; 399 },sameYear:function(_ 83){400 return this.getFullYear()==_ 83.getFullYear();401 },sameMonth:function(_ 84){402 return this.sameYear(_ 84)&&this.getMonth()==_84.getMonth();403 },sameDate:function(_ 85){404 return this.sameYear(_ 85)&&this.sameMonth(_85)&&this.getDate()==_85.getDate();405 },betweenDate:function(_ 86,_87){406 var _ 88=this.days();407 return (_ 86.days()<=_88&&_88<=_87.days());408 },betweenTime:function(_ 89,_8a){409 var _ 8b=this.getTime();410 return (_ 89.getTime()<=_8b&&_8b<=_8a.getTime());411 },strftime:function(_ 8c){412 return DateUtil.simpleFormat(_ 8c)(this);431 },sameYear:function(_99){ 432 return this.getFullYear()==_99.getFullYear(); 433 },sameMonth:function(_9a){ 434 return this.sameYear(_9a)&&this.getMonth()==_9a.getMonth(); 435 },sameDate:function(_9b){ 436 return this.sameYear(_9b)&&this.sameMonth(_9b)&&this.getDate()==_9b.getDate(); 437 },betweenDate:function(_9c,_9d){ 438 var _9e=this.days(); 439 return (_9c.days()<=_9e&&_9e<=_9d.days()); 440 },betweenTime:function(_9f,_a0){ 441 var _a1=this.getTime(); 442 return (_9f.getTime()<=_a1&&_a1<=_a0.getTime()); 443 },strftime:function(_a2){ 444 return DateUtil.simpleFormat(_a2)(this); 413 445 }}); 414 var DateUtil={dayOfWeek:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],daysOfMonth:[31,28,31,30,31,30,31,31,30,31,30,31],numberOfDays:function(_ 8d,_8e){415 return _ 8e.days()-_8d.days();416 },isLeapYear:function(_ 8f){417 if(((_ 8f%4==0)&&(_8f%100!=0))||(_8f%400==0)){446 var DateUtil={dayOfWeek:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],daysOfMonth:[31,28,31,30,31,30,31,31,30,31,30,31],numberOfDays:function(_a3,_a4){ 447 return _a4.days()-_a3.days(); 448 },isLeapYear:function(_a5){ 449 if(((_a5%4==0)&&(_a5%100!=0))||(_a5%400==0)){ 418 450 return true; 419 451 } 420 452 return false; 421 },nextDate:function(_ 90){422 return new Date(_ 90.getFullYear(),_90.getMonth(),_90.getDate()+1);423 },previousDate:function(_ 91){424 return new Date(_ 91.getFullYear(),_91.getMonth(),_91.getDate()-1);425 },afterDays:function(_ 92,_93){426 return new Date(_ 92.getFullYear(),_92.getMonth(),_92.getDate()+_93);427 },getLastDate:function(_ 94,_95){428 var _ 96=this.daysOfMonth[_95];429 if((_ 95==1)&&this.isLeapYear(_94)){430 return new Date(_ 94,_95,_96+1);431 } 432 return new Date(_ 94,_95,_96);433 },getFirstDate:function(_ 97,_98){434 if(_ 97.constructor==Date){435 return new Date(_ 97.getFullYear(),_97.getMonth(),1);436 } 437 return new Date(_ 97,_98,1);438 },getWeekTurn:function(_ 99,_9a){439 var _ 9b=6-_9a+1;440 var _ 9c=0;441 while(_ 9b<_99){442 _ 99-=7;443 _ 9c++;444 } 445 return _ 9c;446 },toDateString:function(_ 9d){447 return _ 9d.toDateString();448 },toLocaleDateString:function(_ 9e){449 return _ 9e.toLocaleDateString();450 },simpleFormat:function(_ 9f){451 return function(_ a0){452 var _ a1=_9f.replace(/M+/g,DateUtil.zerofill((_a0.getMonth()+1).toString(),2));453 _ a1=_a1.replace(/d+/g,DateUtil.zerofill(_a0.getDate().toString(),2));454 _ a1=_a1.replace(/y{4}/g,_a0.getFullYear());455 _ a1=_a1.replace(/y{1,3}/g,new String(_a0.getFullYear()).substr(2));456 _ a1=_a1.replace(/E+/g,DateUtil.dayOfWeek[_a0.getDay()]);457 return _ a1;453 },nextDate:function(_a6){ 454 return new Date(_a6.getFullYear(),_a6.getMonth(),_a6.getDate()+1); 455 },previousDate:function(_a7){ 456 return new Date(_a7.getFullYear(),_a7.getMonth(),_a7.getDate()-1); 457 },afterDays:function(_a8,_a9){ 458 return new Date(_a8.getFullYear(),_a8.getMonth(),_a8.getDate()+_a9); 459 },getLastDate:function(_aa,_ab){ 460 var _ac=this.daysOfMonth[_ab]; 461 if((_ab==1)&&this.isLeapYear(_aa)){ 462 return new Date(_aa,_ab,_ac+1); 463 } 464 return new Date(_aa,_ab,_ac); 465 },getFirstDate:function(_ad,_ae){ 466 if(_ad.constructor==Date){ 467 return new Date(_ad.getFullYear(),_ad.getMonth(),1); 468 } 469 return new Date(_ad,_ae,1); 470 },getWeekTurn:function(_af,_b0){ 471 var _b1=6-_b0+1; 472 var _b2=0; 473 while(_b1<_af){ 474 _af-=7; 475 _b2++; 476 } 477 return _b2; 478 },toDateString:function(_b3){ 479 return _b3.toDateString(); 480 },toLocaleDateString:function(_b4){ 481 return _b4.toLocaleDateString(); 482 },simpleFormat:function(_b5){ 483 return function(_b6){ 484 var _b7=_b5.replace(/M+/g,DateUtil.zerofill((_b6.getMonth()+1).toString(),2)); 485 _b7=_b7.replace(/d+/g,DateUtil.zerofill(_b6.getDate().toString(),2)); 486 _b7=_b7.replace(/y{4}/g,_b6.getFullYear()); 487 _b7=_b7.replace(/y{1,3}/g,new String(_b6.getFullYear()).substr(2)); 488 _b7=_b7.replace(/E+/g,DateUtil.dayOfWeek[_b6.getDay()]); 489 return _b7; 458 490 }; 459 },zerofill:function(_ a2,_a3){460 var _ a4=_a2;461 if(_ a2.length<_a3){462 var tmp=_ a3-_a2.length;491 },zerofill:function(_b8,_b9){ 492 var _ba=_b8; 493 if(_b8.length<_b9){ 494 var tmp=_b9-_b8.length; 463 495 for(i=0;i<tmp;i++){ 464 _ a4="0"+_a4;465 } 466 } 467 return _ a4;468 },toDate:function(_ a6){469 return new Date(_ a6.year,_a6.month,_a6.day,_a6.hour||0,_a6.min||0,_a6.sec||0);496 _ba="0"+_ba; 497 } 498 } 499 return _ba; 500 },toDate:function(_bc){ 501 return new Date(_bc.year,_bc.month,_bc.day,_bc.hour||0,_bc.min||0,_bc.sec||0); 470 502 }}; 471 var ZindexManager={zIndex:1000,getIndex:function(_ a7){472 if(_ a7){473 if(isNaN(_ a7)){474 _ a7=Element.getMaxZindex()+1;475 }else{ 476 if(ZindexManager.zIndex>_ a7){477 _ a7=ZindexManager.zIndex;478 } 479 } 480 }else{ 481 _ a7=ZindexManager.zIndex;482 } 483 ZindexManager.zIndex=_ a7+1;484 return _ a7;503 var ZindexManager={zIndex:1000,getIndex:function(_bd){ 504 if(_bd){ 505 if(isNaN(_bd)){ 506 _bd=Element.getMaxZindex()+1; 507 }else{ 508 if(ZindexManager.zIndex>_bd){ 509 _bd=ZindexManager.zIndex; 510 } 511 } 512 }else{ 513 _bd=ZindexManager.zIndex; 514 } 515 ZindexManager.zIndex=_bd+1; 516 return _bd; 485 517 }}; 486 var Modal={maskId:"modalMask",maskClass:"modal_mask",maskClassIE:"modal_mask_ie",element:null,snaps:null,listener:null,resizeListener:null,cover:null,excepteds:null,maskCallbacks:[],unmaskCallbacks:[],count:0,tabKey:9,timer:null,mask:function(_ a8,_a9,_aa){487 this._mask.callAfterLoading(this,_ a8,_a9,_aa);518 var Modal={maskId:"modalMask",maskClass:"modal_mask",maskClassIE:"modal_mask_ie",element:null,snaps:null,listener:null,resizeListener:null,cover:null,excepteds:null,maskCallbacks:[],unmaskCallbacks:[],count:0,tabKey:9,timer:null,mask:function(_be,_bf,_c0){ 519 this._mask.callAfterLoading(this,_be,_bf,_c0); 488 520 this._control_tab_key(); 489 521 },unmask:function(){ … … 492 524 },unmaskAll:function(){ 493 525 var max=10; 494 var _ ac=0;495 while(this._isMasked()&&(_ ac<max)){526 var _c2=0; 527 while(this._isMasked()&&(_c2<max)){ 496 528 this._unmask(); 497 _ ac++;529 _c2++; 498 530 } 499 531 this._control_tab_key(); 500 },addMaskCallback:function(_ ad){532 },addMaskCallback:function(_c3){ 501 533 if(!this.maskCallbacks.any(function(c){ 502 return c==_ ad;534 return c==_c3; 503 535 })){ 504 this.maskCallbacks.push(_ ad);505 } 506 },removeMaskCallback:function(_ af){536 this.maskCallbacks.push(_c3); 537 } 538 },removeMaskCallback:function(_c5){ 507 539 this.maskCallbacks=this.maskCallbacks.reject(function(c){ 508 return c==_ af;540 return c==_c5; 509 541 }); 510 542 },clearMaskCallback:function(){ 511 543 this.maskCallbacks=[]; 512 },addUnmaskCallback:function(_ b1){544 },addUnmaskCallback:function(_c7){ 513 545 if(!this.unmaskCallbacks.any(function(c){ 514 return c==_ b1;546 return c==_c7; 515 547 })){ 516 this.unmaskCallbacks.push(_ b1);517 } 518 },removeUnmaskCallback:function(_ b3){548 this.unmaskCallbacks.push(_c7); 549 } 550 },removeUnmaskCallback:function(_c9){ 519 551 this.unmaskCallbacks=this.unmaskCallbacks.reject(function(c){ 520 return c==_ b3;552 return c==_c9; 521 553 }); 522 554 },clearUnmaskCallback:function(){ 523 555 this.unmaskCallbacks=[]; 524 },_mask:function(_ b5){525 var _ b6=Object.extend({cssPrefix:"custom_",zIndex:null},arguments[1]||{});526 var _ b7=arguments[2];556 },_mask:function(_cb){ 557 var _cc=Object.extend({cssPrefix:"custom_",zIndex:null},arguments[1]||{}); 558 var _cd=arguments[2]; 527 559 if(Modal.element){ 528 Modal._snap(_ b5);560 Modal._snap(_cb); 529 561 Modal._rebuildMask(); 530 562 }else{ 531 563 Modal.snaps=[]; 532 564 Modal.excepteds=[]; 533 Modal._buildMask(_ b6.cssPrefix);565 Modal._buildMask(_cc.cssPrefix); 534 566 Modal.cover=new IECover(Modal.element,{transparent:true}); 535 567 } 536 if(_ b7){568 if(_cd){ 537 569 Element.setStyle(Modal.element,{position:"absolute"}); 538 570 this._setModalPosition(); … … 541 573 } 542 574 } 543 Modal._setZindex(_ b5,_b6.zIndex);575 Modal._setZindex(_cb,_cc.zIndex); 544 576 Modal._setFullSize(); 545 if(!Modal.hasExcepted(_ b5)){546 Modal.excepteds.push(_ b5);577 if(!Modal.hasExcepted(_cb)){ 578 Modal.excepteds.push(_cb); 547 579 } 548 580 this.count++; 549 this.maskCallbacks.each(function(_ b8){550 _ b8(_b5);581 this.maskCallbacks.each(function(_ce){ 582 _ce(_cb); 551 583 }); 552 584 },_unmask:function(){ … … 564 596 } 565 597 this.count++; 566 this.unmaskCallbacks.each(function(_ b9){567 _ b9();598 this.unmaskCallbacks.each(function(_cf){ 599 _cf(); 568 600 }); 569 601 },_setModalPosition:function(){ … … 595 627 },_isMasked:function(){ 596 628 return Modal.element&&Element.visible(Modal.element); 597 },_snap:function(_ ba){598 var _ bb=Element.getStyle(Modal.element,"zIndex");599 if(_ bb&&Modal._isMasked()&&!Modal.hasExcepted(_ba)){600 Modal.snaps.push(_ bb);601 } 602 },_setZindex:function(_ bc,_bd){603 _ bd=ZindexManager.getIndex(_bd);604 Element.setStyle(Modal.element,{zIndex:_ bd});605 _ bc=Element.makePositioned($(_bc));606 Element.setStyle(_ bc,{zIndex:++_bd});629 },_snap:function(_d0){ 630 var _d1=Element.getStyle(Modal.element,"zIndex"); 631 if(_d1&&Modal._isMasked()&&!Modal.hasExcepted(_d0)){ 632 Modal.snaps.push(_d1); 633 } 634 },_setZindex:function(_d2,_d3){ 635 _d3=ZindexManager.getIndex(_d3); 636 Element.setStyle(Modal.element,{zIndex:_d3}); 637 _d2=Element.makePositioned($(_d2)); 638 Element.setStyle(_d2,{zIndex:++_d3}); 607 639 },_setFullSize:function(){ 608 640 Modal.element.setStyle({width:Element.getWindowWidth()+"px",height:Element.getWindowHeight()+"px"}); … … 610 642 Modal.cover.resetSize(); 611 643 } 612 },_buildMask:function(_ be){613 var _ bf=Builder.node("div",{id:Modal.maskId});614 Modal._setClassNames(_ bf,_be);615 document.body.appendChild(_ bf);616 Modal.element=_ bf;644 },_buildMask:function(_d4){ 645 var _d5=Builder.node("div",{id:Modal.maskId}); 646 Modal._setClassNames(_d5,_d4); 647 document.body.appendChild(_d5); 648 Modal.element=_d5; 617 649 Modal._addEvent(); 618 },_setClassNames:function(_ c0,_c1){619 var _ c2=(UserAgent.isIE())?Modal.maskClassIE:Modal.maskClass;620 Element.addClassName(_ c0,_c2);621 Element.addClassName(_ c0,_c1+_c2);650 },_setClassNames:function(_d6,_d7){ 651 var _d8=(UserAgent.isIE())?Modal.maskClassIE:Modal.maskClass; 652 Element.addClassName(_d6,_d8); 653 Element.addClassName(_d6,_d7+_d8); 622 654 },_rebuildMask:function(){ 623 655 document.body.appendChild(Modal.element); … … 630 662 return src.spinelzMaskResult; 631 663 } 632 var _ c4=false;633 var _ c5=this.excepteds.last();634 var _ c6=src;635 if(_ c5&&Element.descendantOf(src,_c5)){636 _ c4=true;637 }else{ 638 var _ c7=Element.getStyle(Modal.element,"zIndex");639 var _ c8=null;664 var _da=false; 665 var _db=this.excepteds.last(); 666 var _dc=src; 667 if(_db&&Element.descendantOf(src,_db)){ 668 _da=true; 669 }else{ 670 var _dd=Element.getStyle(Modal.element,"zIndex"); 671 var _de=null; 640 672 while((src=src.parentNode)&&src!=document.body){ 641 if(src.style&&(_ c8=Element.getStyle(src,"zIndex"))){642 _ c4=(_c8>_c7);673 if(src.style&&(_de=Element.getStyle(src,"zIndex"))){ 674 _da=(_de>_dd); 643 675 break; 644 676 } 645 677 } 646 678 } 647 _ c6.spinelzMaskCount=this.count;648 _ c6.spinelzMaskResult=_c4;649 return _ c4;650 },_handleEvent:function(_ c9){651 var src=Event.element(_ c9);652 if(!(Modal._isOutOfModal(src)||(_ c9.keyCode&&(_c9.keyCode==this.tabKey)))){653 Event.stop(_ c9);654 } 655 },_onResize:function(_ cb){679 _dc.spinelzMaskCount=this.count; 680 _dc.spinelzMaskResult=_da; 681 return _da; 682 },_handleEvent:function(_df){ 683 var src=Event.element(_df); 684 if(!(Modal._isOutOfModal(src)||(_df.keyCode&&(_df.keyCode==this.tabKey)))){ 685 Event.stop(_df); 686 } 687 },_onResize:function(_e1){ 656 688 Modal._setFullSize(); 657 },hasExcepted:function(_ cc){658 return (Modal.excepteds||[]).any(function(_ cd){659 return _ cd.id==_cc.id;660 }); 661 },_control_tab_key:function(_ ce){662 if(!_ ce){663 _ ce=$A(document.body.getElementsByTagName("form"));664 } 665 _ ce.each(function(_cf){666 if(!Modal._isOutOfModal(_ cf)){667 Form.getElements(_ cf).each(function(el){689 },hasExcepted:function(_e2){ 690 return (Modal.excepteds||[]).any(function(_e3){ 691 return _e3.id==_e2.id; 692 }); 693 },_control_tab_key:function(_e4){ 694 if(!_e4){ 695 _e4=$A(document.body.getElementsByTagName("form")); 696 } 697 _e4.each(function(_e5){ 698 if(!Modal._isOutOfModal(_e5)){ 699 Form.getElements(_e5).each(function(el){ 668 700 el.tabIndex=-1; 669 701 }); 670 702 }else{ 671 Form.getElements(_ cf).each(function(el){703 Form.getElements(_e5).each(function(el){ 672 704 el.tabIndex=null; 673 705 }); … … 677 709 var IECover=Class.create(); 678 710 IECover.src="javascript:false;"; 679 IECover.prototype={idSuffix:"iecover",initialize:function(_ d2){711 IECover.prototype={idSuffix:"iecover",initialize:function(_e8){ 680 712 this.options=Object.extend({transparent:false,padding:0},arguments[1]||{}); 681 713 if(document.all){ 682 _ d2=$(_d2);683 this.id=_ d2.id.appendSuffix(this.idSuffix);684 this._build(_ d2);714 _e8=$(_e8); 715 this.id=_e8.id.appendSuffix(this.idSuffix); 716 this._build(_e8); 685 717 this.resetSize(); 686 718 } 687 719 },resetSize:function(){ 688 720 if(this.element){ 689 var _ d3=this.element.parentNode;690 var _ d4=this.options.padding;691 this.element.width=_ d3.offsetWidth-_d4+"px";692 this.element.height=Element.getHeight(_ d3)-_d4+"px";693 } 694 },_build:function(_ d5){695 var _ d6=this.options.padding/2;696 var _ d7={position:"absolute",top:_d6+"px",left:_d6+"px"};721 var _e9=this.element.parentNode; 722 var _ea=this.options.padding; 723 this.element.width=_e9.offsetWidth-_ea+"px"; 724 this.element.height=Element.getHeight(_e9)-_ea+"px"; 725 } 726 },_build:function(_eb){ 727 var _ec=this.options.padding/2; 728 var _ed={position:"absolute",top:_ec+"px",left:_ec+"px"}; 697 729 if(this.options.transparent){ 698 _ d7.filter="alpha(opacity=0)";699 } 700 if(_ d5.buildedIECover&&$(this.id)){730 _ed.filter="alpha(opacity=0)"; 731 } 732 if(_eb.buildedIECover&&$(this.id)){ 701 733 this.element=$(this.id); 702 734 }else{ 703 735 this.element=Builder.node("iframe",{src:IECover.src,id:this.id,frameborder:0}); 704 736 } 705 Element.setStyle(this.element,_ d7);706 var _ d8=Element.down(_d5,0);707 if(_ d8){708 Element.makePositioned(_ d8);709 } 710 _ d5.insertBefore(this.element,_d5.firstChild);711 _ d5.buildedIECover=true;737 Element.setStyle(this.element,_ed); 738 var _ee=Element.down(_eb,0); 739 if(_ee){ 740 Element.makePositioned(_ee); 741 } 742 _eb.insertBefore(this.element,_eb.firstChild); 743 _eb.buildedIECover=true; 712 744 }}; 713 745 var UserAgent={getUserAgent:function(){ … … 728 760 var ShortcutManager=Class.create(); 729 761 ShortcutManager.prototype={initialize:function(){ 730 var _ d9={detectKeyup:false,initialStarted:true,preventDefault:true};731 this.options=Object.extend(_ d9,arguments[0]||{});762 var _ef={detectKeyup:false,initialStarted:true,preventDefault:true}; 763 this.options=Object.extend(_ef,arguments[0]||{}); 732 764 this.keydownListener=this.eventKeydown.bindAsEventListener(this); 733 765 if(this.options.detectKeyup){ … … 755 787 Event.observe(document,"keyup",this.keyupListener); 756 788 } 757 },add:function(c1,c2,_ dc){789 },add:function(c1,c2,_f2){ 758 790 if(c1.constructor==Array){ 759 var _ dd=this;760 c1.each(function(_ de){761 _ dd._add_or_remove_function(_de[0],_de[1],_dc);762 }); 763 }else{ 764 this._add_or_remove_function(c1,c2,_ dc);791 var _f3=this; 792 c1.each(function(_f4){ 793 _f3._add_or_remove_function(_f4[0],_f4[1],_f2); 794 }); 795 }else{ 796 this._add_or_remove_function(c1,c2,_f2); 765 797 } 766 798 },destroy:function(){ … … 769 801 Event.stopObserving(document,"keyup",this.keyupListener); 770 802 } 771 },eventKeydown:function(_ df){803 },eventKeydown:function(_f5){ 772 804 if(this.executable){ 773 var _ e0;805 var _f6; 774 806 var key=""; 775 _ df=_df||window.event;776 if(_ df.keyCode){777 if(_ df.altKey){807 _f5=_f5||window.event; 808 if(_f5.keyCode){ 809 if(_f5.altKey){ 778 810 key+="a"; 779 811 } 780 if(_ df.ctrlKey){812 if(_f5.ctrlKey){ 781 813 key+="c"; 782 814 } 783 if(_ df.shiftKey){815 if(_f5.shiftKey){ 784 816 key+="s"; 785 817 } … … 787 819 key="n"; 788 820 } 789 _ e0=this._mergeNumKey(_df.keyCode);790 if(this.keydownFunc[key][_ e0]){791 this.keydownFunc[key][_ e0]();821 _f6=this._mergeNumKey(_f5.keyCode); 822 if(this.keydownFunc[key][_f6]){ 823 this.keydownFunc[key][_f6](); 792 824 if(this.options.preventDefault){ 793 Event.stop(_ df);794 } 795 } 796 } 797 } 798 },eventKeyup:function(_ e2){825 Event.stop(_f5); 826 } 827 } 828 } 829 } 830 },eventKeyup:function(_f8){ 799 831 if(this.executable){ 800 var _ e3;801 _ e2=_e2||window.event;802 if(_ e2.keyCode){803 _ e3=this._mergeNumKey(_e2.keyCode);804 if(this.keyupFunc[_ e3]){805 this.keyupFunc[_ e3]();832 var _f9; 833 _f8=_f8||window.event; 834 if(_f8.keyCode){ 835 _f9=this._mergeNumKey(_f8.keyCode); 836 if(this.keyupFunc[_f9]){ 837 this.keyupFunc[_f9](); 806 838 if(this.options.preventDefault){ 807 Event.stop(_ e2);808 } 809 } 810 } 811 } 812 },remove:function(_ e4){813 this._add_or_remove_function(_ e4);839 Event.stop(_f8); 840 } 841 } 842 } 843 } 844 },remove:function(_fa){ 845 this._add_or_remove_function(_fa); 814 846 },start:function(){ 815 847 this.executable=true; 816 848 },stop:function(){ 817 849 this.executable=false; 818 },_add_or_remove_function:function(_ e5,_e6,_e7){819 var _ e8;820 var _ e9=new Array();821 var _ea=this;822 $A(_ e5.toLowerCase().split("+")).each(function(key){850 },_add_or_remove_function:function(_fb,_fc,_fd){ 851 var _fe; 852 var _ff=new Array(); 853 var self=this; 854 $A(_fb.toLowerCase().split("+")).each(function(key){ 823 855 if(key=="alt"){ 824 _ e9.push("a");856 _ff.push("a"); 825 857 }else{ 826 858 if(key=="ctrl"){ 827 _ e9.push("c");859 _ff.push("c"); 828 860 }else{ 829 861 if(key=="shift"){ 830 _ e9.push("s");831 }else{ 832 _ e8=_ea.keyCode[key];833 } 834 } 835 } 836 }); 837 var key=_ e9.sortBy(function(_ed,_ee){838 return _ ed;862 _ff.push("s"); 863 }else{ 864 _fe=self.keyCode[key]; 865 } 866 } 867 } 868 }); 869 var key=_ff.sortBy(function(_103,_104){ 870 return _103; 839 871 }).join(""); 840 872 if(key==""){ 841 873 key="n"; 842 874 } 843 if(_ e6){844 if(_ e7){845 this.keyupFunc[_ e8]=_e6;846 }else{ 847 this.keydownFunc[key][_ e8]=_e6;848 } 849 }else{ 850 if(_ e7){851 this.keyupFunc[_ e8]=null;852 }else{ 853 this.keydownFunc[key][_ e8]=null;854 } 855 } 856 },_mergeNumKey:function( _ef){857 return (this.numKeys[ _ef])?this.numKeys[_ef]:_ef;875 if(_fc){ 876 if(_fd){ 877 this.keyupFunc[_fe]=_fc; 878 }else{ 879 this.keydownFunc[key][_fe]=_fc; 880 } 881 }else{ 882 if(_fd){ 883 this.keyupFunc[_fe]=null; 884 }else{ 885 this.keydownFunc[key][_fe]=null; 886 } 887 } 888 },_mergeNumKey:function(code){ 889 return (this.numKeys[code])?this.numKeys[code]:code; 858 890 }}; 859 891 Function.prototype.callAfterLoading=function(){ 860 var _f0=$A(arguments);861 var _f1=this;862 var _ f2=_f0.shift()||this;892 var args=$A(arguments); 893 var self=this; 894 var _108=args.shift()||this; 863 895 if(UserAgent.isIE()&&(document.readyState!="complete")){ 864 896 Event.observe(window,"load",function(){ 865 _f1.apply(_f2,_f0);866 }); 867 }else{ 868 this.apply(_ f2,_f0);897 self.apply(_108,args); 898 }); 899 }else{ 900 this.apply(_108,args); 869 901 } 870 902 }; … … 881 913 document.body.focus(); 882 914 } 883 },concat:function( _f3,_f4){884 var _f5={};885 _ f4.each(function(_f6){886 _f5[_f6]=_f3.appendSuffix(_f6);887 }); 888 return _f5;889 },getId:function(_ f7){890 _ f7=_f7||"";891 return _ f7.appendSuffix(++SpinelzUtil.idCount);892 },toAttriteString:function(_ f8,_f9){893 var _fa=_f8.map(function(_fb){894 return _fb.key+"='"+_fb.value+"'";915 },concat:function(base,_10a){ 916 var hash={}; 917 _10a.each(function(_10c){ 918 hash[_10c]=base.appendSuffix(_10c); 919 }); 920 return hash; 921 },getId:function(_10d){ 922 _10d=_10d||""; 923 return _10d.appendSuffix(++SpinelzUtil.idCount); 924 },toAttriteString:function(_10e,_10f){ 925 var html=_10e.map(function(pair){ 926 return pair.key+"='"+pair.value+"'"; 895 927 }).join(" "); 896 if(_ f9&&(_fa.length>0)){897 _fa=" "+_fa;898 } 899 return _fa;900 },_redrawForIE:function(_ fc){928 if(_10f&&(html.length>0)){ 929 html=" "+html; 930 } 931 return html; 932 },_redrawForIE:function(_112){ 901 933 if(UserAgent.isIE()){ 902 _ fc=$(_fc);903 if(_ fc){934 _112=$(_112); 935 if(_112){ 904 936 setTimeout(function(){ 905 Element.classNames(_ fc).set("dummy");937 Element.classNames(_112).set("dummy"); 906 938 },200); 907 939 } … … 914 946 }); 915 947 } 916 var $A=Array.from=function(_ fd){917 if(!_ fd){948 var $A=Array.from=function(_113){ 949 if(!_113){ 918 950 return []; 919 951 } 920 if(_ fd.toArray){921 return _ fd.toArray();922 }else{ 923 var _ fe=[];924 for(var i=0,len=_ fd.length;i<len;i++){925 _ fe.push(_fd[i]);926 } 927 return _ fe;952 if(_113.toArray){ 953 return _113.toArray(); 954 }else{ 955 var _114=[]; 956 for(var i=0,len=_113.length;i<len;i++){ 957 _114.push(_113[i]); 958 } 959 return _114; 928 960 } 929 961 }; 930 962 var Color=Class.create(); 931 Color.prototype={initialize:function(_1 01){932 this.color=this.parse(_1 01);933 },toHex:function(_1 02){934 _1 02=_102||this.color;935 return _1 02.invoke("toColorPart");963 Color.prototype={initialize:function(_117){ 964 this.color=this.parse(_117); 965 },toHex:function(_118){ 966 _118=_118||this.color; 967 return _118.invoke("toColorPart"); 936 968 },invert:function(){ 937 969 return this.toCssStyle(this.color.map(function(c){ 938 970 return 255-c; 939 971 })); 940 },toCssStyle:function(_1 04){941 _1 04=_104||this.color;942 return "#"+this.toHex(_1 04).join("");943 },parse:function(_1 05){944 _1 05=_105||this.color;945 if(_1 05.match(/rgb\(\d+,\s*\d+,\s*\d+\)/)){946 return _1 05.match(/\d+/g).map(function(c){972 },toCssStyle:function(_11a){ 973 _11a=_11a||this.color; 974 return "#"+this.toHex(_11a).join(""); 975 },parse:function(_11b){ 976 _11b=_11b||this.color; 977 if(_11b.match(/rgb\(\d+,\s*\d+,\s*\d+\)/)){ 978 return _11b.match(/\d+/g).map(function(c){ 947 979 return parseInt(c,10); 948 980 }); 949 981 }else{ 950 if(_1 05.match(/#[a-fA-F0-9]{6}/)){951 return _1 05.match(/([a-fA-F0-9]){2}/g).map(function(c){982 if(_11b.match(/#[a-fA-F0-9]{6}/)){ 983 return _11b.match(/([a-fA-F0-9]){2}/g).map(function(c){ 952 984 return parseInt(c,16); 953 985 }); 954 986 } 955 987 } 956 throw "parse error: "+_1 05;988 throw "parse error: "+_11b; 957 989 }}; 958 990 var DebugConsole={_active:false,_basetime:null,_messages:null,activate:function(){ 959 991 this._active=true; 960 },dump:function(_1 08){961 _1 08=_108||{};962 switch(_1 08.type){992 },dump:function(_11e){ 993 _11e=_11e||{}; 994 switch(_11e.type){ 963 995 case "alert": 964 996 this._dump_alert(); … … 971 1003 break; 972 1004 case "update": 973 this._dump_update(_1 08.target);1005 this._dump_update(_11e.target); 974 1006 break; 975 1007 default: … … 986 1018 this._messages=[]; 987 1019 } 988 },log:function(_1 09){1020 },log:function(_11f){ 989 1021 if(this._active){ 990 var _1 0a=("00000000"+(new Date()-this._basetime)).slice(-8);991 this._messages.push(_1 0a+" : "+_109);1022 var _120=("00000000"+(new Date()-this._basetime)).slice(-8); 1023 this._messages.push(_120+" : "+_11f); 992 1024 } 993 1025 },_dump_alert:function(){ 994 this._messages.each(function(_1 0b){995 alert(_1 0b);1026 this._messages.each(function(_121){ 1027 alert(_121); 996 1028 }); 997 1029 },_dump_clipboard:function(){ 998 1030 var dump=""; 999 this._messages.each(function(_1 0d){1000 dump+=_1 0d+"\n";1031 this._messages.each(function(_123){ 1032 dump+=_123+"\n"; 1001 1033 }); 1002 1034 clipboardData.setData("Text",dump); 1003 1035 },_dump_console:function(){ 1004 this._messages.each(function(_1 0e){1005 console.log(_1 0e);1006 }); 1007 },_dump_update:function(_1 0f){1036 this._messages.each(function(_124){ 1037 console.log(_124); 1038 }); 1039 },_dump_update:function(_125){ 1008 1040 var html=""; 1009 this._messages.each(function(_1 11){1010 html+="<p>"+_1 11+"</p>";1011 }); 1012 Element.update(_1 0f,html);1041 this._messages.each(function(_127){ 1042 html+="<p>"+_127+"</p>"; 1043 }); 1044 Element.update(_125,html); 1013 1045 }}; 1014 1046 if(UserAgent.isFF3()){ 1015 function __$(_1 12){1047 function __$(_128){ 1016 1048 if(arguments.length>1){ 1017 for(var i=0,_1 14=[],_115=arguments.length;i<_115;i++){1018 _1 14.push($(arguments[i]));1019 } 1020 return _1 14;1021 } 1022 if(typeof _1 12=="string"){1023 _1 12=document.getElementById(_112);1024 } 1025 if(_1 12&&_112.nodeType==1&&!_112._extendedBySpinelz&&_112.tagName&&_112!=window){1026 _1 12.__getElementsByClassName=_112.getElementsByClassName;1027 _1 12.getElementsByClassName=function(_116){1028 return $A(_1 12.__getElementsByClassName(_116));1049 for(var i=0,_12a=[],_12b=arguments.length;i<_12b;i++){ 1050 _12a.push($(arguments[i])); 1051 } 1052 return _12a; 1053 } 1054 if(typeof _128=="string"){ 1055 _128=document.getElementById(_128); 1056 } 1057 if(_128&&_128.nodeType==1&&!_128._extendedBySpinelz&&_128.tagName&&_128!=window){ 1058 _128.__getElementsByClassName=_128.getElementsByClassName; 1059 _128.getElementsByClassName=function(_12c){ 1060 return $A(_128.__getElementsByClassName(_12c)); 1029 1061 }; 1030 _1 12._extendedBySpinelz=true;1031 } 1032 return Element.extend(_1 12);1062 _128._extendedBySpinelz=true; 1063 } 1064 return Element.extend(_128); 1033 1065 } 1034 1066 $=__$; spinelz/trunk/compress/javascripts/spinelz_lib/spinelz_util_for_rubricks.js
r5753 r5777 4889 4889 } 4890 4890 }); 4891 },positionedByCursor:function(_49,_4a,_4b){ 4892 _4b=Object.extend({top:0,left:0},_4b||{}); 4893 var _4c=Element.getDimensions(_49); 4894 var x=Event.pointerX(_4a); 4895 var _4e=x+_4c.width+_4b.left; 4896 var _4f=Element.getWindowWidth()+Element.scrollLeft(); 4897 if(_4e>_4f){ 4898 x-=(_4e-_4f); 4899 } 4900 Element.setStyle(_49,{position:"absolute",left:x+"px",top:Event.pointerY(_4a)+_4b.top+"px"}); 4901 },alignTop:function(_50,_51,_52){ 4902 if(!_52){ 4903 _52=0; 4904 } 4905 var _53=Position.cumulativeOffset(Position.offsetParent
