(function(a){var b=a.telerik;b.timeView=function(c){a.extend(this,c);var d=this.dropDown=new b.dropDown({attr:this.dropDownAttr,effects:this.effects,onClick:function(f){var g=f.item;c.onChange(g.innerText||g.textContent)}});d.$element.addClass("t-time-popup").css("direction",this.isRtl?"rtl":"")};b.timeView.prototype={_ensureItems:function(){if(!this.dropDown.$items){this.bind()}},open:function(c){this._ensureItems();this.dropDown.open(c)},close:function(){this.dropDown.close()},bind:function(){var j=b.timeView.getTimeMilliseconds;var g=[];var c=this.format;var n=this.interval;var p=this.minValue;var d=j(p);var f=j(this.maxValue);var l=n*b.datetime.msPerMinute;var k=parseInt(b.datetime.msPerDay/(n*b.datetime.msPerMinute));if(d!=f){var o=di?i+d:i;h=e>h?h+d:h;return e-h==0||i>=e&&i<=h},getTimeMilliseconds:function(c){return((c.hours()*60)+c.minutes())*b.datetime.msPerMinute+c.seconds()*1000+c.milliseconds()}});b.timepicker=function(c,d){a.extend(this,d);this.element=c;this.$element=a(c);var e=this.$input=a(".t-input",c).attr("autocomplete","off").bind({change:function(f){f.stopPropagation()},keydown:a.proxy(this._keydown,this),focus:a.proxy(function(f){this._change(e.val());this._open();this.$input.removeClass("t-state-error")},this)});this.inputValue=e.val();this.timeView=new b.timeView({effects:this.effects,dropDownAttr:this.dropDownAttr,format:this.format,interval:this.interval,isRtl:e.closest(".t-rtl").length,minValue:this.minValue,maxValue:this.maxValue,onNavigateWithOpenPopup:a.proxy(function(f){this.$input.val(f)},this),onChange:a.proxy(function(f){this._change(f);this._close()},this)});a(".t-icon",c).bind("click",this.enabled?a.proxy(this._togglePopup,this):b.preventDefault);a(document.documentElement).bind("mousedown",a.proxy(function(h){var f=this.timeView.dropDown.$element;var g=f&&f.parent().length>0;if(!g||a.contains(this.element,h.target)||a.contains(f.parent()[0],h.target)){return}this._change(this.$input.val());this._close()},this));b.bind(this,{open:this.onOpen,close:this.onClose,change:this.onChange,load:this.onLoad})};b.timepicker.prototype={_close:function(){var c=this.timeView.dropDown;if(!c.$element.is(":animated")&&c.isOpened()){this._trigger("close")}},_open:function(){if(!this.timeView.isOpened()){this._trigger("open")}},_trigger:function(c){if(!b.trigger(this.element,c)){this[c]()}},_togglePopup:function(){if(this.timeView.isOpened()){this._change(this.$input.val());this._close()}else{this.$input[0].focus()}},_change:function(c){var k=this.minValue;var e=this.maxValue;var i=this.parse(c);var m=this.selectedValue;if(!b.timeView.isInRange(i,k,e)){var d=b.timeView.getTimeMilliseconds;var h=d(i);var f=d(k);var l=d(e);var j=Math.abs(f-h);var g=Math.abs(l-h);i=new b.datetime(ji.value||i.value>m.value))){b.trigger(this.element,"change",{previousValue:m===null?null:m.toDate(),value:i===null?null:i.toDate()})}if(i==null||this.inputValue!=c){this._value(i)}},_value:function(c){var e=this.$input.val();var d=c===null;this.selectedValue=c;this.timeView.value(d?null:b.datetime.format(c.toDate(),this.format));if(!d){e=b.datetime.format(c.toDate(),this.format)}this.inputValue=e;this.$input.toggleClass("t-state-error",d&&e!="").val(e)},_keydown:function(h){var f=h.keyCode||h.which;var d=h.target.value;var c=this.timeView.dropDown;if(h.altKey){if(f==40){this._open()}else{if(f==38){this._close()}}}if(!h.shiftKey&&f==38||f==40){this.timeView.navigate(h)}if(f==9||f==13||f==27){if(c.isOpened()&&f!=9){h.preventDefault()}var i;var g=this.timeView.value();if(this.inputValue!=d||!g){i=d}else{i=g}this._change(i);this._close()}},enable:function(){this.$input.attr("disabled",false);this.$element.removeClass("t-state-disabled").find(".t-icon").unbind("click").bind("click",a.proxy(this._togglePopup,this))},disable:function(c){this.$input.attr("disabled",true);this.$element.addClass("t-state-disabled").find(".t-icon").unbind("click").bind("click",b.preventDefault)},value:function(c){if(c===undefined){return this.selectedValue===null?null:this.selectedValue.toDate()}var d=this.parse(c);d=b.timeView.isInRange(d,this.minValue,this.maxValue)?d:null;if(d===null){this.$input.removeClass("t-state-error").val("")}this._value(d);return this},parse:function(c){if(c===null||c.value){return c}return c.getDate?new b.datetime(c):b.datetime.parse({AM:b.cultureInfo.AM,PM:b.cultureInfo.PM,value:c,format:this.format,baseDate:this.selectedValue?new b.datetime(this.selectedValue.value):new b.datetime()})},open:function(){var c=this.$input;this.timeView.open({offset:c.offset(),outerHeight:c.outerHeight(),outerWidth:c.outerWidth(),zIndex:b.getElementZIndex(c[0])})},close:function(){this.timeView.close()}};a.each(["min","max"],a.proxy(function(d,c){b.timepicker.prototype[c]=function(e){var f=c+"Value";if(e===undefined){return this[f].toDate()}var g=this.parse(e);if(g!==null){this[f]=g;this.timeView[c](g);this._change(g)}}},this));a.fn.tTimePicker=function(c){return b.create(this,{name:"tTimePicker",init:function(d,e){return new b.timepicker(d,e)},options:c})};a.fn.tTimePicker.defaults={effects:b.fx.slide.defaults(),selectedValue:null,format:b.cultureInfo.shortTime,interval:30,enabled:true}})(jQuery);