You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 line
12 KiB
1 line
12 KiB
14 years ago
|
(function(d){var b=d.telerik;var a=null;b.datetime.parseByToken=function(g,i){if(g===null||g===""){return null}i=i||new b.datetime();var e=null;var m=null;var k=null;var n=0;var f=function(o){var p=null;if(o&&g.substring(n,n+o.length).toLowerCase()==o.toLowerCase()){p=o}return p};var j=function(){var o=null;d.each(["days","abbrDays","months","abbrMonths"],function(q,p){if(o!==null){return}d.each(b.cultureInfo[p],function(s,r){if(o!==null){return}o=f(r)});k=p});return o};var h=function(){var o;var p=function(r,s){i[s?"date":"month"](i[s?"date":"month"]()+(o!=0?((o+((o>0?1:-1)*r))%r):0)+(m?(e==b.cultureInfo.next?1:-1)*r:0))};var q=d.inArray(m||e,b.cultureInfo[k]);if(k.toLowerCase().indexOf("day")>-1){o=(q==0?7:q)-i.day();p(7,true)}else{o=q-i.month();p(12,false)}};var l=function(){var p=function(q){var r;switch(m){case"year":r=q==1?1:0;break;case"month":r=q==2?1:0;break;case"week":r=q==3?7:0;break;case"day":r=q==3?1:0;break}return r};var o=(e==b.cultureInfo.next?1:-1);i.year(i.year()+p(1)*o,i.month()+p(2)*o,i.date()+p(3)*o)};d.each(["today","tomorrow","yesterday","next","last"],function(p,o){if(e!==null){return}e=f(b.cultureInfo[o])});if(e!==null){n+=e.length;if(/[^\s\d]\s+[^\s\d]/i.test(g)){n++;d.each(["year","month","week","day"],function(p,o){if(m!==null){return}m=f(b.cultureInfo[o])});k=null;if(m===null){m=j()}if(m===null){return null}}else{switch(e){case b.cultureInfo.today:break;case b.cultureInfo.tomorrow:i.date(i.date()+1);break;case b.cultureInfo.yesterday:i.date(i.date()-1);break;default:i=null;break}return i}}else{e=j();if(e!=null){h();return i}else{return null}}if(k!==null){h()}else{l()}return i};function c(h,g,f,e){if(g){h=new Date(g)}if(f>h){h=new Date(f)}else{if(e<h){h=new Date(e)}}return h}b.dateView=function(e){d.extend(this,e);this.isValueChanged=false;this.focusedValue=c(new Date(),this.selectedValue,this.minValue,this.maxValue);this.$calendar=this._createSharedCalendar()};b.dateView.prototype={_createSharedCalendar:function(){if(!a){a=d(b.calendar.html(new b.datetime(this.focusedValue),this.selectedValue?new b.datetime(this.selectedValue):null,new b.datetime(this.minValue),new b.datetime(this.maxValue))).hide().addClass("t-datepicker-calendar").bind("click",function(f){f.stopPropagation()}).appendTo(document.body).tCalendar({selectedValue:this.selectedValue,minDate:this.minValue,maxDate:this.maxValue});b.fx._wrap(a).css("display","none");if(d.browser.msie&&d.browser.version<=6){d('<iframe class="t-iframe-overlay" src="javascript:false;"></iframe>').prependTo(a).height(a.height())}}return a},_getCalendar:function(){return a.data("tCalendar")},_reassignSharedCalendar:function(){var e=this._getCalendar();if(a.data("associatedDateView")!=this){a.stop(true,true);this.focusedValue=c(this.focusedValue,this.selectedValue,this.minValue,this.maxValue);e.minDate=this.minValue;e.maxDate=this.maxValue;e.selectedValue=this.selectedValue;e.goToView(0,this.focusedValue);a.unbind("change").bind("change",d.proxy(function(h){var g=this.selectedValue;var f=new b.datetime(h.date);if(g!==null){f.hours(g.getHours()).minutes(g.getMinutes()).seconds(g.getSeconds()).milliseconds(g.getMilliseconds())}this.onChange(f.toDate())},this)).unbind("navigate").bind("navigate",d.proxy(function(i){var h=this.focusedValue;var f=e.viewedMonth;var g=e.currentView.index;h.setFullYear(f.year(),f.month(),h.getDate());b.calendar.focusDate(h,g,a,i.direction)},this)).data("associatedDateView",this);if(this.selectedValue){e.value(this.selectedValue)}b.calendar.focusDate(this.focusedValue,e.currentView.index,a)}},open:function(e){if(this.isOpened()){return}this._reassignSharedCalendar();var i=this.isRtl;var h=this.$calendar;elementPosition=e.offset;elementPosition.top+=e.outerHeight;if(i){elementPosition.left-=(a.outerWidth()||a.parent().outerWidth())-e.outerWidth}b.fx._wrap(a).css(d.extend({position:"absolute",direction:i?"rtl":"",display:a.is(":visible")?"":"none"},elementPosition));var f=this._getCalendar();var g=f.currentView.index;if(!a.is(":visible")&&f.viewedMonth.value-this.focusedValue!=0){f.goToView(g,this.focusedValue).value(this.selectedV
|