Changeset 5763

Show
Ignore:
Timestamp:
05/27/08 09:41:39 (6 months ago)
Author:
kinoshita
Message:

4122

Files:

Legend:

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

    r5706 r5763  
    17851785var _247=Element.getDimensions(item); 
    17861786var _248=Element.getDimensions(_242); 
     1787var _249=(self.column.height/2); 
    17871788var xy=[x,y].map(function(v,i){ 
    17881789return Math.floor(v/_243[i])*_243[i]; 
    17891790}); 
    1790 xy=[self._constrain(xy[0],0,_248.width-_247.width),self._constrain(xy[1],0,_248.height-_247.height)]; 
     1791xy=[self._constrain(xy[0],0,_248.width-_247.width),self._constrain(xy[1],0-(_247.height-_249),_248.height-_249)]; 
    17911792return xy; 
    1792 },onEnd:function(_24c,_24d){ 
    1793 self.changeSchedule(_24c,_24d); 
    1794 },change:function(_24e){ 
    1795 self.changeTimeDisplay(_24e.element); 
     1793},onEnd:function(_24d,_24e){ 
     1794self.changeSchedule(_24d,_24e); 
     1795},change:function(_24f){ 
     1796self.changeTimeDisplay(_24f.element); 
    17961797}}); 
    17971798},setResize:function(item){ 
    1798 new CalendarResizeableEx(item,{left:0,right:0,distance:this.column.height/2,restriction:true,resize:function(_250){ 
    1799 this.updateTirm(_250); 
    1800 }.bind(this),change:function(_251){ 
    1801 this.changeTimeDisplay(_251); 
     1799new CalendarResizeableEx(item,{left:0,right:0,distance:this.column.height/2,restriction:true,resize:function(_251){ 
     1800this.updateTirm(_251); 
     1801}.bind(this),change:function(_252){ 
     1802this.changeTimeDisplay(_252); 
    18021803}.bind(this)}); 
    1803 },getDate:function(_252){ 
    1804 return _252.date; 
    1805 },abstractSelect:function(_253,_254){ 
    1806 var _255=this.findClickedElement(_253); 
    1807 if(_255){ 
    1808 if(Element.hasClassName(_255,Calendar.className.columnDate)||Element.hasClassName(_255,Calendar.className.columnDateOdd)||Element.hasClassName(_255,Calendar.className.columnTopDate)){ 
    1809 var date=this.getDate(_255); 
    1810 _254(date,_255); 
     1804},getDate:function(_253){ 
     1805return _253.date; 
     1806},abstractSelect:function(_254,_255){ 
     1807var _256=this.findClickedElement(_254); 
     1808if(_256){ 
     1809if(Element.hasClassName(_256,Calendar.className.columnDate)||Element.hasClassName(_256,Calendar.className.columnDateOdd)||Element.hasClassName(_256,Calendar.className.columnTopDate)){ 
     1810var date=this.getDate(_256); 
     1811_255(date,_256); 
    18111812} 
    18121813} 
    18131814},getSelectedTerm:function(){ 
    1814 var _257=this.calendar.getSelected(); 
    1815 if(_257.length==0){ 
     1815var _258=this.calendar.getSelected(); 
     1816if(_258.length==0){ 
    18161817return; 
    18171818} 
    18181819if(this.calendar.options.build){ 
    1819 var last=_257.last(); 
     1820var last=_258.last(); 
    18201821if(last){ 
    18211822last=this.dateMap[last.id]; 
    18221823}else{ 
    1823 last=this.dateMap[_257.first().id]; 
     1824last=this.dateMap[_258.first().id]; 
    18241825} 
    18251826last=new Date(last.getFullYear(),last.getMonth(),last.getDate(),last.getHours(),last.getMinutes(),0); 
    18261827last.setMinutes(last.getMinutes()+30); 
    1827 return [this.dateMap[_257.first().id],last]; 
    1828 }else{ 
    1829 var last=this._getDateTimeFromElement(_257.last()); 
     1828return [this.dateMap[_258.first().id],last]; 
     1829}else{ 
     1830var last=this._getDateTimeFromElement(_258.last()); 
    18301831last.setMinutes(last.getMinutes()+30); 
    1831 return [this._getDateTimeFromElement(_257.first()),last]; 
     1832return [this._getDateTimeFromElement(_258.first()),last]; 
    18321833} 
    18331834},setWidth:function(node){ 
    18341835Element.setStyle(node,{width:this.column.width+"px"}); 
    1835 },inspectArgument:function(_25a,time){ 
    1836 if(_25a.date){ 
    1837 return _25a
     1836},inspectArgument:function(_25b,time){ 
     1837if(_25b.date){ 
     1838return _25b
    18381839} 
    18391840var self=this; 
    1840 var _25d=this.calendar.getSelected(); 
    1841 var _25e=[]; 
    1842 this.calendar.recurrence(_25a,function(o){ 
    1843 var _260={}; 
     1841var _25e=this.calendar.getSelected(); 
     1842var _25f=[]; 
     1843this.calendar.recurrence(_25b,function(o){ 
     1844var _261={}; 
    18441845if(!o.date){ 
    1845 _260={date:self.getDate(_25d[0])}; 
     1846_261={date:self.getDate(_25e[0])}; 
    18461847if(!o.start){ 
    1847 _260.start=_25d[0].time; 
     1848_261.start=_25e[0].time; 
    18481849} 
    18491850if(!o.finish){ 
    1850 _260.finish=_25d[_25d.length-1].time; 
    1851 } 
    1852 } 
    1853 Object.extend(_260,o); 
    1854 _25e.push(_260); 
    1855 }); 
    1856 return _25e
     1851_261.finish=_25e[_25e.length-1].time; 
     1852} 
     1853} 
     1854Object.extend(_261,o); 
     1855_25f.push(_261); 
     1856}); 
     1857return _25f
    18571858},inspectDateArgument:function(date){ 
    18581859if(date){ 
    18591860return date; 
    18601861} 
    1861 var _262=this; 
    1862 var _263=this.getSelected(); 
    1863 if(_263.length==0){ 
     1862var _263=this; 
     1863var _264=this.getSelected(); 
     1864if(_264.length==0){ 
    18641865return null; 
    18651866} 
    1866 return _263.collect(function(d){ 
    1867 return _262.getDate(d); 
    1868 }); 
    1869 },addColumnClass:function(_265){ 
     1867return _264.collect(function(d){ 
     1868return _263.getDate(d); 
     1869}); 
     1870},addColumnClass:function(_266){ 
    18701871if(document.all){ 
    1871 this.calendar.css.addClassNames(_265,"columnWin"); 
    1872 }else{ 
    1873 this.calendar.css.addClassNames(_265,"column"); 
     1872this.calendar.css.addClassNames(_266,"columnWin"); 
     1873}else{ 
     1874this.calendar.css.addClassNames(_266,"column"); 
    18741875} 
    18751876},getHeaderId:function(){ 
     
    18771878},getColumnId:function(i){ 
    18781879return this.calendar.element.id.appendSuffix(CalendarWeek.id.column+"_"+i); 
    1879 },changeSchedule:function(_267,_268){ 
    1880 var _269=_267.element; 
    1881 var _26a=_269.schedule; 
    1882 var time=this.getTimeByElement(_269); 
    1883 this.calendar.cacheSchedule(_26a); 
    1884 var _26c=$(this.getScheduleContainerId()); 
    1885 var _26d=Element.getDimensions(_26c); 
    1886 var _26e=Position.cumulativeOffset(_26c); 
    1887 var x=Event.pointerX(_268); 
    1888 var y=Event.pointerY(_268); 
    1889 if(_26e[0]>x||(_26e[0]+_26d.width)<x||_26e[1]>y||(_26e[1]+_26d.height)<y){ 
     1880},changeSchedule:function(_268,_269){ 
     1881var _26a=_268.element; 
     1882var _26b=_26a.schedule; 
     1883var time=this.getTimeByElement(_26a); 
     1884this.calendar.cacheSchedule(_26b); 
     1885var _26d=$(this.getScheduleContainerId()); 
     1886var _26e=Element.getDimensions(_26d); 
     1887var _26f=Position.cumulativeOffset(_26d); 
     1888var x=Event.pointerX(_269); 
     1889var y=Event.pointerY(_269); 
     1890var left=parseInt(Element.getStyle(_26a,"left")); 
     1891var _273=Math.round(left/this.column.width); 
     1892var date=this.week[_273]; 
     1893if(_26b.start.year==date.getFullYear()&&_26b.start.month==date.getMonth()&&_26b.start.day==date.getDate()&&_26b.start.hour==time[0].hour&&_26b.start.min==time[0].min&&_26b.finish.year==date.getFullYear()&&_26b.finish.month==date.getMonth()&&_26b.finish.day==date.getDate()&&_26b.finish.hour==time[1].hour&&_26b.finish.min==time[1].min){ 
    18901894this.calendar.refreshSchedule(); 
    18911895return; 
    18921896} 
    1893 var left=parseInt(Element.getStyle(_269,"left")); 
    1894 var _272=Math.round(left/this.column.width); 
    1895 var date=this.week[_272]; 
    1896 if(_26a.start.year==date.getFullYear()&&_26a.start.month==date.getMonth()&&_26a.start.day==date.getDate()&&_26a.start.hour==time[0].hour&&_26a.start.min==time[0].min&&_26a.finish.year==date.getFullYear()&&_26a.finish.month==date.getMonth()&&_26a.finish.day==date.getDate()&&_26a.finish.hour==time[1].hour&&_26a.finish.min==time[1].min){ 
     1897if(_26a.originalSchedule){ 
     1898_26b=_26a.originalSchedule; 
     1899
     1900var _275={year:date.getFullYear(),month:date.getMonth(),day:date.getDate(),hour:time[0].hour,min:time[0].min}; 
     1901var diff=DateUtil.toDate(_275).getTime()-DateUtil.toDate(_26b.start).getTime(); 
     1902_26b.start=_275; 
     1903_26b.finish=new Date(DateUtil.toDate(_26b.finish).getTime()+diff).toHash(); 
    18971904this.calendar.refreshSchedule(); 
    1898 return; 
    1899 
    1900 if(_269.originalSchedule){ 
    1901 _26a=_269.originalSchedule; 
    1902 
    1903 var _274={year:date.getFullYear(),month:date.getMonth(),day:date.getDate(),hour:time[0].hour,min:time[0].min}; 
    1904 var diff=DateUtil.toDate(_274).getTime()-DateUtil.toDate(_26a.start).getTime(); 
    1905 _26a.start=_274; 
    1906 _26a.finish=new Date(DateUtil.toDate(_26a.finish).getTime()+diff).toHash(); 
     1905this.calendar.options.changeSchedule(_26b); 
     1906},updateTirm:function(_277){ 
     1907var _278=_277.schedule; 
     1908var time=this.getTimeByElement(_277); 
     1909this.calendar.cacheSchedule(_278); 
     1910var left=parseInt(Element.getStyle(_277,"left")); 
     1911var _27b=Math.floor(left/this.column.width); 
     1912var date=this.week[_27b]; 
     1913var _27d=this.isChengeSchedule(_277,time); 
     1914if(_277.originalSchedule){ 
     1915_278=_277.originalSchedule; 
     1916
     1917if(_27d.start){ 
     1918_278.start.year=date.getFullYear(); 
     1919_278.start.month=date.getMonth(); 
     1920_278.start.day=date.getDate(); 
     1921_278.start.hour=time[0].hour; 
     1922_278.start.min=time[0].min; 
     1923
     1924if(_27d.finish){ 
     1925_278.finish.year=date.getFullYear(); 
     1926_278.finish.month=date.getMonth(); 
     1927_278.finish.day=date.getDate(); 
     1928_278.finish.hour=time[1].hour; 
     1929_278.finish.min=time[1].min; 
     1930
    19071931this.calendar.refreshSchedule(); 
    1908 this.calendar.options.changeSchedule(_26a); 
    1909 },updateTirm:function(_276){ 
    1910 var _277=_276.schedule; 
    1911 var time=this.getTimeByElement(_276); 
    1912 this.calendar.cacheSchedule(_277); 
    1913 var left=parseInt(Element.getStyle(_276,"left")); 
    1914 var _27a=Math.floor(left/this.column.width); 
    1915 var date=this.week[_27a]; 
    1916 var _27c=this.isChengeSchedule(_276,time); 
    1917 if(_276.originalSchedule){ 
    1918 _277=_276.originalSchedule; 
    1919 
    1920 if(_27c.start){ 
    1921 _277.start.year=date.getFullYear(); 
    1922 _277.start.month=date.getMonth(); 
    1923 _277.start.day=date.getDate(); 
    1924 _277.start.hour=time[0].hour; 
    1925 _277.start.min=time[0].min; 
    1926 
    1927 if(_27c.finish){ 
    1928 _277.finish.year=date.getFullYear(); 
    1929 _277.finish.month=date.getMonth(); 
    1930 _277.finish.day=date.getDate(); 
    1931 _277.finish.hour=time[1].hour; 
    1932 _277.finish.min=time[1].min; 
    1933 
    1934 this.calendar.refreshSchedule(); 
    1935 this.calendar.options.updateTirm(_277); 
    1936 },changeTimeDisplay:function(_27d){ 
    1937 var _27e=_27d.schedule; 
    1938 var time=this.getTimeByElement(_27d); 
    1939 var _280=Element.getElementsByClassName(_27d,Calendar.className.scheduleTimeArea)[0]; 
     1932this.calendar.options.updateTirm(_278); 
     1933},changeTimeDisplay:function(_27e){ 
     1934var _27f=_27e.schedule; 
     1935var time=this.getTimeByElement(_27e); 
     1936var _281=Element.getElementsByClassName(_27e,Calendar.className.scheduleTimeArea)[0]; 
    19401937var text=this.getTimeText(time[0],time[1]); 
    1941 _280.innerHTML=text; 
    1942 },findClickedElement:function(_282){ 
    1943 var _283=$(this.getScheduleContainerId()); 
    1944 var _284=Position.cumulativeOffset(_283); 
    1945 var _285=Position.realOffset(_283).last(); 
    1946 _285-=document.documentElement.scrollTop||document.body.scrollTop; 
    1947 var x=Event.pointerX(_282)-_284[0]; 
    1948 var y=Event.pointerY(_282)-_284[1]+_285
    1949 var _288=Math.floor(y/this.column.height); 
    1950 var _289=Math.floor(x/this.column.width); 
     1938_281.innerHTML=text; 
     1939},findClickedElement:function(_283){ 
     1940var _284=$(this.getScheduleContainerId()); 
     1941var _285=Position.cumulativeOffset(_284); 
     1942var _286=Position.realOffset(_284).last(); 
     1943_286-=document.documentElement.scrollTop||document.body.scrollTop; 
     1944var x=Event.pointerX(_283)-_285[0]; 
     1945var y=Event.pointerY(_283)-_285[1]+_286
     1946var _289=Math.floor(y/this.column.height); 
     1947var _28a=Math.floor(x/this.column.width); 
    19511948var row=this.calendarTable.rows[0]; 
    1952 if(_289>=row.cells.length){ 
    1953 _289--; 
    1954 } 
    1955 return $(row.cells[_289]).down(_288); 
    1956 },multipleSelection:function(_28b){ 
     1949if(_28a>=row.cells.length){ 
     1950_28a--; 
     1951} 
     1952return $(row.cells[_28a]).down(_289); 
     1953},multipleSelection:function(_28c){ 
    19571954if(!this.calendar.selectedBase||!this.calendar.mouseDown){ 
    19581955return; 
    19591956} 
    19601957var self=this; 
    1961 var _28d=this.calendar; 
    1962 var _28e=this.calendar.selectedBase; 
    1963 var _28f=this._getDateFromElement(_28e).getDate(); 
    1964 this.abstractSelect(_28b,function(date,_291){ 
    1965 var _292=$(_28e.id); 
    1966 if(_28f!=self._getDateFromElement(_291).getDate()){ 
     1958var _28e=this.calendar; 
     1959var _28f=this.calendar.selectedBase; 
     1960var _290=this._getDateFromElement(_28f).getDate(); 
     1961this.abstractSelect(_28c,function(date,_292){ 
     1962var _293=$(_28f.id); 
     1963if(_290!=self._getDateFromElement(_292).getDate()){ 
    19671964return; 
    19681965} 
    1969 var _293=$A(_292.parentNode.childNodes); 
    1970 var ids=[this._getTime(_28e),this._getTime(_291)]; 
     1966var _294=$A(_293.parentNode.childNodes); 
     1967var ids=[this._getTime(_28f),this._getTime(_292)]; 
    19711968ids.sort(function(a,b){ 
    19721969return a-b; 
    19731970}); 
    1974 _293.each(function(n){ 
     1971_294.each(function(n){ 
    19751972if(!n.id){ 
    19761973throw $continue; 
     
    19781975var id=this._getTime(n); 
    19791976if((id<ids[0])||(ids[1]<id)){ 
    1980 _28d.removeSelectedClass(n); 
     1977_28e.removeSelectedClass(n); 
    19811978}else{ 
    19821979if(!Element.hasClassName(n,Calendar.className.selected)){ 
    1983 _28d.addSelectedClass(n); 
     1980_28e.addSelectedClass(n); 
    19841981} 
    19851982} 
    19861983}.bind(this)); 
    19871984}.bind(this)); 
    1988 },getTimeByElement:function(_299){ 
    1989 var _29a=_299.schedule; 
    1990 var top=parseInt(Element.getStyle(_299,"top"),10); 
    1991 var _29c=parseInt(Element.getStyle(_299,"height"),10); 
    1992 var _29d=this.column.height*2; 
    1993 var _29e=15/60; 
    1994 var _29f=top/_29d+this.startTime; 
    1995 _29f=Math.round(_29f/_29e)*_29e
    1996 var _2a0={}; 
    1997 _2a0.hour=Math.floor(_29f); 
    1998 _2a0.min=(_29f-_2a0.hour)*60; 
    1999 var _2a1=Math.round(_29c/_29d/_29e)*_29e+_29f
    2000 var _2a2={}; 
    2001 _2a2.hour=Math.floor(_2a1); 
    2002 _2a2.min=Math.round((_2a1-_2a2.hour)*60); 
    2003 if(_2a2.min==60){ 
    2004 _2a2.hour+=1; 
    2005 _2a2.min=0; 
    2006 } 
    2007 return [_2a0,_2a2]; 
     1985},getTimeByElement:function(_29a){ 
     1986var _29b=_29a.schedule; 
     1987var top=parseInt(Element.getStyle(_29a,"top"),10); 
     1988var _29d=parseInt(Element.getStyle(_29a,"height"),10); 
     1989var _29e=this.column.height*2; 
     1990var _29f=15/60; 
     1991var _2a0=top/_29e+this.startTime; 
     1992_2a0=Math.round(_2a0/_29f)*_29f
     1993var _2a1={}; 
     1994_2a1.hour=Math.floor(_2a0); 
     1995_2a1.min=(_2a0-_2a1.hour)*60; 
     1996var _2a2=Math.round(_29d/_29e/_29f)*_29f+_2a0
     1997var _2a3={}; 
     1998_2a3.hour=Math.floor(_2a2); 
     1999_2a3.min=Math.round((_2a2-_2a3.hour)*60); 
     2000if(_2a3.min==60){ 
     2001_2a3.hour+=1; 
     2002_2a3.min=0; 
     2003} 
     2004return [_2a1,_2a3]; 
    20082005},getTimeByTop:function(top){ 
    2009 var _2a4=this.column.height*2; 
    2010 var _2a5=15/60; 
    2011 var _2a6=top/_2a4+this.startTime; 
    2012 _2a6=Math.round(_2a6/_2a5)*_2a5
    2013 var _2a7={}; 
    2014 _2a7.hour=Math.floor(_2a6); 
    2015 _2a7.min=(_2a6-_2a7.hour)*60; 
    2016 return _2a7
    2017 },getDateId:function(date,time,_2aa){ 
    2018 var id=this.calendar.element.id.appendSuffix(_2aa+"_"+date.getDate()); 
     2006var _2a5=this.column.height*2; 
     2007var _2a6=15/60; 
     2008var _2a7=top/_2a5+this.startTime; 
     2009_2a7=Math.round(_2a7/_2a6)*_2a6
     2010var _2a8={}; 
     2011_2a8.hour=Math.floor(_2a7); 
     2012_2a8.min=(_2a7-_2a8.hour)*60; 
     2013return _2a8
     2014},getDateId:function(date,time,_2ab){ 
     2015var id=this.calendar.element.id.appendSuffix(_2ab+"_"+date.getDate()); 
    20192016return id.appendSuffix(time*10); 
    20202017},dateIdToTime:function(id){ 
     
    20282025time.pop(); 
    20292026return time.join(":"); 
    2030 },includeDisplayTime:function(_2b0){ 
    2031 return (this.startTime<=_2b0)&&(_2b0<this.finishTime); 
    2032 },convertHours:function(_2b1){ 
    2033 return [_2b1.start.hour+_2b1.start.min/60,_2b1.finish.hour+_2b1.finish.min/60]; 
     2027},includeDisplayTime:function(_2b1){ 
     2028return (this.startTime<=_2b1)&&(_2b1<this.finishTime); 
     2029},convertHours:function(_2b2){ 
     2030return [_2b2.start.hour+_2b2.start.min/60,_2b2.finish.hour+_2b2.finish.min/60]; 
    20342031},setDisplayTime:function(){ 
    20352032this.startTime=this.calendar.options.displayTime.first().hour; 
    2036 var _2b2=this.calendar.options.displayTime.last(); 
    2037 this.finishTime=Math.ceil(_2b2.hour+_2b2.min/60); 
    2038 },getTimeText:function(_2b3,_2b4){ 
    2039 var _2b5=this.calendar; 
    2040 return _2b5.formatTime(_2b3)+" - "+_2b5.formatTime(_2b4); 
    2041 },isChengeSchedule:function(_2b6,_2b7){ 
    2042 var _2b8=_2b6.schedule; 
    2043 var _2b9=((_2b8.start.hour!=_2b7[0].hour)||(_2b8.start.min!=_2b7[0].min)); 
    2044 var _2ba=((_2b8.finish.hour!=_2b7[1].hour)||(_2b8.finish.min!=_2b7[1].min)); 
    2045 if(_2b6.originalSchedule){ 
    2046 if(_2b9&&_2ba){ 
    2047 var _2bb=DateUtil.toDate(_2b8.start).getTime(); 
    2048 var _2bc=DateUtil.toDate(_2b6.originalSchedule.start).getTime(); 
    2049 if(_2bb==_2bc){ 
     2033var _2b3=this.calendar.options.displayTime.last(); 
     2034this.finishTime=Math.ceil(_2b3.hour+_2b3.min/60); 
     2035},getTimeText:function(_2b4,_2b5){ 
     2036var _2b6=this.calendar; 
     2037return _2b6.formatTime(_2b4)+" - "+_2b6.formatTime(_2b5); 
     2038},isChengeSchedule:function(_2b7,_2b8){ 
     2039var _2b9=_2b7.schedule; 
     2040var _2ba=((_2b9.start.hour!=_2b8[0].hour)||(_2b9.start.min!=_2b8[0].min)); 
     2041var _2bb=((_2b9.finish.hour!=_2b8[1].hour)||(_2b9.finish.min!=_2b8[1].min)); 
     2042if(_2b7.originalSchedule){ 
     2043if(_2ba&&_2bb){ 
     2044var _2bc=DateUtil.toDate(_2b9.start).getTime(); 
     2045var _2bd=DateUtil.toDate(_2b7.originalSchedule.start).getTime(); 
     2046if(_2bc==_2bd){ 
     2047_2bb=false; 
     2048}else{ 
    20502049_2ba=false; 
    2051 }else{ 
    2052 _2b9=false; 
    2053 
    2054 
    2055 
    2056 return {start:_2b9,finish:_2ba}; 
    2057 },_getDateFromElement:function(_2bd){ 
    2058 var arr=_2bd.id.split("_"); 
    2059 var _2bf=arr[arr.length-3]; 
    2060 return this.week[_2bf]; 
    2061 },_getDateTimeFromElement:function(_2c0){ 
    2062 var id=_2c0.id.split("_"); 
    2063 var _2c2=id[id.length-3]; 
    2064 if(this.week[_2c2]){ 
    2065 var date=new Date(this.week[_2c2].getTime()); 
     2050
     2051
     2052
     2053return {start:_2ba,finish:_2bb}; 
     2054},_getDateFromElement:function(_2be){ 
     2055var arr=_2be.id.split("_"); 
     2056var _2c0=arr[arr.length-3]; 
     2057return this.week[_2c0]; 
     2058},_getDateTimeFromElement:function(_2c1){ 
     2059var id=_2c1.id.split("_"); 
     2060var _2c3=id[id.length-3]; 
     2061if(this.week[_2c3]){ 
     2062var date=new Date(this.week[_2c3].getTime()); 
    20662063date.setMinutes(parseInt(id.pop(),10)); 
    20672064date.setHours(parseInt(id.pop(),10)); 
    20682065return date; 
    20692066}else{ 
    2070 return this._getDate(_2c0); 
    2071 } 
    2072 },_getDate:function(_2c4){ 
    2073 var id=_2c4.id.split("_"); 
     2067return this._getDate(_2c1); 
     2068} 
     2069},_getDate:function(_2c5){ 
     2070var id=_2c5.id.split("_"); 
    20742071var date=new Date(this.calendar.date.getTime()); 
    20752072date.setMinutes(parseInt(id.pop(),10)); 
    20762073date.setHours(parseInt(id.pop(),10)); 
    20772074return date; 
    2078 },_getTimeString:function(_2c7){ 
    2079 var arr=_2c7.id.split("_"); 
     2075},_getTimeString:function(_2c8){ 
     2076var arr=_2c8.id.split("_"); 
    20802077var min=arr[arr.length-1]; 
    20812078if(min=="0"){ 
     
    20872084} 
    20882085return arr[arr.length-2]+min; 
    2089 },_getTime:function(_2ca){ 
    2090 return parseInt(this._getTimeString(_2ca),10); 
     2086},_getTime:function(_2cb){ 
     2087return parseInt(this._getTimeString(_2cb),10); 
    20912088}}); 
    20922089var CalendarDay=Class.create(); 
    20932090CalendarDay.id=["dayHeader"]; 
    20942091Object.extend(CalendarDay.prototype,CalendarWeek.prototype); 
    2095 Object.extend(CalendarDay.prototype,{initialize:function(_2cb){ 
    2096 var day=_2cb.date.getDay(); 
    2097 this.calendar=_2cb
     2092Object.extend(CalendarDay.prototype,{initialize:function(_2cc){ 
     2093var day=_2cc.date.getDay(); 
     2094this.calendar=_2cc
    20982095this.ids=SpinelzUtil.concat(this.calendar.element.id,CalendarWeek.id); 
    20992096this.dayIds=SpinelzUtil.concat(this.calendar.element.id,CalendarDay.id); 
     
    21102107delete this.calendar.options.weekIndexOld; 
    21112108},buildHeaderCenter:function(){ 
    2112 var _2cd=this.calendar.date.toDateString(); 
     2109var _2ce=this.calendar.date.toDateString(); 
    21132110if(this.calendar.options.dayHeaderFormat){ 
    21142111var date=this.calendar.date; 
    2115 _2cd=new Template(this.calendar.options.dayHeaderFormat).evaluate({year:date.getFullYear(),month:date.getMonth()+1,day:date.getDate(),wday:this.calendar.options.dayOfWeek[date.getDay()]}); 
    2116 } 
    2117 return "<td class='"+this.calendar.classNames.years+"'>"+"<span id='"+this.dayIds.header+"' class='"+this.calendar.classNames.ym+"'>"+_2cd+"</span>"+"</td>"; 
     2112_2ce=new Template(this.calendar.options.dayHeaderFormat).evaluate({year:date.getFullYear(),month:date.getMonth()+1,day:date.getDate(),wday:this.calendar.options.dayOfWeek[date.getDay()]}); 
     2113} 
     2114return "<td class='"+this.calendar.classNames.years+"'>"+"<span id='"+this.dayIds.header+"' class='"+this.calendar.classNames.ym+"'>"+_2ce+"</span>"+"</td>"; 
    21182115},buildTimeLineTop:function(){ 
    21192116return ""; 
    21202117},buildCalendarHeader:function(){ 
    21212118return ""; 
    2122 },changeCalendar:function(_2cf){ 
    2123 var _2d0=Event.element(_2cf); 
    2124 var _2d1=new Date(this.calendar.date.toDateString()); 
    2125 if(this.hasClassName(_2d0,Calendar.className.preWeekMark)){ 
     2119},changeCalendar:function(_2d0){ 
     2120var _2d1=Event.element(_2d0); 
     2121var _2d2=new Date(this.calendar.date.toDateString()); 
     2122if(this.hasClassName(_2d1,Calendar.className.preWeekMark)){ 
    21262123this.calendar.date.setDate(this.calendar.date.getDate()-1); 
    21272124}else{ 
    2128 if(this.hasClassName(_2d0,Calendar.className.nextWeekMark)){ 
     2125if(this.hasClassName(_2d1,Calendar.className.nextWeekMark)){ 
    21292126this.calendar.date.setDate(this.calendar.date.getDate()+1); 
    21302127} 
    21312128} 
    2132 this.calendar.options.changeCalendar(this.calendar.date,_2d1); 
     2129this.calendar.options.changeCalendar(this.calendar.date,_2d2); 
    21332130this.calendar.refresh(); 
    21342131}}); 
    21352132var CalendarResizeableEx=Class.create(); 
    21362133Object.extend(CalendarResizeableEx.prototype,Resizeable.prototype); 
    2137 Object.extend(CalendarResizeableEx.prototype,{initialize:function(_2d2){ 
    2138 var _2d3=Object.extend({top:6,bottom:6,left:6,right:6,minHeight:0,minWidth:0,zindex:1000,resize:null,distance:1,change:Prototype.emptyFunction,restriction:true},arguments[1]||{}); 
    2139 this.element=$(_2d2); 
     2134Object.extend(CalendarResizeableEx.prototype,{initialize:function(_2d3){ 
     2135var _2d4=Object.extend({top:6,bottom:6,left:6,right:6,minHeight:0,minWidth:0,zindex:1000,resize:null,distance:1,change:Prototype.emptyFunction,restriction:true},arguments[1]||{}); 
     2136this.element=$(_2d3); 
    21402137this.handle=this.element; 
    21412138Element.makePositioned(this.element); 
    2142 this.options=_2d3
     2139this.options=_2d4
    21432140this.active=false; 
    21442141this.resizing=false; 
     
    21502147this.eventKeypress=this.keyPress.bindAsEventListener(this); 
    21512148this.registerEvents(); 
    2152 },startResize:function(_2d4){ 
    2153 Event.stop(_2d4); 
    2154 if(Event.isLeftClick(_2d4)){ 
    2155 var src=Event.element(_2d4); 
     2149},startResize:function(_2d5){ 
     2150Event.stop(_2d5); 
     2151if(Event.isLeftClick(_2d5)){ 
     2152var src=Event.element(_2d5); 
    21562153if(src.tagName&&(src.tagName=="INPUT"||src.tagName=="SELECT"||src.tagName=="BUTTON"||src.tagName=="TEXTAREA")){ 
    21572154return; 
    21582155} 
    2159 var dir=this.directions(_2d4); 
     2156var dir=this.directions(_2d5); 
    21602157if(dir.length>0){ 
    21612158this.active=true; 
     
    21642161this.startWidth=parseInt(Element.getStyle(this.element,"width"),10); 
    21652162this.startHeight=parseInt(Element.getStyle(this.element,"height"),10); 
    2166 this.startX=_2d4.clientX+document.body.scrollLeft+document.documentElement.scrollLeft; 
    2167 this.startY=_2d4.clientY+document.body.scrollTop+document.documentElement.scrollTop; 
     2163this.startX=_2d5.clientX+document.body.scrollLeft+document.documentElement.scrollLeft; 
     2164this.startY=_2d5.clientY+document.body.scrollTop+document.documentElement.scrollTop; 
    21682165this.currentDirection=dir; 
    21692166if(this.options.restriction){ 
    2170 var _2d7=this.element.parentNode; 
    2171 this.restDimensions=Element.getDimensions(_2d7); 
    2172 this.restOffset=Position.cumulativeOffset(_2d7); 
     2167var _2d8=this.element.parentNode; 
     2168this.restDimensions=Element.getDimensions(_2d8); 
     2169this.restOffset=Position.cumulativeOffset(_2d8); 
    21732170this.scroll=Position.realOffset(this.element)[1]-(document.documentElement.scrollTop||document.body.scrollTop); 
    21742171} 
    21752172} 
    21762173} 
    2177 },draw:function(_2d8){ 
    2178 Event.stop(_2d8); 
    2179 var _2d9=[Event.pointerX(_2d8),Event.pointerY(_2d8)]; 
    2180 var _2da=this.element.style; 
     2174},draw:function(_2d9){ 
     2175Event.stop(_2d9); 
     2176var _2da=[Event.pointerX(_2d9),Event.pointerY(_2d9)]; 
     2177var _2db=this.element.style; 
    21812178if(this.currentDirection.indexOf("n")!=-1){ 
    2182 if(this.restOffset[1]-this.scroll>=_2d9[1]){ 
     2179if(this.restOffset[1]-this.scroll>=_2da[1]){ 
    21832180return; 
    21842181} 
    2185 var _2db=this.startY-_2d9[1]; 
    2186 var _2dc=this.map(this.startHeight+_2db); 
    2187 if(_2dc>this.options.minHeight){ 
    2188 _2da.height=(_2dc-4)+"px"; 
    2189 _2da.top=this.map(this.startTop-_2db)+"px"; 
     2182var _2dc=this.startY-_2da[1]; 
     2183var _2dd=this.map(this.startHeight+_2dc); 
     2184if(_2dd>this.options.minHeight){ 
     2185_2db.height=(_2dd-4)+"px"; 
     2186_2db.top=this.map(this.startTop-_2dc)+"px"; 
    21902187} 
    21912188} 
    21922189if(this.currentDirection.indexOf("w")!=-1){ 
    2193 var _2db=this.map(this.startX-_2d9[0]); 
    2194 var _2dd=Element.getStyle(this.element,"margin-left")||"0"; 
    2195 var _2de=this.startWidth+_2db
    2196 if(_2de>this.options.minWidth){ 
    2197 _2da.left=(this.startLeft-_2db-parseInt(_2dd))+"px"; 
    2198 _2da.width=_2de+"px"; 
     2190var _2dc=this.map(this.startX-_2da[0]); 
     2191var _2de=Element.getStyle(this.element,"margin-left")||"0"; 
     2192var _2df=this.startWidth+_2dc
     2193if(_2df>this.options.minWidth){ 
     2194_2db.left=(this.startLeft-_2dc-parseInt(_2de))+"px"; 
     2195_2db.width=_2df+"px"; 
    21992196} 
    22002197} 
    22012198if(this.currentDirection.indexOf("s")!=-1){ 
    2202 var _2df=this.restDimensions.height+this.restOffset[1]; 
    2203 var _2db=_2d9[1]-this.startY; 
    2204 if(_2df-this.scroll<=_2d9[1]){ 
     2199var _2e0=this.restDimensions.height+this.restOffset[1]; 
     2200var _2dc=_2da[1]-this.startY; 
     2201if(_2e0-this.scroll<=_2da[1]){ 
    22052202return; 
    22062203} 
    2207 var _2dc=this.map(this.startHeight+_2d9[1]-this.startY); 
    2208 if(_2dc>this.options.minHeight){ 
    2209 _2da.height=(_2dc-4)+"px"; 
     2204var _2dd=this.map(this.startHeight+_2da[1]-this.startY); 
     2205if(_2dd>this.options.minHeight){ 
     2206_2db.height=(_2dd-4)+"px"; 
    22102207} 
    22112208} 
    22122209if(this.currentDirection.indexOf("e")!=-1){ 
    2213 var _2de=this.map(this.startWidth+_2d9[0]-this.startX); 
    2214 if(_2de>this.options.minWidth){ 
    2215 _2da.width=_2de+"px"; 
    2216 } 
    2217 } 
    2218 if(_2da.visibility=="hidden"){ 
    2219 _2da.visibility=""; 
     2210var _2df=this.map(this.startWidth+_2da[0]-this.startX); 
     2211if(_2df>this.options.minWidth){ 
     2212_2db.width=_2df+"px"; 
     2213} 
     2214} 
     2215if(_2db.visibility=="hidden"){ 
     2216_2db.visibility=""; 
    22202217} 
    22212218this.options.change(this.element); 
    2222 },directions:function(_2e0){ 
    2223 var _2e1=[Event.pointerX(_2e0),Event.pointerY(_2e0)]; 
    2224 var _2e2=Position.cumulativeOffset(this.element); 
    2225 var _2e3=document.documentElement.scrollTop||document.body.scrollTop; 
    2226 var _2e4=Position.realOffset(this.element)[1]-_2e3
    2227 var _2e5=""; 
    2228 if(this.between(_2e1[1]-_2e2[1]+_2e4,0,this.options.top)){ 
    2229 _2e5+="n"; 
    2230 } 
    2231 if(this.between((_2e2[1]+this.element.offsetHeight)-_2e1[1]-_2e4,0,this.options.bottom)){ 
    2232 _2e5+="s"; 
    2233 } 
    2234 if(this.between(_2e1[0]-_2e2[0],0,this.options.left)){ 
    2235 _2e5+="w"; 
    2236 } 
    2237 if(this.between((_2e2[0]+this.element.offsetWidth)-_2e1[0],0,this.options.right)){ 
    2238 _2e5+="e"; 
    2239 } 
    2240 return _2e5
    2241 },map:function(_2e6){ 
    2242 return Math.round(_2e6/this.options.distance)*this.options.distance; 
     2219},directions:function(_2e1){ 
     2220var _2e2=[Event.pointerX(_2e1),Event.pointerY(_2e1)]; 
     2221var _2e3=Position.cumulativeOffset(this.element); 
     2222var _2e4=document.documentElement.scrollTop||document.body.scrollTop; 
     2223var _2e5=Position.realOffset(this.element)[1]-_2e4
     2224var _2e6=""; 
     2225if(this.between(_2e2[1]-_2e3[1]+_2e5,0,this.options.top)){ 
     2226_2e6+="n"; 
     2227} 
     2228if(this.between((_2e3[1]+this.element.offsetHeight)-_2e2[1]-_2e5,0,this.options.bottom)){ 
     2229_2e6+="s"; 
     2230} 
     2231if(this.between(_2e2[0]-_2e3[0],0,this.options.left)){ 
     2232_2e6+="w"; 
     2233} 
     2234if(this.between((_2e3[0]+this.element.offsetWidth)-_2e2[0],0,this.options.right)){ 
     2235_2e6+="e"; 
     2236} 
     2237return _2e6
     2238},map:function(_2e7){ 
     2239return Math.round(_2e7/this.options.distance)*this.options.distance; 
    22432240}}); 
    22442241 
  • spinelz/trunk/compress/javascripts/spinelz/spinelz_for_rubricks.js

    r5754 r5763  
    20952095var _247=Element.getDimensions(item); 
    20962096var _248=Element.getDimensions(_242); 
     2097var _249=(self.column.height/2); 
    20972098var xy=[x,y].map(function(v,i){ 
    20982099return Math.floor(v/_243[i])*_243[i]; 
    20992100}); 
    2100 xy=[self._constrain(xy[0],0,_248.width-_247.width),self._constrain(xy[1],0,_248.height-_247.height)]; 
     2101xy=[self._constrain(xy[0],0,_248.width-_247.width),self._constrain(xy[1],0-(_247.height-_249),_248.height-_249)]; 
    21012102return xy; 
    2102 },onEnd:function(_24c,_24d){ 
    2103 self.changeSchedule(_24c,_24d); 
    2104 },change:function(_24e){ 
    2105 self.changeTimeDisplay(_24e.element); 
     2103},onEnd:function(_24d,_24e){ 
     2104self.changeSchedule(_24d,_24e); 
     2105},change:function(_24f){ 
     2106self.changeTimeDisplay(_24f.element); 
    21062107}}); 
    21072108},setResize:function(item){ 
    2108 new CalendarResizeableEx(item,{left:0,right:0,distance:this.column.height/2,restriction:true,resize:function(_250){ 
    2109 this.updateTirm(_250); 
    2110 }.bind(this),change:function(_251){ 
    2111 this.changeTimeDisplay(_251); 
     2109new CalendarResizeableEx(item,{left:0,right:0,distance:this.column.height/2,restriction:true,resize:function(_251){ 
     2110this.updateTirm(_251); 
     2111}.bind(this),change:function(_252){ 
     2112this.changeTimeDisplay(_252); 
    21122113}.bind(this)}); 
    2113 },getDate:function(_252){ 
    2114 return _252.date; 
    2115 },abstractSelect:function(_253,_254){ 
    2116 var _255=this.findClickedElement(_253); 
    2117 if(_255){ 
    2118 if(Element.hasClassName(_255,Calendar.className.columnDate)||Element.hasClassName(_255,Calendar.className.columnDateOdd)||Element.hasClassName(_255,Calendar.className.columnTopDate)){ 
    2119 var date=this.getDate(_255); 
    2120 _254(date,_255); 
     2114},getDate:function(_253){ 
     2115return _253.date; 
     2116},abstractSelect:function(_254,_255){ 
     2117var _256=this.findClickedElement(_254); 
     2118if(_256){ 
     2119if(Element.hasClassName(_256,Calendar.className.columnDate)||Element.hasClassName(_256,Calendar.className.columnDateOdd)||Element.hasClassName(_256,Calendar.className.columnTopDate)){ 
     2120var date=this.getDate(_256); 
     2121_255(date,_256); 
    21212122} 
    21222123} 
    21232124},getSelectedTerm:function(){ 
    2124 var _257=this.calendar.getSelected(); 
    2125 if(_257.length==0){ 
     2125var _258=this.calendar.getSelected(); 
     2126if(_258.length==0){ 
    21262127return; 
    21272128} 
    21282129if(this.calendar.options.build){ 
    2129 var last=_257.last(); 
     2130var last=_258.last(); 
    21302131if(last){ 
    21312132last=this.dateMap[last.id]; 
    21322133}else{ 
    2133 last=this.dateMap[_257.first().id]; 
     2134last=this.dateMap[_258.first().id]; 
    21342135} 
    21352136last=new Date(last.getFullYear(),last.getMonth(),last.getDate(),last.getHours(),last.getMinutes(),0); 
    21362137last.setMinutes(last.getMinutes()+30); 
    2137 return [this.dateMap[_257.first().id],last]; 
    2138 }else{ 
    2139 var last=this._getDateTimeFromElement(_257.last()); 
     2138return [this.dateMap[_258.first().id],last]; 
     2139}else{ 
     2140var last=this._getDateTimeFromElement(_258.last()); 
    21402141last.setMinutes(last.getMinutes()+30); 
    2141 return [this._getDateTimeFromElement(_257.first()),last]; 
     2142return [this._getDateTimeFromElement(_258.first()),last]; 
    21422143} 
    21432144},setWidth:function(node){ 
    21442145Element.setStyle(node,{width:this.column.width+"px"}); 
    2145 },inspectArgument:function(_25a,time){ 
    2146 if(_25a.date){ 
    2147 return _25a
     2146},inspectArgument:function(_25b,time){ 
     2147if(_25b.date){ 
     2148return _25b
    21482149} 
    21492150var self=this; 
    2150 var _25d=this.calendar.getSelected(); 
    2151 var _25e=[]; 
    2152 this.calendar.recurrence(_25a,function(o){ 
    2153 var _260={}; 
     2151var _25e=this.calendar.getSelected(); 
     2152var _25f=[]; 
     2153this.calendar.recurrence(_25b,function(o){ 
     2154var _261={}; 
    21542155if(!o.date){ 
    2155 _260={date:self.getDate(_25d[0])}; 
     2156_261={date:self.getDate(_25e[0])}; 
    21562157if(!o.start){ 
    2157 _260.start=_25d[0].time; 
     2158_261.start=_25e[0].time; 
    21582159} 
    21592160if(!o.finish){ 
    2160 _260.finish=_25d[_25d.length-1].time; 
    2161 } 
    2162 } 
    2163 Object.extend(_260,o); 
    2164 _25e.push(_260); 
    2165 }); 
    2166 return _25e
     2161_261.finish=_25e[_25e.length-1].time; 
     2162} 
     2163} 
     2164Object.extend(_261,o); 
     2165_25f.push(_261); 
     2166}); 
     2167return _25f
    21672168},inspectDateArgument:function(date){ 
    21682169if(date){ 
    21692170return date; 
    21702171} 
    2171 var _262=this; 
    2172 var _263=this.getSelected(); 
    2173 if(_263.length==0){ 
     2172var _263=this; 
     2173var _264=this.getSelected(); 
     2174if(_264.length==0){ 
    21742175return null; 
    21752176} 
    2176 return _263.collect(function(d){ 
    2177 return _262.getDate(d); 
    2178 }); 
    2179 },addColumnClass:function(_265){ 
     2177return _264.collect(function(d){ 
     2178return _263.getDate(d); 
     2179}); 
     2180},addColumnClass:function(_266){ 
    21802181if(document.all){ 
    2181 this.calendar.css.addClassNames(_265,"columnWin"); 
    2182 }else{ 
    2183 this.calendar.css.addClassNames(_265,"column"); 
     2182this.calendar.css.addClassNames(_266,"columnWin"); 
     2183}else{ 
     2184this.calendar.css.addClassNames(_266,"column"); 
    21842185} 
    21852186},getHeaderId:function(){ 
     
    21872188},getColumnId:function(i){ 
    21882189return this.calendar.element.id.appendSuffix(CalendarWeek.id.column+"_"+i); 
    2189 },changeSchedule:function(_267,_268){ 
    2190 var _269=_267.element; 
    2191 var _26a=_269.schedule; 
    2192 var time=this.getTimeByElement(_269); 
    2193 this.calendar.cacheSchedule(_26a); 
    2194 var _26c=$(this.getScheduleContainerId()); 
    2195 var _26d=Element.getDimensions(_26c); 
    2196 var _26e=Position.cumulativeOffset(_26c); 
    2197 var x=Event.pointerX(_268); 
    2198 var y=Event.pointerY(_268); 
    2199 if(_26e[0]>x||(_26e[0]+_26d.width)<x||_26e[1]>y||(_26e[1]+_26d.height)<y){ 
     2190},changeSchedule:function(_268,_269){ 
     2191var _26a=_268.element; 
     2192var _26b=_26a.schedule; 
     2193var time=this.getTimeByElement(_26a); 
     2194this.calendar.cacheSchedule(_26b); 
     2195var _26d=$(this.getScheduleContainerId()); 
     2196var _26e=Element.getDimensions(_26d); 
     2197var _26f=Position.cumulativeOffset(_26d); 
     2198var x=Event.pointerX(_269); 
     2199var y=Event.pointerY(_269); 
     2200var left=parseInt(Element.getStyle(_26a,"left")); 
     2201var _273=Math.round(left/this.column.width); 
     2202var date=this.week[_273]; 
     2203if(_26b.start.year==date.getFullYear()&&_26b.start.month==date.getMonth()&&_26b.start.day==date.getDate()&&_26b.start.hour==time[0].hour&&_26b.start.min==time[0].min&&_26b.finish.year==date.getFullYear()&&_26b.finish.month==date.getMonth()&&_26b.finish.day==date.getDate()&&_26b.finish.hour==time[1].hour&&_26b.finish.min==time[1].min){ 
    22002204this.calendar.refreshSchedule(); 
    22012205return; 
    22022206} 
    2203 var left=parseInt(Element.getStyle(_269,"left")); 
    2204 var _272=Math.round(left/this.column.width); 
    2205 var date=this.week[_272]; 
    2206 if(_26a.start.year==date.getFullYear()&&_26a.start.month==date.getMonth()&&_26a.start.day==date.getDate()&&_26a.start.hour==time[0].hour&&_26a.start.min==time[0].min&&_26a.finish.year==date.getFullYear()&&_26a.finish.month==date.getMonth()&&_26a.finish.day==date.getDate()&&_26a.finish.hour==time[1].hour&&_26a.finish.min==time[1].min){ 
     2207if(_26a.originalSchedule){ 
     2208_26b=_26a.originalSchedule; 
     2209
     2210var _275={year:date.getFullYear(),month:date.getMonth(),day:date.getDate(),hour:time[0].hour,min:time[0].min}; 
     2211var diff=DateUtil.toDate(_275).getTime()-DateUtil.toDate(_26b.start).getTime(); 
     2212_26b.start=_275; 
     2213_26b.finish=new Date(DateUtil.toDate(_26b.finish).getTime()+diff).toHash(); 
    22072214this.calendar.refreshSchedule(); 
    2208 return; 
    2209 
    2210 if(_269.originalSchedule){ 
    2211 _26a=_269.originalSchedule; 
    2212 
    2213 var _274={year:date.getFullYear(),month:date.getMonth(),day:date.getDate(),hour:time[0].hour,min:time[0].min}; 
    2214 var diff=DateUtil.toDate(_274).getTime()-DateUtil.toDate(_26a.start).getTime(); 
    2215 _26a.start=_274; 
    2216 _26a.finish=new Date(DateUtil.toDate(_26a.finish).getTime()+diff).toHash(); 
     2215this.calendar.options.changeSchedule(_26b); 
     2216},updateTirm:function(_277){ 
     2217var _278=_277.schedule; 
     2218var time=this.getTimeByElement(_277); 
     2219this.calendar.cacheSchedule(_278); 
     2220var left=parseInt(Element.getStyle(_277,"left")); 
     2221var _27b=Math.floor(left/this.column.width); 
     2222var date=this.week[_27b]; 
     2223var _27d=this.isChengeSchedule(_277,time); 
     2224if(_277.originalSchedule){ 
     2225_278=_277.originalSchedule; 
     2226
     2227if(_27d.start){ 
     2228_278.start.year=date.getFullYear(); 
     2229_278.start.month=date.getMonth(); 
     2230_278.start.day=date.getDate(); 
     2231_278.start.hour=time[0].hour; 
     2232_278.start.min=time[0].min; 
     2233
     2234if(_27d.finish){ 
     2235_278.finish.year=date.getFullYear(); 
     2236_278.finish.month=date.getMonth(); 
     2237_278.finish.day=date.getDate(); 
     2238_278.finish.hour=time[1].hour; 
     2239_278.finish.min=time[1].min; 
     2240
    22172241this.calendar.refreshSchedule(); 
    2218 this.calendar.options.changeSchedule(_26a); 
    2219 },updateTirm:function(_276){ 
    2220 var _277=_276.schedule; 
    2221 var time=this.getTimeByElement(_276); 
    2222 this.calendar.cacheSchedule(_277); 
    2223 var left=parseInt(Element.getStyle(_276,"left")); 
    2224 var _27a=Math.floor(left/this.column.width); 
    2225 var date=this.week[_27a]; 
    2226 var _27c=this.isChengeSchedule(_276,time); 
    2227 if(_276.originalSchedule){ 
    2228 _277=_276.originalSchedule; 
    2229 
    2230 if(_27c.start){ 
    2231 _277.start.year=date.getFullYear(); 
    2232 _277.start.month=date.getMonth(); 
    2233 _277.start.day=date.getDate(); 
    2234 _277.start.hour=time[0].hour; 
    2235 _277.start.min=time[0].min; 
    2236 
    2237 if(_27c.finish){ 
    2238 _277.finish.year=date.getFullYear(); 
    2239 _277.finish.month=date.getMonth(); 
    2240 _277.finish.day=date.getDate(); 
    2241 _277.finish.hour=time[1].hour; 
    2242 _277.finish.min=time[1].min; 
    2243 
    2244 this.calendar.refreshSchedule(); 
    2245 this.calendar.options.updateTirm(_277); 
    2246 },changeTimeDisplay:function(_27d){ 
    2247 var _27e=_27d.schedule; 
    2248 var time=this.getTimeByElement(_27d); 
    2249 var _280=Element.getElementsByClassName(_27d,Calendar.className.scheduleTimeArea)[0]; 
     2242this.calendar.options.updateTirm(_278); 
     2243},changeTimeDisplay:function(_27e){ 
     2244var _27f=_27e.schedule; 
     2245var time=this.getTimeByElement(_27e); 
     2246var _281=Element.getElementsByClassName(_27e,Calendar.className.scheduleTimeArea)[0]; 
    22502247var text=this.getTimeText(time[0],time[1]); 
    2251 _280.innerHTML=text; 
    2252 },findClickedElement:function(_282){ 
    2253 var _283=$(this.getScheduleContainerId()); 
    2254 var _284=Position.cumulativeOffset(_283); 
    2255 var _285=Position.realOffset(_283).last(); 
    2256 _285-=document.documentElement.scrollTop||document.body.scrollTop; 
    2257 var x=Event.pointerX(_282)-_284[0]; 
    2258 var y=Event.pointerY(_282)-_284[1]+_285
    2259 var _288=Math.floor(y/this.column.height); 
    2260 var _289=Math.floor(x/this.column.width); 
     2248_281.innerHTML=text; 
     2249},findClickedElement:function(_283){ 
     2250var _284=$(this.getScheduleContainerId()); 
     2251var _285=Position.cumulativeOffset(_284); 
     2252var _286=Position.realOffset(_284).last(); 
     2253_286-=document.documentElement.scrollTop||document.body.scrollTop; 
     2254var x=Event.pointerX(_283)-_285[0]; 
     2255var y=Event.pointerY(_283)-_285[1]+_286
     2256var _289=Math.floor(y/this.column.height); 
     2257var _28a=Math.floor(x/this.column.width); 
    22612258var row=this.calendarTable.rows[0]; 
    2262 if(_289>=row.cells.length){ 
    2263 _289--; 
    2264 } 
    2265 return $(row.cells[_289]).down(_288); 
    2266 },multipleSelection:function(_28b){ 
     2259if(_28a>=row.cells.length){ 
     2260_28a--; 
     2261} 
     2262return $(row.cells[_28a]).down(_289); 
     2263},multipleSelection:function(_28c){ 
    22672264if(!this.calendar.selectedBase||!this.calendar.mouseDown){ 
    22682265return; 
    22692266} 
    22702267var self=this; 
    2271 var _28d=this.calendar; 
    2272 var _28e=this.calendar.selectedBase; 
    2273 var _28f=this._getDateFromElement(_28e).getDate(); 
    2274 this.abstractSelect(_28b,function(date,_291){ 
    2275 var _292=$(_28e.id); 
    2276 if(_28f!=self._getDateFromElement(_291).getDate()){ 
    2277 return; 
    2278 } 
    2279 var _293=$A(_292.parentNode.childNodes); 
    2280 var ids=[this._getTime(_28e),this._getTime(_291)]; 
     2268var _28e=this.calendar; 
     2269var _28f=this.calendar.selectedBase; 
     2270var _290=this._getDateFromElement(_28f).getDate(); 
     2271this.abstractSelect(_28c,function(date,_292){ 
     2272var _293=$(_28f.id); 
     2273if(_290!=self._getDateFromElement(_292).getDate()){ 
     2274return; 
     2275} 
     2276var _294=$A(_293.parentNode.childNodes); 
     2277var ids=[this._getTime(_28f),this._getTime(_292)]; 
    22812278ids.sort(function(a,b){ 
    22822279return a-b; 
    22832280}); 
    2284 _293.each(function(n){ 
     2281_294.each(function(n){ 
    22852282if(!n.id){ 
    22862283throw $continue; 
     
    22882285var id=this._getTime(n); 
    22892286if((id<ids[0])||(ids[1]<id)){ 
    2290 _28d.removeSelectedClass(n); 
     2287_28e.removeSelectedClass(n); 
    22912288}else{ 
    22922289if(!Element.hasClassName(n,Calendar.className.selected)){ 
    2293 _28d.addSelectedClass(n); 
     2290_28e.addSelectedClass(n); 
    22942291} 
    22952292} 
    22962293}.bind(this)); 
    22972294}.bind(this)); 
    2298 },getTimeByElement:function(_299){ 
    2299 var _29a=_299.schedule; 
    2300 var top=parseInt(Element.getStyle(_299,"top"),10); 
    2301 var _29c=parseInt(Element.getStyle(_299,"height"),10); 
    2302 var _29d=this.column.height*2; 
    2303 var _29e=15/60; 
    2304 var _29f=top/_29d+this.startTime; 
    2305 _29f=Math.round(_29f/_29e)*_29e
    2306 var _2a0={}; 
    2307 _2a0.hour=Math.floor(_29f); 
    2308 _2a0.min=(_29f-_2a0.hour)*60; 
    2309 var _2a1=Math.round(_29c/_29d/_29e)*_29e+_29f
    2310 var _2a2={}; 
    2311 _2a2.hour=Math.floor(_2a1); 
    2312 _2a2.min=Math.round((_2a1-_2a2.hour)*60); 
    2313 if(_2a2.min==60){ 
    2314 _2a2.hour+=1; 
    2315 _2a2.min=0; 
    2316 } 
    2317 return [_2a0,_2a2]; 
     2295},getTimeByElement:function(_29a){ 
     2296var _29b=_29a.schedule; 
     2297var top=parseInt(Element.getStyle(_29a,"top"),10); 
     2298var _29d=parseInt(Element.getStyle(_29a,"height"),10); 
     2299var _29e=this.column.height*2; 
     2300var _29f=15/60; 
     2301var _2a0=top/_29e+this.startTime; 
     2302_2a0=Math.round(_2a0/_29f)*_29f
     2303var _2a1={}; 
     2304_2a1.hour=Math.floor(_2a0); 
     2305_2a1.min=(_2a0-_2a1.hour)*60; 
     2306var _2a2=Math.round(_29d/_29e/_29f)*_29f+_2a0
     2307var _2a3={}; 
     2308_2a3.hour=Math.floor(_2a2); 
     2309_2a3.min=Math.round((_2a2-_2a3.hour)*60); 
     2310if(_2a3.min==60){ 
     2311_2a3.hour+=1; 
     2312_2a3.min=0; 
     2313} 
     2314return [_2a1,_2a3]; 
    23182315},getTimeByTop:function(top){ 
    2319 var _2a4=this.column.height*2; 
    2320 var _2a5=15/60; 
    2321 var _2a6=top/_2a4+this.startTime; 
    2322 _2a6=Math.round(_2a6/_2a5)*_2a5
    2323 var _2a7={}; 
    2324 _2a7.hour=Math.floor(_2a6); 
    2325 _2a7.min=(_2a6-_2a7.hour)*60; 
    2326 return _2a7
    2327 },getDateId:function(date,time,_2aa){ 
    2328 var id=this.calendar.element.id.appendSuffix(_2aa+"_"+date.getDate()); 
     2316var _2a5=this.column.height*2; 
     2317var _2a6=15/60; 
     2318var _2a7=top/_2a5+this.startTime; 
     2319_2a7=Math.round(_2a7/_2a6)*_2a6
     2320var _2a8={}; 
     2321_2a8.hour=Math.floor(_2a7); 
     2322_2a8.min=(_2a7-_2a8.hour)*60; 
     2323return _2a8
     2324},getDateId:function(date,time,_2ab){ 
     2325var id=this.calendar.element.id.appendSuffix(_2ab+"_"+date.getDate()); 
    23292326return id.appendSuffix(time*10); 
    23302327},dateIdToTime:function(id){ 
     
    23382335time.pop(); 
    23392336return time.join(":"); 
    2340 },includeDisplayTime:function(_2b0){ 
    2341 return (this.startTime<=_2b0)&&(_2b0<this.finishTime); 
    2342 },convertHours:function(_2b1){ 
    2343 return [_2b1.start.hour+_2b1.start.min/60,_2b1.finish.hour+_2b1.finish.min/60]; 
     2337},includeDisplayTime:function(_2b1){ 
     2338</