/*
* Kendo UI v2011.3.1407 (http://kendoui.com)
* Copyright 2012 Telerik AD. All rights reserved.
*
* Kendo UI commercial licenses may be obtained at http://kendoui.com/license.
* If you do not own a commercial license, this file shall be governed by the
* GNU General Public License (GPL) version 3. For GPL requirements, please
* review: http://www.gnu.org/copyleft/gpl.html
*/
(function(a,b){var c=window.kendo,d=c.ui,e=d.List,f=d.Select,g=c.support.touch,h=c.keys,i=g?"touchend":"click",j="disabled",k="change",l="k-state-default",m="k-state-disabled",n="k-state-focused",o="select",p="k-state-selected",q="filter",r="accept",s="k-state-hover",t="mouseenter mouseleave",u=null,v=a.proxy,w=f.extend({init:function(b,c){var d=this,e;c=a.isArray(c)?{dataSource:c}:c,f.fn.init.call(d,b,c),c=d.options,b=d.element.focus(function(){d.input.focus()}),d._reset(),d._wrapper(),d._input(),d._popup(),d._accessors(),d._dataSource(),d._enable(),d.bind([k],c),e=d._inputWrapper,d.input.bind({keydown:v(d._keydown,d),focus:function(){e.addClass(n)},blur:function(){g?(d._change(),e.removeClass(n)):d._bluring=setTimeout(function(){e.removeClass(n),clearTimeout(d._typing),d.text(d.text()),d._blur()},100)}}),d._old=d.value(),c.autoBind?d._select():b.is(o)&&d.input.val(b.children(":selected").text())},options:{name:"ComboBox",enable:!0,index:-1,autoBind:!0,delay:200,dataTextField:"text",dataValueField:"value",minLength:0,height:200,highlightFirst:!0,filter:"none",suggest:!1},current:function(a){var c=this,d=c._current;if(a===b)return d;c._selected=u,d&&d.removeClass(p),f.fn.current.call(c,a)},enable:function(a){var b=this,c=b.input.add(b.element),d=b._inputWrapper.unbind(t),e=b._arrow.unbind(i);a===!1?(d.removeClass(l).addClass(m),c.attr(j,j)):(d.removeClass(m).addClass(l).bind(t,b._toggleHover),c.removeAttr(j),e.bind(i,function(){b.toggle()}))},open:function(){var a=this,b=a._selected;a.popup.visible()||(!a.ul[0].firstChild||a._state===r?(a._open=!0,a._state="",a._select()):(a.popup.open(),b&&a._scroll(b[0])))},refresh:function(){var b=this,d=b.ul[0],e=b.options,f=e.suggest,g=e.height,h=b._data(),i=h.length;d.innerHTML=c.render(b.template,h),b._height(i),b.element.is(o)&&b._options(h),i&&((f||e.highlightFirst)&&b.current(a(d.firstChild)),f&&b.suggest(b._current)),b._open&&(b._open=!1,b.toggle(!!i)),b._hideBusy()},select:function(a){var c=this,d,e,f=c._highlight(a),g=c._data();f!==-1&&(c._selected=c._current.addClass(p),g=g[f],d=c._text(g),e=c._value(g),c._prev=c.input[0].value=d,c._accessor(e!=b?e:d,f))},search:function(a){a=typeof a=="string"?a:this.text();var b=this,c=a.length,d=b.options,e=d.filter;b.lastSearch=a,clearTimeout(b._typing),c>=d.minLength&&(e==="none"?b._filter(a):(b._open=!0,b._state=q,b.dataSource.filter({field:d.dataTextField,operator:e,value:a})))},suggest:function(a){var c=this,d=c.input[0],f=c.text(),g=e.caret(d),i=c._last,j;if(i==h.BACKSPACE||i==h.DELETE)c._last=b;else{a=a||"",typeof a!="string"&&(j=a.index(),j>-1?a=c._text(c.dataSource.view()[j]):a=""),g<=0&&(g=f.toLowerCase().indexOf(a.toLowerCase())+1),a?(j=a.toLowerCase().indexOf(f.toLowerCase()),j>-1&&(f+=a.substring(j+f.length))):f=f.substring(0,g);if(f.length!==g||!a)f.toLowerCase()===a.toLowerCase()&&(f=a),c.text(f),e.selectText(d,g,f.length)}},text:function(a){var c=this,d=c.input[0];if(a!==b)c.lastSearch="\n",c.select(function(b){return c._text(b)===a}),c._selected||c._custom(a),d.value=a;else return d.value},toggle:function(a){var b=this;clearTimeout(b._bluring),b.input[0].focus(),b._toggle(a)},value:function(a){var c=this,d,e=c.element;if(a!==b)d=c._index(a),d>-1?c.select(d):(c.current(u),c._custom(a),c.text(a)),c._old=c._accessor();else return c._accessor()},_accept:function(a){var b=this;a&&b.popup.visible()?(b._state===q&&(b._state=r),setTimeout(function(){b._focus(a)})):(b.text(b.text()),b._change())},_custom:function(b){var c=this,d=c.element,e=c._option;d.is(o)?(e||(e=c._option=a(""),d.append(e)),e.text(b),e[0].selected=!0):d.val(b)},_filter:function(a){a=a.toLowerCase();var c=this,d=c.options,e=c.dataSource,f=function(d){var e=c._text(d);if(e!==b){e=e+"";if(e!==""&&a==="")return!1;return e.toLowerCase().indexOf(a)===0}};c.ul[0].firstChild?(c._highlight(f)!==-1&&(d.suggest&&c._current&&c.suggest(c._current),c.open()),c._hideBusy()):e.one(k,function(){c.search(a)}).fetch()},_highlight:function(c){var d=this,f;if(c==b)return-1;c=d._get(c),f=e.inArray(c[0],d.ul[0]),f==-1&&(d.options.highlightFirst&&!d.lastSearch?c=a(d.ul[0].firstChild):c=u),d.current(c);return f},_input:function(){var b=this,c=b.element[0],d=b.wrapper,e=".k-input",f;f=d.find(e),f[0]||(d.append('select').append(b.element),f=d.find(e)),f[0].style.cssText=c.style.cssText,f.addClass(c.className).val(c.value).css({width:"100%",height:"auto"}).show(),b._focused=b.input=f,b._arrow=d.find(".k-icon"),b._inputWrapper=a(d[0].firstChild)},_keydown:function(a){var b=this,d=a.keyCode;b._last=d,d==c.keys.TAB?(b.text(b.input.val()),b._state===q&&b._selected&&(b._state=r)):b._move(a)||b._search()},_search:function(){var a=this;clearTimeout(a._typing),a._typing=setTimeout(function(){var b=a.text();a._prev!==b&&(a._prev=b,a.search(b))},a.options.delay)},_select:function(){var a=this;a.dataSource.one(k,function(){var b=a.value();b?a.value(b):a.select(a.options.index),a._old=a.value()}).query()},_wrapper:function(){var a=this,b=a.element,c;c=b.parent(),c.is("span.k-widget")||(c=b.hide().wrap("").parent()),c[0].style.cssText=b[0].style.cssText,a.wrapper=c.addClass("k-widget k-combobox k-header").show()}});d.plugin(w)})(jQuery)