PageSourceSearch

https://www.cubelles.cat/front/view/js/bower_components/jscal/index.js?ver=1790937495

js cubelles.cat collected 2026-10-02 10:39:24 UTC 42,082 bytes, 1,009 lines download raw bytes

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'>&nbsp;</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.