1/** 2 * ____ _____ 3 * Dynarch Calendar -- JSCal2, version 1.9 \ /_ / / 4 * Built at 2011/03/13 10:28 GMT \ / / / 5 * \/ /_ / 6 * (c) Dynarch.com 2009 \ / / 7 * All rights reserved. / / 8 * Visit www.dynarch.com/projects/calendar for details \/ 9 * 10 */ 11Calendar=function(){ 12 function bm(a){ 13 typeof a=="string"&&(a=document.getElementById(a)); 14 return a 15 } 16 function bk(a,b,c){ 17 for(c=0;c<a.length;++c)b(a[c]) 18 } 19 function bj(){ 20 var a=document.documentElement,b=document.body; 21 return{ 22 x:a.scrollLeft||b.scrollLeft, 23 y:a.scrollTop||b.scrollTop, 24 w:a.clientWidth||window.innerWidth||b.clientWidth, 25 h:a.clientHeight||window.innerHeight||b.clientHeight 26 } 27 } 28 function bi(a){ 29 var b=0,c=0,d=/^div$/i.test(a.tagName),e,f; 30 d&&a.scrollLeft&&(b=a.scrollLeft),d&&a.scrollTop&&(c=a.scrollTop),e={ 31 x:a.offsetLeft-b, 32 y:a.offsetTop-c 33 },a.offsetParent&&(f=bi(a.offsetParent),e.x+=f.x,e.y+=f.y); 34 return e 35 } 36 function bh(a,b){ 37 var c=e?a.clientX+document.body.scrollLeft:a.pageX,d=e?a.clientY+document.body.scrollTop:a.pageY; 38 b&&(c-=b.x,d-=b.y); 39 return{ 40 x:c, 41 y:d 42 } 43} 44function bg(a,b){ 45 var c=a.style; 46 b!=null&&(c.display=b?"":"none"); 47 return c.display!="none" 48} 49function bf(a,b){ 50 b===""?e?a.style.filter="":a.style.opacity="":b!=null?e?a.style.filter="alpha(opacity="+b*100+")":a.style.opacity=b:e?/alpha\(opacity=([0-9.])+\)/.test(a.style.opacity)&&(b=parseFloat(RegExp.$1)/100):b=parseFloat(a.style.opacity); 51 return b 52} 53function bd(a,b,c){ 54 function h(){ 55 var b=a.len; 56 a.onUpdate(c/b,d),c==b&&g(),++c 57 } 58 function g(){ 59 b&&(clearInterval(b),b=null),a.onStop(c/a.len,d) 60 } 61 function f(){ 62 b&&g(),c=0,b=setInterval(h,1e3/a.fps) 63 } 64 function d(a,b,c,d){ 65 return d?c+a*(b-c):b+a*(c-b) 66 } 67 a=U(a,{ 68 fps:50, 69 len:15, 70 onUpdate:bl, 71 onStop:bl 72 }),e&&(a.len=Math.round(a.len/2)),f(); 73 return{ 74 start:f, 75 stop:g, 76 update:h, 77 args:a, 78 map:d 79 } 80} 81function bc(a,b){ 82 if(!b(a))for(var c=a.firstChild;c;c=c.nextSibling)c.nodeType==1&&bc(c,b) 83 } 84function bb(a,b){ 85 var c=ba(arguments,2); 86 return (b===undefined)?function(){ 87 return a.apply(this,c.concat(ba(arguments))) 88 }:function(){ 89 var x = c.concat(ba(arguments)) 90 if (x.length > 0) { 91 return a.apply(b, x) 92 } else { 93 return a; 94 } 95 } 96} 97function ba(a,b){ 98 b==null&&(b=0); 99 var c,d,e; 100 try{ 101 c=Array.prototype.slice.call(a,b) 102 }catch(f){ 103 c=Array(a.length-b); 104 for(d=b,e=0;d<a.length;++d,++e)c[e]=a[d] 105 } 106 return c 107 } 108 function _(a,b,c){ 109 var d=null; 110 document.createElementNS?d=document.createElementNS("http://www.w3.org/1999/xhtml",a):d=document.createElement(a),b&&(d.className=b),c&&c.appendChild(d); 111 return d 112 } 113 function $(a,b,c){ 114 if(b instanceof Array)for(var d=b.length;--d>=0;)$(a,b[d],c);else Y(b,c,a?c:null); 115 return a 116 } 117 function Z(a,b){ 118 return Y(a,b,b) 119 } 120 function Y(a,b,c){ 121 if(a){ 122 var d=a.className.replace(/^\s+|\s+$/,"").split(/\x20/),e=[],f; 123 for(f=d.length;f>0;)d[--f]!=b&&e.push(d[f]); 124 c&&e.push(c),a.className=e.join(" ") 125 } 126 return c 127 } 128 function X(a){ 129 a=a||window.event,e?(a.cancelBubble=!0,a.returnValue=!1):(a.preventDefault(),a.stopPropagation()); 130 return!1 131 } 132 function W(a,b,c,d){ 133 if(a instanceof Array)for(var f=a.length;--f>=0;)W(a[f],b,c); 134 else if(typeof b=="object")for(var f in b)b.hasOwnProperty(f)&&W(a,f,b[f],c);else a.removeEventListener?a.removeEventListener(b,c,e?!0:!!d):a.detachEvent?a.detachEvent("on"+b,c):a["on"+b]=null 135 } 136 function V(a,b,c,d){ 137 if(a instanceof Array)for(var f=a.length;--f>=0;)V(a[f],b,c,d); 138 else if(typeof b=="object")for(var f in b)b.hasOwnProperty(f)&&V(a,f,b[f],c);else a.addEventListener?a.addEventListener(b,c,e?!0:!!d):a.attachEvent?a.attachEvent("on"+b,c):a["on"+b]=c 139 } 140 function U(a,b,c,d){ 141 d={}; 142 143 for(c in b)b.hasOwnProperty(c)&&(d[c]=b[c]);for(c in a)a.hasOwnProperty(c)&&(d[c]=a[c]);return d 144 } 145 function T(a){ 146 if(/\S/.test(a)){ 147 a=a.toLowerCase(); 148 function b(b){ 149 for(var c=b.length;--c>=0;)if(b[c].toLowerCase().indexOf(a)==0)return c+1 150 } 151 return b(L("smn"))||b(L("mn")) 152 } 153 } 154function S(a){ 155 if(a){ 156 if(typeof a=="number")return P(a); 157 if(!(a instanceof Date)){ 158 var b=a.split(/-/); 159 return new Date(parseInt(b[0],10),parseInt(b[1],10)-1,parseInt(b[2],10),12,0,0,0) 160 } 161 } 162 return a 163} 164function R(a,b){ 165 var c=a.getMonth(),d=a.getDate(),e=a.getFullYear(),f=M(a),g=a.getDay(),h=a.getHours(),i=h>=12,j=i?h-12:h,k=N(a),l=a.getMinutes(),m=a.getSeconds(),n=/%./g,o; 166 j===0&&(j=12),o={ 167 "%a":L("sdn")[g], 168 "%A":L("dn")[g], 169 "%b":L("smn")[c], 170 "%B":L("mn")[c], 171 "%C":1+Math.floor(e/100), 172 "%d":d<10?"0"+d:d, 173 "%e":d, 174 "%H":h<10?"0"+h:h, 175 "%I":j<10?"0"+j:j, 176 "%j":k<10?"00"+k:k<100?"0"+k:k, 177 "%k":h, 178 "%l":j, 179 "%m":c<9?"0"+(1+c):1+c, 180 "%o":1+c, 181 "%M":l<10?"0"+l:l, 182 "%n":"\n", 183 "%p":i?"PM":"AM", 184 "%P":i?"pm":"am", 185 "%s":Math.floor(a.getTime()/1e3), 186 "%S":m<10?"0"+m:m, 187 "%t":"\t", 188 "%U":f<10?"0"+f:f, 189 "%W":f<10?"0"+f:f, 190 "%V":f<10?"0"+f:f, 191 "%u":g+1, 192 "%w":g, 193 "%y":(""+e).substr(2,2), 194 "%Y":e, 195 "%%":"%" 196 }; 197 198 return b.replace(n,function(a){ 199 return o.hasOwnProperty(a)?o[a]:a 200 }) 201 } 202 function Q(a,b,c){ 203 var d=a.getFullYear(),e=a.getMonth(),f=a.getDate(),g=b.getFullYear(),h=b.getMonth(),i=b.getDate(); 204 return d<g?-3:d>g?3:e<h?-2:e>h?2:c?0:f<i?-1:f>i?1:0 205 } 206 function P(a,b,c,d,e){ 207 if(!(a instanceof Date)){ 208 a=parseInt(a,10); 209 var f=Math.floor(a/1e4); 210 a=a%1e4; 211 var g=Math.floor(a/100); 212 a=a%100,a=new Date(f,g-1,a,b==null?12:b,c==null?0:c,d==null?0:d,e==null?0:e) 213 } 214 return a 215 } 216 function O(a){ 217 if(a instanceof Date)return 1e4*a.getFullYear()+100*(a.getMonth()+1)+a.getDate();
218 if(typeof a=="string")return parseInt(a,10); 219 return a 220 } 221 function N(a){ 222 a=new Date(a.getFullYear(),a.getMonth(),a.getDate(),12,0,0); 223 var b=new Date(a.getFullYear(),0,1,12,0,0),c=a-b; 224 return Math.floor(c/864e5) 225 } 226 function M(a){ 227 a=new Date(a.getFullYear(),a.getMonth(),a.getDate(),12,0,0); 228 var b=a.getDay(); 229 a.setDate(a.getDate()-(b+6)%7+3); 230 var c=a.valueOf(); 231 a.setMonth(0),a.setDate(4); 232 return Math.round((c-a.valueOf())/6048e5)+1 233 } 234 function L(a,b){ 235 var c=i.__.data[a]; 236 b&&typeof c=="string"&&(c=K(c,b)); 237 return c 238 } 239 function K(a,b){ 240 return a.replace(/\$\{([^:\}]+)(:[^\}]+)?\}/g,function(a,c,d){ 241 var e=b[c],f; 242 d&&(f=d.substr(1).split(/\s*\|\s*/),e=(e>=f.length?f[f.length-1]:f[e]).replace(/##?/g,function(a){ 243 return a.length==2?"#":e 244 })); 245 return e 246 }) 247 } 248 function J(b){ 249 if(!this._menuAnim){ 250 b=b||window.event; 251 var c=b.target||b.srcElement,d=c.getAttribute("dyc-btn"),e=b.keyCode,f=b.charCode||e,g=H[e]; 252 if("year"==d&&e==13){ 253 var h=new Date(this.date); 254 h.setDate(1),h.setFullYear(this._getInputYear()),this.moveTo(h,!0),z(this,!1); 255 return X(b) 256 } 257 if(this._menuVisible){ 258 if(e==27){ 259 z(this,!1); 260 return X(b) 261 } 262 }else{ 263 b.ctrlKey||(g=null),g==null&&!b.ctrlKey&&(g=I[e]),e==36&&(g=0); 264 if(g!=null){ 265 y(this,g); 266 return X(b) 267 } 268 f=String.fromCharCode(f).toLowerCase(); 269 var i=this.els.yearInput,j=this.selection; 270 if(f==" "){ 271 z(this,!0),this.focus(),i.focus(),i.select(); 272 return X(b) 273 } 274 if(f>="0"&&f<="9"){ 275 z(this,!0),this.focus(),i.value=f,i.focus(); 276 return X(b) 277 } 278 var k=L("mn"),l=b.shiftKey?-1:this.date.getMonth(),m=0,n; 279 while(++m<12){ 280 n=k[(l+m)%12].toLowerCase(); 281 if(n.indexOf(f)==0){ 282 var h=new Date(this.date); 283 h.setDate(1),h.setMonth((l+m)%12),this.moveTo(h,!0); 284 return X(b) 285 } 286 } 287 if(e>=37&&e<=40){ 288 var h=this._lastHoverDate; 289 if(!h&&!j.isEmpty()){ 290 h=e<39?j.getFirstDate():j.getLastDate(); 291 if(h<this._firstDateVisible||h>this._lastDateVisible)h=null 292 } 293 if(!h)h=e<39?this._lastDateVisible:this._firstDateVisible; 294 else{ 295 var o=h; 296 h=P(h); 297 var l=100; 298 while(l-->0){ 299 switch(e){ 300 case 37: 301 h.setDate(h.getDate()-1); 302 break; 303 case 38: 304 h.setDate(h.getDate()-7); 305 break; 306 case 39: 307 h.setDate(h.getDate()+1); 308 break; 309 case 40: 310 h.setDate(h.getDate()+7) 311 } 312 if(!this.isDisabled(h))break 313 } 314 h=O(h),(h<this._firstDateVisible||h>this._lastDateVisible)&&this.moveTo(h) 315 } 316 Y(this._getDateDiv(o),Z(this._getDateDiv(h),"DynarchCalendar-hover-date")),this._lastHoverDate=h; 317 return X(b) 318 } 319 if(e==13&&this._lastHoverDate){ 320 j.type==a.SEL_MULTIPLE&&(b.shiftKey||b.ctrlKey)?(b.shiftKey&&this._selRangeStart&&(j.clear(!0),j.selectRange(this._selRangeStart,this._lastHoverDate)),b.ctrlKey&&j.set(this._selRangeStart=this._lastHoverDate,!0)):j.reset(this._selRangeStart=this._lastHoverDate); 321 return X(b) 322 } 323 e==27&&!this.args.cont&&this.hide() 324 } 325} 326} 327function G(){ 328 this.refresh(); 329 var a=this.inputField,b=this.selection; 330 if(a){ 331 var c=b.print(this.dateFormat); 332 /input|textarea/i.test(a.tagName)?a.value=c:a.innerHTML=c 333 } 334 this.callHooks("onSelect",this,b) 335 } 336 function F(a){ 337 a=a||window.event; 338 var b=C(a); 339 if(b){ 340 var c=b.getAttribute("dyc-btn"),d=b.getAttribute("dyc-type"),e=a.wheelDelta?a.wheelDelta/120:-a.detail/3; 341 e=e<0?-1:e>0?1:0,this.args.reverseWheel&&(e=-e); 342 if(/^(time-(hour|min))/.test(d)){ 343 switch(RegExp.$1){ 344 case"time-hour": 345 this.setHours(this.getHours()+e); 346 break; 347 case"time-min": 348 this.setMinutes(this.getMinutes()+this.args.minuteStep*e) 349 } 350 X(a) 351 }else/Y/i.test(c)&&(e*=2),y(this,-e),X(a) 352 } 353 } 354function E(a,b){ 355 b=b||window.event; 356 var c=C(b); 357 if(c){ 358 var d=c.getAttribute("dyc-type"); 359 if(d&&!c.getAttribute("disabled"))if(!a||!this._bodyAnim||d!="date"){ 360 var e=c.getAttribute("dyc-cls"); 361 e=e?D(e,0):"DynarchCalendar-hover-"+d,(d!="date"||this.selection.type)&&$(a,c,e),d=="date"&&($(a,c.parentNode.parentNode,"DynarchCalendar-hover-week"),this._showTooltip(c.getAttribute("dyc-date"))),/^time-hour/.test(d)&&$(a,this.els.timeHour,"DynarchCalendar-hover-time"),/^time-min/.test(d)&&$(a,this.els.timeMinute,"DynarchCalendar-hover-time"),Y(this._getDateDiv(this._lastHoverDate),"DynarchCalendar-hover-date"),this._lastHoverDate=null 362 } 363 } 364 a||this._showTooltip() 365} 366function D(a,b){ 367 return"DynarchCalendar-"+a.split(/,/)[b] 368 } 369 function C(a){ 370 var b=a.target||a.srcElement,c=b; 371 while(b&&b.getAttribute&&!b.getAttribute("dyc-type"))b=b.parentNode; 372 return b.getAttribute&&b||c 373 } 374 function B(a){ 375 a=a||window.event; 376 var b=this.els.topCont.style,c=bh(a,this._mouseDiff); 377 b.left=c.x+"px",b.top=c.y+"px" 378 } 379 function A(b,c){ 380 c=c||window.event; 381 var d=C(c); 382 if(d&&!d.getAttribute("disabled")){ 383 var f=d.getAttribute("dyc-btn"),g=d.getAttribute("dyc-type"),h=d.getAttribute("dyc-date"),i=this.selection,j,k={ 384 mouseover:X, 385 mousemove:X, 386 mouseup:function(a){ 387 var b=d.getAttribute("dyc-cls"); 388 b&&Y(d,D(b,1)),clearTimeout(j),W(document,k,!0),k=null 389 } 390 }; 391 392 if(b){ 393 setTimeout(bb(this.focus,this),1); 394 var l=d.getAttribute("dyc-cls"); 395 l&&Z(d,D(l,1)); 396 if("menu"==f)this.toggleMenu(); 397 else if(d&&/^[+-][MY]$/.test(f))if(y(this,f)){ 398 var m=bb(function(){ 399 y(this,f,!0)?j=setTimeout(m,40):(k.mouseup(),y(this,f)) 400 },this); 401 j=setTimeout(m,350),V(document,k,!0) 402 }else k.mouseup(); 403 else if("year"==f)this.els.yearInput.focus(),this.els.yearInput.select(); 404 else if(g=="time-am")V(document,k,!0); 405 else if(/^time/.test(g)){ 406 var m=bb(function(a){ 407 w.call(this,a),j=setTimeout(m,100) 408 },this,g); 409 w.call(this,g),j=setTimeout(m,350),V(document,k,!0) 410 }else h&&i.type&&(i.type==a.SEL_MULTIPLE?c.shiftKey&&this._selRangeStart?i.selectRange(this._selRangeStart,h):(!c.ctrlKey&&!i.isSelected(h)&&i.clear(!0),i.set(h,!0),this._selRangeStart=h):(i.set(h),this.moveTo(P(h),2)),d=this._getDateDiv(h),E.call(this,!0,{ 411 target:d 412 })),V(document,k,!0); 413 e&&k&&/dbl/i.test(c.type)&&k.mouseup(),!this.args.fixed&&/^(DynarchCalendar-(topBar|bottomBar|weekend|weekNumber|menu(-sep)?))?$/.test(d.className)&&!this.args.cont&&(k.mou
413semove=bb(B,this),this._mouseDiff=bh(c,bi(this.els.topCont)),V(document,k,!0)) 414 }else if("today"==f)!this._menuVisible&&i.type==a.SEL_SINGLE&&i.set(new Date),this.moveTo(new Date,!0),z(this,!1); 415 else if(/^m([0-9]+)/.test(f)){ 416 var h=new Date(this.date); 417 h.setDate(1),h.setMonth(RegExp.$1),h.setFullYear(this._getInputYear()),this.moveTo(h,!0),z(this,!1) 418 }else g=="time-am"&&this.setHours(this.getHours()+12); 419 e||X(c) 420 } 421} 422function z(a,b){ 423 a._menuVisible=b,$(b,a.els.title,"DynarchCalendar-pressed-title"); 424 var c=a.els.menu; 425 f&&(c.style.height=a.els.main.offsetHeight+"px"); 426 if(!a.args.animation)bg(c,b),a.focused&&a.focus(); 427 else{ 428 a._menuAnim&&a._menuAnim.stop(); 429 var d=a.els.main.offsetHeight; 430 f&&(c.style.width=a.els.topBar.offsetWidth+"px"),b&&(c.firstChild.style.marginTop=-d+"px",a.args.opacity>0&&bf(c,0),bg(c,!0)),a._menuAnim=bd({ 431 onUpdate:function(e,f){ 432 c.firstChild.style.marginTop=f(be.accel_b(e),-d,0,!b)+"px",a.args.opacity>0&&bf(c,f(be.accel_b(e),0,.85,!b)) 433 }, 434 onStop:function(){ 435 a.args.opacity>0&&bf(c,.85),c.firstChild.style.marginTop="",a._menuAnim=null,b||(bg(c,!1),a.focused&&a.focus()) 436 } 437 }) 438 } 439} 440function y(a,b,c){ 441 this._bodyAnim&&this._bodyAnim.stop(); 442 var d; 443 if(b!=0){ 444 d=new Date(a.date),d.setDate(1); 445 switch(b){ 446 case"-Y":case-2: 447 d.setFullYear(d.getFullYear()-1); 448 break; 449 case"+Y":case 2: 450 d.setFullYear(d.getFullYear()+1); 451 break; 452 case"-M":case-1: 453 d.setMonth(d.getMonth()-1); 454 break; 455 case"+M":case 1: 456 d.setMonth(d.getMonth()+1) 457 } 458 }else d=new Date; 459return a.moveTo(d,!c) 460} 461function w(a){ 462 switch(a){ 463 case"time-hour+": 464 this.setHours(this.getHours()+1); 465 break; 466 case"time-hour-": 467 this.setHours(this.getHours()-1); 468 break; 469 case"time-min+": 470 this.setMinutes(this.getMinutes()+this.args.minuteStep); 471 break; 472 case"time-min-": 473 this.setMinutes(this.getMinutes()-this.args.minuteStep); 474 break; 475 default: 476 return 477 } 478 } 479function v(){ 480 this._bluringTimeout=setTimeout(bb(u,this),50) 481 } 482 function u(){ 483 this.focused=!1,Y(this.els.main,"DynarchCalendar-focused"),this._menuVisible&&z(this,!1),this.args.cont||this.hide(),this.callHooks("onBlur",this) 484 } 485 function t(){ 486 this._bluringTimeout&&clearTimeout(this._bluringTimeout),this.focused=!0,Z(this.els.main,"DynarchCalendar-focused"),this.callHooks("onFocus",this) 487 } 488 function s(a){ 489 var b=_("div"),c=a.els={},d={ 490 mousedown:bb(A,a,!0), 491 mouseup:bb(A,a,!1), 492 mouseover:bb(E,a,!0), 493 mouseout:bb(E,a,!1), 494 keypress:bb(J,a) 495 }; 496 497 a.args.noScroll||(d[g?"DOMMouseScroll":"mousewheel"]=bb(F,a)),e&&(d.dblclick=d.mousedown,d.keydown=d.keypress),b.innerHTML=m(a),bc(b.firstChild,function(a){ 498 var b=r[a.className]; 499 b&&(c[b]=a),e&&a.setAttribute("unselectable","on") 500 }),V(c.main,d),V([c.focusLink,c.yearInput],a._focusEvents={ 501 focus:bb(t,a), 502 blur:bb(v,a) 503 }),a.moveTo(a.date,!1),a.setTime(null,!0); 504 return c.topCont 505 } 506 function q(a){ 507 function d(){ 508 c.showTime&&(b.push("<td>"),p(a,b),b.push("</td>")) 509 } 510 var b=[],c=a.args; 511 b.push("<table",j," style='width:100%'><tr>"),c.timePos=="left"&&d(),c.bottomBar&&(b.push("<td>"),b.push("<table",j,"><tr><td>","<div dyc-btn='today' dyc-cls='hover-bottomBar-today,pressed-bottomBar-today' dyc-type='bottomBar-today' ","class='DynarchCalendar-bottomBar-today'>",L("today"),"</div>","</td></tr></table>"),b.push("</td>")),c.timePos=="right"&&d(),b.push("</tr></table>"); 512 return b.join("") 513 } 514 function p(a,b){ 515 b.push("<table class='DynarchCalendar-time'"+j+"><tr>","<td rowspan='2'><div dyc-type='time-hour' dyc-cls='hover-time,pressed-time' class='DynarchCalendar-time-hour'></div></td>","<td dyc-type='time-hour+' dyc-cls='hover-time,pressed-time' class='DynarchCalendar-time-up'></td>","<td rowspan='2' class='DynarchCalendar-time-sep'></td>","<td rowspan='2'><div dyc-type='time-min' dyc-cls='hover-time,pressed-time' class='DynarchCalendar-time-minute'></div></td>","<td dyc-type='time-min+' dyc-cls='hover-time,pressed-time' class='DynarchCalendar-time-up'></td>
515"),a.args.showTime==12&&b.push("<td rowspan='2' class='DynarchCalendar-time-sep'></td>","<td rowspan='2'><div class='DynarchCalendar-time-am' dyc-type='time-am' dyc-cls='hover-time,pressed-time'></div></td>"),b.push("</tr><tr>","<td dyc-type='time-hour-' dyc-cls='hover-time,pressed-time' class='DynarchCalendar-time-down'></td>","<td dyc-type='time-min-' dyc-cls='hover-time,pressed-time' class='DynarchCalendar-time-down'></td>","</tr></table>") 516 } 517 function o(a){ 518 var b=["<table height='100%'",j,"><tr><td>","<table style='margin-top: 1.5em'",j,">","<tr style='display: none'><td colspan='3'><div unselectable='off'><label for='anybtn'>Any</label></div></td></tr><tr><td colspan='3'><input id='anybtn' dyc-btn='year' class='DynarchCalendar-menu-year' size='6' value='",a.date.getFullYear(),"'/></td></tr>","<tr><td><div dyc-type='menubtn' dyc-cls='hover-navBtn,pressed-navBtn' dyc-btn='today'>",L("goToday"),"</div></td></tr>","</table>","<p class='DynarchCalendar-menu-sep'> </p>","<table class='DynarchCalendar-menu-mtable'",j,">"],c=L("smn"),d=0,e=b.length,f; 519 while(d<12){ 520 b[e++]="<tr>"; 521 for(f=4;--f>0;)b[e++]="<td><div dyc-type='menubtn' dyc-cls='hover-navBtn,pressed-navBtn' dyc-btn='m"+d+"' class='DynarchCalendar-menu-month'>"+c[d++]+"</div></td>"; 522 b[e++]="</tr>" 523 } 524 b[e++]="</table></td></tr></table>"; 525 return b.join("") 526 } 527 function n(a){ 528 return"<div unselectable='on' class='DynarchCalendar-month' data-date='"+R(a.date,a.args.dateFormat)+"'>"+R(a.date,a.args.titleFormat)+"</div>" 529 } 530 function m(a){ 531 var b=["<table class='DynarchCalendar-topCont'",j,"><tr><td>","<div class='DynarchCalendar'>",e?"<a class='DynarchCalendar-focusLink' href='#'></a>":"<button class='DynarchCalendar-focusLink' title='Agenda'></button>","<div class='DynarchCalendar-topBar'>","<div dyc-type='nav' dyc-btn='-Y' dyc-cls='hover-navBtn,pressed-navBtn' ","class='DynarchCalendar-navBtn DynarchCalendar-prevYear'><div></div></div>","<div dyc-type='nav' dyc-btn='+Y' dyc-cls='hover-navBtn,pressed-navBtn' ","class='DynarchCalendar-navBtn DynarchCalendar-nextYear'><div></div></div>","<div dyc-type='nav' dyc-btn='-M' dyc-cls='hover-navBtn,pressed-navBtn' ","class='DynarchCalendar-navBtn DynarchCalendar-prevMonth' title='Anterior'><div></div></div>","<div dyc-type='nav' dyc-btn='+M' dyc-cls='hover-navBtn,pressed-navBtn' ","class='DynarchCalendar-navBtn DynarchCalendar-nextMonth' title='Següent'><div></div></div>","<table class='DynarchCalendar-titleCont'",j,"><tr><td>","<div dyc-type='title' dyc-btn='menu' dyc-cls='hover-title,pressed-title' class='DynarchCalendar-title'>",n(a),"</div></td></tr></table>","<div class='DynarchCalendar-dayNames'>",k(a),"</div>","</div>","<div class='DynarchCalendar-body'></div>"]; 532 (a.args.bottomBar||a.args.showTime)&&b.push("<div class='DynarchCalendar-bottomBar'>",q(a),"</div>"),b.push("<div class='DynarchCalendar-menu' style='display: none'>",o(a),"</div>","<div class='DynarchCalendar-tooltip'></div>","</div>","</td></tr></table>"); 533 return b.join("") 534 } 535 function l(a,b,c){ 536 b=b||a.date,c=c||a.fdow,b=new Date(b.getFullYear(),b.getMonth(),b.getDate(),12,0,0,0); 537 var d=b.getMonth(),e=[],f=0,g=a.args.weekNumbers; 538 b.setDate(1); 539 var h=(b.getDay()-c)%7; 540 h<0&&(h+=7),b.setDate(0-h),b.setDate(b.getDate()+1); 541 var i=new Date,k=i.getDate(),l=i.getMonth(),m=i.getFullYear(); 542 e[f++]="<table class='DynarchCalendar-bodyTable'"+j+">"; 543 for(var n=0;n<6;++n){ 544 e[f++]="<tr class='DynarchCalendar-week",n==0&&(e[f++]=" DynarchCalendar-first-row"),n==5&&(e[f++]=" DynarchCalendar-last-row"),e[f++]="'>",g&&(e[f++]="<td class='DynarchCalendar-first-col'><div class='DynarchCalendar-weekNumber'>"+M(b)+"</div></td>"); 545 for(var o=0;o<7;++o){ 546 var p=b.getDate(),q=b.getMonth(),r=b.getFullYear(),s=1e4*r+100*(q+1)+p,t=a.selection.isSelected(s),u=a.isDisabled(b); 547 548 lin = a.args.dateInfo(b)&&a.args.dateInfo(b).lin; 549 if(lin){ 550 e[f++]="<td class='",o==0&&!g&&(e[f++]=" DynarchCalendar-first-col"),o==0&&n==0&&(a._firstDateVisible=s),o==6&&(e[f++]=" DynarchCalendar-last-col",n==5&&(a._lastDateVisible=s)),t&&(e[f++]=" DynarchCalendar-td-selected"),e[f++]="'><div orioldyc-type='date' unselectable='on' dyc-date='"+s+"' ",u&&(e[f++]="disabled='1' "),e[f++]="class='DynarchCalendar-day",L("weekend").indexOf(b.getDay())>=0&&(e[f++]=" DynarchCalendar-weekend"),q!=d&&(e[f++]=" DynarchCalendar-day-othermonth"),p==k&&q==l&&r==m&&(e[f++]=" DynarchCalendar-day-today"),u&&(e[f++]=" DynarchCalendar-day-disabled"),t&&(e[f++]=" DynarchCalendar-day-selected"),u=a.args.dateInfo(b),u&&u.klass&&(e[f++]=" "+u.klass),e[f++]="'><a href='"+lin+"'>"+p+"</a></div></td>",b=new Date(r,q,p+1,12,0,0,0) 551 }else{ 552 e[f++]="<td class='",o==0&&!g&&(e[f++]=" DynarchCalendar-first-col"),o==0&&n==0&&(a._firstDateVisible=s),o==6&&(e[f++]=" DynarchCalendar-last-col",n==5&&(a._lastDateVisible=s)),t&&(e[f++]=" DynarchCalendar-td-selected"),e[f++]="'><div dyc-type='date' unselectable='on' dyc-date='"+s+"' ",u&&(e[f++]="disabled='1' "),e[f++]="class='DynarchCalendar-day",L("weekend").indexOf(b.getDay())>=0&&(e[f++]=" DynarchCalendar-weekend"),q!=d&&(e[f++]=" DynarchCalendar-day-othermonth"),p==k&&q==l&&r==m&&(e[f++]=" DynarchCalendar-day-today"),u&&(e[f++]=" DynarchCalendar-day-disabled"),t&&(e[f++]=" DynarchCalendar-day-selected"),u=a.args.dateInfo(b),u&&u.klass&&(e[f++]=" "+u.klass),e[f++]="'>"+p+"</div></td>",b=new Date(r,q,p+1,12,0,0,0) 553 } 554 } 555 e[f++]="</tr>" 556 } 557 e[f++]="</table>"; 558 return e.join("") 559 } 560 function k(a){ 561 var b=["<table",j,"><tr>"],c=0; 562 a.args.weekNumbers&&b.push("<td><div class='DynarchCalendar-weekNumber'>",L("wk"),"</div></td>"); 563 while(c<7){ 564 var d=(c++ +a.fdow)%7; 565 b.push("<td><div",L("weekend").indexOf(d)>=0?" class='DynarchCalendar-weekend'>":">",L("sdn")[d],"</div></td>") 566 } 567 b.push("</tr></table>"); 568 return b.join("") 569 } 570 function a(b){ 571 b=b||{},this.args=b=U(b,{ 572 animation:!f, 573 cont:null, 574 bottomBar:!0, 575 date:!0, 576 fdow:L("fdow"), 577 min:null, 578 max:null, 579 reverseWheel:!1,
580 selection:[], 581 selectionType:a.SEL_SINGLE, 582 weekNumbers:!1, 583 align:"Bl/ / /T/r", 584 inputField:null, 585 trigger:null, 586 dateFormat:"%Y-%m-%d", 587 fixed:!1, 588 opacity:e?1:3, 589 titleFormat:"%b %Y", 590 showTime:!1, 591 timePos:"right", 592 time:!0, 593 minuteStep:5, 594 noScroll:!1, 595 disabled:bl, 596 checkRange:!1, 597 dateInfo:bl, 598 onChange:bl, 599 onSelect:bl, 600 onTimeChange:bl, 601 onFocus:bl, 602 onBlur:bl 603 }),this.handlers={}; 604 605 var c=this,d=new Date; 606 b.min=S(b.min),b.max=S(b.max),b.date===!0&&(b.date=d),b.time===!0&&(b.time=d.getHours()*100+Math.floor(d.getMinutes()/b.minuteStep)*b.minuteStep),this.date=S(b.date),this.time=b.time,this.fdow=b.fdow,bk("onChange onSelect onTimeChange onFocus onBlur".split(/\s+/),function(a){ 607 var d=b[a]; 608 d instanceof Array||(d=[d]),c.handlers[a]=d 609 }),this.selection=new a.Selection(b.selection,b.selectionType,G,this); 610 var g=s(this); 611 b.cont&&bm(b.cont).appendChild(g),b.trigger&&this.manageFields(b.trigger,b.inputField,b.dateFormat) 612 } 613 var b=navigator.userAgent,c=/opera/i.test(b),d=/Konqueror|Safari|KHTML/i.test(b),e=/msie/i.test(b)&&!c&&!/mac_powerpc/i.test(b),f=e&&/msie 6/i.test(b),g=/gecko/i.test(b)&&!d&&!c&&!e,h=a.prototype,i=a.I18N={}; 614 615a.SEL_NONE=0,a.SEL_SINGLE=1,a.SEL_MULTIPLE=2,a.SEL_WEEK=3,a.dateToInt=O,a.intToDate=P,a.printDate=R,a.formatString=K,a.i18n=L,a.LANG=function(a,b,c){ 616 i.__=i[a]={ 617 name:b, 618 data:c 619 } 620},a.setup=function(b){ 621 return new a(b) ; 622 },h.moveTo=function(a,b){ 623 var c=this; 624 a=S(a); 625 var d=Q(a,c.date,!0),e,f=c.args,g=f.min&&Q(a,f.min),h=f.max&&Q(a,f.max); 626 f.animation||(b=!1),$(g!=null&&g<=1,[c.els.navPrevMonth,c.els.navPrevYear],"DynarchCalendar-navDisabled"),$(h!=null&&h>=-1,[c.els.navNextMonth,c.els.navNextYear],"DynarchCalendar-navDisabled"),g<-1&&(a=f.min,e=1,d=0),h>1&&(a=f.max,e=2,d=0),c.date=a,c.refresh(!!b),c.callHooks("onChange",c,a,b); 627 if(b&&(d!=0||b!=2)){ 628 c._bodyAnim&&c._bodyAnim.stop(); 629 var i=c.els.body,j=_("div","DynarchCalendar-animBody-"+x[d],i),k=i.firstChild,m=bf(k)||.7,n=e?be.brakes:d==0?be.shake:be.accel_ab2,o=d*d>4,p=o?k.offsetTop:k.offsetLeft,q=j.style,r=o?i.offsetHeight:i.offsetWidth; 630 d<0?r+=p:d>0?r=p-r:(r=Math.round(r/7),e==2&&(r=-r)); 631 if(!e&&d!=0){ 632 var s=j.cloneNode(!0),t=s.style,u=2*r; 633 s.appendChild(k.cloneNode(!0)),t[o?"marginTop":"marginLeft"]=r+"px",i.appendChild(s) 634 } 635 k.style.visibility="hidden",j.innerHTML=l(c),c._bodyAnim=bd({ 636 onUpdate:function(a,b){ 637 var f=n(a); 638 if(s)var g=b(f,r,u)+"px"; 639 if(e)q[o?"marginTop":"marginLeft"]=b(f,r,0)+"px"; 640 else{ 641 if(o||d==0)q.marginTop=b(d==0?n(a*a):f,0,r)+"px",d!=0&&(t.marginTop=g); 642 if(!o||d==0)q.marginLeft=b(f,0,r)+"px",d!=0&&(t.marginLeft=g) 643 } 644 c.args.opacity>2&&s&&(bf(s,1-f),bf(j,f)) 645 }, 646 onStop:function(b){ 647 i.innerHTML=l(c,a),c._bodyAnim=null 648 } 649 }) 650 } 651 c._lastHoverDate=null; 652return g>=-1&&h<=1 653},h.isDisabled=function(a){ 654 var b=this.args; 655 return b.min&&Q(a,b.min)<0||b.max&&Q(a,b.max)>0||b.disabled(a) 656 },h.toggleMenu=function(){ 657 z(this,!this._menuVisible) 658 },h.refresh=function(a){ 659 var b=this.els; 660 a||(b.body.innerHTML=l(this)),b.title.innerHTML=n(this),b.yearInput.value=this.date.getFullYear() 661 },h.redraw=function(){ 662 var a=this,b=a.els; 663 a.refresh(),b.dayNames.innerHTML=k(a),b.menu.innerHTML=o(a),b.bottomBar&&(b.bottomBar.innerHTML=q(a)),bc(b.topCont,function(c){ 664 var d=r[c.className]; 665 d&&(b[d]=c),c.className=="DynarchCalendar-menu-year"?(V(c,a._focusEvents),b.yearInput=c):e&&c.setAttribute("unselectable","on") 666 }),a.setTime(null,!0) 667 },h.setLanguage=function(b){ 668 var c=a.setLanguage(b); 669 c&&(this.fdow=c.data.fdow,this.redraw()) 670 },a.setLanguage=function(a){ 671 var b=i[a]; 672 b&&(i.__=b); 673 return b 674 },h.focus=function(){ 675 try{
676 this.els[this._menuVisible?"yearInput":"focusLink"].focus() 677 }catch(a){} 678 t.call(this) 679 },h.blur=function(){ 680 this.els.focusLink.blur(),this.els.yearInput.blur(),u.call(this) 681 },h.showAt=function(a,b,c){ 682 this._showAnim&&this._showAnim.stop(),c=c&&this.args.animation; 683 var d=this.els.topCont,e=this,f=this.els.body.firstChild,g=f.offsetHeight,h=d.style; 684 h.position="absolute",h.left=a+"px",h.top=b+"px",h.zIndex=1e4,h.display="",c&&(f.style.marginTop=-g+"px",this.args.opacity>1&&bf(d,0),this._showAnim=bd({ 685 onUpdate:function(a,b){ 686 f.style.marginTop=-b(be.accel_b(a),g,0)+"px",e.args.opacity>1&&bf(d,a) 687 }, 688 onStop:function(){ 689 e.args.opacity>1&&bf(d,""),e._showAnim=null 690 } 691 })) 692},h.hide=function(){ 693 var a=this.els.topCont,b=this,c=this.els.body.firstChild,d=c.offsetHeight,e=bi(a).y; 694 this.args.animation?(this._showAnim&&this._showAnim.stop(),this._showAnim=bd({ 695 onUpdate:function(f,g){ 696 b.args.opacity>1&&bf(a,1-f),c.style.marginTop=-g(be.accel_b(f),0,d)+"px",a.style.top=g(be.accel_ab(f),e,e-10)+"px" 697 }, 698 onStop:function(){ 699 a.style.display="none",c.style.marginTop="",b.args.opacity>1&&bf(a,""),b._showAnim=null 700 } 701 })):a.style.display="none",this.inputField=null 702},h.popup=function(a,b){ 703 function h(b){ 704 var c={ 705 x:i.x, 706 y:i.y 707 }; 708 709 if(!b)return c; 710 /B/.test(b)&&(c.y+=a.offsetHeight),/b/.test(b)&&(c.y+=a.offsetHeight-f.y),/T/.test(b)&&(c.y-=f.y),/l/.test(b)&&(c.x-=f.x-a.offsetWidth),/L/.test(b)&&(c.x-=f.x),/R/.test(b)&&(c.x+=a.offsetWidth),/c/i.test(b)&&(c.x+=(a.offsetWidth-f.x)/2),/m/i.test(b)&&(c.y+=(a.offsetHeight-f.y)/2); 711 return c 712 } 713 a=bm(a),b||(b=this.args.align),b=b.split(/\x2f/); 714 var c=bi(a),d=this.els.topCont,e=d.style,f,g=bj(); 715 e.visibility="hidden",e.display="",this.showAt(0,0),document.body.appendChild(d),f={ 716 x:d.offsetWidth, 717 y:d.offsetHeight 718 }; 719 720 var i=c; 721 i=h(b[0]),i.y<g.y&&(i.y=c.y,i=h(b[1])),i.x+f.x>g.x+g.w&&(i.x=c.x,i=h(b[2])),i.y+f.y>g.y+g.h&&(i.y=c.y,i=h(b[3])),i.x<g.x&&(i.x=c.x,i=h(b[4])),this.showAt(i.x,i.y,!0),e.visibility="",this.focus() 722 },h.manageFields=function(b,c,d){ 723 var e=this; 724 c=bm(c),b=bm(b),/^button$/i.test(b.tagName)&&b.setAttribute("type","button"),V(b,"click",function(){ 725 e.inputField=c,e.dateFormat=d; 726 if(e.selection.type==a.SEL_SINGLE){ 727 var f,g,h,i; 728 f=/input|textarea/i.test(c.tagName)?c.value:c.innerText||c.textContent,f&&(g=/(^|[^%])%[bBmo]/.exec(d),h=/(^|[^%])%[de]/.exec(d),g&&h&&(i=g.index<h.index),f=Calendar.parseDate(f,i),f&&(e.selection.set(f,!1,!0),e.args.showTime&&(e.setHours(f.getHours()),e.setMinutes(f.getMinutes())),e.moveTo(f))) 729 } 730 e.popup(b) 731 }) 732 },h.callHooks=function(a){ 733 var b=ba(arguments,1),c=this.handlers[a],d=0; 734 for(;d<c.length;++d)c[d].apply(this,b) 735 },h.addEventListener=function(a,b){ 736 this.handlers[a].push(b) 737 },h.removeEventListener=function(a,b){ 738 var c=this.handlers[a],d=c.length; 739 while(--d>=0)c[d]===b&&c.splice(d,1) 740 },h.getTime=function(){ 741 return this.time 742 },h.setTime=function(a,b){ 743 if(this.args.showTime){ 744 a=a!=null?a:this.time,this.time=a; 745 var c=this.getHours(),d=this.getMinutes(),e=c<12; 746 this.args.showTime==12&&(c==0&&(c=12),c>12&&(c-=12),this.els.timeAM.innerHTML=L(e?"AM":"PM")),c<10&&(c="0"+c),d<10&&(d="0"+d),this.els.timeHour.innerHTML=c,this.els.timeMinute.innerHTML=d,b||this.callHooks("onTimeChange",this,a) 747 } 748 },h.getHours=function(){ 749 return Math.floor(this.time/100) 750 },h.getMinutes=function(){ 751 return this.time%100 752 },h.setHours=function(a){ 753 a<0&&(a+=24),this.setTime(100*(a%24)+this.time%100) 754 },h.setMinutes=function(a){ 755 a<0&&(a+=60),a=Math.floor(a/this.args.minuteStep)*this.args.minuteStep,this.setTime(100*this.getHours()+a%60) 756 },h._getInputYear=function(){ 757 var a=parseInt(this.els.yearInput.value,10); 758 isNaN(a)&&(a=this.date.getFullYear()); 759 return a 760 },h._showTooltip=function(a){ 761 var b="",c,d=this.els.tooltip; 762 a&&(a=P(a),c=this.args.dateInfo(a),c&&c.tooltip&&(b="<div class='DynarchCalendar-tooltipCont'>"+R(a,c.tooltip)+"</div>")),d.innerHTML=b 763 }; 764
765var j=" align='center' cellspacing='0' cellpadding='0'",r={ 766 "DynarchCalendar-topCont":"topCont", 767 "DynarchCalendar-focusLink":"focusLink", 768 "DynarchCalendar":"main", 769 "DynarchCalendar-topBar":"topBar", 770 "DynarchCalendar-title":"title", 771 "DynarchCalendar-dayNames":"dayNames", 772 "DynarchCalendar-body":"body", 773 "DynarchCalendar-menu":"menu", 774 "DynarchCalendar-menu-year":"yearInput", 775 "DynarchCalendar-bottomBar":"bottomBar", 776 "DynarchCalendar-tooltip":"tooltip", 777 "DynarchCalendar-time-hour":"timeHour", 778 "DynarchCalendar-time-minute":"timeMinute", 779 "DynarchCalendar-time-am":"timeAM", 780 "DynarchCalendar-navBtn DynarchCalendar-prevYear":"navPrevYear", 781 "DynarchCalendar-navBtn DynarchCalendar-nextYear":"navNextYear", 782 "DynarchCalendar-navBtn DynarchCalendar-prevMonth":"navPrevMonth", 783 "DynarchCalendar-navBtn DynarchCalendar-nextMonth":"navNextMonth" 784},x={ 785 "-3":"backYear", 786 "-2":"back", 787 0:"now", 788 2:"fwd", 789 3:"fwdYear" 790},H={ 791 37:-1, 792 38:-2, 793 39:1, 794 40:2 795},I={ 796 33:-1, 797 34:1 798}; 799 800h._getDateDiv=function(a){ 801 var b=null; 802 if(a)try{ 803 bc(this.els.body,function(c){ 804 if(c.getAttribute("dyc-date")==a)throw b=c 805 }) 806 }catch(c){} 807 return b 808 },(a.Selection=function(a,b,c,d){ 809 this.type=b,this.sel=a instanceof Array?a:[a],this.onChange=bb(c,d),this.cal=d 810 }).prototype={ 811 get:function(){ 812 return this.type==a.SEL_SINGLE?this.sel[0]:this.sel 813 }, 814 isEmpty:function(){ 815 return this.sel.length==0 816 }, 817 set:function(b,c,d){ 818 var e=this.type==a.SEL_SINGLE; 819 b instanceof Array?(this.sel=b,this.normalize(),d||this.onChange(this)):(b=O(b),e||!this.isSelected(b)?(e?this.sel=[b]:this.sel.splice(this.findInsertPos(b),0,b),this.normalize(),d||this.onChange(this)):c&&this.unselect(b,d)) 820 }, 821 reset:function(){ 822 this.sel=[],this.set.apply(this,arguments) 823 }, 824 countDays:function(){ 825 var a=0,b=this.sel,c=b.length,d,e,f; 826 while(--c>=0)d=b[c],d instanceof Array&&(e=P(d[0]),f=P(d[1]),a+=Math.round(Math.abs(f.getTime()-e.getTime())/864e5)),++a; 827 return a 828 }, 829 unselect:function(a,b){ 830 a=O(a); 831 var c=!1; 832 for(var d=this.sel,e=d.length,f;--e>=0;){ 833 f=d[e]; 834 if(f instanceof Array){ 835 if(a>=f[0]&&a<=f[1]){ 836 var g=P(a),h=g.getDate(); 837 if(a==f[0])g.setDate(h+1),f[0]=O(g),c=!0; 838 else if(a==f[1])g.setDate(h-1),f[1]=O(g),c=!0; 839 else{ 840 var i=new Date(g); 841 i.setDate(h+1),g.setDate(h-1),d.splice(e+1,0,[O(i),f[1]]),f[1]=O(g),c=!0 842 } 843 } 844 }else a==f&&(d.splice(e,1),c=!0) 845 } 846 c&&(this.normalize(),b||this.onChange(this)) 847}, 848normalize:function(){ 849 this.sel=this.sel.sort(function(a,b){ 850 a instanceof Array&&(a=a[0]),b instanceof Array&&(b=b[0]); 851 return a-b 852 }); 853 for(var a=this.sel,b=a.length,c,d;--b>=0;){ 854 c=a[b]; 855 if(c instanceof Array){ 856 if(c[0]>c[1]){ 857 a.splice(b,1); 858 continue 859 } 860 c[0]==c[1]&&(c=a[b]=c[0]) 861 } 862 if(d){ 863 var e=d,f=c instanceof Array?c[1]:c; 864 f=P(f),f.setDate(f.getDate()+1),f=O(f); 865 if(f>=e){ 866 var g=a[b+1]; 867 c instanceof Array&&g instanceof Array?(c[1]=g[1],a.splice(b+1,1)):c instanceof Array?(c[1]=d,a.splice(b+1,1)):g instanceof Array?(g[0]=c,a.splice(b,1)):(a[b]=[c,g],a.splice(b+1,1)) 868 } 869 } 870 d=c instanceof Array?c[0]:c 871 } 872 }, 873findInsertPos:function(a){ 874 for(var b=this.sel,c=b.length,d;--c>=0;){ 875 d=b[c],d instanceof Array&&(d=d[0]); 876 if(d<=a)break 877 } 878 return c+1 879 }, 880clear:function(a){ 881 this.sel=[],a||this.onChange(this) 882 }, 883selectRange:function(b,c){ 884 b=O(b),c=O(c); 885 if(b>c){ 886 var d=b; 887 b=c,c=d 888 } 889 var e=this.cal.args.checkRange; 890 if(!e)return this._do_selectRange(b,c); 891 try{ 892 bk((new a.Selection([[b,c]],a.SEL_MULTIPLE,bl)).getDates(),bb(function(a){ 893 if(this.isDisabled(a)){ 894 e instanceof Function&&e(a,this); 895 throw"OUT" 896 } 897 },this.cal)),this._do_selectRange(b,c) 898 }catch(f){} 899}, 900_do_selectRange:function(a,b){ 901 this.sel.push([a,b]),this.normalize(),this.onChange(this) 902 }, 903isSelected:function(a){ 904 for(var b=this.sel.length,c;--b>=0;){ 905 c=this.sel[b]; 906 if(c instanceof Array&&a>=c[0]&&a<=c[1]||a==c)return!0 907 } 908 return!1 909 }, 910getFirstDate:function(){ 911 var a=this.sel[0]; 912 a&&a instanceof Array&&(a=a[0]); 913 return a 914 },
915getLastDate:function(){ 916 if(this.sel.length>0){ 917 var a=this.sel[this.sel.length-1]; 918 a&&a instanceof Array&&(a=a[1]); 919 return a 920 } 921 }, 922print:function(a,b){ 923 var c=[],d=0,e,f=this.cal.getHours(),g=this.cal.getMinutes(); 924 b||(b=" -> "); 925 while(d<this.sel.length)e=this.sel[d++],e instanceof Array?c.push(R(P(e[0],f,g),a)+b+R(P(e[1],f,g),a)):c.push(R(P(e,f,g),a)); 926 return c 927 }, 928getDates:function(a){ 929 var b=[],c=0,d,e; 930 while(c<this.sel.length){ 931 e=this.sel[c++]; 932 if(e instanceof Array){ 933 d=P(e[0]),e=e[1]; 934 while(O(d)<e)b.push(a?R(d,a):new Date(d)),d.setDate(d.getDate()+1) 935 }else d=P(e); 936 b.push(a?R(d,a):d) 937 } 938 return b 939 } 940},a.isUnicodeLetter=function(a){ 941 return a.toUpperCase()!=a.toLowerCase() 942 },a.parseDate=function(b,c,d){ 943 if(!/\S/.test(b))return""; 944 b=b.replace(/^\s+/,"").replace(/\s+$/,""),d=d||new Date; 945 var e=null,f=null,g=null,h=null,i=null,j=null,k=b.match(/([0-9]{1,2}):([0-9]{1,2})(:[0-9]{1,2})?\s*(am|pm)?/i); 946 k&&(h=parseInt(k[1],10),i=parseInt(k[2],10),j=k[3]?parseInt(k[3].substr(1),10):0,b=b.substring(0,k.index)+b.substr(k.index+k[0].length),k[4]&&(k[4].toLowerCase()=="pm"&&h<12?h+=12:k[4].toLowerCase()=="am"&&h>=12&&(h-=12))); 947 var l=function(){ 948 function k(a){ 949 d.push(a) 950 } 951 function j(){ 952 var a=""; 953 while(g()&&/[0-9]/.test(g()))a+=f(); 954 if(h(g()))return i(a); 955 return parseInt(a,10) 956 } 957 function i(a){ 958 while(g()&&h(g()))a+=f(); 959 return a 960 } 961 function g(){ 962 return b.charAt(c) 963 } 964 function f(){ 965 return b.charAt(c++) 966 } 967 var c=0,d=[],e,h=a.isUnicodeLetter; 968 while(c<b.length)e=g(),h(e)?k(i("")):/[0-9]/.test(e)?k(j()):f(); 969 return d 970 }(),m=[]; 971 for(var n=0;n<l.length;++n){ 972 var o=l[n]; 973 /^[0-9]{4}$/.test(o)?(e=parseInt(o,10),f==null&&g==null&&c==null&&(c=!0)):/^[0-9]{1,2}$/.test(o)?(o=parseInt(o,10),o<60?o<0||o>12?o>=1&&o<=31&&(g=o):m.push(o):e=o):f==null&&(f=T(o)) 974 } 975 m.length<2?m.length==1&&(g==null?g=m.shift():f==null&&(f=m.shift())):c?(f==null&&(f=m.shift()),g==null&&(g=m.shift())):(g==null&&(g=m.shift()),f==null&&(f=m.shift())),e==null&&(e=m.length>0?m.shift():d.getFullYear()),e<30?e+=2e3:e<99&&(e+=1900),f==null&&(f=d.getMonth()+1); 976 return e!=null&&f!=null&&g!=null?new Date(e,f-1,g,h,i,j):null 977 }; 978 979var be={ 980 elastic_b:function(a){ 981 return 1-Math.cos(-a*5.5*Math.PI)/Math.pow(2,7*a) 982 }, 983 magnetic:function(a){ 984 return 1-Math.cos(a*a*a*10.5*Math.PI)/Math.exp(4*a) 985 }, 986 accel_b:function(a){ 987 a=1-a; 988 return 1-a*a*a*a 989 }, 990 accel_a:function(a){ 991 return a*a*a 992 }, 993 accel_ab:function(a){ 994 a=1-a; 995 return 1-Math.sin(a*a*Math.PI/2) 996 }, 997 accel_ab2:function(a){ 998 return(a/=.5)<1?.5*a*a:-0.5*(--a*(a-2)-1) 999 }, 1000 brakes:function(a){ 1001 a=1-a; 1002 return 1-Math.sin(a*a*Math.PI) 1003 }, 1004 shake:function(a){ 1005 return a<.5?-Math.cos(a*11*Math.PI)*a*a:(a=1-a,Math.cos(a*11*Math.PI)*a*a) 1006 } 1007 },bl=new Function; 1008return a 1009}()
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.